edition W3C.de

XML Information Set

Deutsche Übersetzung

06. Mai 2002

Diese Version:
http://www.schumacher-netz.de/TR/2001/REC-xml-infoset-20011024-de.html
Übersetzer:
Stefan Schumacher, schumacher-netz.de <sts@schumacher-netz.de>

Bei diesem Dokument handelt es sich um eine Übersetzung eines W3C-Textes. Dieser Text ist urheberrechtlich geschützt; bitte beachten Sie die nachfolgenden Hinweise des Originaldokuments. Die Rechte an der Übersetzung liegen bei den Übersetzern. Die Übersetzung hat keine durch das W3C legitimierte, normative Wirkung. Das einzige maßgebliche Dokument ist das englische Original.

Bitte senden Sie Fehler und Korrekturen zur deutschen Fassung an die Übersetzer.

Kommentare der Übersetzer, die als solche gekennzeichnet sind, unterliegen dem Urheberrecht der Übersetzer. Sie sind nicht Bestandteil des Ursprungsdokuments.


W3C

XML Information Set

W3C-Empfehlung 24. Oktober 2001

Diese Version:
http://www.w3.org/TR/2001/REC-xml-infoset-20011024
Aktuelle Version:
http://www.w3.org/TR/xml-infoset
Vorherige Version:
http://www.w3.org/TR/2001/PR-xml-infoset-20010810
Editoren:
John Cowan <jcowan@reutershealth.com>
Richard Tobin <richard@cogsci.ed.ac.uk>

Zusammenfassung

Diese Spezifikation stellt Definitionen zur Verwendung in anderen Spezifikationen bereit, die sich auf die Informationen in einem XML-Dokument beziehen.

Status dieses Dokuments

Dieser Bereich beschreibt den Status dieses Dokuments zur Zeit seiner Veröffentlichung. Andere Dokumente können dieses Dokument ersetzen. Der aktuelle Status dieser Dokumentenserie wird vom W3C gepflegt.

Dies ist die W3C-Empfehlung XML Information Set.

Dieses Dokument wurde von Mitgliedern des W3C und anderen interessierten Gruppen überprüft und vom Direktor als eine W3C-Empfehlung gebilligt. Es ist ein stabiles Dokument und kann als Referenzmaterial verwendet oder als normative Referenz von anderen Dokumenten zitiert werden. Die Absicht des W3C bei der Erstellung dieser Empfehlung ist es, die Aufmerksamkeit auf diese Spezifikation zu lenken und deren weitläufige Verbreitung zu fördern. Dies erhöht die Funktionalität und die Interoperabilität des Webs.

Dieses Dokument wurde von der W3C XML Core Working Group als Teil der XML-Aktivität in der W3C Architecture Domain erstellt. Für Hintergrundinformationen zu dieser Arbeit konsultieren Sie das XML Activity Statement.

Es gibt Patentoffenlegungen, die mit der Spezifikation XML Information Set verbunden sind. Diese können auf der Seite XML Infoset Patent Statement eingesehen werden, in Konformität zu der W3C Policy.

Bitte senden Sie Berichte über Fehler in diesem Dokument an www-xml-infoset-comments@w3.org (öffentliches Archiv).

Die Liste der bekannten Fehler in dieser Spezifikation ist erhältlich unter http://www.w3.org/2001/10/02/xml-infoset-errata.html.

Die englische Version dieser Spezifikation ist die einzige normative Version. Informationen zu Übersetzungen dieses Dokuments sind verfügbar unter http://www.w3.org/XML/#trans.

Eine Liste der aktuellen Empfehlungen und anderer technischer Dokumente ist unter http://www.w3.org/TR zu finden.

Inhaltsverzeichnis

1 Einleitung
    1.1 Namensräume
    1.2 Entities
    1.3 Behandlung des Zeilenendes
    1.4 Base-URIs
    1.5 ''Unknown'' und ''No Value''
    1.6 Synthetische Infosets
2 Informationseinheiten
    2.1 Die Informationseinheit für Dokumentelemente
    2.2 Informationseinheiten für Elemente
    2.3 Informationseinheiten für Attribute
    2.4 Informationseinheiten für Verarbeitungsanweisungen
    2.5 Informationseinheiten für nicht erweiterte Entity-Verweise
    2.6 Informationseinheiten für Zeichendaten
    2.7 Informationseinheiten für Kommentare
    2.8 Die Informationseinheit für Dokumenttyp-Deklarationen
    2.9 Informationseinheiten für nicht analysierte Entities
    2.10 Informationseinheiten für Notationen
    2.11 Informationseinheiten für Namensräume
3 Konformität

Anhänge

A Quellenangaben
    A.1 Quellenangaben (normativ)
    A.2 Quellenangaben (informativ)
B Rückmeldungsanforderungen von XML 1.0 (informativ)
C Beispiel (informativ)
D Was nicht im Information Set ist
E RDF Schema (informativ)

Anhang zur Übersetzung

a Verweise der Übersetzer


1 Einleitung

Diese Spezifikation definiert eine abstrakte Datenzusammenstellung, genannt XML Information Set (Infoset). Ihr Zweck ist die Bereitstellung einer beständigen Informationszusammenstellung, die in anderen Spezifikationen verwendet werden kann, die auf die Informationen in einem wohlgeformten XML-Dokument [XML] zurückgreifen müssen.

Die Spezifikation versucht weder umfassend zu sein - das primäre Kriterium für die Inklusion einer Informationseinheit oder Eigenschaft ist der erwartete Nutzen in zukünftigen Spezifikationen -, noch gibt sie eine minimale Anzahl der Informationen vor, die von einem XML-Prozessor zurückgegeben werden müssen.

Ein XML-Dokument hat ein Information Set, wenn es wohlgeformt ist und die Namensraumzwänge erfüllt, die unten beschrieben sind. Ein XML-Dokument muss nicht gültig sein, um ein Information Set zu besitzen.

