Polskie t�umaczenie Rekomendacji "XML Inclusions (XInclude) Version 1.0"

Autor: Mariusz �ebrowski.
Lokalizacja: http://www.antyspam.pl/w3c/REC-xinclude-20041220/

Dokument ten jest t�umaczeniem rekomendacji W3C XML Inclusions (XInclude) Version 1.0. Przek�ad ten nie jest przk�adem normatywnym i mo�e zawiera� b��dy wynikaj�ce z t�umaczenia. Status normatywny posiada jedynie wersja angielskoj�zyczna na stronie W3C http://www.w3.org/TR/2004/REC-xinclude-20041220/.
Dokument jest chroniony prawem autorskim. Copyright © 2004 W3C® (MIT, ERCIM, Keio).

W3C

Inkluzje XML (XInclude) Wersja 1.0

Rekomendacja W3C z 20 grudnia 2004

Obecna wersja:
http://www.w3.org/TR/2004/REC-xinclude-20041220/
Najnowsza wersja:
http://www.w3.org/TR/xinclude/
Poprzednia wersja:
http://www.w3.org/TR/2004/PR-xinclude-20040930/
Edytorzy:
Jonathan Marsh, Microsoft <jmarsh@microsoft.com>
David Orchard, BEA Systems <dorchard@bea.com>

Prosimy odnie�� si� do erraty dla tego dokumentu, kt�ry mo�e zawiera� normatywne poprawki.

Patrz te� t�umaczenia.

Ten dokument jest tak�e dost�pny w formatach nienormatywnych: XML.


Streszczenie

Ten dokument okre�la tryb przetwarzania i sk�adni� dla og�lnych zada� inkluzji. Do inkluzji dochodzi poprzez ��czenie zbior�w informacji XML w jeden z�o�ony zbi�r informacji. Wykaz dokument�w XML (zbiory informacji) do ��czenia i kontrola nad procesem ��czenia jest wyra�ona w sk�adni przyjaznej XML (elementy, atrybuty, odno�niki URI).

Status dokumentu

Ta cz�� opisuje status tego dokumentu w czasie jego publikacji. Inne dokumenty mog� wyprze� ten dokument. Lista bie��cych publikacji W3C i najnowsza aktualizacja tego raportu technicznego jest dost�pna w indeksie raport�w technicznych W3C na stronie http://www.w3.org/TR/.

Ten dokument to Rekomendacja W3C. Zosta� om�wiony przez Cz�onk�w W3C i inne zainteresowane strony, a tak�e zosta� zatwierdzony przez Dyrektora jako Rekomendacja W3C. Jest to sta�y dokument i mo�e by� u�ywany jako wzorzec lub cytowany jako odno�nik normatywny z innego dokumentu. Rola Rola W3C podczas tworzenia rekomendacji polega na zwr�ceniu uwagi na specyfikacj� oraz promocj� jego rozwoju. Zwi�ksza to funkcjonalno�� i interoperacyjno�� sieci internetowej.

Ten dokument zosta� stworzony przez G��wn� Grup� Robocz� W3C XML jako cz�� dzia�ania XML. Angielska wersja tej specyfikacji jest jedyn� normatywn� wersj�. T�umaczenia tego dokumentu s� jednak dost�pne na stronie http://www.w3.org/2003/03/Translations/byTechnology?technology=xinclude10.

G��wna Grupa Robocza XML uwa�a, �e ta specyfikacja odnosi si� do spraw zwi�zanych z Rekomendacj� Ostatniego Wywo�ania oraz Kandydata (podczas omawiania Proponowanej Rekomendacji nie zg�aszano problem�w). Znane implementacje s� zawarte w Raporcie Implementacji XInclude. Zestaw test�w jest uwzgl�dniony, aby pom�c w ocenie zgodno�ci z t� specyfikacj�. Ten dokument zosta� stworzony zgodnie z Procedurami Polityki Patentowej W3C z 24 stycznia 2002 CPP z p�niejszymi poprawkami. Ktokolwiek posiadaj�cy rzeczywist� wiedz� o patencie, kt�ra wed�ug niego zezwala na roszczenie sobie praw, powinien ujawni� j� w zwi�zku z t� specyfikacj� i zgodnie z cz�ci� 6 Polityki Patentowej W3C. Dokumentacj� stanowi�c� w�asno�� intelektualn� mo�liwie zwi�zan� z t� specyfikacj� mo�na znale�� na og�lnej stronie Grupy Roboczej o IPR .

Prosimy zg�asza� b��dy w tym dokumencie do www-xml-xinclude-comments@w3.org; publiczne archiwa s� dost�pne. Spis erraty dla tej edycji jest dost�pny na http://www.w3.org/2004/12/xinclude-errata.

Spis tre�ci

1 Wst�p
    1.1 Powi�zanie z XLink
    1.2 Powi�zanie z zewn�trznymi obiektami XML
    1.3 Powi�zanie DTD
    1.4 Powi�zanie ze schematami XML
    1.5 Powi�zanie z charakterystycznymi inkluzjami gramatycznymi
2 Terminologia
3 Sk�adnia
    3.1 xi:zawiera element
    3.2 xi:element rezerwy awaryjnej
4 Model przetwarzania
    4.1 Zawarta lokalizacja
        4.1.1 Powr�t do poprzedniego stanu warto�ci atrybutu href
        4.1.2 U�ycie XInclude z Ustaleniem Zawarto�ci
    4.2 Pozycje Zawarte kiedy analiza sk�adni="xml"
        4.2.1 Informacje zawarte w dokumencie
        4.2.2 W�z�y wielokrotne
        4.2.3 Obszar lokalizacji
        4.2.4 Lokalizacje punktowe
        4.2.5 Informacje o Elementach, Komentarzach i Instrukcjac Przetwarzania
        4.2.6 Informacja o Atrybucie i Deklaracji Przestrzeni Nazw
        4.2.7 P�tle Inkluzyjne
    4.3 Pozycje Zawarte kiedy analiza sk�adni="text"
    4.4 Zachowanie Rezerwy Awaryjnej
    4.5 Tworzenie wynikowego zbioru informacji
        4.5.1 Niezanalizowane elementy rekordu
        4.5.2 Zapisy
        4.5.3 references Property Fixup
        4.5.4 Fixup przestrzeni nazw
        4.5.5 Podstawowy fixup URI
        4.5.6 Fixup J�zyka
        4.5.7 W���ciwo�ci Zachowane przez Zbi�r Informacji
5 Zgodno��
    5.1 Zgodno�� Znacznik�w
    5.2 Zgodno�� Aplikacji
    5.3 Zgodno�� Zbioru Informacji XML

Dodatki

A Odno�niki
B Odno�niki (Nienormatywne)
C Przyk�ady (Nienormatywne)
    C.1 Przyk�ad Podstawowej Inkluzji
    C.2 Przyk�ad Inkluzji Tekstowej
    C.3 Inkluzja Tekstowa Przyk��du XML
    C.4 Fragment Przyk�adu Inkluzji
    C.5 Przyk�ad Inkluzji Zakresu
    C.6 Przyk�ad rezerwy awaryjnej


1 Wst�p

Wiele j�zyk�w programowania zapewnia mechanizm inkluzyjny w celu u�atwienia modularno�ci. Cz�sto tego typu j�zyki wymagaj� takich mechanizm�w. Ta specyfikacja wprowadza mechanizm og�lny dla ��czenia dokument�w XML (jak przedstawiono w informacjach) dla u�ytku aplikacji wymagaj�cych takich u�atwie�. Dzia�anie sk�adni istniej�cych konstrukcji XML - elementy, atrybuty, odno�ciki URI.

1.1 Zwi�zek z XLink

XInclude r�ni si� od element�w ��cz�cych opisanych w [J�zyk Po��cze� XML], szczeg�lnie ��czy z warto�ci� atrybutu show="embed". Takie po��czenia zapewniaj� sk�adni� niezale�n� od media-type dla wskazania, �e �r�d�o jest wbudowane graficznie w obr�bie wy�wietlanego dokumentu. XLink nie wyszczeg�lnia szczeg�lnego modelu przetwarzania, ale po prostu u�atwia wykrywanie link�w i rozpoznanie przy��czonych metadata przez aplikacj� wy�szego poziomu.

XInclude, z drugiej strony, wyszczeg�lnia szczeg�ln� transformacj� media-type (XML na XML). Okre�la to szczeg�lny model przetwarzania dla ��czenia zbior�w informacji. Przetwarzanie XInclude odbywa si� na niskim poziomie, cz�sto poprzez procesor rodzajowy, kt�ry udost�pnia wynikowy zbi�r informacj aplikacjom na wy�szym poziomie.

Proste inkluzje element�w informacyjnych, jak opisano w tej specyfikacji, r�ni� si� od transkluzji, kt�re zachowuj� kontekstowe informacje takie jak styl.

1.2 Zwi�zek z Zewn�trznymi Elementami Rekordu XML

Jest wiele r�nic pomi�dzy zewn�trznymi elementami XInclude i [XML 1.0] lub [XML 1.1], kt�re sprawiaj�, �e s� one technologiami uzupe�niaj�cymi.

Przetwarzanie zewn�trznych element�w (jak z reszt� of DTD) odbywa si� w czasie rozbioru. XInclude dzia�a na zbiory informacji, a wi�c jest ortogonalne do rozbioru.

