XInclude
XML Inclusions (neboli XInclude) je obecný mechanismus pro slučování XML dokumentů vyvinutý W3C; pomocí speciálních značek v „hlavním“ dokumentu lze automaticky zahrnout jiné (textové) dokumenty nebo části XML dokumentů. Výsledný dokument bude jediný složený XML Information Set.

Způsob použití 
Před použitím XInclude je třeba deklarovat jmenný prostor XML http://www.w3.org/2001/XInclude, standardně pod názvem xi. K tomu je třeba do hlavního elementu XML dokumentu nebo do rodiče elementu, do něhož má být vložen obsah, doplnit atribut:
 xmlns:xi="http://www.w3.org/2001/XInclude"

V místě, kam se má vložit obsah jiného souboru, je třeba vložit element <xi:include/>. Element může obsahovat atributy:
 href - URI souboru, jehož obsah má být vložený
 parse - způsob analýzy (parsingu) obsahu vkládaného souboru. Může nabývat hodnot "xml" nebo "text"
 xpointer - adresa vkládaného elementu souboru XML v formátu XPointer
 encoding - Kódování vkládaného textového souboru. Tento atribut se ignoruje, pokud atribut parse má hodnotu "xml"
 accept - obsah hlavičky "Accept" posílané na server při načítání cílového souboru.
 accept-language - obsah hlavičky "Accept-Language" posílané na server při načítání cílového souboru.
POZOR! Element <xi:include/> musí obsahovat alespoň jeden z atributů href nebo atribut xpointer.

Pokud soubor, na který se odkazuje atribut href, nelze načíst, bude vygenerována chybová stránka. Tomu je možné zabránit tak, že se do elementu <xi:include/> vloží element <xi:fallback/> obsahující text, který má být vložen místo obsahu vkládaného souboru. Pokud je <xi:fallback/> prázdný, nic není vloženo a není vygenerována žádná stránka.

Příklady

XML 
Obsah „hlavního“ souboru http://example.com/soubor.xml:

<?xml version="1.0" encoding="utf-8"?>
<xml xmlns:xi="http://www.w3.org/2001/XInclude">
   Moje oblíbená barva je
   <xi:include href="http://example.com/barva.txt" parse="text" encoding="utf-8">
      <xi:fallback>zelená</xi:fallback>
   </xi:include>.
</xml>

Obsah souboru http://example.com/barva.txt:

 modrá

Výsledek zpracování souboru http://example.com/soubor.xml:

<?xml version="1.0" encoding="utf-8"?>
<xml>
   Moje oblíbená barva je modrá.
</xml>

HTML 
Vložení textového souboru license.txt s obsahem:

 This document is published under GNU Free Documentation License

do „hlavního“ XHTML dokumentu:

<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:xi="http://www.w3.org/2001/XInclude">
   <head>...</head>
   <body>
      ...
      <p><xi:include href="license.txt" parse="text"/></p>
   </body>
</html>

dává:

<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:xi="http://www.w3.org/2001/XInclude">
   <head>...</head>
   <body>
      ...
      <p>This document is published under GNU Free Documentation License</p>
   </body>
</html>

Mechanismus je podobný použití značky <object>, které je však dostupná pouze v HTML; XInclude je však určen pro libovolný XML formát, jako SVG nebo XHTML.

Podpora 
XInclude by měl být podporován renderovacím strojem Gecko 1.9 (používaný mimo jiné prohlížečem Firefox 3).

Částečná podpora je možná pomocí kódu v Javascriptu.

Podporu XInclude obsahuje například Xsltproc nebo XML editor Oxygen.

Odkazy

Reference

Související články 
 XPath
 XSLT

Externí odkazy 
 Specifikace XML Inclusions 1.0
 XInclude with XSLT
 Používání XInclude in Xerces
 Using XInclude článek Elliotte Rusty Harolda

Standardy založené na XML