DOMDocument::xinclude
PHP Manual
PHP Manual»DOMDocument»DOMDocument::xinclude

DOMDocument::xinclude

(PHP 5, PHP 7, PHP 8)

DOMDocument::xinclude — Remplace les XIncludes dans un objet DOMDocument

Description

public function DOMDocument::xinclude(int $options = 0): int|false

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 attachée.

Avertissement

Il est recommandé de ne pas appeler cette méthode sur du XML non fiable, car les XIncludes peuvent inclure des fichiers provenant de sites web externes (lorsque l'attribut href est une URL) ou des fichiers locaux arbitraires (lorsque l'attribut href utilise file://).

Liste de paramètres

options

Opération de 'OU' logique des constantes d'option libxml.

Valeurs de retour

Retourne le nombre de XIncludes du document, -1 si une erreur survient lors du processus, ou false s'il n'y a aucune substitution.

Exemples

Exemple #1 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="examples/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();

?>

Résultat de l'exemple ci-dessus est 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>

To Top