(PHP 5, PHP 7, PHP 8)
DOMDocument::xinclude — Sustituye XIncludes en un objeto DOMDocument
Este método sustituye » XIncludes en un objeto DOMDocument.
Nota:
Debido a que libxml2 resuelve automáticamente entidades, este método producirá resultados inesperados si el fichero XML incluido tiene un DTD adjunto.
options
Bitwise OR
of the libxml option constants.
Devuelve el número de XIncludes del documento, -1 si falló algún proceso, o false
si no hubo sustituciones.
Ejemplo #1 Ejemplo de DOMDocument::xinclude()
<?php
$xml = <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Books of the other guy..</title>
<para>
<xi:include href="book.xml">
<xi:fallback>
<error>xinclude: book.xml not found</error>
</xi:fallback>
</xi:include>
</para>
</chapter>
EOD;
$dom = new DOMDocument;
// vamos a tener una impresión buena
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
// cargar la cadena XML definida arriba
$dom->loadXML($xml);
// sustituir xincludes
$dom->xinclude();
echo $dom->saveXML();
?>
El resultado del ejemplo sería algo similar a:
<?xml version="1.0"?> <chapter xmlns:xi="http://www.w3.org/2001/XInclude"> <title>Books of the other guy..</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>