DOMDocument::xinclude

(PHP 5, PHP 7)

DOMDocument::xincludeBir DOMDocument nesnesindeki XInclude dosyalarını belgeye dahil eder

Açıklama

public DOMDocument::xinclude ( int $seçenekler = 0 ) : int|false

Bir DOMDocument nesnesinde, » XIncludes mekanizması kullanılarak belgeye dahil edilen dosyaların içeriklerini yerlerine yerleştirir.

Bilginize:

libxml2'nin öğeleri otomatik olarak çözümlemesinden dolayı, eğer dahil edilen XML dosyanın kendine ekli bir DTD'si varsa bu yöntem beklenmedik sonuçlara yol açabilir.

Değiştirgeler

seçenekler

libxml sabitleri. PHP 5.1.0 ve Libxml 2.6.7'den itibaren kullanılabilmektedir.

Dönen Değerler

Belgeye XIncludes ile dahil edilen dosyaların sayısı. İşlem başarısız olursa -1, dahil edilecek birşey yoksa false döner.

Örnekler

Örnek 1 - DOMDocument::xinclude() örneği

<?php

$xml 
= <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
 <title>Yabancı kitapları</title>
 <para>
  <xi:include href="kitap.xml">
   <xi:fallback>
    <error>xinclude: kitap.xml dosyasına rastlanmadı</error>
   </xi:fallback>
  </xi:include>
 </para>
</chapter>
EOD;

$dom = new DOMDocument;

// çıktı göze hoş görünsün
$dom->preserveWhiteSpace false;
$dom->formatOutput true;

// yutarıdaki XML dizgeyi yükleyelim
$dom->loadXML($xml);

// dahil edilecek dosyaların içeriklerini alalım
$dom->xinclude();

echo 
$dom->saveXML();

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

<?xml version="1.0"?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
  <title>Yabancı kitaplar</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>