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.9mozilla wiki - Firefox/Feature Brainstorming:Web Standards Support (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
Kategorie:Standardy založené na XML