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).
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.
Prawa autorskie © 2004 W3C® ( MIT, ERCIM , Keio), Wszystkie prawa zastrze�one. Dotyczy przepis�w W3C w zakresie odpowiedzialno�ci, znaku towarowego, u�ywania dokumentu
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).
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 [email protected]; publiczne archiwa s� dost�pne. Spis erraty dla tej edycji jest dost�pny na http://www.w3.org/2004/12/xinclude-errata.
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
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
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.
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.
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.
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.
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.
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.
[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.
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>
Element xi:include
posiada nast�puj�ce
atrybuty:
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.
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.
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 xpointer
nie 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.
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"
.
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.
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 >
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" >
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.
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�.
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:
Ka�dy dodatkowy znak jest przekszta�cony do UTF-8 [Unikod] jako jeden lub wi�cej bajt�w.
Wynikowe bajty s� uwalniane z mechanizmem uwalniania URI (tj. przekszta�cone do %HH, gdzie HH jest zapisem szesnastkowym warto�ci bajta).
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.
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.
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 .
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
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.
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.
cel inkluzji mo�e by� zbiorem lokalizacji, kt�ry reprezentuje punkt. W tym przypadku zbi�r zawartych element�w jest pusty.
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.
Jest to b��d krytyczny dla celu inkluzji, by by� w�z�em atrybutu lub w�z�em przestrzeni nazw.
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.
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.
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"
.
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>
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.
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.
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.
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 .
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:
nazwa przestrzeni nazw http://www.w3.org/XML/1998/namespace
.
nazw� lokaln�
podstawy
.
prefiks
xml
.
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.
Okre�lony znacznik stanu wskazuj�cy, �e ten atrybut by� faktycznie okre�lony w pocz�tkowym znaczniku jego elementu.
Typ atrybutu
CDATA
.
W�asno�� odno�niki bez warto�ci.
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.
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:
nazwa przestrzeni nazw
http://www.w3.org/XML/1998/namespace
.
nazwa lokalna
lang
.
prefiks xml
.
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.
okre�lony znacznik stanu wskazuj�cy, �e ten atrybut by� faktycznie okre�lony w pocz�tkowym znaczniku jego elementu.
typ atrybutu
CDATA
.
w�asno�� odno�niki bez warto�ci.
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.
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.
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.
Zastosowanie jest zgodne z XInclude je�eli:
wspiera [XML 1.0] i [Przestrzenie nazw w XML] lub [XML 1.1] i [Przestrzenie nazw w XML 1.1], [Zbiorze Informacji XML], [Podstawie XML], [Strukturze XPointer], oraz [Schemacie element() XPointer] ;
zaprzestaje przetwarzania kiedy napotyka na b��d krytyczny;
przestrzega obowi�zkowych warunk�w, (musi) przed�o�onych w tej specyfikacji i dla jakichkolwiek innych warunk�w (powinien i mo�e), wybiera, aby przestrzega�, przestrzega ich w zalecany spos�b; i
wykonuje sprawdzanie zgodno�ci znacznik�w zgodnie ze wszystkimi ograniczeniami zgodno�ci pojawiaj�cymi si� w tej specyfikacji.
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.
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 .
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>
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>
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><?xml version='1.0'?> <data> <item><![CDATA[Brooks & Shields]]></item> </data></example> </document>
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>
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>
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:[email protected]">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:[email protected]">Report error</a> </div>