Open In App

PHP | DOMDocument xinclude() Function

Improve
Improve
Like Article
Like
Save
Share
Report

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



Last Updated : 26 Feb, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads