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
php <?xml version='1.0'?> <disclaimer> <p> This is the content from new.xml included using xinclude. </p> </disclaimer>
- index.php
php <?php $xml = <<<EOD <?xml version="1.0" ?> <root xmlns:xi="https://www.w3.org/2001/XInclude"> <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.
- index.php
php <?php $xml = <<<EOD <?xml version="1.0" ?> <root xmlns:xi="https://www.w3.org/2001/XInclude"> <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