DOMDocument->xinclude()

(No version information available, might be only in CVS)

DOMDocument->xinclude() — Remplace les XIncludes dans un objet DOMDocument

Description

class DOMDocument {
int xinclude ( [int $options] )
}

Cette méthode remplace les » XIncludes dans un objet DOMDocument.

Note: Vu que la bibliothèque libxml2 résout automatiquement les entités, cette méthode peut produire des résultats non attendus si le fichier XML inclus a une DTD d'attachée.

Liste de paramètres

options

paramètres Libxml . Disponible depuis PHP 5.1.0 et Libxml 2.6.7.

Valeurs de retour

Retourne le nombre de XIncludes du document.

Exemples

Exemple 676. Exemple avec DOMDocument->xinclude()

<?php

$xml 
= <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
 <title>Les livres d'une autre personne.</title>
 <para>
  <xi:include href="book.xml">
   <xi:fallback>
    <error>xinclude: book.xml n'a pas été trouvé</error>
   </xi:fallback>
  </xi:include>
 </para>
</chapter>
EOD;

$dom  = new  DOMDocument ;

// Nous voulons un joli affichage
$dom -> preserveWhiteSpace  false ;
$dom -> formatOutput  true ;

// chargement de la chaîne XML définie ci-dessus
$dom -> loadXML ( $xml );

// remplacement des xincludes
$dom -> xinclude ();

echo 
$dom -> saveXML ();

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

<?xml version ="1.0" ? >
<chapter xmlns:xi ="http://www.w3.org/2001/XInclude" >
  <title >Les livres d'une autre personne.</title >
  <para >
    <row xml:base ="/home/didou/book.xml" >
       <entry >The Grapes of Wrath</entry >
       <entry >John Steinbeck</entry >
       <entry >en</entry >
       <entry >0140186409</entry >
      </row >
    <row xml:base ="/home/didou/book.xml" >
       <entry >The Pearl</entry >
       <entry >John Steinbeck</entry >
       <entry >en</entry >
       <entry >014017737X</entry >
      </row >
    <row xml:base ="/home/didou/book.xml" >
       <entry >Samarcande</entry >
       <entry >Amine Maalouf</entry >
       <entry >fr</entry >
       <entry >2253051209</entry >
      </row >
  </para >
</chapter >