Autor: Mariusz �ebrowski.
Lokalizacja:
http://www.antyspam.pl/w3c/REC-xml-names11-20040204/
Dokument ten jest t�umaczeniem rekomendacji Namespaces in XML 1.1. Przek�ad ten
nie jest przek�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-xml-names11-20040204/.
Dokument jest chroniony prawem autorskim. Copyright © 2004 W3C®
(MIT, ERCIM, Keio).
Prosz� zobaczy� errat� dla tego dokumentu, kt�ra mo�e zawiera� pewne normatywne poprawki.
Patrz tak�e translacje.
Ten dokument jest tak�e dost�pny w nienormatywnych formatach: XML.
Copyright © 2004 W3C® ( MIT, ERCIM, Keio), Wszystkie prawa zastrze�one. W3C stosuje powy�sze zasady dotycz�ce odpowiedzialno�ci cywilnej, trademark, u�ywania dokumentu i licencji oprogramowania .
Przestrzenie nazw XML dostarczaj� prostych metod dla elementu kwalifikacyjnego i nazw� atrybut�w u�ytych w dokumentach Rozszerzalnego J�zyka Znacznik�w (ang. Extensible Markup Language) przez skojarzenie ich z przestrzeniami nazw identyfikowanymi przez referencje IRI.
Ten paragraf opisuje status tego dokumentu od czasu kiedy jest publikowany. Inne dokumenty mog� zastapi� ten dokument. Lista bie��cych publikacji W3C i najnowsza weryfikacja tego technicznego raportu mo�e by� znaleziona na Inkeks raport�w technicznych W3C na http://www.w3.org/TR/.
Ten dokument jest Rekomendowany przez W3C. Zosta� on zbadany przez cz�onk�w W3C i inne strony zainteresowane, oraz zatwierdzony przez dyrektora W3C jako rekomendacja. To jest stabilny dokument i moze zosta� u�yty jako materia� referencyjny lub cytowany jak normatywne referencje z innego dokumentu. Rol� W3C w tworzeniu rekomendacji jest przyci�ganie uwagi do tej specyfikacji i promowanie jej szerokiego zastosowania. Uwydatni to funkcjonalno�� i interoperacyjno�� sieci Web.
Ten dokument jest produktem Dzia�alno�ci W3C XML. Tylko angielska wersja tej specyfikacji jest normatywn� wersj�. Jednak�e dla przet�umaczenia tego dokumentu zobacz http://www.w3.org/2003/03/Translations/byTechnology?technology=xml-names11.
Dokumentacja z intelektualn� wsno�ci� mo�e odnosi� si� do tych rekomendacji i mo� by� znaleziona na stronie publicznej Grupy Roboczej strona ujawniaj�ca IPR .
Znane implementacje s� dokumentowane w Raporcie implementacji Przestrzeni nazw 1.1. Zestaw test�w jest tak�e dost�pny na stronie XML Test Suite.
Prosimy zg�asza� b��dy wyst�puj�ce w tym dokumencie na adres [email protected]; Publiczne archiwa s� dost�pne. Lista erraty dla tego dokumentu jest dost�pna na http://www.w3.org/XML/2004/xml-names11-errata.
1
Motywacja i streszczenie
1.1 A
Notatka o zapisie i u�yciu
2 Przestrzenie nazw XML
2.1 Podstawowe poj�cia
2.2
U�ycie IRI i nazw przestrzeni nazw
2.3
Por�wnanie odno�nik�w IRI
3
Deklarowanie przestrzeni nazw
4 Nazwy okre�laj�ce
5 U�ycie nazw okre�laj�cych
6
Stosowanie przestrzeni nazw do element�w i atrybut�w
6.1 Zakres przestrzeni nazw
6.2 Domy�lne przestrzenie nazw
6.3 Jednoznaczno�� atrybut�w
7 Zgodno�� dokument�w
8 Zgodno�� procesor�w
9
Mi�dzynarodowe identyfikatory �r�d�owe (IRI)
A Odno�niki normatywne
B Inne odno�niki (Nienormatywne)
C
Wewn�trzna struktura przestrzeni nazw XML
(Nienormatywna)
D
Zmiany od wersji
1.0 (Nienormatywne)
E Podzi�kowania (Nienormatywne)
Przedstawiamy aplikacje Rozszerzalnego J�zyka Znacznik�w (XML), gdzie pojedynczy dokument XML mo�e zawiera� elementy i atrybuty (tutaj odnosi si� do nich "s�ownictwo znacznik�w"), zdefiniowane dla i u�ywane przez wielokrotne modu�y oprogramowania. Jedna motywacja jest do tego modularno�ci�: je�li takie s�ownictwo znacznik�w istnieje, kt�re jest dobrze rozumiane i dla kt�rego jest dost�pne u�yteczne oprogramowanie, lepiej jest ponownie u�y� te znaczniki raczej ni� na nowo je wymy�la�.
Takie dokumenty zawieraj�ce wielokrotne s�ownictwo znacznik�w stwarza problemy przy rozpoznaniu i konflikt.Modu�y oprogramowania musz� by� zdolne rozpozna� elementy i atrybuty, kt�re maj� zaprojektowane to przetworzenia, nawet w obliczu "konfliktu" maj�cego miejsce kiedy znaczniki przeznaczone dla innego oprogramowania u�ywaj� tego samego elementu name (nazwa), lub nazwy atrybutu.
Te rozwa�ania wymagaj�, by budowa dokumentu mia�a tak skonstruowane nazwy, �eby unikn�� konflikt�w pomi�dzy nazwami z innych s�ownik�w znacznik�w. Ta specyfikacja opisuje mechanizm, przestrzenie nazw XML, kt�ry dokonuje tego poprzez przypisanie rozszerzonych nazw dokumentom i atrybutom.
Przy EMPHASIZED, s�owa kluczowe MUST (musi), MUST NOT (nie mo�e), REQUIRED (wymagany(, SHOULD (powinien), SHOULD NOT (nie powinien), MAY (mo�e) w tym dokumencie maj� by� interpretowane jak opisano w [S�owach kluczowych].
Zauwa�, �e wiele z nieterminali w produkcjach tej specyfikacji jest okre�lone nie tutaj, a w specyfikacji XML [XML]. Kiedy nieterminale okre�lone tutaj maj� takie same nazwy, co nieterminale okre�lone w specyfikacji XML, produkcje we wszystkich przypadkach odpowiadaj� podzbiorowi ci�gu znak�w po��czonemu przez te odpowiadaj�ce tutaj.
W produkcjach tego dokumentu
NSC
to "Ograniczenie przestrzeni nazw", jedna z zasad, kt�rej dokumenty zgodne z t� specyfikacj�
MUSZ�
przestrzega�.
[Definicja: Przestrze� nazw XML jest zidentyfikowana przez odno�nik IRI; nazwy element�w i atrybut�w mog� by� umieszczone w przestrzeni nazw XML, u�ywaj�cej mechanizm�w opisanych w tej specyfikacji. ]
[Definicja: Nazwa rozszerzona to para sk�adaj�ca si� z przestrzeni nazw i nazwy lokalnej. ] [Definicja: Dla nazwy N w przestrzeni nazw zidentyfikowanej przez IRI I, nazw� przestrzeni nazw jest I. Dla nazwy N nie b�d�cej przestrzeni� nazw nazwa przestrzeni nazw nie ma warto�ci. ] [Definicja: W ka�dym przypadku nazw� lokaln� jest N. ] To ta kombinacja uniwersalnie zarz�dzanych przestrzeni nazw IRI ze s�ownikowymi nazwami okalnymi jest efektywna przy unikaniu konflikt�w nazw.
Odno�niki IRI mog� zawiera� znaki niedozwolone w nazwach i s� cz�sto niewygodnie d�ugie, wi�c rozszerzone nazwy nie s� u�ywane bezpo�rednio dla element�w i atrybut�w nazw w dokumentach XML. W zamian s� u�ywane nazwy okre�laj�ce. [Definicja: A nazwa okre�laj�ca to temat nazwy do interpretacji przestrzeni nazw. ] W dokumentach zgodnych z t� specyfikacj� nazwy element�w i atrybut�w pojawiaj� si� jako nazwy okre�laj�ce. Syntaktycznie s� to nazwy z prefiksem lub nazwy bez prefiksu. Deklaracja sk�adni bazuj�ca na atrybutach jest dostarczona do ��czenia prefiks�w do nazw przestrzeni nazw i do ��czenia domy�lnych przestrzeni nazw, kt�rych stosuje do nazw element�w bez prefiks�w; te deklaracje s� w zakresie element�w, na kt�rych pojawiaj� si�, tak �eby r�ne ��czenia mog�y by� stosowane w r�nych cz�ciach dokumentu. Proces zgodny z t� specyfikacj� MUSI rozpoznawa� i dzia�a� na te deklaracje i prefiksy.
Pusty ci�g znak�w, chocia� jest legalnym odno�nikiem IRI, nie mo�e by� u�ywany jako nazwa przestrzeni nazw.
U�ycie relatywnych odno�nik�w IRI, ��cznie z odno�nikami takiego samego dokumentu, jest niezalecane w deklaracjach przestrzeni nazw.
Uwaga:
Na to niezalecenie relatywnych odno�nik�w URI zdecydowano si� przez tajnie g�osowanie W3C XML. [Niezalecane relatywne URI]. Jest r�wnie� zdeklarowane, �e "p�niejsze specyfikacje takie jak DOM, XPath, itd. nie b�d� definiowa� �adnych interpretacji dla nich".
Odno�niki IRI identyfikuj�ce przestrzenie nazw s� por�wnywane podczas okre�lania czy nazwa nale�y do danej przestrzeni nazw i czy dwie nazwy nale�� do tej samej przestrzeni nazw. [Definicja: Dwa IRI s� traktowane jako ci�gi znak�w i s� identyczne je�eli i tylko je�li te ci�gi znak�w s� identyczne, tj. czy maj� takie same sekwencje i znaki. ] Por�wnanie jest z rozr�nieniem ma�ych i du�ych liter i �adno %-uwalnianie jest wykonane lub niewykonane.
Konsekwencj� tego jest to, �e odno�niki IRI, kt�re nie s� identyczne w tym sensie mog� by� rozwi�zane do tego samego �r�d�a. Przyk�ady zawieraj�ce odno�niki IRI, kt�re r�ni� si� tylko w przypadku %-uwalniania, lub kt�re s� z zewn�trznymi elementami rekordu, kt�re maj� inne podstawowe URI (ale zauwa�, �e relatywne IRI s� niezalecane jako nazwy przestrzeni nazw).
W deklaracji przestrzeni nazw, odno�nik IRI to znormalizowana warto�� atrybutu, wi�c zamiana znaku XML i odno�nik�w elementu rekordu zosta�y wykonane przed jakimkolwiek por�wnaniem.
Przyk�ady:
Poni�sze odno�niki IRI s� wszystkie inne dla r�nych cel�w identyfikacji przestrzeni nazw, poniewa� r�ni� si� w przypadku:
http://www.example.org/wine
http://www.Example.org/wine
http://www.example.org/Wine
Poni�sze odno�niki IRI s� r�wniez wszystkie r�ne dla innych cel�w identyfikacji przestrzeni nazw:
http://www.example.org/ros�C
http://www.example.org/ros%c3%a9
http://www.example.org/ros%c3%A9
http://www.example.org/ros%C3%a9
http://www.example.org/ros%C3%A9
Tak jak te:
http://www.example.org/~wilbur
http://www.example.org/%7ewilbur
http://www.example.org/%7Ewilbur
Je�eli element rekordu
eacute zosta� okre�lony jako e,
poni�sze znaczniki pocz�tkowe wszystkie zawieraj� deklaracje przestrzeni nazw ��czonych z prefiksem
p
do tego samego odno�nika,
http://example.org/ros�C
.
<p:foo xmlns:p="http://example.org/ros�C">
<p:foo xmlns:p="http://example.org/rosé">
<p:foo xmlns:p="http://example.org/rosé">
<p:foo xmlns:p="http://example.org/rosé">
<p:foo xmlns:p="http://example.org/rosé">
Z powodu ryzyka nierozr�niania IRI, by�oby to r�wnorz�dne podczas usuni�cia po�rednio�ci, u�ycie znaku %-uwalnianych znak�w w nazwach przestrzeni nazw jest silnie zaniechane.
[Definicja: Przestrze� nazw (lub bardziej szczeg�owo, ��czenia przestrzeni nazw) jest zdeklarowana przy u�yciu rodziny zarezerwowanych atrybut�w. Takie nazwy atrybut�w musz� zar�wno by� xmlns lub pocz�tkowy xmlns:. Te atrybuty, jak inne atrybuty XML, mog� by� zapewnione bezpo�rednio lub domy�lnie. ]
[1] | NSAttName | PrefixedAttName | ||
| DefaultAttName
| ||||
[2] |
PrefixedAttName | ::= | 'xmlns:' NCName | [NSC: Reserved Prefixes and Namespace Names] |
[3]� � � | DefaultAttName | ::= | 'xmlns' | |
[4] | NCName | ::= | NCNameStartChar
NCNameChar* | /* An XML Name, minus the ":" */ |
[5] | NCNameChar | ::= | NameChar
- ':' | |
[5a] | NCNameStartChar | ::= | NameStartChar
- ':' |
Znormalizowana warto�� atrybut�w MUSI by� zar�wno odno�nikiem IRI - nazw� przestrzeni nazw identyfikuj�cy przestrze� nazw - lub pusty ci�g znak�w. Nazwa przestrzeni nazw, aby s�u�y� swojemu zamierzonemu celowi, POWINNA mie� charakter jednoznaczno�ci i trwa�o�ci. Nie jest celem, by by�a bezpo�rednio do u�ycia dla odzyskiwania schematu (je�li istnieje). Jednolite nazwy �r�de� [RFC2141] s� przyk�adem sk�adni, kt�ra jest za jest zaprojektowana z uwzgl�dnieniem tych cel�w. Jednak powinno si� zauwa�y�, �e zwyk�e URL mog� by� zarz�dzane w taki spos�b, �eby osi�gn�� te same cele.
[Definicja: Je�eli nazwa atrybutu pasuje PrefixedAttName, wtedy NCName daje prefiks przestrzeni nazw,ybut�w z u�ywanych do ��czenia nazw element�w i atr nazw� przestrzeni nazw we warto�ci atrybutu w zakresie elementu, do kt�rego jest za��czona deklaracja.
[Definicja: Je�eli nazwa atrybutu pasuje DefaultAttName, wtedy nazwa przestrzeni nazw w warto�i atrybutu, kt�ra jest domy�ln� przestrzeni� nazw w zakresie elementu, do kt�rego deklaracja jest za��czona.] Domy�lne przestrzenie nazw i nak�adanie deklaracji s� om�wione w 6 U�ywaniu przestrzeni nazw do element�w i atrybut�w .
Przyk�ad deklaracji przestrzeni nazw, kt�ra ��czy prefiks przestrzeni nazw
edi z nazw� przestrzeni nazw
http://ecommerce.example.org/schema
:
<x xmlns:edi='http://ecommerce.example.org/schema'> <!-- the "edi" prefix is bound to http://ecommerce.example.org/schema for the "x" element and contents --> </x>
Ograniczenie przestrzeni nazw: Zarezerwowane prefiksy i nazwy przestrzeni nazw
Prefiks xml
jest z definicji po��czony z nazw� przestrzeni nazw
http://www.w3.org/XML/1998/namespace
.
MO�E,
ale nie musi by� zdeklarowana, a
NIE MO�E
by� niezdeklarowana lub po��czona z jakimikolwiek innymi nazwami przestrzeni nazw.
Inne prefiksy
NIE MOG�
by� po��czone z t� nazw� przestrzeni nazw.
Prefiks xmlns
jest tylko u�ywany do zdeklarowania ��cze� przestrzeni nazw i jest z definicji po��czony z nazw� przestrzeni nazw
http://www.w3.org/2000/xmlns/
.
NIE MO�E
by� zdeklarowany, lub niezdeklarowany. Inne prefiksy
NIE MOG�
by� po��czone z t� nazw� przestrzeni nazw.
Wszystkie inne pocz�tki prefiksy z trzyliterow� sekwencj� x, m, l, w jakichkolwiek kombinacjach s� zarezerwowane. To znaczy, �e:
u�ytkownicy NIE POWINNI u�ywa� ich poza tym, jak zdefiniowano w p�niejszych specyfikacjach
procesory NIE MOG� ich traktowa� jako b��dy krytyczne.
Chocia� nie s� one same zarezerwowane, nie poleca si� u�ywa� nazw z prefiksami, kt�rych LocalPart zaczyna si� na liter� x, m, l, w ka�dej kombinacji, jak te nazwy by�yby zarezerwowane, je�eli by�yby zarezerwowane bez prefiksu.
W dokumentach XML zgodnych z t� specyfikacj�, niekt�re nazwy (konstrukcje odpowiadaj�ce nieterminalowi Nazwa) MUSI by� podana do nazwy okre�laj�cej, okre�lonej w nast�puj�cy spos�b:
[6] | QName | ::= | PrefixedName |
|
UnprefixedName | |||
[6a] | PrefixedName | ::= |
Prefix ':' LocalPart
|
[6b] | UnprefixedName | ::= |
LocalPart
|
[7] | Prefix | ::= | NCName |
[8] | LocalPart | ::= | NCName |
Prefiks zapewnia prefiks przestrzeni nazw, cz�� nazwy okre�laj�cej i MUSI by� po��czony z przestrzeni� nazw odno�nik IRI w deklaracji przestrzeni nazw. [Definicja: LocalPart zapewnia cz�� lokaln� nazwy okre�laj�cej.]
Zauwa�, �e funkcje prefiksu s�u�� tylko jako miejsce dla przestrzeni nazw. Aplikacje POWINNY u�ywa� nazw przestrzeni nazw, nie prefiks�w w konstruowaniu naze, kt�rych zasi�g rozci�ga si� poza zawarty dokument.
W dokumentach XML zgodnych z t� specyfikacj�, element nazwy podany jako nazwy kwalifikuj�ce w nast�puj�cy spos�b:
[9] | STag | ::= | '<' QName
(S
Attribute)*
S? '>'
| [NSC: Prefix Declared] |
[10] | ETag | ::= | '</' QName
S? '>' | [NSC: Prefix Declared] |
[11] |
EmptyElemTag | ::= | '<' QName
(S
Attribute)*
S? '/>' | [NSC: Prefix Declared] |
Przyk�ad nazwy okre�laj�cej s�u��cej jako nazwa elementu:
<!-- the 'price' element's namespace is http://ecommerce.example.org/schema --> <edi:price xmlns:edi='http://ecommerce.example.org/schema' units='Euro'>32.18</edi:price>
Atrybuty s� zar�wno deklaracjami przestrzeni nazw , lub ich nazwy s� podane jako nazwy okre�laj�ce:
[12] | Atrybut | ::= | NSAttName
Eq
AttValue | |
| QName Eq
AttValue | [NSC: Prefix Declared] |
Przyk�ad nazwy okre�laj�cej s�u��cej jako nazwa atrybutu:
<x xmlns:edi='http://ecommerce.example.org/schema'> <!-- the 'taxClass' attribute's namespace is http://ecommerce.example.org/schema --> <lineItem edi:taxClass="exempt">Baby food</lineItem> </x>
Ograniczenie przestrzeni nazw: Prefiks zdeklarowany
Prefiks przestrzeni nazw, chyba �e jest to
xml
lub xmlns
,
MUSI
by� zdeklarowany w atrybucie
deklaracji przestrzeni nazw
zar�wno w znaczniku pocz�tkowym elementu, gdzie prefiks jest u�ywany, lub elemencie przodku (tj. element, w kt�rego
zawarto�ci jest znacznik z prefiksem).
Co wi�cej, warto�� atrybutu w �rodku takiej deklaracji
NIE MO�E
by� pustym ci�giem znak�w.
To ograniczenie mo�e prowadzi� to operacyjnych trudno�ci w przypadku, gdzie jest zapewniony atrybut deklaracja przestrzeni nazw, nie bezpo�rednio w elemencie rekordu dokumentu XML, ale przez domy�lny atrybut zdeklarowany w zewn�trznym elemencie rekordu. Takie deklaracje mog� nie by� odczytane przez oproramowanie, kt�re bazuje na niewaliduj�cym procesorze XML. Wiele aplikacji XML, przypuszczalnie zawieraj�cych te wra�liwe na zawarte przestrzenie nazw, nie mo�e wymaga� waliduj�cych procesor�w. Je�li jest wymagana poprawna operacja z takimi aplikacjami , deklaracje przestrzeni naze MUSZ� by� zapewnione zar�wno bezpo�rednio, jak i przez demy�lne atrybuty zdeklarowane w wewn�trznym podzbiorze DTD .
Nazwy element�w i atrybut�w s� r�wnie� podane jako nazwy kwalifikowane kiedy pojawiaj� si� w deklaracjach w DTD:
[13] | doctypedecl | ::= | '<!DOCTYPE' S
QName (S
ExternalID)?
S? ('['
(markupdecl
| PEReference
| S)*
']'
S?)? '>' |
[14] | elementdecl | ::= | '<!ELEMENT' S
QName
S
contentspec
S? '>' |
[15] | cp | ::= | (QName
| choice
| seq)
('?' | '*' | '+')? |
[16] | Mixed | ::= | '(' S?
'#PCDATA'
(S?
'|'
S?
QName)*
S?
')*' |
| '(' S? '#PCDATA' S? ')'
| |||
[17] | AttlistDecl | ::= | '<!ATTLIST' S
QName
AttDef*
S? '>' |
[18] | AttDef | ::= | S
(QName | NSAttName)
S AttType
S DefaultDecl |
Zauwa�, �e walidacja bazuj�ca na DTD nie jest �wiadoma przestrzeni nazw w nastepuj�cym sensie:
DTD ogramicza elementy i atrybuty, kt�re mog� pojawia� si� w dokumencie przez niewystarczaj�co zinterpretowane
czy, nie przez pary (nazw przestrzeni nazw, nazwa lokalna).
Aby dokona� walidacji dokumentu, kt�ry u�ywa przestrzeni nazw wobec DTD, te same prefiksy musz� by� u�yte
w przyk�adzie w DTD. DTD mo�e jednak po�rednio ograniczy� przestrzenie nazw u�yte w wa�nym dokumencie przez
zapewnienie warto�ci
#FIXED
dla atrybut�w, kt�re deklaruj� przestrzenie nazw.
Zakres deklaracji przestrzeni nazw deklaruj�cej prefiks rozci�ga si� od znacznika pocz�tkowego do ko�cowego, w kt�rym pojawia si� na ko�cu odpowiadaj�cego znacznika ko�cowego, z wy��czeniem zakresu jakichkolwiek wewn�trznych deklaracji z t� sam� cz�ci� NSAttName. W przypadku pustego znacznika zakresem jest sam znacznik.
Taka deklaracja przestrzeni nazw odnosi si� do wszystkich nazw element�w i atrybut�w wewn�trz jego zasi�gu, kt�rego prefiks pasuje do tego okre�lonego w deklaracji.
Rozszerzona nazwa odpowiadaj�ca nazwie elementu lub atrybutu z prefiksem posiada IRI, do kt�rego jest przy��czony prefiks jako jego nazwa przestrzeni nazw, i cz�� lokalna jako jego nazwa lokalna.
<?xml version="1.1"?> <html:html xmlns:html='http://www.w3.org/1999/xhtml'> <html:head><html:title>Frobnostication</html:title></html:head> <html:body><html:p>Moved to <html:a href='http://frob.example.com'>here.</html:a></html:p></html:body> </html:html>
Wielokrotne prefiksy przestrzeni nazw mog� by� zdeklarowane jako atrybuty pojedynczego elementu, jak pokazano w tym przyk�adzie:
<?xml version="1.1"?>
<!-- both namespace prefixes are available throughout -->
<bk:book xmlns:bk='urn:loc.gov:books'
xmlns:isbn='urn:ISBN:0-395-36341-6'>
<bk:title>Cheaper by the Dozen</bk:title>
<isbn:number>1568491379</isbn:number>
</bk:book>
Warto�� atrybutu w deklaracji przestrzeni nazw dla prefiksu MO�E by� pusta. W obr�bie deklaracji powoduje to usuwanie jakichkolwiek po��cze� prefiksu z nazw� przestrzeni nazw. Dalsze deklaracje MOG� zn�w ponownie zdeklarowa� prefiks:
<?xml version="1.1"?>
<x xmlns:n1="http://www.w3.org">
<n1:a/> <!-- legal; the prefix n1 is bound to http://www.w3.org -->
<x xmlns:n1="">
<n1:a/> <!-- illegal; the prefix n1 is not bound here -->
<x xmlns:n1="http://www.w3.org">
<n1:a/> <!-- legal; the prefix n1 is bound again -->
</x>
</x>
</x>
Zakres deklaracji domy�lnych przestrzeni nazw rozci�ga si� od pocz�tku znacznika pocz�tkowego, w kt�rym pojawia si� na ko�cu odpowiadaj�cego znacznika ko�cowego, z wy��czeniem zakresu jakichkolwiek domy�lnych wewn�trznych deklaracji przestrzeni nazw. W przypadku pustego znacznika zakresem jest sam znacznik.
Domy�lna deklaracja przestrzeni nazw dotyczy wszystkich nazw element�w bez prefiks�w w jej zakresie. Domy�lne deklaracje przestrzeni nazw nie dotycz� bezpo�rednio nazw atrybut�w; interpretacja atrybut�w bez prefiks�w jest okre�lona przez element, na kt�rym si� pojawiaj�.
Je�eli w zakresie jest domy�lna deklaracja przestrzeni nazw to rozszerzona nazwa odpowiadaj�ca nazwie elementu bez prefiksu posiada IRI domy�lnej przestrzeni nazw jako jego nazwa przestrzeni nazw. Je�eli nie ma w zakresie domy�lnej deklaracji przestrzeni nazw, nazwa przestrzeni nazw nie ma warto�ci. Nazwa przestrzeni nazw dla nazwy atrybutu bez prefiksu nigdy nie ma warto�ci. We wszystkich przypadkach nazwa lokalna to cz�� lokalna (kt�ra jest oczywi�cie taka sama jako sama nazwa bez prefiksu).
<?xml version="1.1"?> <!-- elements are in the HTML namespace, in this case by default --> <html xmlns='http://www.w3.org/1999/xhtml'> <head><title>Frobnostication</title></head> <body><p>Moved to <a href='http://frob.example.com'>here</a>.</p></body> </html>
<?xml version="1.1"?>
<!-- unprefixed element types are from "books" -->
<book xmlns='urn:loc.gov:books'
xmlns:isbn='urn:ISBN:0-395-36341-6'>
<title>Cheaper by the Dozen</title>
<isbn:number>1568491379</isbn:number>
</book>
Wi�kszy przyk�ad zakresu przestrzeni nazw:
<?xml version="1.1"?> <!-- initially, the default namespace is "books" --> <book xmlns='urn:loc.gov:books' xmlns:isbn='urn:ISBN:0-395-36341-6'> <title>Cheaper by the Dozen</title> <isbn:number>1568491379</isbn:number> <notes> <!-- make HTML the default namespace for some commentary --> <p xmlns='http://www.w3.org/1999/xhtml'> This is a <i>funny</i> book! </p> </notes> </book>
Warto�� atrybutu w domy�lnej deklaracji przestrzeni nazw MO�E by� pusta. Ma to taki sam efekt w zakresie deklaracji, jak nie ma domy�lnej przestrzeni nazw.
<?xml version='1.1'?> <Beers> <!-- the default namespace inside tables is that of HTML --> <table xmlns='http://www.w3.org/1999/xhtml'> <th><td>Name</td><td>Origin</td><td>Description</td></th> <tr> <!-- no default namespace inside table cells --> <td><brandName xmlns="">Huntsman</brandName></td> <td><origin xmlns="">Bath, UK</origin></td> <td> <details xmlns=""><class>Bitter</class><hop>Fuggles</hop> <pro>Wonderful hop, light alcohol, good summer beer</pro> <con>Fragile; excessive variance pub to pub</con> </details> </td> </tr> </table> </Beers>
W dokumentach XML zgodnych z t� specyfikacj�, �aden znacznik nie mo�e zawiera� dw�ch atrybut�w, kt�re:
maj� takie same nazwy, lub
posiadaj� nazwy okre�laj�ce z t� sam� cz�ci� lokaln� i z prefiksami, kt�re zosta�y po��czone z nazwami przestrzeni nazw, kt�re s� identyczne.
To ograniczenie jest r�wnowa�ne do wymagania, �e �aden element nie ma dw�ch atrybut�w z tak� sam� nazw� rozszerzon�.
Na przyk�ad ka�dy z pocz�tkowych znacznik�w
bad
jest niedozwolony w nast�puj�cych przypadkach:
<!-- http://www.w3.org is bound to n1 and n2 --> <x xmlns:n1="http://www.w3.org" xmlns:n2="http://www.w3.org" > <bad a="1" a="2" /> <bad n1:a="1" n2:a="2" /> </x>
Jednak ka�dy z nast�puj�cych jest dozwolony, poniewa� domy�lna przestrze� nazw nie odnosi si� do nazw atrybut�w:
<!-- http://www.w3.org is bound to n1 and is the default --> <x xmlns:n1="http://www.w3.org" xmlns="http://www.w3.org" > <good a="1" b="2" /> <good a="1" n1:a="2" /> </x>
Ta specyfikacja odnosi si� do dokument�w XML 1.1. Aby zgadza� si� z t� specyfikacj� dokument MUSI by� dobrze ukszta�towany zgodnie ze specyfikacj� XML 1.1 [XML 1.1].
W dokumentach XML zgodnych z t� specyfikacj� nazwy element�w i atrubut�w MUSZ� pasowa� produkcji dla QName i MUSZ� spe�nia� "Ograniczenia przestrzeni nazw". Wszystkie inne tokeny w dokumencie, kt�re s� WYMAGANE, dla dobrego ukszta�towania XML 1.1, aby pasow�y to produkcji XML dla nazwy, MUSZ� pasowa� do tworzenia tej specyfikacji dla NCName.
[Definicja: Dokument jest dobrze stworzony pod wzgl�dem przestrzeni nazw, je�li jest zgodny z t� specyfikacj�. ]
Wynika to z dobrze ukszta�towanego dokumentu pod wzgl�dem przestrzeni nazw:
Wszystkie nazwy element�w i atrybut�w zawieraj� zar�wno zero, jak i jeden dwukropek;
�adne nazwy element�w rekordu, cel�w instrukcji przetwarzania, lub nazw zapis�w nie zawiera �adnych dwukropk�w.
Dodatkowo, dobrze ukszta�towany dokument pod wzgl�dem przestrzeni nazw mo�e r�wnie� by� wa�ny pod wzgl�dem przestrzeni nazw.
[Definicja: Dobrze ukszta�towany dokument pod wzgl�dem przestrzeni nazw jest wa�ny pod wzgl�dem przestrzeni nazw, je�eli jest wa�ny zgodnie ze specyfikacj� XML 1.1 i wszystkie tokeny inne ni� nazwy element�w i atrybut�w, kt�re s� WYMAGANE, dla wa�no�ci XML 1.1, aby pasowa�y do produkcji XML dla nazwy, aby pasowa�y do tworzenia specyfikacji dla NCName. ]
To nast�puje w dokumencie wa�nym pod wzgl�dem przestrzeni nazw:
�adne atrybuty z deklarowanym typem ID, IDREF(S), ENTITY(IES), lub NOTATION nie zawieraj� �adnych dwukropk�w.
Aby zgadza� si� z t� specyfikacj� procesor MUSI raportowa� naruszenie dobrego ukszta�towania przestrzeni nazw, z wyj�tkiem tego, �e nie jest WYMAGANE do sprawdzania, czy nazwy przestrzeni nazw s� dozwolonymi IRI.
[Definicja: Waliduj�cy procesor XML zgodny z t� specyfikacj� jest waliduj�cy przestrzenie nazw, je�eli w dodatku raportuje naruszenia wa�no�ci przestrzeni nazw. ]
Obecnie trwaj� prace nad stworzeniem RFC definiuj�cego Mi�dzynarodowe identyfikatory �r�d�owe (IRI). Poniewa� te prace nie s� jeszcz uko�czone, ta cz�� podaje syntetyczn� definicj� IRI dla cel�w tej specyfikacji. G��wna Grupa Robocza XML oczekuje wyda� errat� zast�puj�c� t� cz�� z odno�nikiem do RFC, kiedy b�dzie ona opublikowana.
U�ytkownikom definiuj�cym przestrzenie nazw radzi si�, by ograniczali nazwy przestrzeni nazw do URI do momentu publikacji RFC i oprogramowania wspieraj�cego IRI do publicznego u�ytku. Implementorom podobnie si� radzi, aby nie odrzucali przestrzeni nazw, kt�re naruszaj� projekty warunk�w zezwolonych znak�w.
Dla szerszej og�lnej definicji i dyskusji na temat IRI patrz [Projekt IRI 5] (prace trwaj�).
Odno�niki URI s� ograniczone do podzbioru znak�w ASCII; Odno�niki IRI zezwalaj� na wi�kszo�� znak�w Unikod od #xA0 do przodu. Wcze�niejsze projekty IRI RFC (przyk�ad [Projekt IRI 3]) tak�e dozwolone niekt�re niedozwolonych znak�w ASCII, ale nie bie��cy szkic ([Projekt IRI 5]).
[Definicja: Znaki dodatkowe dozwolone w IRI [IRI draft 5] are: ]
P�aszczyzna Unikod 0 znaki #xA0 - #xD7FF, #xF900-#xFDCF, #xFDF0-#xFFEF
P�aszczyzna Unikod 1-14 znaki #x10000-#x1FFFD ... #xD0000-#xDFFFD, #xE1000-#xEFFFD
[Definicja: Odno�nik IRI to ci�g, kt�ry mo�e by� zmieniony do odno�nika URI poprzez zastosowanie nast�puj�cych krok�w: ]
Zamie� cz�� hostname je�li jest obecna, przy u�yciu czynno�ci ToASCII okre�lonej w Cz�ci 4.1 [RFC3490] ze znacznikami stanu UseSTD3ASCIIRules i zbiorowi AllowUnassigned do TRUE.
Uwolnij wszystkie dodatkowe znaki nast�puj�co:
Ka�dy dodatkowy znak jest zmieniony na UTF-8 [RFC3629] jako jeden lub wi�cej bajt�w.
Wynikowe bajty s� uwalniane z mechanizmu uwalniaj�cego URI (tj. zmienione do %HH,, gdzie HH to zapis szesnastkowy warto�ci bajta).
Oryginalny znak jest zamieniony przez wynikowy charakter sekwencji.
Uwaga:
Algorytm w [Projekt IRI 5] zawiera krok normalizacyjny UCS, ale to nie robi r�nicy do kt�rego ci�gu znak�w s� odno�niki IRI.
Ta wersja zawiera errat� do wersji 1.0 z 6 grudnia 2002 [1.0 Errata]. S� dwie dalsze wa�ne zmiany:
Mechanizm jest zapewniony dla niezadeklarowania prefiks�w;
Nazwami przestrzeni nazw s� raczej IRI ni� URI.
Jest kilka zmian redakcyjnych, ��cznie z ilo�ci� zmian terminologii i dodatk�w maj�cych na celu stworzenie wi�kszej konsystencji. Nienormatywny dodatek "Wewn�trzna struktura przestrzeni nazw" zosta�a usuni�ta.
Ta praca odzwierciedla wk�ad wielu ludzi, przede wszystkim ��cznie z cz�onkami Konsorcjum World Wide Web Grupy roboczej XML i Grupy Specjalnego Interesu oraz uczestnikom Dzia�alno�ci Metadata W3C. Wk�ad Charlse'a Frankstona z Microsoftu by�a szczeg�lnie cenna.