XML Inclusions
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"?> <xml xmlns:xi="http://www.w3.org/2001/XInclude"> Mój ulubiony kolor to <xi:include href="http://example.com/kolor.txt" 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.