Forum und email

DOMDocument->xinclude()

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

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

Description

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

Example#1 Exemple avec DOMDocument->xinclude()

<?php

$xml 
= <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="https://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="https://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>