Information Sets können von Methoden erzeugt werden (nicht in dieser Spezifikation beschrieben), die sich von den Methoden des Parsens eines XML-Dokuments unterscheiden. Siehe 1.6 Synthetische Infosets unten.

Das Information Set eines XML-Dokuments besteht aus (mehreren) Informationseinheiten; das Information Set für ein wohlgeformtes XML-Dokument wird mindestens eine Informationseinheit für Dokumentelemente und einige andere Informationseinheiten enthalten. Eine Informationseinheit ist eine abstrakte Beschreibung eines bestimmten Teils eines XML-Dokuments: Jede Informationseinheit hat eine Menge verbundener benannter Eigenschaften. In dieser Spezifikation werden die Eigenschaftsnamen in eckigen Klammern dargestellt, [so]. Die Typen der Informationseinheiten werden in 2 Informationseinheiten aufgelistet.

Das XML Information Set erfordert oder favorisiert keine bestimmte Schnittstelle oder eine Schnittstellenklasse. Diese Spezifikation zeigt die Information Sets der Einfachheit und Klarheit halber als einen modifizierten Baum. Es besteht jedoch nicht die Anforderung, dass das XML Information Set durch eine Baumstruktur verfügbar gemacht werden muss. Andere Interface-Typen, eingeschlossen (jedoch nicht darauf begrenzt) Event-basierte und Query-basierte Schnittstellen, können ebenfalls Informationen bereitstellen, die konform zur Spezifikation XML Information Set sind.

Die Begriffe "Information Set" und "Informationseinheit" sind in ihrer Bedeutung den generischen Begriffen "Baum" und "Knoten" ähnlich, die in der Computerwelt verwendet werden. Die ersteren Begriffe werden jedoch in dieser Spezifikation verwendet, um mögliche Verwechslungen mit anderen Datenmodellen zu vermeiden. Informationseinheiten sind nicht vollkommen mit den "Knoten" des DOM oder den Definitionen von "Baum" und "Knoten" des XPath-Datenmodells identisch.

In dieser Spezifikation werden die Worte "muss", "sollte" und "könnte" im Sinne von [IETF RFC 2119] verwendet, mit der Abweichung, dass die Worte nicht großgeschrieben werden.

1.1 Namensräume

Es wird nicht angenommen, dass XML 1.0-Dokumente, die nicht konform zu [Namensräume] sind, bedeutungsvolle Information Sets haben, auch wenn sie technisch wohlgeformt sind. Das bedeutet, dass diese Spezifikation kein Information Set für Dokumente definiert, die Element- oder Attributnamen mit Doppelpunkt anders verwenden, als in [Namensräume] definiert ist.

Weiterhin definiert diese Spezifikation kein Information Set für Dokumente, die relative URI-Verweise in der Namensraum-Deklaration verwenden. Dies geschieht in Übereinstimmung mit der Entscheidung der W3C XML Plenary Interest Group, wie in [Relative URI-Verweise in Namensraum-Deklarationen] beschrieben.

Der Wert einer Eigenschaft [namespace name] ist der normalisierte Wert des entsprechenden Namensraumattributs; vom Prozessor wird kein zusätzlicher URI-Ersatzmechanismus angewandt, um den Wert zu bearbeiten.

1.2 Entities

Ein Information Set beschreibt sein XML-Dokument mit bereits erweiterten Entity-Verweisen, das heißt, repräsentiert von den Informationseinheiten, die dem Ersatztext der Entity-Verweise entsprechen. Es gibt jedoch zahlreiche Umstände, in denen ein Prozessor diese Erweiterung nicht vornehmen könnte. Ein Entity könnte nicht deklariert sein oder nicht zu empfangen sein. Ein nicht validierender Prozessor könnte nach seinem Ermessen nicht alle Deklarationen lesen, und selbst wenn er dies würde, würde er vielleicht nicht alle externen Entities erweitern. In diesen Fällen wird eine Informationseinheit für nicht erweiterte Entity-Verweise verwendet, um den Entity-Verweis zu repräsentieren.

1.3 Behandlung des Zeilenendes

Die Werte aller Eigenschaften im Infoset berücksichtigen die Normalisierung des Zeilenendes, die in [XML], Abschnitt 2.11 "Behandlung des Zeilenendes", beschrieben ist.

1.4 Base-URIs

Einige Informationseinheiten haben einen [base URI] oder eine Eigenschaft [declaration base URI]. Diese werden nach den Regeln in [XMLBase] verarbeitet. Beachten Sie, dass der Empfang einer Quelle Umleitungen auf der Parser-Ebene bedeuten kann (zum Beispiel in einem Entity-Resolver) oder darunter. In diesem Fall ist der Base-URI der endgültige URI, der zum Empfang der Quelle nach allen Umleitungen verwendet wird.

Der Wert dieser Eigenschaften spiegelt keinerlei URI-Ersatzmechanismus wieder, der für den Empfang einer Quelle erforderlich sein könnte, aber er kann ersetzte Zeichen enthalten, wenn diese vom Dokument angegeben sind oder durch einen Server im Fall einer Umleitung zurückgegeben werden.

In einigen Fällen (wenn zum Beispiel ein Dokument von einer Zeichenkette oder einer Pipe liest) enden die Regeln von [XMLBase] in einem Base-URI, der anwendungsabhängig ist. In diesen Fällen definiert diese Spezifikation keinen Wert für den [base URI] oder die Eigenschaft [declaration base URI].

Werden relative URIs aufgelöst, sollte die Eigenschaft [base URI] dem Wert des Attributs xml:base vorgezogen werden. Diese beiden Werte können im Fall von Synthetischen Infosets widersprüchlich sein.

1.5 ''Unknown'' und ''No Value''

