La función DOMDocument::xinclude() es una función incorporada en PHP que se utiliza para sustituir XIncludes en un objeto DOMDocument.
Sintaxis:
int DOMDocument::xinclude( int $options = 0 )
Parámetros: esta función acepta un único parámetro opcional $options que contiene el parámetro libxml.
Valor devuelto: esta función devuelve el número de XIncluye en el documento, -1 si falló algún procesamiento o FALSO si no hubo sustituciones.
Los siguientes ejemplos ilustran la función DOMDocument::xinclude() en PHP:
Ejemplo 1: en este programa, incluiremos desde XML desde new.xml hasta index.php.
- nuevo.xml
<?xml version=
'1.0'
?>
<disclaimer>
<p>
This is the content from
new
.xml
included using xinclude.
</p>
</disclaimer>
- índice.php
<?php
$xml
= <<<EOD
<?xml version=
"1.0"
?>
<xi:
include
href=
"new.xml"
>
</xi:
include
>
</root>
EOD;
// Create a new DOMDocument
$dom
=
new
DOMDocument();
// let's have a nice output
$dom
->preserveWhiteSpace = false;
$dom
->formatOutput = true;
// load the XML string defined above
$dom
->loadXML(
$xml
);
// substitute xincludes
$dom
->xinclude();
echo
$dom
->saveXML();
?>
- Producción:
This is the content from new.xml included using xinclude.
Ejemplo 2: en este programa, agregaremos un respaldo si xinclude falla.
- índice.php
<?php
$xml
= <<<EOD
<?xml version=
"1.0"
?>
<xi:
include
href=
"wrong_name.xml"
>
<xi:fallback>
<error>xml not found</error>
</xi:fallback>
</xi:
include
>
</root>
EOD;
// Create a new DOMDocument
$dom
=
new
DOMDocument();
// let's have a nice output
$dom
->preserveWhiteSpace = false;
$dom
->formatOutput = true;
// load the XML string defined above
$dom
->loadXML(
$xml
);
// substitute xincludes
$dom
->xinclude();
echo
$dom
->saveXML();
?>
- Producción:
xml not found
Referencia: https://www.php.net/manual/en/domdocument.xinclude.php