Forum und email

DOMDocument->xinclude()

(No version information available, might be only in CVS)

DOMDocument->xinclude() — Substitutes XIncludes in a DOMDocument Object

설명

DOMDocument
int xinclude ([ int $options ] )

This method substitutes » XIncludes in a DOMDocument object.

Note: 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 PHP 5.1.0 and Libxml 2.6.7.

반환값

Returns the number of XIncludes in the document.

예제

Example#1 DOMDocument->xinclude() example

<?php

$xml 
= <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="https://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="https://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>