XML Inclusions (zwane też XInclude) – Dołączenia XML – to język oparty na XML-u, używany jednak tylko w połączeniu z XML-em lub innymi językami opartymi na XML-u. Został opracowany przez W3C, aby umożliwić wstawianie do plików XML zawartości innych plików (zarówno w formacie XML jak i zwykłych, czysto tekstowych).
Sposób użycia
Przed użyciem XInclude należy zadeklarować przestrzeń nazw XML http://www.w3.org/2001/XInclude
, standardowo pod nazwą xi
. Aby to zrobić, należy do elementu głównego dokumentu XML lub ojca elementu, w którego zawartości ma zostać wklejona, dodać atrybut:
xmlns:xi="http://www.w3.org/2001/XInclude"
W miejscu, w którym zawartość innego pliku ma zostać wstawiona, należy wstawić element <xi:include/>
. Element ten może posiadać atrybuty:
href
– adres URI pliku, którego treść ma zostać wstawionaparse
– sposób analizy składniowej (parsingu) treści załączonego pliku. Może przyjmować wartości „xml” i „text”xpointer
– adres załączanego elementu pliku XML w formacie XPointerencoding
– kodowanie załączanego pliku tekstowego. Atrybut ten jest ignorowany, gdy atrybut parse ma wartość „xml”accept
– zawartość nagłówka „Accept” wysyłanego do serwera przy pobieraniu pliku docelowego.accept-language
– zawartość nagłówka „Accept-Language” wysyłanego do serwera przy pobieraniu pliku docelowego.
UWAGA! Element <xi:include/>
musi posiadać atrybut href
lub atrybut xpointer
.
W przypadku gdy plik nie może zostać ściągnięty, generowany jest błąd krytyczny. Można temu zapobiec przez wstawienie do elementu <xi:include/>
elementu <xi:fallback/>
zawierającego tekst, który zostanie wyświetlony zamiast zawartości załączonego pliku. Gdy <xi:fallback/>
jest pusty, nic nie jest wstawiane i nie jest generowany żaden błąd.
Przykład
Zawartość pliku http://example.com/plik.xml:
<?xml version="1.0" encoding="[[UTF-8|utf-8]]"?>
<xml xmlns:xi="<nowiki>http://www.w3.org/2001/XInclude</nowiki>">
Mój ulubiony kolor to
<xi:include href="<nowiki>http://example.com/kolor.txt</nowiki>" parse="text" encoding="utf-8">
<xi:fallback>zielony</xi:fallback>
</xi:include>.
</xml>
Zawartość pliku http://example.com/kolor.txt:
niebieski
Efekt analizy składniowej pliku http://example.com/plik.xml:
<?xml version="1.0" encoding="utf-8"?>
<xml>
Mój ulubiony kolor to niebieski.
</xml>
Wsparcie przez przeglądarki
Aktualnie XInclude nie jest wspierany przez żadną z popularnych przeglądarek.