Substitutes XIncludes in a DOMDocument Object

DOMDocument::xinclude

(PHP 5, PHP 7, PHP 8)

DOMDocument::xinclude Substitutes XIncludes in a DOMDocument Object

說明

public DOMDocument::xinclude(int $options = 0): int|false

This method substitutes » XIncludes in a DOMDocument object.

注意:

Due to libxml2 automatically resolving entities, this method will produce unexpected results if the included XML file have an attached DTD.

參數

options

libxml parameters. Available since Libxml 2.6.7.

返回值

Returns the number of XIncludes in the document, -1 if some processing failed, or false if there were no substitutions.

範例

示例 #1 DOMDocument::xinclude() example

<?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;

// 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();

?>

以上例程的輸出類似於:

<?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>

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *