La méthode xinclude() indique à PHP de remplacer les déclarations d'inclusion XML par le contenu des fichiers qui leurs sont rattachés.

<?php
  $fichier = 'societe';
  $doc_xml = new DOMDocument();
  if($doc_xml->load($fichier . '.xml')){
    echo '<h3>Le document XML ' 
          . $fichier . 
          ' a été chargé !</h3>';
    $doc_xml->xinclude();
    echo '<pre>' 
       . str_replace('<', '<', $doc_xml->saveXML()) 
       . '</pre>';
  }
  else 
    echo '<p style="color:red">Le document XML ' 
         . $fichier . 
         ' n\'a pu être chargé !</p>';
?>

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Fichier : societe.xml -->
<societe xmlns:xi="http://www.w3.org/2001/XInclude">
  <xi:include href="services.xml">
    <xi:fallback>
      <services>
        <service id="id">
          <designation/>
        </service>
      </services>
    </xi:fallback>
  </xi:include>
  <xi:include href="divisions.xml">
    <xi:fallback>
      <divisions>
        <division id="id" services="services"/>
      </divisions>
    </xi:fallback>
  </xi:include>
  <xi:include href="employes.xml">
    <xi:fallback>
      <employes>
        <employe id="id" service="service">
          <nom/>
          <prenom/>
        </employe>
      </employes>
    </xi:fallback>
  </xi:include>
</societe>

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Fichier : services.dtd -->
<services>
  <service id="DG001">
    <designation>Direction générale</designation>
  </service>
  <service id="ST001">
    <designation>Service technique</designation>
  </service>
  <service id="SC001">
    <designation>Service commercial</designation>
  </service>
  <service id="SC101">
    <designation>Service clientèle</designation>
  </service>
  <service id="RH001">
    <designation>Ressources humaines</designation>
  </service>
  <service id="SQ001">
    <designation>Service qualité</designation>
  </service>
  <service id="SP001">
    <designation>Service production</designation>
  </service>
  <service id="RD001">
    <designation>Recherche et développement</designation>
  </service>
</services>

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Fichier : divisions.dtd -->
<divisions>
  <division id="A001" services="DG001 RH001"/>
  <division id="B001" services="SC001 SC101"/>
  <division id="C001" services="SP001 SQ001 RD001"/>
</divisions>

<?xml version="1.0" encoding="UTF-8"?>
<!-- Fichier : employes.dtd -->
<employes>
  <employe id="RJ1002" service="DG001">
    <nom>Robierre</nom>
    <prenom>Jean</prenom>
  </employe>
  <employe id="LA1012" service="DG001">
    <nom>Lardut</nom>
    <prenom>Anne</prenom>
  </employe>
  <employe id="GA1013" service="ST001">
    <nom>Guilde</nom>
    <prenom>Angelique</prenom>
  </employe>
  <employe id="HP1022" service="SC001">
    <nom>Henry</nom>
    <prenom>Paul</prenom>
  </employe>
  <employe id="MM1045" service="RH001">
    <nom>Mortier</nom>
    <prenom>Marc</prenom>
  </employe>
  <employe id="LS1102" service="SQ001">
    <nom>Lebreton</nom>
    <prenom>Sophie</prenom>
  </employe>
  <employe id="JM1095" service="RD001">
    <nom>Jolie</nom>
    <prenom>Martine</prenom>
  </employe>
  <employe id="MT1036" service="SC101">
    <nom>Marcelin</nom>
    <prenom>Tania</prenom>
  </employe>
  <employe id="LL1029" service="SC101">
    <nom>Leger</nom>
    <prenom>Laurence</prenom>
  </employe>
  <employe id="DM1052" service="SC001">
    <nom>Duroi</nom>
    <prenom>Maxime</prenom>
  </employe>
</employes>

<?xml version="1.0" encoding="UTF-8"?>
<!-- Fichier : societe.dtd -->
<!ELEMENT designation (#PCDATA)>
<!ELEMENT division EMPTY>
<!ATTLIST division
    id ID #REQUIRED
    services IDREFS #REQUIRED
>
<!ELEMENT divisions (division+)>
<!ELEMENT employe (nom, prenom)>
<!ATTLIST employe
    id ID #REQUIRED
    service IDREF #REQUIRED
>
<!ELEMENT employes (employe+)>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT prenom (#PCDATA)>
<!ELEMENT service (designation)>
<!ATTLIST service id ID #REQUIRED>
<!ELEMENT services (service+)>
<!ELEMENT societe (services, divisions, employes)>
<!ATTLIST societe 
    xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude"
>