The DOMDocument::xinclude() function is an inbuilt function in PHP which is used to substitute the XIncludes in a DOMDocument Object.
Syntax:
int DOMDocument::xinclude( int $options = 0 )
Parameters: This function accepts an optional single parameter $options which holds the libxml parameter.
Return Value: This function returns the number of XIncludes in the document, -1 if some processing failed, or FALSE if there were no substitutions.
Below examples illustrate the DOMDocument::xinclude() function in PHP:
Example 1: In this program, we will include from XML from new.xml to index.php.
- new.xml
<?xml version=
'1.0'
?>
<disclaimer>
<p>
This is the content from
new
.xml
included using xinclude.
</p>
</disclaimer>
- index.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();
?>
- Output:
This is the content from new.xml included using xinclude.
Example 2: In this program, we will add a fallback if xinclude fails.
- index.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();
?>
- Output:
xml not found
Reference: https://www.php.net/manual/en/domdocument.xinclude.php