Autor: Mariusz Żebrowski.
Lokalizacja:
http://www.antyspam.pl/w3c/REC-xml-infoset-20040204/
Dokument ten jest tłumaczeniem rekomendacji XML Information Set (Second Edition). 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-infoset-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.
Zobacz także tłumaczenia.
Copyright ©1999-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.
Ta specyfikacja oferuje zestaw definicji dla użycia w innych specyfikacjach, które potrzebują odnosić się do informacji w dokumencie XML.
Ten paragraf opisuje status tego dokumentu od czasukiedy jest opublikowany. Inne dokumenty mogą zastąpić ten dokument. Lista bieżących publikacji W3C i najnowszą weryfikację tego raportu technicznego można zanaleźć na W3C technical reports index 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 jako Rekomendacja W3C. To jest dokument stabilny i może być używany jako materiał odniesienia lub cytowany jako odniesienie normatywne z innego dokumentu. Zadaniem W3C w wydaniu tej rekomendacji jest przyciągnięcie uwagi do tej specyfikacji i promowanie jej szerokiego zastosowania. Wzbogaci to funkcjonalność i interoperacyjność sieci Web.
Ten dokument uaktualnia Infoset będąc nakładką na wersję XML 1.1 i przestrzeń nazw 1.1, wyjaśnia konsekwencje pewnych rodzajów niepoprawności składniowej i poprawiania pewnych błędów typograficznych. To jest produkt W3C XML Activity. Tylko angielska wersja specyfikacji jest wersją normatywną. Jednakże, szukając tłumaczeń tego dokumentu zobacz http://www.w3.org/2003/03/Translations/byTechnology?technology=xml-infoset.
Documentacja z intelektualną właściwością może odnosić się do tych rekomendacji może być znaleziona na publicznej stronie Working Group IPR disclosure page.
Prosimy zgłaszać błędy w tym dokumencie na adres www-xml-infoset-comments@w3.org (publiczne archiwa są dostępne). Lista erraty dla tej rekomendacji jest dostępna na http://www.w3.org/2001/10/02/xml-infoset-errata.html.
Ta specyfikacja definiuje abstrakcyjny zbiór danych Zbiór informacyjny XML (ang. XML Information Set (Infoset)). Jego celem jest dostarczanie spójnego zbioru definicji do wykorzystania w innych specyfikacjach, które potrzebują odnosić się do informacji w poprawnie składniowo uformowanym dokumencie XML [XML].
Celem jej nie jest bycie wyczerpującą; Głównym kryterium przy doborze przedmiotów informacyjnych albo właściwości jest spodziewana użyteczność w przyszłych specyfikacjach. Także nie stanowi zestawu minimum informacji, które muszą być zwracane przez procesor XML.
Dokument XML posiada zbiór informacyjny jeżeli jest poprawnie sformułowany i zachowuje ograniczenia przestrzeni nazw opisane w below. Aby dokument XML posiadał zbiór informacyjny nie jest wymagane aby był poprawny składniowo.
Zbiory informacyjne mogą być tworzone przez inne metody (nie opisane w tej specyfikacji) inne niż analiza gramatycza dokumentu XML. Patrz Synthetic Infosets poniżej.
Zbiór informacyjny dokumentu XML składa się z pewnej liczby przedmiotów / elementów informacyjnych; zbiów informacyjnych dla każdego poprawnie sformułowanego dokumentu XML będzie zawierał conajmniej przedmiot / element informacyjny document oraz kilka innych. Przedmiot informacyjny jest abstrakcyjnym opisem pewnej częci dokumentu XML; każdy element informacyjny posiada związany z nim zbiór nazwanych właściwości. W tej specyfikacji nazwy właściwości są przedstawione w nawiasach kwadratowych, [thus]. Typy przedmiotów informacyjny są wymienione w section 2.
Zbiór informacyjny XML nie wymaga lub preferuje szczególnego interfejsu lub klasy interfejsów. Ze względu na jasność i prostotę, ta specyfikacja przedstawia zbiór informacyjny jako zmodyfikowane drzewo, jednakże nie jest wymagane aby Zbiór Informacyjny XML był dostępny jako struktura drzewiasta; możliwe są inne typy interfejsów między innymi oparte na zdarzeniach i zapytaniach w celu dostarczania informacji w sposób zgodny z Zbiorem Informacyjnym XML.
Terminy "zbiór informacyjny" i "przedmiot / element informacyjny" są podobnie rozumiane jak powszechnie używane w informatyce terminy "drzewo" i "węzeł". Jednakże w tej specyfikacji używane są pierwsze z tych określeń w celu ograniczenia możliwości pomyłki z innymi modelami danych. Elementy informacyjne nie przekładają się jeden-do-jeden na węzły DOM lub "drzewa" i "węzły" modelu danych XPath.
W tej specyfikacji zakłada się znaczenie słów "musi", "powinien" i "może" zgodnie z [RFC2119], z takim wyjątkiem że słowa te nie są przedstawione kapitalikiem.
Różne wersje specyfikacji XML mogą przedstawiać równe reguły analizy. Zbiór informacyjny dokumentu XML jest zdefiniowany aby był jedynym otrzymanym poprzez jego analizę zgodnie z regułami specyfikacji, której wersja odpowiada wersji z dokumentu. Dokument który nie specyfikuje numeru wersji jest uważany za dokument w wersji 1.0. Jeśli procesor XML akceptuje dokument z numerem wersji, której nie zna, niekoniecznie oznacza to że bedzie w stanie utworzyć poprawny zbiór informacyjny.
XML dokumenty, które nie są zgodne z [Przestrzeniami nazw], chociaż są technicznie dobrze ukształtowane, nie są uważane za posiadające znaczące zbiory informacji. To znaczy, że ta specyfikacja nie określa zbiorów informacji dla dokumentów, które posiadają nazwy elementu, lub atrybutu zawierające dwukropki, które są używane w inny sposób, niż zalecany przez [Przestrzenie nazw].
W dodatku, ta specyfikacja nie określa zbioru informacji dla dokumentów, które używają względnych odnośników URI w deklaracjach przestrzeni nazw. Jest to zgodne z decyzją Plenarnej Grupy Interesu W3C XML opisanej we [Względnych Odnośnikach Przestrzeni Nazw URI].
Wartością własności [namespace name] (nazwa przestrzeni nazw) jest znormalizowana wartość odpowiadającego atrybutu przestrzeni nazw; żaden dodatkowy uwalniany URI nie odnosi się do tego przez procesor.
Zbiór informacji opisuje jego dokument XML z już rozszerzonymi odnośnikami elementów rekordu, tj. przedstawiany przez elementy informacyjne odpowiadające tekstowi, który jest na ich miejscu. Jednak są różne okoliczności, w których procesor może nie wykonać tego rozszerzenia. Element rekordu może nie być zdeklarowany, lub może nie być możliwy do odzyskania. Procesor niewalidujący może wybrać nie czytać wszystkich deklaracji, a nawet jeśli nie, może rozszerzyć wszystkie zewnętrzne elementy rekordu. W takich przypadkach element infomacyjny nierozszerzonego odnośnika elementu rekordu jest używany do przedstawiania odnośnika elementu rekordu.
Wartości wszystkich własności w Zbiorze informacji biorą pod uwagę normalizację końca wiersza opisaną w [XML], 2.11 "Obsługiwanie końca wiersza".
Niektóre elementy informacyjne posiadają własności [base URI] (podstawowy URI) lub [declaration base URI] (deklaracja podstawowego URI). Są one wyliczone zgodnie z [Podstawą XML]. Zauważ, że odzyskanie źródła może zawierać przekierowanie na poziom analizatora skłądni (np. w przeliczniku elementu rekordu) lub niżej; w tym przypadku podstawowy URI jest końcowym URI używanym do odzyskania źródła po wszystkich przekierowaniach.
Wartość tych własności nie odzwierciedla żadnego uwalnianego URI, co może być wymagane do odzyskania źródła, ale może zawierać uwalniane znaki, jeżeli były określone w dokumencie, lub oddane przez serwer w celu przekierowania.
W niektórych przypadkach (takich jak czytanie dokumentów z łańcucha znaków lub potoku) zasady [Podstawy XML] mogą doprowadzać do podstawowego URI, który jest zależny od aplikacji. W takich przypadkach ta specyfikacja nie określa wartości własności [podstawowego URI] lub [deklaracji podstawowego URI].
Podczas rozwiązywania względnych własności URI [podstawowy URI] powinny być używane w preferencji do wartości atrybutów xml:base; mogą być sprzeczne w przypadku Syntetycznych Zbiorów Informacji.
Niektóre własności mogą czasem posiadać wartości nieznany lub brak wartości, i powiedziano, że wartość własności jest nieznana, lub że własność odpowiednio nie posiada wartości. Te wartości różnią się od siebie i od wszystkich innych wartości. W szczególności różnią się od pustego ciągu znaków, pustego zbioru i pustej listy, każdy z których poprostu nie ma elementów. Ta specyfikacja nie używa terminu wartość zerowa ponieważ w niektórych społecznościach ma to szczególne znaczenie, co może nie pasować do tych przeznaczonych tutaj.
Jak zanotowano powyżej, dokument XML nie musi być ważny, aby posiadać zbiór informacji. Jednak pewne rodzaje nieważności wpływają na wartości przypisane pewnym własnościom. Elementy rekordu, zapisy, elementy i atrybuty mogą być niezdeklarowane. Zapisy i elementy mogą być wielokrotnie zdeklarowane (wielokrotne deklaracje są ważne dla elementów rekordu i atrybutów). ID może być niezdefiniowany lub wielokrotnie zdefiniowany. Takie przypadki są zauważane w stosownych miejscach, w poniższych definicjach Elementów Informacyjnych.
Ta specyfikacja opisuje zbiór informacji wynikający z analizowania dokumentu XML. Zbiory informacji mogą być skonstruowane przy pomocy innych środków, na przykład przy użyciu API takich jak DOM lub przez przekształcanie istniejących zbiorów informacji.
Zbiór informacji odpowiadający prawdziwemu dokumentowi będzie koniecznie zgodny na wiele sposobów; np. własność [przestrzeni nazw in-scope] elementu będzie zgodna z własnościami [atrybutów przestrzeni nazw] elementu i jego przodków. To nie może być prawdziwe przy zbiorze informacji skonstruowanego innymi sposobami; w takim przypadku nie będzie żadnego dokumentu XML odpowiadającego zbiorowi informacji i aby dokonać jego serializacji będzie wymagać rozdzielenia niezgodności (np. przez uzyskanie deklaracji przestrzeni nazw, które odpowiadają przestrzeniom nazw w zakresie).
Zbiór informacji może zawierać do jedenastu różnych typów przedmiotów informacyjnych, jak wyjaśniono w następujących sekcjach. Każdy przedmiot informacyjny posiada właściwości. Dla ułatwienia odnoszenia, każda własność posiada nazwę, An information set can contain up to eleven different types of information item, as explained in the following sections. Every information item has properties. For ease of reference, each property is given a name, wskazaną [w ten sposób]. Odnośniki do definicji i/lub skłądni w Rekomendacji XML 1.0 [XML] są podane dla każdego przedmiotu informacyjnego.
Definicja XML: dokument (Część 2, Dokumenty)
Składnia XML: [1] Dokument (Część 2.1, Dobrze ukształtowane Dokumenty XML )
Jest dokładnie jeden przedmiot informacyjny typu dokument w zbiorze informacji i wszystkie inne przedmioty informacyjne są dostępne z właściwości przedmiotu informacyjnego typu dokument, zarówno bezpośrednio, jak i pośrednio poprzez właściwości innych przedmiotów informacyjnych.
Przedmiot informacyjny typu dokument posiada następujące właściwości:
Definicja XML: element (Część 3, Struktury Logiczne)
Składnia XML: [39] Element (Część 3, Struktury Logiczne)
Występuje przedmiot informacyjny typu element dla każdego elementu pojawiającego się w dokumencie XML. Jeden z przedmiotów informacyjnych typu element jest wartością własności [elementu dokumentu] przedmiotu informacyjnego typu dokument, odpowiadającego korzeniowi drzewa elementów i wszystkie inne elementy informacyjne typu element są dostępne porzez rekurencyjne występowanie po ich własnościach [potomków]:
xmlns
, których własność [prefiks] nie ma
wartości)
mają przestrzeń nazw URI
http://www.w3.org/2000/xmlns/
.
jeżeli element nie posiada deklaracji przestrzeni nazw, ten zbiór nie ma elementów.
xml
, który jest domniemany, związany z nazwą przestrzeni nazw
http://www.w3.org/XML/1998/namespace
.
Nie zawiera przedmiotu z prefiksem
xmlns
(używanego dla
deklarowania przestrzeni nazw), ponieważ aplikacja nigdy nie może napotkać elementu lub atrybutu z tym prefiksem.
Zbiór będzie zaweirał przedmioty przestrzeni nazw odpowiadające wszystkim elementom [atrybuty przestrzeni nazw],
z wyjątkiem jakichkolwiek deklaracji przedstawiającymi formularz xmlns="" orlub
xmlns:name="", który nie deklaruje przestrzeni nazw, ale raczej nie deklaruje domyślnej wartości przestrzeni nazw
i prefiksów.
Podczas rozłączania prefiksów nazw złożonych ta własność powinna być używana w odniesieniu do własności
[atrybuty przestrzeni nazw]; mogą być niezgodne z przypadkiem
Syntetyczne zbiory informacji
.
Definicja XML: atrybut (Sekcja 3.1, Znaczniki początkowe, znaczniki końcowe, i znaczniki pustych elementów)
XML Syntax: [41] atrybut (Sekcja 3.1, Znaczniki początkowe, znaczniki końcowe, i znaczniki pustych elementów)
Jest przedmiot informacyjny typu atrybut dla każdego atrybutu (określonego lub domyślnego) każdego elementu w dokumencie, łącznie z tymi, które są deklaracjami przestrzeni nazw. Te drugie jednak pojawiają się jako elementy własności elementów [atrybuty przestrzeni nazw] raczej niż jego własności [atrybuty].
Atrybuty zdeklarowane w DTD bez wartości domyślnej i nieokreślone w znaczniku początkowym elementu nie są reprezentowane przez przedmioty informacyjne typu atrybut.
Przedmiot informacyjny typu atrybut posiada następujące wartości:
Definicja XML: instrukcja przetwarzania (Część 2.6, Instrukcje przetwarzania)
Skłądnia XML: [16] PI (Część 2.6, Instrukcje Przetwarzania)
Jest przedmiot informacyjny typu instrukcja przetwarzania dla każdej instrukcji przetwarzania w dokumencie. Deklaracja XML i deklaracje tekstowe dla zewnętrznych zanalizowanych elementów rekordu nie są uważane za instrukcje przetwarzania.
Przedmiot informacyjny typu instrukcja przetwarzania posiada następujące własności:
xml:base
na elementach.
Definicja XML: Część 4.4.3, Zawarty w przypadku walidacji
przedmiot informacyjny typu nierozszerzony odnośnik elementu rekordu służy jako miejsce dla którego procesor XML może wskazać, że nie został rozszerzony zewnętrzny element rekordu. Taki przedmiot informacyjny istnieje dla każdego nierozszerzonego odnośnika do zewnętrznego elementu rekordu w obrębie zawartości elementu. Walidujący procesor XML, lub niewalidujący procesor czytający wszystkie zewnętrzne ogólne elementy rekordu, nigdy nie będą nigdy generować przedmiotów informacyjnych typu nierozszerzalny odnośnik elementu rekordu dla ważnego dokumentu.
Przedmiot informacyjny typu nierozszerzalny odnośnik elementu rekordu posiada następujące własności:
Składnia XML: [2] Char (Część 2.2, Znaki)
Występuje przedmiot informacyjny typu znak dla każdego znaku danych pojawiającego się w dokumencie, zarówno dosłownie, jak i odnośnik znaku, lub w obrębie sekcji CDATA.
Każdy znak jest logicznie oddzielnym przedmiotem informacyjnym, ale aplikacje XML mogą dzielić znaki w większe grupy jeśli jest to konieczne lub wymagane.
Przedmiot informacyjny typu znak posiada następujące własności:
Definicja XML: komentarz (Część 2.5, komentarze)
Składnia XML: [15] Komentarz (Część 2.5, Komentarze)
Jest przedmiot informacyjny typu komentarz dla każdego komentarza XML w oryginalnym dokumencie, z wyjątkiem tych pojawiających się w DTD (które nie są przedstawione).
Przedmiot informacyjny typu komentarz posiada następujące własności:
Definicja XML: typ dokumentu i deklaracji (część 2.8, Język Prolog i typ deklaracji )
Składnia XML: [28] doctypedecl (część 2.8, Język Prolog i typ deklaracji)
Jeżeli dokument XML posiada deklarację typu dokumentu, wtedy zbiór informacji zawiera pojedynczy przedmiot informacyjny deklaracji typu dokumentu . Zauważ, że elementy rekordu i zapisy są zapewnione jako własności przedmiotu informacyjnego dokumentu, nie jako przedmiot informacyjny deklaracji typu dokumentu.
Przedmiot informacyjny deklaracji typu dokumentu posiada następujące własności:
Definicja XML: element rekordu (część 4, Struktury fizyczne)
Składnia XML: [71] GEDecl (część 4.2, Elementy rekordu)
Występuje przedmiot informacyjny typu niezanalizowany element rekordu dla każdego niezanalizowanego ogólnego elementu rekordu zdeklarowanego w DTD.
Przedmiot informacyjnytypu niezanalizowany element rekordu posiada następujących własności:
Definicja XML: zapis (część 4.7, Zapisy)
Składnia XML: [82] NotationDecl (część 4.7, Zapisy)
Jest przedmiot informacyjny typu zapis dla każdego zapisu zdeklarowanego w DTD.
Przedmiot informacyjny typu zapis posiada nstępujące własności:
Każdy element w dokumencie posiada przedmiot informacyjny przestrzeni nazw dla każdej przestrzeni nazw, która jest w zasięgu tego elementu.
Informacja o przestrzeni nazw posiada następujące właściwości:
xmlns:
.
Jeżeli nazwą atrybutu jest po prostu
xmlns
,
tak, żeby deklaracja była jego domyślną przestrzenią nazw, ta własność nie ma wartości.
Ponieważ celem zbioru informacji jest zapewnienie zbioru definicji, zgodność jest własnością specyfikacji używających tamtych definicji raczej niż implementacji.
Specyfikacje odnoszące się do zbioru informacji muszą:
Jeżeli specyfikacja zezwala na konstruowanie zbioru informacji, który zawiera niezgodności jak opisano poniżej Syntetyczne zbiory informacji, może opisać jak te niezgodności mają być rozwiązane i tak powinna zrobić, jeżeli zapewnia serializację zbioru informacji.
http://www.w3.org/TR/REC-xml-names
.
http://www.w3.org/TR/xml-names11
.
http://www.ietf.org/rfc/rfc2119.txt
.http://www.w3.org/TR/REC-xml
.
http://www.w3.org/TR/xml11
.
http://www.w3.org/TR/xmlbase
.
http://www.w3.org/TR/REC-DOM-Level-1
.
http://www.w3.org/TR/NOTE-xptr-infoset-liaison
.http://www.w3.org/2000/09/xppa
.
http://www.w3.org/TR/xml-infoset-rdfs
.
Pomimo, że Rekomendacja [XML] jest zasadniczo związana ze składnią XML, również zawiera trochę specjalich wymagań raportowania dla porocesorów XML.
Wymagania raportowania zawierają błędy, które są poza zasięgiem tej specyfikacji i informacjo dokumentu. Wszystkie z wymagań XML dla raportowania informacji dokumentu zostały zintegrowane w zbiór informacyjny XML; numery w nawiasach odnoszą się do specyfikacji Rekomendacji XML:
Rozważ następujący przykłąd dokumentu XML:
<?xml version="1.0"?> <msg:message doc:date="19990421" xmlns:doc="http://doc.example.org/namespaces/doc" xmlns:msg="http://message.example.org/" >Phone home!</msg:message>
Zbiór informacji dla tego dokumentu XML zawiera następujące przedmioty informacyjne:
http://message.example.org/
",
część lokalna "message
",
i prefiks "msg
".
http://doc.example.org/namespaces/doc
",
częścią lokalną "date
",
prefiksem "doc
",
i znormalizowaną wartością "19990421
".
http://www.w3.org/XML/1998/namespace
,
http://doc.example.org/namespaces/doc
, oraz
http://message.example.org/
przestrzeniami nazw.
Następujące informacje nie są przedstawione w obecnej wersji zbioru informacyjnego XML (ta lista nie ma na celu być kompletną):
<foo/>
oraz <foo></foo>
.See Schemat RDF dla zbioru informacyjnego XML dla formalnego znakowania zbioru informacji.