Deklaracja zewn�trznych element�w wymaga DTD lub wewn�trznego podzbioru. Umieszcza to zbi�r zale�no�ci na nkluzji, na przyk�ad sk�adnia dla deklaracji DOCTYPE wymaga, aby element dokumentu by� nazwany - ortogonalnie do inkluzji w wielu przypadkach. Parsery waliduj�ce musz� mie� zdefiniowany ca�kowity model zawarto�ci. XInclude jest ortogonalny do walidacji i nazwy elementu dokumentu.

Elementy zewn�trzne zapewniaj� poziom nieukierunkowania - element zewn�trzny musi by� zdeklarowany i nazwany, a tak�e oddzielnie wywo�any. XInclude u�ywa odno�nik�w bezpo�rednich. Aplikacje, kt�re tworz� wynik XML przyrostowo mog� wyci�ga� korzy�ci z tego, �e nie maj� wcze�niej zdeklarowanych inkluzji.

Niepowodzenie podczas �adowania elementu zewn�trznego jest zazwyczaj b��dem krytycznym. XInclude pozwala autorowi na zapewnienie zawarto�ci warto�ci domy�lnej, kt�ra b�dzie u�ywana je�li zdalne �r�d�o nie mo�e by� za�adowane.

Sk�adnia dla wewn�trznego podzbioru jest niewygodna dla wielu autor�w prostych, dobrze stworzonych dokument�w XML. Sk�adnia XInclude opiera si� na pokrewnych konstrukcjach XML.

1.3 Zwi�zek z DTD

XInclude nie okre�la zwi�zku z walidacj� DTD. XInclude opisuje transformacj� podzbi�r-do-podzbioru, a nie zmian� w analizowanym zachowaniu XML. XInclude nie okre�la mechanizmu dla walidacji DTD wynikowego zbioru informacji.

1.4 Zwi�zek ze Schematami XML

XInclude nie okre�la zwi�zku z rozszerzonymi zbiorami informacji stworzonymi przez stosowanie schematu XML. Takie rozszerzone zbiory informacji mog� by� dostarczane do wyj�ciowego zbioru informacji, lub takie rozszerzenie mog�oby by� stosowane do zbioru informacji wynikaj�cego z inkluzji.

1.5 Zwi�zek z Inkluzjami o Szczeg�lnej Gramatyce

Inkluzje szczeg�lnego u�ytku zosta�y wprowadzone do szczeg�lnych gramatyk XML. XInclude zapewnia mechanizm rodzajowy dla rozpoznania i przetworzenia inkluzji, a tak�e mo�e zaoferowa� prostsze o�lne do�wiadczenie auorskie, lepsze dzia�anie i mniejsz� nadmiarowo�� kodu.

2 Terminologia

[Definicja: S�owa kluczowe musi, nie wolno, wymagany, powinien, nie powinien, powinien, nie powinien, polecany, mo�e, i opcjonalny b�d� zinterpretowane w tej specyfikacji jak opisano w [IETF RFC 2119].]

[Definicja: Termin zbi�r informacji odnosi si� do wyniku procesora [XML 1.0] lub [XML 1.1] wyra�one jako zbi�r element�w informacji i w�asno�ci, jak okre�lono przez specyfikacj� [Zbi�r Informacji XML].] W tym dokumencie termin zbi�r informacji jest u�yty jako synonim zbioru informacji.

[Definicja: Termin b��d krytyczny odnosi si� do obecno�ci czynnik�w, kt�re zapobiegaj� kontynuacji normalnego przetwarzania.] [Definicja: Termin b��d �r�d�a odnosi si� do niepowodzenia pr�by pobrania �r�d�a z URL.] Procesory XInclude musz� zaprzesta� przetwarzania, kiedy napotykane b��dy inne ni� b��dy �r�d�a, kt�re musz� by� rozwi�zane jak opisano w 4.4 Zachowanie Rezerwy Awaryjnej.

3 Sk�adnia

XInclude okre�la przestrze� nazw po��czonych z URI http://www.w3.org/2001/XInclude. Przestrze� nazw XInclude zawiera dwa elementy z nazwami lokalnymi include i fallback. Dla pewno�ci, w obr�bie tych specyfikacji odnosi si� do tych element�w odpowiedno jako xi:include i xi:fallback.

Nast�puj�ce (nienormatywne) schematy XML [Schematy XML] przedstawiaj� model zawarto�ci przestrzeni nazw xi:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:xi="http://www.w3.org/2001/XInclude"
           targetNamespace="http://www.w3.org/2001/XInclude"
           finalDefault="extension">

  <xs:element name="include" type="xi:includeType" />

  <xs:complexType name="includeType" mixed="true">
    <xs:choice minOccurs='0' maxOccurs='unbounded' >
      <xs:element ref='xi:fallback' />
      <xs:any namespace='##other' processContents='lax' />
      <xs:any namespace='##local' processContents='lax' />
    </xs:choice>
    <xs:attribute name="href" use="optional" type="xs:anyURI"/>
    <xs:attribute name="parse" use="optional" default="xml"
                  type="xi:parseType" />
    <xs:attribute name="xpointer" use="optional" type="xs:string"/>
    <xs:attribute name="encoding" use="optional" type="xs:string"/>
    <xs:attribute name="accept" use="optional" type="xs:string"/>
    <xs:attribute name="accept-language" use="optional" type="xs:string"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

  <xs:simpleType name="parseType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="xml"/>
      <xs:enumeration value="text"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="fallback" type="xi:fallbackType" />

  <xs:complexType name="fallbackType" mixed="true">
    <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:element ref="xi:include"/>
      <xs:any namespace="##other" processContents="lax"/>
      <xs:any namespace="##local" processContents="lax"/>
    </xs:choice>
    <xs:anyAttribute namespace="##other" processContents="lax" />
  </xs:complexType>

</xs:schema>

3.1 Element xi:include

Element xi:include posiada nast�puj�ce atrybuty:

href

Warto��, kt�ra po odpowiednim uwolnieniu (patrz 4.1.1 Uwalnianie warto�ci atrybutu href) zosta�a wykonana, daje w wyniku odno�nik URI lub odno�nik IRI, okre�laj�ce umieszczenie �r�d�a do zawarcia. Atrybut href jest opcjonalny; brak tego atrybutu jest taki sa, jak przy okre�laniu href="", tj., odno�nik jest do tego samego dokumentu. Je�li brakuje atrybutu href kiedy parse="xml", atrybut xpointer musi wyst�pi�. Identyfikatory fragmentowe nie mog� by� u�yte; ich obecno�� jest b��dem krytycznym. Warto��, kt�ra jest wynikiem, jest syntaktycznie nie wa�na dla URI lub IRI, powinna by� zg�oszona jako b��d krytyczny, ale niekt�re implementacje mog� uwa�a� j� za niepraktyczn� do odr�nienia tego przypadku od b��du �r�d�owego.

Uwaga:

URI ko�cz�ce si� na # jest uwa�ane przez [IETF RFC 2396] za maj�ce pusty identyfikator fragmentu. Takie URI powodowa�oby b��d krytyczny jak opisano powy�ej.

Uwaga:

Kluczow� cech� XInclude jest to, �e zezwala, by �r�d�o by�o uformowane do typu user-specified dla inkluzji (XML lub tekst). Otrzymany media type jest zatem zasadniczo ignorowany dla cel�w przetwarzania inkluzjii i sk�adnia identyfikatora fragmentu otrzymanego media type nie b�dzie generalnie odpowiednia do typu user-specified. Dla inkluzji parse="xml" pod�r�d�a s� identyfikowane przez oddzielny atrybut xpointer, kt�ry jest stosowany po formowaniu. Kiedy to nie zapobiega identyfikacji pod�r�de� dokument�w XML przez URI (Patrz Struktura World Wide Web [Identyfikacja]), zapobiega ono u�yciu tych identyfikator�w bezpo�rednio w obr�bie XInclude.

parse

Wskazuje, czy w��czy� �r�d�o jako przeanalizowany XML czy jako tekst. Atrybut parse pozwala XInclude na danie autorowi w��czanego dokumentu pierwsze�stwa na serwerze w��czanego dokumentu co do tego, jak przetworzy� za��czon� zawarto��. Warto�� "xml" wskazuje, �e �r�d�o musi by� przeanalizowane jako XML i zbi�r informacji scalony. Warto�� "text" wskazuje, �e �r�d�o musi by� za��czone jako znaki elementu informacji. Ten atrybut jest opcjonalny. Kiedy pomini�ty, warto�� "xml" jest sugerowana (nawet przy braku warto�ci domy�lnej deklaracji). Warto�ci inne ni� "xml" i "text" s� b��dem krytycznym.

Uwaga:

Dla interoperacyjno�ci pomi�dzy systemami waliduj�cymi i niewaliduj�cymi, odst�p nie powinien si� pojawi� w atrybucie parse.

xpointer

Kiedy parse="xml", XPointer (patrz [Struktura XPointer]) zawarta w atrybucie xpointer jest wyznaczona do identyfikacji cz�� �r�d�a do za��czenia. Ten atrybut jest opcjonalny; kiedy jest pomini�ty, ca�e �r�d�o jest zawarte. Atrybut xpointer nie mo�e wyst�pi� kiedy parse="text". Je�eli atrybut xpointernie wyst�puje, atrybut href musi wyst�powa�.