Einige Eigenschaften können den Wert unknown oder no value besitzen, was bedeutet, dass ein Eigenschaftswert unbekannt (unknown) ist oder keinen Wert (no value) hat. Diese Werte unterscheiden sich untereinander und von anderen Werten. Genauer gesagt unterscheiden sie sich von einer leeren Zeichenkette, einer leeren Zusammenstellung (orig.: set) und einer leeren Liste, von denen keiner, einfach gesagt, einen Inhalt (orig.: member) besitzt. Diese Spezifikation verwendet den Begriff Null nicht, weil er in einigen Communities bestimmte Bedeutungen hat, die hier nicht zutreffen würden.

1.6 Synthetische Infosets

Diese Spezifikation beschreibt das Information Set, das durch das Parsen eines XML-Dokuments entsteht. Information Sets können auf andere Weise hergestellt werden, zum Beispiel durch die Verwendung eines APIs wie das DOM oder durch die Transformation eines existierenden Information Sets.

Ein Information Set, das zu einem realen Dokument gehört, wird zwangsläufig auf verschiedene Weise widerspruchsfrei sein. Zum Beispiel ist die Eigenschaft [in-scope namespaces] eines Elements vereinbar mit der Eigenschaft [namespace attributes] des Elements und dessen Vorfahren. Dies mag nicht für ein Information Set gelten, dass auf andere Weise entstanden ist. In solch einem Fall gibt es kein XML-Dokument, das zu dem Information Set gehört. Um dieses Infoset zu serialisieren, ist eine Auflösung der Inkonsistenzen notwendig (zum Beispiel, indem Namensraum-Deklarationen ausgegeben werden, die zu den Namensräumen im Geltungsbereich gehören).

2 Informationseinheiten

Ein Information Set kann bis zu elf verschiedene Informationseinheit-Typen enthalten, wie in den folgenden Abschnitten erklärt wird. Jede Informationseinheit hat Eigenschaften. Zur Vereinfachung der Referenzierung ist jeder Eigenschaft ein Name zugewiesen, angezeigt wird er [so]. Für jede Informationseinheit sind Verweise zu einer Definition und/oder der Syntax in der Empfehlung XML 1.0 [XML] angegeben.

2.1 Die Informationseinheit für Dokumentelemente

XML-Definition: document (Abschnitt 2, Dokumente)

XML-Syntax: [1] Document (Abschnitt 2.1, Wohlgeformte XML-Dokumente)

Es gibt genau eine Informationseinheit für Dokumentelemente im Information Set und alle anderen Informationseinheiten sind von den Eigenschaften der Informationseinheit für Dokumentelemente zugänglich, entweder direkt oder indirekt über die Eigenschaften anderer Informationseinheiten.

Die Informationseinheit für Dokumentelemente hat die folgenden Eigenschaften:

  1. [children] Eine geordnete Liste mit Informationseinheiten für Kindelemente in Dokumentreihenfolge. Die Liste beinhaltet genau eine Informationseinheit für Elemente. Die Liste beinhaltet ebenfalls eine Informationseinheit für Verarbeitungsanweisungen für jede Verarbeitungsanweisung außerhalb des Dokumentelements und eine Informationseinheit für Kommentare für jeden Kommentar außerhalb des Dokumentelements. Verarbeitungsanweisungen und Kommentare innerhalb der DTD sind davon ausgeschlossen. Gibt es eine Dokumenttyp-Deklaration, enthält die Liste ebenfalls eine Informationseinheit für Dokumenttyp-Deklarationen.

  2. [document element] Die Informationseinheit für Elemente, die zum Dokumentelement gehört.

  3. [notations] Eine unsortierte Gruppe mit Informationseinheiten für Notationen, eine für jede Notation, die in der DTD deklariert ist.

  4. [unparsed entities] Eine unsortierte Gruppe mit Informationseinheiten für nicht analysierte Entities, eine für jedes nicht analysierte (orig. unparsed) Entity, welches in der DTD deklariert ist.

  5. [base URI] Der Base-URI des Dokument-Entity.

  6. [character encoding scheme] Der Name des Zeichenverschlüsselungsschemas, in dem das Dokument-Entity ausgedrückt ist.

  7. [standalone] Die Anzeige des Standalone-Status eines Dokuments, entweder yes oder no. Diese Eigenschaft geht aus der optionalen Standalone-Dokumentdeklaration in der XML-Deklaration am Anfang des Dokument-Entity hervor und hat keinen Wert, wenn es keine Standalone-Dokumentdeklaration gibt.

  8. [version] Eine Zeichenkette, welche die XML-Version des Dokuments repräsentiert. Diese Eigenschaft wird aus der optionalen XML-Deklaration am Anfang eines Dokument-Entity abgeleitet und hat keinen Wert, wenn keine XML-Deklaration vorhanden ist.

  9. [all declarations processed] Diese Eigenschaft ist streng genommen kein Teil des Infosets eines Dokuments. Vielmehr ist es eine Anzeige, ob der Prozessor die gesamte DTD gelesen hat. Der Wert ist vom Typ Boolean. Ist der Wert false (falsch), sind bestimmte Eigenschaften unbekannt (angegeben in deren Beschreibungen unten). Ist der Wert true (wahr), sind diese Eigenschaften niemals unbekannt.

2.2 Informationseinheiten für Elemente

XML-Definition: element (Abschnitt 3, Logische Strukturen)

XML-Syntax: [39] Element (Abschnitt 3, Logische Strukturen)

Es gibt eine Informationseinheit für Elemente für jedes Element, das im XML-Dokument erscheint. Eine der Informationseinheiten für Elemente ist der Wert der Eigenschaft [document element] der Informationseinheit für Dokumentelemente, die der Wurzel des Elementbaums entspricht. Alle anderen Informationseinheiten für Elemente sind rekursiv über deren [children]-Eigenschaft zugänglich.

Eine Informationseinheit für Elemente hat die folgenden Eigenschaften:

  1. [namespace name] Der Namensraumname des Elementtyps, sofern einer existiert. Gehört das Element nicht zu einem Namensraum, ist dieser Eigenschaft kein Wert zugewiesen.

  2. [local name] Der lokale Teil des Elementtypnamens. Dies schließt kein Namensraum-Präfix oder einen folgenden Doppelpunkt ein.

  3. [prefix] Das Namensraum-Präfix des Elementtypnamens. Besitzt der Name kein Präfix, ist dieser Eigenschaft kein Wert zugewiesen. Beachten Sie, dass Anwendungen, die Namensräume berücksichtigen, den Namensraumnamen verwenden sollten, um Elemente zu identifizieren, nicht das Präfix.

  4. [children] Eine geordnete Liste mit Informationseinheiten für Kindelemente in Dokumentreihenfolge. Diese Liste enthält Informationseinheiten für Elemente, Verarbeitungsanweisungen, nicht erweiterte Entity-Verweise, Zeichendaten und Kommentare, eine Einheit für jedes Element, für jede Verarbeitungsanweisung, für jeden Verweis zu einem nicht verarbeiteten externen Entity, für alle Zeichendaten und für jeden Kommentar, der direkt im aktuellen Element erscheint. Ist das Element leer, hat diese Liste keinen Inhalt (orig. members).

  5. [attributes] Eine ungeordnete Zusammenstellung mit Informationseinheiten für Attribute, eine Einheit für jedes Attribut (angegeben oder als Voreinstellung aus der DTD) dieses Elements. Namensraum-Deklarationen erscheinen nicht in dieser Zusammenstellung. Hat das Element keine Attribute, hat diese Liste keinen Inhalt (orig. members).

  6. [namespace attributes] Eine ungeordnete Zusammenstellung mit Informationseinheiten für Attribute, eine für jede Namensraum-Deklaration (angegeben oder als Voreinstellung aus der DTD) dieses Elements. Eine Deklaration der Form xmlns="", die den voreingestellten Namensraum aufhebt, zählt als Namensraum-Deklaration. Per Definition haben alle Namensraumattribute (eingeschlossen die mit xmlns benannten, deren [prefix]-Eigenschaft keinen Wert hat) den Namensraum-URI http://www.w3.org/2000/xmlns/. Hat das Element keine Namensraum-Deklarationen, hat diese Zusammenstellung keinen Inhalt.

  7. [in-scope namespaces] Eine ungeordnete Zusammenstellung mit Informationseinheiten für Namensräume, eine für jeden Namensraum, der für dieses Element gültig ist. Diese Zusammenstellung enthält immer eine Einheit mit dem Präfix xml, das implizit an den Namensraumnamen http://www.w3.org/XML/1998/namespace gebunden ist. Es enthält keine Einheit mit dem Präfix xmlns (welches zur Namenraum-Deklaration verwendet wird), weil eine Anwendung niemals auf ein Element oder Attribut mit diesem Präfix stoßen kann. Die Zusammenstellung wird alle Informationseinheiten für Namensräume enthalten, die auch in der Liste der [namespace attributes] zu finden sind, mit Ausnahme derer, die eine Deklaration der Form xmlns="" repräsentieren und somit keinen Namensraum deklarieren, sondern den voreingestellten Namensraum aufheben. Wenn die Präfixe der qualifizierten Namen aufgelöst werden, sollte diese Eigenschaft vorrangig zur Eigenschaft [namespace attributes] verwendet werden. Sie könnte im Fall von Synthetischen Infosets widersprüchlich sein.

  8. [base URI] Der Base-URI des Elements.

  9. [parent] Die Informationseinheit für Dokumentelemente oder Elemente, die diese Informationseinheit in ihrer [children]-Eigenschaft enthält.

2.3 Informationseinheiten für Attribute

XML-Definition: attribute (Abschnitt 3.1, Start-Tags, End-Tags und Leeres-Element-Tags)

XML-Syntax: [41] Attribute (Abschnitt 3.1, Start-Tags, End-Tags und Leeres-Element-Tags)

Es gibt eine Informationseinheit für Attribute für jedes Attribut (angegeben oder voreingestellt) eines jeden Elements in einem Dokument, einschließlich der Attribute, die eine Namensraum-Deklaration darstellen. Letztere erscheinen jedoch als Teil der Eigenschaft [namespace attributes] eines Elements und nicht als Teil der [attribute]-Eigenschaft eines Elements.

In der DTD deklarierte Attribute, die keinen voreingestellten Wert besitzen und nicht im Start-Tag des Elements definiert sind, werden nicht von Informationseinheiten für Attribute repräsentiert.

Eine Informationseinheit für Attribute hat die folgenden Eigenschaften:

  1. [namespace name] Der Namensraumname des Attributs, sofern einer existiert. Ansonsten ist dieser Eigenschaft kein Wert zugewiesen.

  2. [local name] Der lokale Teil eines Attributnamen. Dies schließt kein Namensraum-Präfix oder einen folgenden Doppelpunkt ein.

  3. [prefix] Das Namensraum-Präfix eines Attributnamens. Besitzt der Name kein Präfix, ist dieser Eigenschaft kein Wert zugewiesen. Beachten Sie, dass Anwendungen, die Namensräume berücksichtigen, den Namensraumnamen verwenden sollten, um Elemente zu identifizieren, nicht das Präfix.

  4. [normalized value] Der normalisierte Attributwert (siehe 3.3.3 Normalisierung von Attributwerten [XML]).

  5. [specified] Diese Eigenschaft zeigt an, ob dieses Attribut direkt im Start-Tag seines Elements angegeben wurde oder über eine Voreinstellung in der DTD.

  6. [attribute type] Eine Anzeige des Typs, der für dieses Attribut in der DTD deklariert ist. Zugelassene Werte sind ID, IDREF, IDREFS, ENTITY, ENTITIES, NMTOKEN, NMTOKENS, NOTATION, CDATA und ENUMERATION. Ist das Attribut nicht deklariert, ist dieser Eigenschaft kein Wert zugewiesen. Wurde keine Deklaration gelesen und ist aber die Eigenschaft [all declarations processed] der Informationseinheit für Dokumentelemente false (falsch) (und existiert eventuell eine ungelesene Deklaration), dann ist der Wert dieser Eigenschaft unknown (unbekannt). Anwendungen sollten no value und unknown als äquivalent zu einem CDATA-Wert behandeln.

  7. [references] Ist der Attributtyp ID, NMTOKEN, NMTOKENS, CDATA oder ENUMERATION, hat diese Eigenschaft keinen Wert. Ist der Attributtyp unbekannt, ist der Wert dieser Eigenschaft unknown. Ansonsten (das ist, wenn der Attributtyp IDREF, IDREFS, ENTITY, ENTITIES oder NOTATION ist) ist der Wert dieser Eigenschaft eine geordnete Liste der Informationseinheiten für Elemente, nicht verarbeitete Entities oder Notationen, auf die im Attributwert in der Reihenfolge, in der sie erscheinen, Bezug genommen wird. In dem Fall, dass der Attributwert syntaktisch ungültig ist, ist dieser Eigenschaft kein Wert zugewiesen. Ist der Typ IDREF oder IDREFS und erscheint eine dieser IDs nicht als Wert eines ID-Attributs im Dokument, oder ist der Typ ENTITY, ENTITIES oder NOTATION und wurde keine Deklaration für die Entities oder die Notation gelesen, dann ist dieser Eigenschaft kein Wert oder der Wert unknown (unbekannt) zugewiesen, abhängig davon, ob die Eigenschaft [all declarations processed] der Informationseinheit für Dokumentelemente true (wahr) oder false (falsch) ist. Ist der Typ IDREF oder IDREFS und erscheint irgendeine dieser IDs als Wert von mehr als einem ID-Attribut im Dokument, dann ist dieser Eigenschaft kein Wert zugewiesen.

  8. [owner element] Die Informationseinheit für Elemente, welche diese Informationseinheit in ihrer [attributes]-Eigenschaft enthält.

2.4 Informationseinheiten für Verarbeitungsanweisungen

XML-Definition: processing instruction (Abschnitt 2.6, Verarbeitungsanweisungen)

XML-Syntax: [16] PI (Abschnitt 2.6, Verarbeitungsanweisungen)

Es gibt eine Informationseinheit für Verarbeitungsanweisungen für jede Verarbeitungsanweisung im Dokument. Die XML-Deklaration und Textdeklarationen für externe analysierte (orig. parsed) Entities werden nicht als Verarbeitungsanweisung angesehen.

Eine Informationseinheit für Verarbeitungsanweisungen hat die folgenden Eigenschaften:

  1. [target] Eine Zeichenkette, die das Ziel der Verarbeitungsanweisung repräsentiert (ein XML-Name).

  2. [content] Eine Zeichenkette, die den Inhalt der Verarbeitungsanweisung repräsentiert, ausgeschlossen das Ziel und alle Leerzeichen, die direkt darauf folgen. Gibt es einen solchen Inhalt nicht, ist der Wert dieser Eigenschaft eine leere Zeichenkette.

  3. [base URI] Der Base-URI der PI (Verarbeitungsanweisung). Beachten Sie: Wird ein Infoset als XML-Dokument serialisiert, wird es nicht möglich sein, den Base-URI einer PI zu bewahren, die ursprünglich auf der höchsten Ebene eines externen Entities erschien, weil es keine Syntax für PIs gibt wie das xml:base-Attribut für Elemente.

  4. [notation] Die vom Ziel benannte Informationseinheit für Notationen. Gibt es keine Deklaration für eine Notation mit diesem Namen, ist dieser Eigenschaft kein Wert zugewiesen. Wurde keine Deklaration gelesen, aber ist die [all declarations processed]-Eigenschaft der Informationseinheit für das Dokumentelement false (und existiert eventuell eine ungelesene Deklaration), dann ist der Wert der Eigenschaft unknown.

  5. [parent] Die Informationseinheit für Dokumentelemente, Elemente oder Dokumenttyp-Deklarartionen, die diese Informationseinheit in ihrer [children]-Eigenschaft enthält.

2.5 Informationseinheiten für nicht erweiterte Entity-Verweise

XML-Definition: Abschnitt 4.4.3, Inkludiert, falls validierend

Eine Informationseinheit für nicht erweiterte Entity-Verweise dient als Platzhalter, mit der ein XML-Prozessor anzeigen kann, dass er ein externes verarbeitetes Entity nicht erweitert hat. Es gibt so eine Informationseinheit für jeden nicht erweiterten Verweis zu einem externen allgemeinen Entity innerhalb des Inhalts eines Elements. Ein validierender XML-Prozessor oder ein nicht validierender XML-Prozessor, der alle externen allgemeinen Entities liest, wird niemals Informationseinheiten für nicht erweiterte Entity-Verweise für ein gültiges Dokument erzeugen.

Eine Informationseinheit für nicht erweiterte Entity-Verweise hat die folgenden Eigenschaften:

  1. [name] Der Name des referenzierten Entities.

  2. [system identifier] Der System Identifier des Entities, wie er in der Deklaration des Entities erscheint, ohne irgendeinen zusätzlichen URI-Ersatzmechanismus, der vom Prozessor angewandt wurde. Gibt es keine Deklaration für das Entity, ist dieser Eigenschaft kein Wert zugewiesen. Wurde keine Deklaration gelesen, ist aber die Eigenschaft [all declarations processed] der Informationseinheit für Dokumentelemente false (falsch) (und existiert eventuell eine ungelesene Deklaration), dann ist der Wert dieser Eigenschaft unknown (unbekannt).

  3. [public identifier] Der Public Identifier des Entities, normalisiert wie in 4.2.2 External Entities [XML] beschrieben. Gibt es keine Deklaration für das Entity oder schließt die Deklaration keinen Public Identifier ein, ist dieser Eigenschaft kein Wert zugewiesen. Wurde keine Deklaration gelesen, ist aber die Eigenschaft [all declarations processed] der Informationseinheit für Dokumentelemente false (falsch) (und existiert eventuell eine ungelesene Deklaration), dann ist der Wert dieser Eigenschaft unknown (unbekannt).

  4. [declaration base URI] Der Base-URI, zu dem der System Identifier aufgelöst werden sollte (z.B. der Base-URI der Quelle innerhalb welcher die Entity-Deklaration erscheint). Diese Eigenschaft ist unknown oder hat keinen Wert, wenn die gleichen Umstände vorliegen wie bei der Eigenschaft [system identifier].

  5. [parent] Die Informationseinheit für Elemente, die diese Informationseinheit in ihrer [children]-Eigenschaft enthält.

