DOMDocument::xinclude

(PHP 5, PHP 7, PHP 8)

DOMDocument::xinclude Sustituye XIncludes en un objeto DOMDocument

Descripción

publicDOMDocument::xinclude(int$options = 0): int|false

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.

Parámetros

options

Bitwise OR of the libxml option constants.

Valores devueltos

Devuelve el número de XIncludes del documento, -1 si falló algún proceso, o false si no hubo sustituciones.

Ejemplos

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>
To Top