DOMDocument オブジェクト内の XIncludes を置換する

# DOMDocument::xinclude

(PHP 5, PHP 7)

DOMDocument::xinclude — DOMDocument オブジェクト内の XIncludes を置換する

### 説明

public DOMDocument::xinclude ([ int `$options` ] ) : int

このメソッドは、DOMDocument オブジェクト内の » XIncludes を置換します。

> 注意:

> include される XML ファイルに DTD が添付されている場合は libxml2 が自動的にエンティティを解決するため、 このメソッドは予期せぬ結果を引き起こすことがあります。

### パラメータ

`options`

  libxml のパラメータ。 PHP 5.1.0 および Libxml 2.6.7 以降で使用可能です。

### 返り値

ドキュメント内の XIncludes の数を返します。 何かの処理に失敗した場合は -1、 置換が発生しなかった場合は `FALSE` を返します。

### 例

例1 DOMDocument::xinclude() の例

`<?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;
// 見た目をきれいにします
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
// 上で定義した XML 文字列を読み込みます
$dom->loadXML($xml);
// 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>