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ů[1]. Výsledný dokument bude jediný složený XML Information Set.
Způsob použití
[editovat | editovat zdroj]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 XPointerencoding
- 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
[editovat | editovat zdroj]XML
[editovat | editovat zdroj]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
[editovat | editovat zdroj]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
[editovat | editovat zdroj]XInclude by měl být podporován renderovacím strojem Gecko 1.9[2] (používaný mimo jiné prohlížečem Firefox 3).
Částečná podpora je možná pomocí kódu v Javascriptu[3].
Podporu XInclude obsahuje například Xsltproc nebo XML editor Oxygen.
Odkazy
[editovat | editovat zdroj]Reference
[editovat | editovat zdroj]V tomto článku byly použity překlady textů z článků XML Inclusions na polské Wikipedii a XInclude na anglické Wikipedii.
- ↑ J. Marsh, D. Orchard, Daniel Veillard. XML Inclusions (XInclude) Version 1.0 (Second Edition), Appendix C: Examples (non-normative) [online]. World Wide Web Consortium [cit. 2007-06-28]. Dostupné online.
- ↑ mozilla wiki - Firefox/Feature Brainstorming:Web Standards Support
- ↑ Brettz9. XInclude [online]. Mozilla Developer Network. Dostupné online.
Související články
[editovat | editovat zdroj]Externí odkazy
[editovat | editovat zdroj]- Specifikace XML Inclusions 1.0
- XInclude with XSLT
- Používání XInclude in Xerces
- Using XInclude článek Elliotte Rusty Harolda