Przejdź do zawartości

XML Inclusions

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez Addbot (dyskusja | edycje) o 00:43, 15 mar 2013. Może się ona znacząco różnić od aktualnej wersji.

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ć 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
  • encoding - 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. Trwają jednak prace nad wsparciem tej technologii w silniku renderowania stron Gecko 1.9[1] (używanym przez m.in. Firefoxa 3).

Linki zewnętrzne