Przejdź do zawartości

XML Inclusions

Z Wikipedii, wolnej encyklopedii

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

[edytuj | edytuj kod]

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ć wstawiona
  • parse – 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 XPointer
  • encodingkodowanie 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

[edytuj | edytuj kod]

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

[edytuj | edytuj kod]

Aktualnie XInclude nie jest wspierany przez żadną z popularnych przeglądarek.

Linki zewnętrzne

[edytuj | edytuj kod]