2.6 Informationseinheiten für Zeichendaten

XML-Syntax: [2] Char (Abschnitt 2.2, Zeichen)

Es gibt eine Informationseinheit für Zeichendaten für alle Zeichendaten, die im Dokument erscheinen, ob als Literal, als Zeichenverweis oder innerhalb eines CDATA-Bereichs.

Jedes Zeichen ist logisch betrachtet eine allein stehende Informationseinheit. Es steht XML-Anwendungen jedoch frei, Zeichen in größeren Gruppen zusammenzufassen, wenn dies notwendig oder wünschenswert ist.

Eine Informationseinheit für Zeichendaten hat die folgenden Eigenschaften:

  1. [character code] Der ISO-10646-Zeichencode des Zeichens (im Bereich 0 bis #x10FFFF, obwohl nicht jeder Wert in diesem Bereich ein erlaubter XML-Zeichencode ist).

  2. [element content whitespace] Ein Boolescher Wert, der anzeigt, ob das im Elementinhalt auftauchende Zeichen ein Leerraum ist (siehe [XML], 2.10 "Behandlung von Leerraum"). Beachten Sie, dass von validierenden XML-Prozessoren durch die XML 1.0-Spezifikation gefordert wird, diese Information anzugeben. Gibt es keine Deklaration für das beinhaltende Element, enthält diese Eigenschaft keinen Wert für Leerraumzeichen. Wurde keine Deklaration gelesen, ist aber die Eigenschaft [all declarations processed] der Informationseinheit für Dokumentelemente false (falsch) (und existiert eventuell eine ungelesene Deklaration), dann ist der Wert dieser Eigenschaft für Leerraumzeichen unknown (unbekannt). Er ist immer false für Zeichen, die kein Leerraum sind.

  3. [parent] Die Informationseinheit für Elemente, die diese Informationseinheit in ihrer [children]-Eigenschaft enthält.

2.7 Informationseinheiten für Kommentare

XML-Definition: comment (Abschnitt 2.5, Kommentare)

XML-Syntax: [15] Comment (Abschnitt 2.5, Kommentare)

Es gibt eine Informationseinheit für Kommentare für jeden XML-Kommentar im originalen Dokument, außer für die Kommentare, die in der DTD erscheinen (welche nicht repräsentiert werden).

Eine Informationseinheit für Kommentare hat die folgenden Eigenschaften:

  1. [content] Eine Zeichenkette, die den Inhalt des Kommentars repräsentiert.

  2. [parent] Die Informationseinheit für Dokumentelemente oder Elemente, die diese Informationseinheit in ihrer [children]-Eigenschaft enthält.

2.8 Die Informationseinheit für Dokumenttyp-Deklarationen

XML-Definition: document type declaration (Abschnitt 2.8, Prolog und Dokumenttyp-Deklaration)

XML-Syntax: [28] doctypedecl (Abschnitt 2.8, Prolog und Dokumenttyp-Deklaration)

Hat das XML-Dokument eine Dokumenttyp-Deklaration, dann enthält dieses Information Set genau eine Informationseinheit für Dokumenttyp-Deklarationen. Beachten Sie, dass Entities und Notationen als Eigenschaften der Informationseinheit für Dokument-Elemente angegeben werden, nicht als Eigenschaften der Informationseinheit für Dokumenttyp-Deklarationen.

Eine Informationseinheit für Dokumenttyp-Deklarationen hat die folgenden Eigenschaften:

  1. [system identifier] Der System Identifier des externen Subset, wie er in der DOCTYPE-Deklaration erscheint, ohne irgendeinen zusätzlichen URI-Ersatzmechanismus, der vom Prozessor angewandt wurde. Gibt es kein externes Subset, ist dieser Eigenschaft kein Wert zugewiesen.

  2. [public identifier] Der Public Identifier des externen Subsets (der externen Teilmenge), normalisiert wie in 4.2.2 External Entities [XML] beschrieben. Gibt es kein externes Subset oder hat es keinen Public Identifier, ist dieser Eigenschaft kein Wert zugewiesen.

  3. [children] Eine geordnete Liste mit Informationseinheiten für Verarbeitungsanweisungen, welche Verarbeitungsanweisungen, die in der DTD erscheinen, in der originalen Dokumentreihenfolge repräsentieren. Informationseinheiten des internen DTD-Subsets erscheinen vor denen im externen Subset.

  4. [parent] Die Informationseinheit für Dokumentelemente.

2.9 Informationseinheiten für nicht analysierte Entities

XML-Definition: entity (Abschnitt 4, Physische Strukturen)

XML-Syntax: [71] GEDecl (Abschnitt 4.2, Entities)

Es gibt eine Informationseinheit für nicht analysierte Entities für jedes nicht analysierte allgemeine Entity, das in der DTD deklariert ist.

Eine Informationseinheit für nicht analysierte Entities hat die folgenden Eigenschaften:

  1. [name] Der Name des Entities.

  2. [system identifier] Der System Identifier des Entities, wie er in der Deklaration des Entities erscheint, ohne irgendeinen zusätzlichen URI-Ersatzmechanismus, der vom Prozessor angewandt wurde.

  3. [public identifier] Der Public Identifier des Entities, normalisiert wie in 4.2.2 External Entities [XML] beschrieben. Hat das Entity keinen Public Identifier, ist dieser Eigenschaft kein Wert zugeordnet.

  4. [declaration base URI] Der Base-URI, zu dem der System Identifier relativ aufgelöst werden sollte (z.B. der Base-URI der Quelle, innerhalb der die Entity-Deklaration erscheint).

  5. [notation name] Der Notationsname, der mit dem Entity verbunden ist.

  6. [notation] Die Informationseinheit für Notationen, benannt nach dem Notationsnamen. Gibt es keine Deklaration für eine Notation mit diesem Namen, ist dieser Eigenschaft kein Wert zugewiesen. Wurde keine Deklaration gelesen, ist aber die Eigenschaft [all declarations processed] der Informationseinheit für Dokumentelemente false (falsch) (und existiert eventuell eine ungelesene Deklaration), dann ist der Wert dieser Eigenschaft unknown (unbekannt).

2.10 Informationseinheiten für Notationen

XML-Definition: notation (Abschnitt 4.7, Notationen)

XML-Syntax: [82] NotationDecl (Abschnitt 4.7, Notationen)

Es gibt eine Informationseinheit für Notationen für jede Notation, die in der DTD deklariert ist.

Eine Informationseinheit für Notationen hat die folgenden Eigenschaften:

  1. [name] Der Name der Notation.

  2. [system identifier] Der System Identifier der Notation, wie er in der Deklaration der Notation erscheint, ohne irgendeinen zusätzlichen URI-Ersatzmechanismus, der vom Prozessor angewandt wurde. Wurde kein System Identifier angegeben, ist dieser Eigenschaft kein Wert zugeordnet.

  3. [public identifier] Der Public Identifier der Notation, normalisiert wie in 4.2.2 External Entities [XML] beschrieben. Hat die Notation keinen Public Identifier, ist dieser Eigenschaft kein Wert zugewiesen.

  4. [declaration base URI] Der Base-URI, zu dem der System Identifier relativ aufgelöst werden sollte (z. B. der Base-URI der Quelle, innerhalb der die Notation erscheint).

2.11 Informationseinheiten für Namensräume

Jedes Element im Dokument hat eine Informationseinheit für Namensräume für jeden Namensraum, der für dieses Element Gültigkeit besitzt.

Eine Informationseinheit für Namensräume hat die folgenden Eigenschaften:

  1. [prefix] Das Präfix, dessen Bindung diese Informationseinheit beschreibt. Syntaktisch ist das der Teil des Attributnamens, der dem Präfix xmlns: folgt. Ist der Attributname einfach xmlns, so dass die Deklaration dem voreingestellten Namensraum entspricht, ist dieser Eigenschaft kein Wert zugewiesen.

  2. [namespace name] Der Namensraumname, an den das Präfix gebunden ist.

3 Konformität

Weil der Zweck des Information Sets die Bereitstellung von Definitionen ist, ist die Konformität vielmehr eine Sache der Spezifikationen, die diese Definitionen verwenden, als eine Sache der Implementationen.

Spezifikationen, die sich auf das Infoset beziehen, müssen:

Erlaubt eine Spezifikation die Konstruktion eines Infosets, das Inkonsistenzen aufweist, wie oben unter Synthetische Infosets beschrieben, könnte sie beschreiben, wie diese Inkonsistenzen aufzulösen sind, und sollte so verfahren, wenn sie für die Serialisierung (Anordnung) des Infosets Vorsorge trifft.

A Quellenangaben

A.1 Quellenangaben (normativ)

ISO/IEC 10646
ISO/IEC 10646-1993 (E). Information technology -- Universal Multiple-Octet Coded Character Set (UCS) -- Part 1: Architecture and Basic Multilingual Plane. ISO (International Organization for Standardization). [Geneva]: International Organization for Standardization, 1993 (sowie Änderungen AM 1 bis AM 7).
Namensräume
Namensräume in XML. W3C, Editoren: Tim Bray, Dave Hollander, Andrew Layman. 14. Januar 1999. (Siehe http://www.edition-w3c.de/TR/1999/REC-xml-names-19990114/)
IETF RFC 2119
Key words for use in RFCs to Indicate Requirement Levels. Editor: S. Bradner. März 1997. (Siehe http://www.ietf.org/rfc/rfc2119.txt)
XML
Extensible Markup Language (XML) 1.0 (Second Edition). W3C, Editoren: Tim Bray, Jean Paoli, C.M. Sperberg-McQueen und Eve Maler. World Wide Web Consortium, 2000. (Siehe http://www.edition-w3c.de/TR/2000/REC-xml-20001006)
XMLBase
XML Base. W3C, Editor: Jonathan Marsh. Februar 2000. (Siehe http://www.edition-w3c.de/TR/2001/REC-xmlbase-20010627/)

A.2 Quellenangaben (informativ)

DOM
Document Object Model (DOM) Level 1 Specification. W3C, Editoren: Vidur Apparao, Steve Byrne, Mike Champion und andere. 1. Oktober 1998. (Siehe http://www.edition-w3c.de/TR/REC-DOM-Level-1/)
XPointer-Liaison
XPointer-Information Set Liaison Statement. W3C, Editor: Steven J. DeRose. 24. Februar 1999. (Siehe http://www.edition-w3c.de/TR/NOTE-xptr-infoset-liaison)
Relative URI-Verweise in Namensraum-Deklarationen
Results of W3C XML Plenary Ballot on relative URI References in namespace declarations, 3-17 July 2000. W3C, Editoren: Dave Hollander, C. M. Sperberg-McQueen. 6. September 2000. (Siehe http://www.w3.org/2000/09/xppa)
RDF Schema für XML Information Set
RDF Schema for the XML Information Set. W3C, Editor: Richard Tobin. 6. April 2001. (Siehe http://www.edition-w3c.de/TR/xml-infoset-rdfs)

B Rückmeldungsanforderungen von XML 1.0 (informativ)

Obwohl sich die Empfehlung XML 1.0 [XML] in erster Linie mit der XML-Syntax beschäftigt, beinhaltet sie ebenfalls einige Rückmeldungsanforderungen für XML-Prozessoren.

Die Anforderungen für Rückmeldungen beziehen Fehler ein, die nicht im Rahmen dieser Spezifikation liegen. Alle Anforderungen von XML 1.0 für Rückmeldungen über Dokumentinformationen wurden in die Spezifikation XML Information Set integriert, Zahlen in Klammern beziehen sich auf die Abschnitte in der XML-Empfehlung:

  1. Ein XML-Prozessor muss immer alle Zeichen in einem Dokument, die keine Bezeichner (orig. Markup) sind, an die Anwendung liefern (2.10).

  2. Ein validierender XML-Prozessor muss die Anwendung darüber in Kenntnis setzen, welche der Zeichendaten in einem Dokument Leerraum sind, der in Elementinhalten auftaucht.

  3. Ein XML-Prozessor muss Line-Ends (Wagenrücklauf) zu LF (Zeilenvorschub) normalisieren, bevor die Daten an die Anwendung weitergereicht werden (2.11).

  4. Ein XML-Prozessor muss den Wert von Attributen in Übereinstimmung mit den Regeln in Abschnitt 3.3.3 (Anm. d. Übers.: der XML-Spezifikation) normalisieren, bevor er sie zur Anwendung weiterreicht.

  5. Ein XML-Prozessor muss die Namen und externen Identifier (System Identifier, Public Identifier oder beide) von deklarierten Notationen an die Anwendung weiterreichen (4.7).

  6. Erscheint der Name eines nicht analysierten Entities als expliziter oder voreingestellter Wert eines Attributs ENTITY oder ENTITIES, muss ein XML-Prozessor die Namen, den System Identifier und (sofern vorhanden) den Public Identifier sowohl des Entities als auch der Notation an die Anwendung weiterreichen (4.6, 4.7).

  7. Ein XML-Prozessor muss Verarbeitungsanweisungen an die Anwendung weiterreichen (2.6).

  8. Ein XML-Prozessor (zwangsläufig ein nicht validierender), der den Ersatztext eines externen analysierten Entities nicht anstelle des Entity-Verweises inkludiert, muss die Anwendung davon in Kenntnis setzen, dass er das Entity erkannt, aber nicht gelesen hat (4.4.3).

  9. Ein validierender XML-Prozessor muss den Ersatztext eines Entities anstelle des Entity-Verweises inkludieren (5.2).

  10. Ein XML-Prozessor muss den voreingestellten Wert eines Attributs liefern, das in der DTD für einen gegebenen Elementtyp deklariert ist, aber nicht im Start-Tag des Elements erscheint (3.3.2).

C Beispiel (informativ)

Ziehen Sie das folgende XML-Beispieldokument in Betracht:

<?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>

Das Information Set für dieses XML-Dokument enthält die folgenden Informationseinheiten:

D Was nicht im Information Set ist

Die folgenden Informationen werden nicht von der aktuellen Version des XML Information Set repräsentiert (diese Liste erhebt keinen Anspruch auf Vollständigkeit):

  1. Die Inhaltsmodelle von Elementen, abgeleitet von ELEMENT-Deklarationen in der DTD.

  2. Die Gruppierung und Reihenfolge von Attributdeklarationen in ATTLIST-Deklarationen.

  3. Der Dokumenttypname.

  4. Leerraum außerhalb des Dokumentelements.

  5. Leerraum, der direkt dem Zielnamen einer PI (Verarbeitungsanweisung) folgt.

  6. Ob Zeichen durch Zeichenreferenzen repräsentiert werden.

  7. Der Unterschied zwischen den beiden Formen eines leeren Elements: <foo/> und <foo></foo>.

  8. Leerraum innerhalb von Start-Tags (anderer Leerraum als bedeutungstragender in Attributwerten) und End-Tags.

  9. Der Unterschied zwischen den Zeichen CR, CR-LF und LF für das Zeilenende.

  10. Die Reihenfolge von Attributen innerhalb eines Start-Tags.

  11. Die Reihenfolge von Deklarationen in der DTD.

  12. Die Grenzen von bedingten Abschnitten in der DTD.

  13. Die Grenzen von Parameter-Entities in der DTD.

  14. Kommentare in der DTD.

  15. Der Ort von Deklarationen (ob im internen oder externen Subset oder in Parameter-Entities).

  16. Alle ignorierten Deklarationen, eingeschlossen jene in einem bedingten Bereich IGNORE, sowie Entity- und Attributdeklarationen, die ignoriert werden, weil sie durch vorausgehende Deklarationen überschrieben werden.

  17. Die Art der Anführungsstriche (einfach oder doppelt), um Attributwerte anzugeben.

  18. Die Grenzen von allgemeinen analysierten Entities.

  19. Die Grenzen der Bereiche, die als CDATA ausgewiesen sind.

  20. Der voreingestellte Wert von Attributen, die in der DTD deklariert sind.

E RDF Schema (informativ)

Siehe [RDF Schema für XML Information Set] für eine formale Charakterisierung des Infosets.

Anhänge zur Übersetzung (nicht normativ)

a Verweise der Übersetzer

IETF RFC2396
RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax. IETF (Internet Engineering Task Force). T. Berners-Lee, R. Fielding, L. Masinter. 1998. (Siehe http://www.ietf.org/rfc/rfc2396.txt)
IETF RFC2732
RFC 2732: Format for Literal IPv6 Addresses in URL's.. IETF (Internet Engineering Task Force). R. Hinden, B. Carpenter, L. Masinter. 1999. (Siehe http://www.ietf.org/rfc/rfc2732.txt)