Uwaga:

Poniewa� atrybut xpointer nie jest odno�nikiem URI, %-uwolnienie nie mo�e wyst�pi� w XPointer, ani nie ma potrzeby, aby procesor zastosowa�, lub zmieni� takie uwolnienie.

encoding

Kiedy parse="text", czasami jest niemo�liwe, by poprawnie wykry� kodowanie �r�d�a tekstu. Atrybut encoding okre�la jak �r�d�o ma by� t�umaczone Warto�ci� tego atrybutu jest EncName, jak opisano w specyfikacji XML, cz�� 4.3.3, zasada [81]. Atrybut encoding nie ma wp�ywu kiedy parse="xml".

accept

Warto�� atrybutu accept mo�e by� u�ywane przez procesor XInclude, aby wspom�c w ustalaniu zawarto�ci. Kiedy procesor XInclude pobiera �r�d�o przez HTTP, powinien umie�ci� warto�� atrybutu accept, je�li taki istnieje, w ��daniu HTTP jako nag��wek Accept, jak opisano w cz�ci 14.1 [IETF RFC 2616]. Warto�ci zawieraj�ce znaki poza obszarem #x20 do #x7E s� zabronione w nag��wkach HTTP, i musz� by� oflagowane jako b��dy krytyczne.

accept-language

Warto�� atrybutu accept-language mo�e by� u�yta przez procesor, aby wspom�c przy ustalaniu zawarto�ci. Kiedy procesor XInclude pobiera �r�d�o przez HTTP, powinien umie�ci� warto�� atrybutu accept-language je�li taki istnieje, w ��daniu HTTP jako nag��wek Accept-Language, jak opisano w cz�ci 14.4 [IETF RFC 2616]. Warto�ci zawieraj�ce znaki poza obszarem #x20 do #x7E s� zabronione w nag��wkach HTTP, i musz� by� oflagowane jako b��dy krytyczne.

Atrybuty inne ni� te wymienione powy�ej mog� by� umieszczone na elemencie xi:include. Nazwy atrybut�w bez prefiks�w s� zarezerwowane dla przysz�ych wersji tej specyfikacji i musz� by� ignorowane przez procesory XInclude 1.0.

W�asno�� potomna elementu xi:include mo�e zawiera� pojedynczy element xi:fallback; wyst�pienie wi�cej ni� jednego elementu xi:fallback, elementu xi:include, lub jakiegokolwiek innego elementu z przestrzeni nazw XInclude jest b��dem krytycznym. Inna zawarto�� (tekst, instrukcje przetwarzania, komentarze, elementy poza przestrzeni� nazw, nast�pcy element�w potomk�w) nie jest wymuszona przez t� specyfikacj� i jest ignorowana przez procesor XInclude, tzn. nie ma wp�ywu na przetwarzanie za��czania i nie wyst�puje we w�asno�ciach potomnych wyniku zbioru warto�ci. Taka zawarto�� mo�e by� u�yta przez aplikacje analizuj�ce przedinkluzjyjny zbi�r informacji, lub udost�pniona aplikacjom poinkluzyjnym poprzed �rodki inne ni� normalne w�asno�ci zbioru informacji.

Nast�puj�cy (nienormatywny) fragment DTD przedstawia pr�bk� deklaracji dla elementu xi:include:

<!ELEMENT xi:include (xi:fallback?)>

<!ATTLIST xi:include
    xmlns:xi        CDATA       #FIXED    "http://www.w3.org/2001/XInclude"
    href            CDATA       #IMPLIED
    parse           (xml|text)  "xml"
    xpointer        CDATA       #IMPLIED
    encoding        CDATA       #IMPLIED
    accept          CDATA       #IMPLIED
    accept-language CDATA       #IMPLIED
>

3.2 Element xi:fallback

Element xi:fallback pojawia si� jako potomek elementu xi:include. Zapewnia mechanizm dla odzyskiwania zaginionych �r�de�. Kiedy wyst�pi b��d krytyczny, element xi:include jest wymieniany wraz z zawarto�ci� elementu xi:fallback. Je�eli element xi:fallback jest pusty, element xi:include jest usuni�ty z wyniku. Je�eli brakuje elementu xi:fallback, b��d �r�d�a prowadzi do in a b��du krytycznego.

Element xi:fallback potomek elementu xi:include. Jest to b��d krytyczny elementu xi:fallback, pojawiaj�cy si� w dokumencie w jakimkolwiek innym miejscu, ni� bezpo�redni potomek xi:include (przed przetarzaniem inklucji na zawarto�ci elementu.) Jest to b��d krytyczny dla elementu xi:fallback, zawieraj�cego jakiekolwiek elementy z przestrzeni nazw XInclude inne ni� xi:include.

Atrybuty mog� by� umieszczone na elemencie xi:fallback. Nazwy atrybut�w bez prefiks�w s� zarezerwowane dla przysz�ych wersji tej specyfikacji i musz� by� ignorowane przez procesory XInclude 1.0.

Nast�puj�cy (nienormatywny) fragment DTD przedstawia pr�bk� deklaracji dla elementu xi:fallback:

<!ELEMENT xi:fallback ANY>

<!ATTLIST xi:fallback
    xmlns:xi   CDATA   #FIXED   "http://www.w3.org/2001/XInclude"
>

4 Model przetwarzania

Inkluzaj, jak opisano w tym dokumencie, jest szczeg�lnym typem transformacji [Zbioru Informacji XML].

[Definicja: Wej�cie dla transformacji inkluzji sk�ada si� ze zbioru informacji �r�d�a.] [ Definicja: Wyj�cie, nazywane wynikowym zbiorem informacji , jest nowym zbiorem informacji, kt�ry scala �r�d�owy zbi�r informacji ze zbiorami informacji �r�de� identyfikowanych przez odno�niki URL, lub odno�niki URI wyst�puj�ce w elementach xi:include.] W ten spos�b przyjmuje si� mechanizm rozk��daj�cy URI i IRI oraz identyfikuj�cy �r�d�a jako zbiory informacji. Dobrze ukszta�towane elementy rekordu XML, kt�re nie posiadaj� zdefiniowanych zbior�w informacji (np. zewn�trzny element rekordu z wielokrotnymi elementami najwy�szego poziomu) s� poza zasi�giem tej specyfikacji, zar�wno dla u�ycia jako �r�d�owy zbi�r informacji, jak i wynikowy zbi�r informacji.

Elementy xi:include [ Definicja: Elementy informacyjne umieszczone przy elemencie xi:include s� nazywane elementami zawartego najwy�szego poziomu ]. [Definicja: Elementy zawartego najwy�szego poziomu wraz z ich atrybutami, przestrzeniami nazw oraz potomkami s� nazywane elementami zawartymi ]. Wynikowy zbi�r informacji jest zasadniczo kopi� �r�d�owego zbioru informacji , z ka�dym elementemxi:include i jego potomkami zast�pionymi przez odpowiednie elementy zawarte.

4.1 Zawarta lokalizacja

Warto�� atrybutu href po uwolnieniu zgodnie z 4.1.1 Uwalnianie warto�ci atrybutu href, jest interpretowane zar�wno jako odno�nik URI, lub odno�nik IRI. Podstawowy URI dla odpowiednich URI lub IRI jest podstawowym URI elementu xi:include, jak wyszczeg�lniono w [Podstawie XML]. [Definicja: URI lub IRI wynikaj�ce z rozdzielania znormalizowanej warto�ci atrybutu href (lub pusty ci�g znak�w, je�li nie pojawia si� �aden atrybut) do zupe�nej formy URI lub IRI jest zwany zawart� lokalizacj�.]

Brak warto�ci dla atrybutu href, zar�wno przez pojawienie href="", lub braku atrybutu href, przedstawia przypadek, kt�ry mo�e by� niekompatybilny z pewnymi strategiami implementacji. Na przyk�ad, procesor XInclude mo�e nie mie� tekstowego odwzorowania �r�d�owego zbioru informacji, do w��czenia jako parse="text", lub mo�e by� niezdolny do dost�pu innej cz�ci dokumentu przy u�yciuparse="xml" i xpointer, przez znaczenia strumieniowalno�ci. Implementacja mo�e wybra� jakikolwiek lub wszystkie braki warto�ci dla atrybutu href takiego, jak b��dy �r�d�owe. Implementacje powinny dokumentowa� warunki, pod jakimi takie b��dy �r�d�owe wyst�puj�.

4.1.1 Uwalnianie warto�ci atrybutu href

Warto�� atrybutu href jest przekszta�cona do zar�wno odno�nika URI, jak i odno�nika IRI, jako odpowiednia do implementacji.

Obecnie trwaj� prace nad stworzeniem RFC definiuj�cego Mi�dzynarodowe Identyfikatory �r�d�owe (IRI). Poniewa� te prace nie s� jeszcze zako�czone, w tym dziale definiujemy odno�niki IRI syntaktycznie. Oczekuje si� wydania errat zast�puj�cych cz�ci tego dzia�u z odno�nikiem do RFC, kiedy b�dzie opublikowany. Dla dalszych og�lnych definicji i dyskusji na temat IRI patrz [Projekt IRI] (prace w trakcie).

[Definicja: Odno�nik IRI jest ci�giem znak�w, kt�ry mo�e by� przekszta�cony do odno�nika URI poprzez uwolnienie nast�puj�cych dodatkowych znak�w:]

  • p�aszczyzna kodu ujednolicongo 0 znak�w #xA0 - #xD7FF, #xF900-#xFDCF, #xFDF0-#xFFEF

  • p�aszczyzna kodu ujednolicongo 1-14 znak�w #x10000-#x1FFFD ... #xE0000-#xEFFFD

Aby zmieni� warto�� atrybutu href do odno�nika IRI, nast�puj�ce znaki musz� by� uwolnione:

  • przestrze� #x20

    Uwaga:

    Autorzy zostali powiadomieni, aby unika� nieuwolnionych przestrzeni, poniewa� Schemat XML zidentyfikowa� je jako ryzyko interoperacyjno�ci.

  • ograniczniki < #x3C, > #x3E i " #x22

  • znak { #x7B, } #x7D, | #x7C, \ #x5C, ^ #x5E i ` #x60

Te znaki s� uwolnione w nast�puj�cy spos�b:

  1. Ka�dy dodatkowy znak jest przekszta�cony do UTF-8 [Unikod] jako jeden lub wi�cej bajt�w.

  2. Wynikowe bajty s� uwalniane z mechanizmem uwalniania URI (tj. przekszta�cone do %HH, gdzie HH jest zapisem szesnastkowym warto�ci bajta).

  3. Oryginalny znak jest zast�piony sekwencj� znaku wynikowego.

Aby przekszta�ci� odno�nik IRI do odno�nika URI, dodatkowe znaki dopuszczone w IRI, musz� by� uwolnione przy u�yciu tej samej metody.

4.1.2 U�ywanie XInclude z Ustaleniem Zawarto�ci

U�ywanie mechanizm�w takich, jak ustalanie zawarto�ci HTTP [IETF RFC 2616] wprowadza dodatkowy poziom potencjalnej z�o�ono�ci w u�yciu XInclude. Wykonawcy, kt�rzy u�ywaj� XInclude w sytuacjach, gdzie ustalanie zawarto�ci jest prawdopodobne b�d� mo�liwe, powinni by� �wiadomi mo�liwo�ci, �e b�d� obejmowa�y zawarto��, kt�ra mo�e r�ni� si� strukturalnie od zawarto�ci oczekiwanej, nawet je�li ta zawarto�� to XML. Na przyk�ad, pojedynczy URI lub IRI mo�e na r�ne sposoby oddawa� nieprzerobione odwzorowanie �r�d�a XML, odwzorowanie XSL-FO [XSL-FO], lub odwzorowania XHTML [XHTML], a tak�e jako wszystkie wersje w r�nych kodowaniach znak�w lub j�zykach.

Autorzy, kt�rych przetwarzanie XML zale�y od odbioru szczeg�lnego s�ownictwa XML, powinni u�ywa� atrybuty accept oraz accept-language, aby zwi�kszy� mo�liwo��, �e �r�d�o ma zapewniony oczekiwany format.

4.2 Elementy zawarte kiedy parse="xml"

Kiedy parse="xml", zawarta lokalizacja (include location) ma usuni�t� po�rednio��, �r�d�o jest za�adowane, a zbi�r informacji jest stworzony poprzez analiz� �r�d�a tak, jakby typ media by� aplikacj�/xml (��cznie z oznaczeniem znaku kodowania).

Uwaga:

W�a�ciwo�ci tego, jak zbi�r informacji jest stworzony, s� celowo nieokre�lone, aby pozwoli� na elastyczno�� przez implementacje i, aby unikn�� okre�lania szczeg�lnego modelu przetwarzania dla komponent�w struktury XML. Dane szczeg�owe, na przyk�ad czy schemat walidacji DTD lub XML jest wykonany, nie s� obj�te w tej specyfikacji.

Uwaga:

Znaki kodowania �r�de� obejmowanych i zawartych mog� by� r�ne. Nie wp�ywa to na wynikowy zbi�r informacji, ale mo�e wymaga� rozpatrzenia podczas jakiejkolwiek p�niejszej serializacji.

�r�d�a, kt�re s� z jakiegokolwiek powodu niedost�pne (na przyk�ad nie istnieje �r�d�o, wyst�puj� problemy z ��czno�ci�, lub ograniczenia bezpiecze�stwa chroni� go przed za�adowaniem, schemat URI nie mo�e by� za�adowany, �r�d�o ma nieobs�ugiwane kodowanie, lub �r�d�o jest nie jest zdeterminowane jako XML przez specyficzne mechanizme implementacyjne) powoduj� b��d �r�d�a. �r�d�a posiadaj�ce �le utworzony XML powoduj� b��d krytyczny.

Uwaga:

R�nica pomi�dzy b��dem �r�d�owym a b��dem krytycznym jest w pewien spos�b zale�na od implementacji. Rozwa� zawart� lokalizacj� zwracaj�c� dokument HTML, mo�liwe, �e jako b��d strony. Jeden procesor m�g�by okre�li�, �e nie mo�e by� stworzony �aden zbi�r informacji ze �r�d�a (np. poprzez sprawdzenie typu media) i spowodowa� b��d �r�d�a, zezwalaj�c na zachowanie rezerwy awaryjnej. Inny procesor bez takiej heurystiki mo�e pr�bowa� zanalizowa� �r�d�o, kt�re nie jest �r�d�em XML jako XML i mo�e napotka� b��d krytyczny.

[Definicja: elementy xi:include w tym zbiorze informacji s� rekurencyjnie przetwarzane, aby stworzy� uzyskany zbi�r informacji. Dla odno�nika intra-document (przez atrybut xpointer ) �r�d�owy zbi�r informacji jest u�ywany jako uzyskany zbi�r informacji.]

[Definicja: Cz�� uzyskanego zbioru informacji, kt�ry ma by� zawarty jest zwany celem inkluzji (inclusion target).] Element informacyjny dokumentu uzyskanego zbioru informacji s�u�y jako cel inkluzji, chyba, �e wyst�puje atrybut xpointer i identyfikuje pod�r�d�o. Atrybuty XPointer w formach opisanych w [Planie XPointer] i [Schemacie elementu XPointer] musz� by� obs�ugiwane. Procesory XInclude opcjonalnie wspieraj� inne formy XPointer, takie jak te opisane w [Schemacie XPointer xpointer()]. B��d w XPointer jest b��dem �r�d�a.

[Schemat XPointer xpointer()] nie jest okre�lony w kategoriach [Zbioru Informacji XML], ale w zamian bazuje na Modelu Danych [XPath 1.0], poniewa� Zbi�r Informacji XML nie zosta� jeszcze rozwini�ty. Odwzorowanie pomi�dzy lokalizacjami w�z�a XPath i elementami informacyjnymi jest bezpo�rednie. Jednak�e, xpointer() zak�ada, �e wszystkie elementy rekordu zosta�y rozszerzone. Zatem b��d krytyczny ma za zadanie pr�bowa� rozwi�za� schemat xpointer() w dokumencie, kt�ry zawiera nierozszerzon� informacj� odno�nika elementu rekordu .

Zbi�r zawartych element�w najwy�szego poziomu jest uzyskiwany z uzyskanego zbioru informacji .

4.2.1 Dokument Element�w Informacyjnych

Celem inkluzji mo�e by� dokument element�w informacyjnych (na przyk�ad, nieokre�lony atrybut xpointer, lub XPointer, szczeg�lnie rozmieszczaj�cy podstaw� dokumentu.) W tym przypadku, zbi�r zawartych element�w najwy�szego poziomu to potomek elementu informacji dokumentu uzyskanego zbioru informacji , z wyj�tkiem potomka elementu informacji deklaracji typu dokumentu , je�eli taki istnieje.

Uwaga:

Specyfikacja Zbioru Informacji XML nie zapewnia zachowania odst�pu poza elementem dokumentu. XInclude nie stawia dalszych warunk�w dla zachowania tych odst�p�w

4.2.2 W�z�y wielokrotne

Cel inkluzji mo�e zawiera� wi�cej ni� jeden w�ze�. W tym przypadku zbi�r zawartych element�w najwy�szego poziomu jest zbiorem informacji element�w z uzyskanego zbioru informacji odpowiadaj�cemu w�z�om, do kt�rych odnosi si� w XPointer, w kolejno�ci, w jakiej pojawiaj� si� one w uzyskanym zbiorze informacji.

4.2.3 Lokalizacje Zbioru Warto�ci

Cel inkluzji mo�e by� zbiorem lokalizacji, kt�ry przedstawia zakres lub zbi�r zakres�w.

Ka�dy zakres odpowiada elementom zbioru informacji w uzyskanym zbiorze informacji. [Definicja: Element informacji ma by� wybierany przez przedzia�, je�li zdarzy si� po (w porz�dku dokumentu) punkcie pocz�tkowym zakresu i przed ko�cowym punktem zakresu.] [Definicja: Element informacji ma by� cz�ciowo wybrany przez zakres, je�eli zawiera jedynie punkt pocz�tkowy zakresu, lub tylko ko�cowy punkt zakresu.] Wed�ug definicji, element informacji znaku nie mo�e by� cz�ciowo wybrany.

Zbi�r zawartych element�w g�rnego poziomu to z��cze, w kolejno�ci dokumentu z usuni�tymi duplikatami, z elementami informacji, zar�wno wybranymi lub cz�ciowo wybranymi przez zakres. W�asno�ci potomk�w wybranych element�w informacji nie s� zmodyfikowane. W�asno�� potomk�w cz�ciowo wybranych element�w informacji to zbi�r element�w informacji, kt�re s� kolejno wybrane lub cz�ciowo wybrane, itd.

4.2.4 Lokalizacje Punktu

cel inkluzji mo�e by� zbiorem lokalizacji, kt�ry reprezentuje punkt. W tym przypadku zbi�r zawartych element�w jest pusty.

4.2.5 Element, Komentarz i Instrukcja Przetwarzania Element�w Informacji

Cel inkluzji element informacji, element infomacji komentarza, lub instrukcja przetwarzania elementu informacji . W tym przypadku zbi�r element�w zawartych w najwy�szym poziomie sk�ada si� z elementu informacji odpowiadaj�cego elementowi, komentarzowi, lub w�z�owi instrukcji przetwarzania wnabytym zbiorze informacji.

4.2.6 Atrybut i Deklaracja Przestrzeni NazwElement�w Informacji

Jest to b��d krytyczny dla celu inkluzji, by by� w�z�em atrybutu lub w�z�em przestrzeni nazw.

4.2.7 P�tle Inkluzyjne

Podczas przetwarzania elementu xi:include b��dem krytycznym jest przetwarzanie innego elementu xi:include z zawart� lokalizacj� i warto�ci� atrybutu xpointer, kt�ry ju� zosta� przetworzony w �a�cuchu inkluzyjnym.

Innymi s�owy, nast�puj�ce s� wszystkie zgodne z prawem:

  • Element xi:include mo�e odwo�ywa� si� do elementu zawartego, kiedy parse="text".

  • Element xi:include mo�e zidentyfikowa� r�ne cz�ci tego samego lokalnego �r�d�a (to samo href, inny xpointer).

  • Dwa nie zagnie�d�one elementy xi:include identyfikowa� �r�d�o, kt�re samo zawiera element mog� xi:include element.

Nast�puj�ce nie s� zgodne z prawem:

  • Element xi:include wskazuj�cy na siebie lub jakikolwiek przodek, kiedy parse="xml".

  • Element xi:include wskazuj�cy na jakikolwiek z zawartych element�w lub przodek, kt�ry zosta� przetworzony na wy�szym poziomie.

4.3 Elementy Zawarte kiedy parse="text"

Kiedy parse="text", zawarta lokalizacja jest usuni�ta i �r�d�o jest pobrana i przetworzona do zbioru znak�w element�w informacji. Ta cecha u�atwia inkluzje dzia�ania przyk�ad�w XML, zar�wno jak i innych format�w opartych na tek�cie.

�r�d�a, kt�re s� niedost�pne z jakiegokolwiek innego powodu (np. �r�d�o nie istnieje, utrudnienia w ��czno�ci lub wymogi bezpiecze�stwa chroni� go przed pobraniem go, schemat URI nie jest pobieralny, lub �r�d�o jest kodowaniem niewspomaganym), powoduj� b��d �r�d�a.

Kodowanie takiego �r�d�a jest jest okre�lone przez:

  • zewnetrzn� informacj� koduj�c�, je�li jest dost�pna, w przeciwnym wypadku

  • je�eli typ media �r�d�a to text/xml, aplikacja/xml, lub odpowiada konwencjom text/*+xml lub aplikacja/*+xml jak opisano w Typach Media XML [IETF RFC 3023], kodowanie jest rozpoznawane tak, jak opisano w XML, w przeciwnym wypadku

  • warto�� atrybutuencoding je�li taki istnieje to

  • UTF-8.

Sekwencja bajt�w poza obszarem dozwolonym przez kodowanie to b��d krytyczny. Znaki niedozwolone w dokumantach XML to r�wnie� b��d krytyczny.

Ka�dy znak uzyskany z transformacji �r�d�a jest przedstawiony w elementach zawartych najwy�szego poziomu jako element informacji znaku ze zbiorem kod�w znaku do kod�w znak�w w kodowaniu ISO 10646, oraz zbiorem odst�p�w zawarto�ci elementu , do b��dnych.

[Model Znak�w] omawia normalizacj� zawartego tekstu.

4.4 Zachowanie rezerwy awaryjnej

Procesory XInclude musz� wykona� zachowanie rezerwy awaryjnej w przypadku b��du �r�d�a, w nast�puj�cy spos�b:

Je�eli potomkowie elementu informacyjnego xi:include w �r�d�owym zbiorze informacji zawieraj� dok�adnie jeden element xi:fallback, zawarte elementy najwy�szego poziomu sk�adaj� si� z element�w informacyjnych odpowiadaj�cych wynikowi wykonania przetwarzania XInclude na potomkach elementu xi:fallback. Jest to b��d krytyczny je�li jest zero lub wi�cej ni� jeden element xi:fallback.

Uwaga:

Zawarto�� rezerwy awaryjnej nie jest zale�na od warto�ci atrybutu parse. Element xi:fallback mo�e zawiera� znaczniki nawet kiedy parse="text". Podobnie, mo�e zawiera� prosty ci�g znak�w kiedy parse="xml".

4.5 Tworzenie wynikowego zbioru informacji

Wynikowy zbi�r informacji jest kopi� �r�d�owego zbioru informacji, z ka�dym elementem xi:include przetworzonym nast�puj�co:

Element informacyjny dla elementu xi:include jest znaleziony. [Definicja: W�asno�� parent (przodek) tego elementu odnosi si� do elementu informacyjnego zwanego include parent.] W�asno�� children (potomek) elementu include parent jest zmodyfikowana przez zast�pienie elementu informacyjnego xi:include przez zawartymi elementami najwy�szego poziomu . W�asno�ci� parent ka�dego zawartego elementu jest ustawienie include parent.

B��dem krytycznym jest pr�ba zast�pienia elementu xi:include pojawiaj�cego si� jako element dokumentu (najwy�szy poziom) w �r�d�owym zbiorze informacji z czym� innym, ni� lista zero lub wi�cej komentarzy, zero lub wi�cej instrukcji przetwarzania, oraz jeden element.

Niekt�re procesory mog� nie by� w stanie przedstawi� w�asno�ci elementu przestrzeni� nazw in-scope je�eli nie zawiera ona wi�za� dla wszystkich prefiks�w ograniczonych przez ich przodk�w przestrzenie nazw in-scope. Takie procesory mog� zatem zawiera� dodatkowe wi�zania przestrzeni nazw odziedziczone po include parent w przestrzeniach nazw in-scope zawartych element�w.

Historia inkluzji takiego zawartego elementu najwy�szego poziomu jest zarejestrowana we w�asno�ci rozszerzenia zawarta historia (include history). W�asno�� zawarta historia to lista element�w informacyjnych, przedstawiaj�cych elementy xi:include dla rekursywnych poziom�w inkluzji. Je�eli w�asno�� zawarta historia ju� pojawia si� na zawartym elemencie najwy�szego poziomu, to element informacyjny xi:include jest przy��czony do listy. Je�li nie istnieje �adna w�asno�� zawartej historii, to w�asno�� jest dodawana z pojedyncz� warto�ci� elementu informacyjnego xi:include.

Wszystkie zawarte elementy b�d� pojawia� si� w wynikowym zbiorze informacji. Zawiera to nierozszerzone informacyjne elementy rekordu je�eli s� obecne.

Odno�niki wewn�trz dokumentu w obr�bie element�w xi:include s� rozwi�zane na �r�d�owym zbiorze informacji. Efektem tego jest, �e porz�dek, w jakim elementy xi:include s� przetwarzane, nie wp�ywa na wynik.

W nast�puj�cym przyk��dzie, drugie w��czenie zawsze wskazuje na pierwszy element xi:include, a nie na siebie, niezale�nie od porz�dku, w jakim w��czenia s� przetwarzane. W ten spos�b wynikiem tej inkluzji s� dwie kopie something.xml (co�.xml), i nie powstaje inkluzyjny b��d p�tli.

<x xmlns:xi="http://www.w3.org/2001/XInclude">   <xi:include href="something.xml"/>
<xi:include xpointer="xmlns(xi=http://www.w3.org/2001/XInclude)xpointer(x/xi:include[1])"
parse="xml"/>
</x>

4.5.1 Niezanalizowane elementy rekordu

Jakikolwiek element informacyjny niezanalizowanego elementu rekordu pojawiaj�cy si� we w�asno�ci atrybutu odno�niki zawartych element�w lub jakikolwiek potomek jest dodany do w�asno�ci niezanalizowanych element�w rekordu wynikowego zbioru informacji elementu informacyjnego dokumentu, je�eli nie jest duplikatem istniej�cego cz�onka. Duplikaty nie pojawiaj� si� w wynikowym zbiorze informacji.

Niezanalizowane elementy rekordu z t� sam� nazw�, identyfikatorami systemowymi, publicznymi identyfikatorami, deklaracj� podstawowego URI, nazw� zapisu, oraz zapisem s� uwa�ane za duplikaty. Aplikacja mo�e r�wnie� by� w stanie wykry� w inny spos�b, �e niezanalizowane elementy rekordu s� duplikatem. Na przyk�ad URI wynikaj�cy z po��czenia identyfikatora systemowego i deklaraji podstawowego URI s� tym samym.

B��dem krytycznym jest w��czenie element�w niezanalizowanego elementu rekordu z tak� sam� nazw�, ale kt�re nie s� przeznaczone jako duplikaty.

4.5.2 Zapisy

Jakikolwiek element informacyjny zapisu pojawiaj�cy si� we w�asno�ci odno�nik atrybutu w zawatych elementach, lub jakimkolwiek potomku dodanym do w�asno�ci zapis�w wynikowego zbioru informacji elementu informacyjnego dokumentu, je�li nie jest duplikatem istniej�cego cz�onka. Podobnie, jakikolwiek zapis, do kt�rego odnosi si� niezanalizowany element rekordu dodany, jak opisano w 4.5.1 Niezanalizowane elementy rekordu, jest dodany, je�eli nie jest duplikatem. Duplikaty nie pojawiaj� si� w wynikowym zbiorze informacji.

Elementy zapis�w z t� sam� nazw�, identyfikatorem systemowym, identyfikatorem publicznym, oraz deklaracj� podstawowego URI s� uwa�ane za duplikaty. Aplikacja mo�e r�wnie� by� w stanie wykry� w inny spos�b, �e zapisy s� duplikatem.Na przyk�ad URI wynikaj�cy z po��czenia identyfikatora systemowego i deklaraji podstawowego URI s� tym samym.

B��dem krytycznym jest w��czenie element�w zapis�w ztak� sam� nazw�, ale kt�re nie s� przeznaczone jako duplikaty.

4.5.3 odno�niki Property Fixup

Podczas inkluzji, przedmiot informacji atrybutu, kt�rego w�asno�ci� typu atrybutu jest IDREF lub IDREFS, posiada w�asno�� odno�niki z zero lub wi�cej warto�ci element�w z zbior�w informacji �r�d�owych lub zawartych. Te warto�ci musz� by� dostosowane, aby odpowiada�y warto�ciom element�w wyst�puj�cych w wynikowym zbiorze informacji. W trakcie tego procesu XInclude r�wnie� poprawia niezgodno�ci pomi�dzy w�asno�ci� odno�niki i typ atrybutu, kt�re mog� powsta� w nast�puj�cych okoliczno�ciach:

  • Fragment dokumentu zawiera IDREF wskazuj�cy na element w zawartym dokumencie, ale poza za��czan� cz�ci�. W takim przypadku nie ma elementu w wynikowym zbiorze informacji, kt�ry odpowiada warto�ci elementu w oryginalnej w�asno�ci odno�nika.

  • Dokument, lub fragment dokumentu nie za��cza si� sam. To znaczy, �e zawiera IDREF, kt�re nie odnosz� si� do elementu w obr�bie tamtego dokumentu, b�d� fragmentu dokumentu, z zamierzeniem, �e te odno�niki b�d� zrealizowane po inkluzji. W tym przypadku warto�� w�asno�ci odno�niki (references) jest nieznana, lub nie ma warto�ci.

  • Wynikowy zbi�r informacji zawiera konflikty ID - tj. wi�cej ni� jeden atrybut z ID typu atrybutu z t� sam� znormalizowan� warto�ci�. W takim przypadku atrybuty o typie atrybutu IDREF lub IDREFS z t� sam� znormalizowan� warto�ci� mog� mie� r�ne warto�ci dla swoich w�asno�ci odno�nik�w.

W rozwi�zywaniu tych niezgodno�ci, XInclude bierze w�asno�� typu atrybutu za ostateczn�. W wynikowym zbiorze informacji warto�� w�asno�ci odno�niki przedmiotu atrybutu informacyjnego , kt�rego w�asno�ci typu atrybutu to IDREF lub IDREFS, dostosowane nast�puj�co:

Dla ka�dego znacznika we w�asno�ci znormalizowanej warto�ci w�asno�� odno�niki zawiera przedmiot informacyjny typu element z tymi samymi w�asno�ciami, co przedmiot informacyjny typu element w wynikowym zbiorze informacji z atrybutem z ID typu atrybutu i znormalizowan� warto�ci� r�wn� znacznikowi. Porz�dek element�w we w�asno�ci odno�niki jest taki sam, co porz�dek znacznik�w pojawiaj�cych si� w znormalizowanej warto�ci. Je�eli dla jakichkolwiek z warto�ci znacznika �aden element lub wi�cej ni� jeden element jest znaleziony, to w�asno�� odno�niki nie ma warto�ci.

4.5.4 Fixup przestrzeni nazw

W�asno�� przestrzeni nazw in-scope zapewnia, �e zakres przestrzeni nazw jest zachowana poprzez inkluzj�. Jednak, po inkluzji, w�asno�� atrybut�w przestrzeni nazw mo�e nie zapewni� pe�nej listy deklaracji przestrzeni nazw koniecznych do interpretacji nazw okre�laj�cych w zawarto�ci atrybutu lub elementu w wyniku. Nie jest to zatem polecane, by procesory XInclude nie ods�ania�y atrybut�w przestrzeni nazw w wyniku. Je�eli jest to nieuniknione, implementacja mo�e doda� przedmioty informacyjne typu atrybut do w�asno�ci atrybut�w przestrzeni nazw w porz�dku, aby przybli�y� informacj� przekazan� przez przestrzenie nazw in-scope .

4.5.5 Podstawowy URI Fixup

Podstawowa w�asno�� URI uzyskanego zbioru informacji nie jest zmieniona jako wynik ��czenia zbioru informacji i pozostaje niezmieniona po ��czeniu. Tak wi�c wzgl�dne odno�niki URI w za��czonym zbiorze informacji rozk�adaj� si� do takiego samego URI pomimo za��czania do dokumentu z potencjonalnie r�nymi podstawowymi URI w efekcie. Atrybuty xml:base s� dodane do wynikowego zbioru informacji dla wskazania tego faktu.

Ka�dy przedmiot informacyjny typu element w zawartych przedmiotach najwy�szego poziomu , kt�ry ma inny podstawowy URI ni� jego zawarty przodek, ma przedmiot informacyjny typu atrybut dodany do jego w�asno�ci atrybuty. Ten atrybut posiada nast�puj�ce w�a�ciwo�ci:

  1. nazwa przestrzeni nazw http://www.w3.org/XML/1998/namespace.

  2. nazw� lokaln� podstawy.

  3. prefiks xml.

  4. znormalizowan� warto�� r�wn� zar�wno do podstawowego URI elementu, lub r�wnowa�nemu odno�nikowi URI wzgl�dnego do podstawowego URI zawartego przodka. Okoliczno�ci, w kt�rych jest po��dany wzgl�dny URI i jak obliczy� taki wzgl�dny URI, s� zale�ne od implementacji.

  5. Okre�lony znacznik stanu wskazuj�cy, �e ten atrybut by� faktycznie okre�lony w pocz�tkowym znaczniku jego elementu.

  6. Typ atrybutu CDATA.

  7. W�asno�� odno�niki bez warto�ci.

  8. Element owner (w�a�ciciel) przedmiotu informacyjnego elementu.

Je�eli przedmiot informacyjny typu atrybut xml:base ju� jest obecny, jest zast�piony przez nowy atrybut.

4.5.6 J�zyk Fixup

Kiedy atrybut xml:lang jest opisany jako odziedziczony przez XML, Zbi�r informacyjny XML nie daje pewno�ci, �e b�dzie zachowane dziedziczenie tej w�asno�ci przez poprzez uk�ad dokumentu taki, jaki jest zapewniony przez XInclude Ta cz�� wprowadza w�asno�� j�zyk, kt�ra zapisuje zakres informacji xml:lang, aby zachowa� j� podczas inkluzji.

Procesor XInclude powinien dowodzi� w�asno�ci the �r�d�owy zbi�r informacji i nabyty zbi�r informacji przez dodanie w�asno�ci j�zyk do ka�dego przedmiotu informacyjnego typu element. Warto�ci� w�asno�ci jest znormalizowana warto�� atrybutu xml:lang pojawiaj�cego si� na tamtym elemencie, je�eli taki istnieje, z xml:lang="" wynikaj�cego w �adnej warto�ci, w przeciwnym razie jest to warto�� w�asno�ci j�zyk elementu przodka elementu je�eli taki istnieje, w przeciwnym razie w�asno�� nie ma warto�ci.

Ka�dy przedmiot informacyjny typu element w zawartych przedmiotach najwy�szego poziomu , kt�ry posiada inn� warto�� j�zyka, ni� jego zawarty przodek (rozwa�aj�c niewra�liwo�� przypadku przez [IETF RFC 3066]), lub, �e posiada warto�� je�li jego zawarty przodek to przedmiot informacyjny typu dokument , posiada przedmiot informacyjny typu atrybut dodany do jego w�asno�ci atrybuty . Ten atrybut posiada nast�puj�ce w�asno�ci:

  1. nazwa przestrzeni nazw http://www.w3.org/XML/1998/namespace.

  2. nazwa lokalna lang.

  3. prefiks xml.

  4. znormalizowana warto�� r�wna w�asno�ci j�zyk elementu. Je�eli w�asno�� j�zyk nie ma warto�ci, znormalizowana warto�� to pusty ci�g znak�w.

  5. okre�lony znacznik stanu wskazuj�cy, �e ten atrybut by� faktycznie okre�lony w pocz�tkowym znaczniku jego elementu.

  6. typ atrybutu CDATA.

  7. w�asno�� odno�niki bez warto�ci.

  8. element owner przedmiotu informacyjnego elementu.

Je�eli przedmiot informacyjny typu atrybut xml:lang jest ju� obecny, nie jest zast�piony przez nowy atrybut.

Uwaga:

Atrybut xml:space nie jest traktowany specjalnie przez XInclude.

4.5.7 W�asno�ci zachowane przez zbi�r informacji

Jako transformacja zbioru informacji, XInclude dzia�a na logicznej strukturze dokument�w XML, nie na ich serializacji tekstu. Wszystkie w�asno�ci na przedmiocie informacyjnym opisanym w [Zbiorze Informacji XML] innym, ni� te szczeg�lnie zmodyfikowane przez t� specyfikacje, s� zachowane podczas inkluzji. W�asno�ci zawarta historia i j�zyk przedstawione w tej specyfikacji s� r�wnie� zachowane. Rozszerzalne w�asno�ci takie jak [Schematy XML] w�asno�ci PSVI (poschematowy walidacyjny zbi�r informacji) s� odrzucone przez warto�� domy�ln�. Jednak procesor XInclude mo�e, przy opcji u�ytkownika, zachowa� te w�asno�ci w wynikowym zbiorze informacji, je�eli s� poprawne w odniesieniu do specyfikacji opisuj�cej semantyk� w�asno�ci rozszerzenia.

Na przyk�ad w�asno�� w�asno�ci PSVI opisuje warunki przodk�w i potomk�w. Modyfikacja przodk�w i potomk�w podczas procesu XInclude mo�e niedok�adnie interpretowa� warto�� tej w�asno�ci, ale przez opcj� u�ytkownika w�asno�� mog�aby by� ponownie skalkulowana, aby uzyska� semantycznie dok�adn� warto��. Poz zasi�giem tej specyfikacji jest to, jak dok�adnie jest to dokonane.

5 Zgodno��

5.1 Zgodno�� znacznik�w

przedmiot informacyjny typu element jest zgodny z t� specyfikacj� je�eli spe�nia wymagania strukturalne dla zawartych element�w okre�lonych w tej specyfikacji. Ta specyfikacja nie narzuca �adnych szczeg�lnych ogranicze� dla schemat�w DTD lub XML; zgodno�� ma zastosowanie wy��cznie do element�w i atrybut�w.

5.2 Zgodno�� zastosowania

Zastosowanie jest zgodne z XInclude je�eli:

Wsparcie dla [Schematu XPointer xpointer()] nie jest obowi�zkowa dla pe�nej zgodno�ci XInclude. Radzi si� autorom, by u�ywali xpointer() i innych schemat�w implementacji XPointer.

5.3 Zgodno�� zbioru informacji XML

Ta specyfikacja jest zgodna ze [Zbiorem informacji XML]. Nast�puj�ce przedmioty informacyjne musz� by� obecne w wej�ciowych zbiorach warto�ci, aby umo�liwi� poprawne przetwarzanie:

  • przedmioty informacyjne typu dokument z w�asno�ciami potomkowie i podstawowy URI.

  • Przedmioty informacyjne typu element z w�asno�ciami nazwa przestrzeni nazw, nazwa lokaln�, potomkowie, atrybuty, podstawowy URI i przodek.

  • Przedmioty informacyjne typu atrybut z w�asno�ciami nazwa przestrzeni nazw, nazwa lokalna i znormalizowana warto��.

Dodatkowo przetwarzanie XInclude mo�e generowa� w wyniku nast�puj�ce rodzaje przedmiot�w informacyjnych:

  • przedmiot informacyjny typu znak z w�asno�ciami kod znaku, odst�p zawarto�ci elementu i przodek.

XInclude rozszerza zbi�r informacji o w�asno�� zawarta historia, kt�ra w wyniku mo�e pojawi� si� na nast�puj�cych typach przedmiot�w informacyjnych:

  • przedmiot informacyjny typu element .

  • instrukcja przetwarzania przedmiot�w informacyjnych.

  • przedmioty informacyjne typu komentarz.

  • przedmioty informacyjne typu znak.

XInclude r�wnie� rozszerza zbi�r informacji o w�asno�� j�zyk, kt�ra w wyniku mo�e pojawi� si� na przedmiotach informacyjnych typu element .

A Odno�niki

IETF RFC 2119
RFC 2119: S�owa kluczowe dla u�ycia RFC do wskazania Poziom�w Wymaga� . Internet Engineering Task Force, 1997. (Patrz http://www.ietf.org/rfc/rfc2119.txt.)
IETF RFC 2279
RFC 2279: UTF-8, format transformacji ISO 10646. Internet Engineering Task Force, 1998. (Patrz http://www.ietf.org/rfc/rfc2279.txt.)
IETF RFC 2396
RFC 2396: Jednolite Identyfikacji �r�d�a . In�ynieria Internetowa Task Force, 1995. (Patrz http://www.ietf.org/rfc/rfc2396.txt.)
IETF RFC 2732
RFC 2732: Format dla Dos�ownych Adres�w IPv6 w URL . Internet Engineering Task Force, 1999. (Patrz http://www.ietf.org/rfc/rfc2732.txt.)
IETF RFC 3023
RFC 3023: Typy Media XML . Internet Engineering Task Force, 2001. (Patrz http://www.ietf.org/rfc/rfc3023.txt.)
Unikod
The Unicode Consortium. Standard Unikod, Wersja 4.0. Reading, Mass.: Addison-Wesley, 2003, aktualizowany od czasu do czasu przez publikacje nowych wersji. (Patrz http://www.unicode.org/unicode/standard/versions/ w celu sprawdzenia najnowszych wersji i dodatkowych informacji wersji standard�w i Bazy Danych Znak�w Unikod).
XML 1.0
Tim Bray, Jean Paoli, C.M. Sperberg-McQueen, Eve Maler, François Yergeau, editors. Rozszerzalne Znaczniki J�zyk (XML) 1.0 (Wydanie Trzecie), World Wide Web Consortium, 2004. (Patrz http://www.w3.org/TR/2004/REC-xml-20040204/.)
XML 1.1
Tim Bray, Jean Paoli, C.M. Sperberg-McQueen, Eve Maler, François Yergeau, John Cowan, edztoryz. Rozszerzalny J�zyk Znacznik�w (XML) 1.1, World Wide Web Consortium, 2004. (Patrz http://www.w3.org/TR/2004/REC-xml11-20040204/.)
Podstawa XML
Jonathan Marsh, edytor. Podstawa XML . World Wide Web Consortium, 2001. (Patrz http://www.w3.org/TR/2001/REC-xmlbase-20010627/.)
Zbi�r Informacji XML
John Cowan i Richard Tobin, edytorzy. Zbi�r Informacji XML (Wydanie Drugie). World Wide Web Consortium, 2004. (Patrz http://www.w3.org/TR/2004/REC-xml-infoset-20040204/.)
Przestrzenie nazw w XML
Tim Bray, Dave Hollander i Andrew Layman, edytorzy. Przestrzenie nazw w XML. World Wide Web Consortium, 1999. (Patrz http://www.w3.org/TR/1999/REC-xml-names-19990114/.)
Przestrzenie nazw w XML 1.1
Tim Bray, Dave Hollander, Andrew Layman, Richard Tobin, edytorzy. Przestrzenie nazw w XML 1.1. World Wide Web Consortium, 2004. (Patrz http://www.w3.org/TR/2004/REC-xml-names11-20040204/.)
XPointer Framework
Paul Grosso, Eve Maler, Jonathan Marsh, Norman Walsh, editors. XPointer Framework. World Wide Web Consortium, 2003. (See http://www.w3.org/TR/2003/REC-xptr-framework-20030325/.)
XPointer element() scheme
Paul Grosso, Eve Maler, Jonathan Marsh, Norman Walsh, editors. XPointer element() Scheme. World Wide Web Consortium, 2003. (Patrz http://www.w3.org/TR/2003/REC-xptr-element-20030325/.)

B Odno�niki (Nienormatywne)

IETF RFC 2616
RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1. Internet Engineering Task Force, 1999. (Patrz http://www.ietf.org/rfc/rfc2616.txt.)
IETF RFC 3066
RFC 3066: Znaczniki dla identyfikacji J�zyka. Internet Engineering Task Force, 2001. (Patrz http://www.ietf.org/rfc/rfc3066.txt.)
XML Inclusion Proposal
Jonathan Marsh, David Orchard, edytorzy. XML Inclusion Proposal (XInclude). World Wide Web Consortium, 2004. (Patrz http://www.w3.org/TR/1999/NOTE-xinclude-19991123.)
XML Linking Language
Steve DeRose, Eve Maler, David Orchard i Ben Trafford, editors. J�zyk ��cz�cy XMLe (XLink). World Wide Web Consortium, 2001. (Patrz http://www.w3.org/TR/2001/REC-xlink-20010627/.)
Schemat XPointer xpointer()
Steve DeRose, Ron Daniel, Eve Maler, edytorzy. Schemat XPointer xpointer() . World Wide Web Consortium, 2002. (Patrz http://www.w3.org/TR/2002/WD-xptr-xpointer-20021219/.)
XPath 1.0
James Clark, Steve DeRose, edytorzy. J�zyk XML Path (XPath) Wersja 1.0. World Wide Web Consortium, 1999. (Patrz http://www.w3.org/TR/1999/REC-xpath-19991116.)
IRI draft
Mi�dzynarodowe Identyfikatory �r�d�a (IRI). (Patrz http://www.ietf.org/internet-drafts/draft-duerst-iri-11.txt.)
Model Znaku
Martin J. Dürst, François Yergeau, Misha Wolf, Asmus Freytag, Tex Texin. Model Znak�w dla World Wide Web 1.0: Normalizacja. World Wide Web Consortium, 2001. (Patrz http://www.w3.org/TR/charmod-norm/.)
Schematy XML
Henry S. Thompson, David Beech, Murray Maloney, Noah Mendelsohn, edytorzy. Schemat XML Cz�� 1: Struktury. World Wide Web Consortium, 2001. (Patrz http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/.)
XSL-FO
Sharon Adler et al. Rozszerzalny J�zyk Stylesheet (XSL). World Wide Web Consortium, 2001. (Patrz http://www.w3.org/TR/2001/REC-xsl-20011015/.)
XHTML
Steven Pemberton et al. XHTML 1.0 Rozszerzalny J�zyk Znacznik�w HyperText (Drugie wydanie). World Wide Web Consortium, 2002. (Patrz http://www.w3.org/TR/2002/REC-xhtml1-20020801/.)

C Przyk�ady (Nienormatywne)

C.1 Przyk�ad Podstawowej Inkluzji

xi:include, kt�ry wskazuje na dokument zewn�trzny. Zak�adaj�c, podstawowy URI tego dokumentu to http://www.example.org/document.xml.

<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
  <p>120 Mz is adequate for an average home user.</p>
  <xi:include href="disclaimer.xml"/>
</document>

disclaimer.xml zawiera:

<?xml version='1.0'?>
<disclaimer>
  <p>
  Opinie przedstawione tutaj przedstawiaj� te indywidualne i nie powinny by� interpretowane jako oficjalna
  polityka poparta przez t� organizacj�.
</p>
</disclaimer>

Zbi�r informacji wynikaj�cy z rozwi�zywanych inkluzji na tym dokumencie jest taka sama (z wyj�tkiem w�asno�ci zawarta historia i j�zyk) jak ta z nast�puj�cego dokumentu:

<?xml version='1.0'?>

<document xmlns:xi="http://www.w3.org/2001/XInclude">

  <p>120 Mz jest adekwatne dla przeci�tnego prywatnego u�ytkownika.
</p>
  <disclaimer xml:base="http://www.example.org/disclaimer.xml">
  <p>
  Opinie przedstawione tutaj przedstawiaj� te indywidualne i nie powinny by� interpretowane jako oficjalna
  polityka poparta przez t� organizacj�.</p>
</disclaimer>
</document>

C.2 Przyk�ad inkluzji tekstowej

Nast�puj�cy dokument XML zawiera "przyk��d roboczy" w dokumencie.

<?xml version='1.0'?>

<document xmlns:xi="http://www.w3.org/2001/XInclude">
  <p>This document has been accessed
  <xi:include href="count.txt" parse="text"/> times.</p>
</document>

gdzie count.txt zawiera:

324387

Zbi�r informacji wynikaj�cy z rozwi�zywanych inkluzji na tym dokumencie jest taka sama (z wyj�tkiem w�asno�ci zawarta historia i j�zyk) jak ta z nast�puj�cego dokumentu:

<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
  <p>Ten dokument zosta� otwarty
  324387 razy.</p>
</document>

C.3 Inkluzja tekstowa przyk�adu XML

Nast�puj�cy dokument XML zawiera "przyk��d roboczy" w dokumencie.

<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
  <p>The following is the source of the "data.xml" resource:</p>
  <example><xi:include href="data.xml" parse="text"/></example>
</document>

data.xml zawiera:

<?xml version='1.0'?>
<data>
  <item><![CDATA[Brooks & Shields]]></item>
</data>

Zbi�r informacji wynikaj�cy z rozwi�zywanych inkluzji na tym dokumencie jest taka sama (z wyj�tkiem w�asno�ci zawarta historia i j�zyk) jak ta z nast�puj�cego dokumentu:

<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
  <p>The following is the source of the "data.xml" resource:</p>
  <example>&lt;?xml version='1.0'?&gt;
&lt;data&gt;
  &lt;item&gt;&lt;![CDATA[Brooks &amp; Shields]]&gt;&lt;/item&gt;
&lt;/data&gt;</example>
</document>

C.4 Przyk�ad fragmentu inkluzji

Nast�puj�co przedstawiaj� si� wyniki za��czanych fragment�w innego dokumentu XML. Przyjmuj�c, �e podstawowy URI dokumentu to http://www.example.com/JoeSmithQuote.xml.

<?xml version='1.0'?>
<price-quote xmlns:xi="http://www.w3.org/2001/XInclude">
  <prepared-for>Joe Smith</prepared-for>
  <good-through>20040930</good-through>
  <xi:include href="price-list.xml" xpointer="w002-description"/>
  <volume>40</volume>
  <xi:include href="price-list.xml" xpointer="element(w002-prices/2)"/>
</price-quote>

price-list.xml odnosi si� do DTD, kt�ry deklaruje atrybut id jako typ ID, i zawiera:

<?xml version='1.0'?>
<!DOCTYPE price-list SYSTEM "price-list.dtd">
<price-list xml:lang="en-us">
  <item id="w001">
    <description id="w001-description">
      <p>Normal Widget</p>
    </description>
    <prices id="w001-prices">
      <price currency="USD" volume="1+">39.95</price>
      <price currency="USD" volume="10+">34.95</price>
      <price currency="USD" volume="100+">29.95</price>
    </prices>
  </item>
  <item id="w002">
    <description id="w002-description">
      <p>Super-sized widget with bells <i>and</i> whistles.</p>
    </description>
    <prices id="w002-prices">
      <price currency="USD" volume="1+">59.95</price>
      <price currency="USD" volume="10+">54.95</price>
      <price currency="USD" volume="100+">49.95</price>
    </prices>
  </item>
</price-list>

Zbi�r informacji wynikaj�cy z rozwi�zywanych inkluzji na tym dokumencie jest taka sama (z wyj�tkiem w�asno�ci zawarta historia i j�zyk) jak ta z nast�puj�cego dokumentu:

<?xml version='1.0'?>
<price-quote xmlns:xi="http://www.w3.org/2001/XInclude">
  <prepared-for>Joe Smith</prepared-for>
  <good-through>20040930</good-through>
  <description id="w002-description" xml:lang="en-us"
               xml:base="http://www.example.com/price-list.xml">
    <p>Super-sized widget with bells <i>and</i> whistles.</p>
  </description>
  <volume>40</volume>
  <price currency="USD" volume="10+" xml:lang="en-us"
         xml:base="http://www.example.com/price-list.xml">54.95</price>
</price-quote>

C.5 Przyk�ad zakresu inkluzji

Nast�puj�co przedstawiaj� si� wyniki za��czanego zakresu okre�lonego przez XPointer. Przyjmuj�c, �e podstawowy URI dokumentu to http://www.example.com/document.xml.

<?xml version='1.0'?>
<document>
  <p>The relevant excerpt is:</p>
  <quotation>
    <include xmlns="http://www.w3.org/2001/XInclude"
       href="source.xml" xpointer="xpointer(string-range(chapter/p[1],'Sentence 2')/
             range-to(string-range(/chapter/p[2]/i,'3.',1,2)))"/>
  </quotation>
</document>

source.xml zawiera:

<chapter>
  <p>Sentence 1.  Sentence 2.</p>
  <p><i>Sentence 3.  Sentence 4.</i>  Sentence 5.</p>
</chapter>

Zbi�r informacji wynikaj�cy z rozwi�zywanych inkluzji na tym dokumencie jest taka sama (z wyj�tkiem w�asno�ci zawarta historia i j�zyk) jak ta z nast�puj�cego dokumentu:

<?xml version='1.0'?>

<document>
  <p>The relevant excerpt is:</p>
  <quotation>
    <p xml:base="http://www.example.com/source.xml">Sentence 2.</p>
  <p xml:base="http://www.example.com/source.xml"><i>Sentence 3.</i></p>
  </quotation>
</document>

C.6 Przyk�ad rezerwy awaryjnej

Nast�puj�cy dokument XML polega na mechani�mie rezerwy awaryjnej, aby powie�� si� w zdarzeniu, �eby odno�niki example.txt i fallback-example.txt nie by�y dost�pne..

<?xml version='1.0'?>
<div>
  <xi:include href="example.txt" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude">
    <xi:fallback><xi:include href="fallback-example.txt" parse="text">
        <xi:fallback><a href="mailto:bob@example.org">Report error</a></xi:fallback>
      </xi:include></xi:fallback>
  </xi:include>
</div>

Je�eli ani example.txt ani fallback-example.txt nie s� dost�pne, zbi�r informacji wynikaj�cy z roz��czania inkluzji na tym dokumencie jest taki sam (z wyj�tkiem w�asno�ci zawarta historia i j�zyk) jak ta z nast�puj�cego dokumentu:

<?xml version='1.0'?>
<div>
  <a href="mailto:bob@example.org">Report error</a>
</div>