Das XML Information Set ( XML Infoset ) ist eine W3C-Spezifikation , die ein abstraktes Datenmodell eines XML- Dokuments anhand einer Menge von Informationselementen definiert . [ 1 ] Das XML Infoset bietet eine standardisierte Möglichkeit, auf die Komponenten von XML-Dokumenten zu verweisen und dient als Grundlage für XML-bezogene Standards und Werkzeuge.

Das XML-Infoset identifiziert elf verschiedene Arten von Informationselementen, darunter das Dokument, Elemente, Attribute, Verarbeitungsanweisungen , Zeichen und Namensräume . Jedes Informationselement verfügt über eine Reihe benannter Eigenschaften, die spezifische Aspekte des modellierten XML-Dokuments repräsentieren. Beispielsweise besitzt ein Element-Informationselement Eigenschaften wie den Namensraumnamen, den lokalen Namen , die untergeordneten Elemente und die Attribute des Elements .

Ein XML-Dokument besitzt einen Informationssatz, wenn es wohlgeformt ist und die Namensraumbeschränkungen erfüllt. Es ist nicht erforderlich, dass ein XML-Dokument gemäß einer DTD oder einem XML-Schema gültig ist, um einen Informationssatz zu besitzen.

XML wurde ursprünglich ohne formale Definition seines Informationssets entwickelt. Diese konzeptionelle Grundlage wurde erst durch spätere Arbeiten ab 1999 formalisiert, die Ende Dezember desselben Jahres erstmals als separater W3C-Arbeitsentwurf veröffentlicht wurden. [ 2 ] Die zweite Ausgabe der Infoset-Empfehlung wurde am 4. Februar 2004 verabschiedet. [ 3 ]

Die XML Information Set-Spezifikation hat sich zu einem Eckpfeiler des XML-Technologie-Stacks entwickelt und ermöglicht es übergeordneten Spezifikationen wie XPath , XSLT , DOM , XQuery und vielen anderen, ihre Funktionalität anhand des XML-Infosets anstatt der konkreten XML-Syntax zu beschreiben. Diese Abstraktion erlaubt es diesen Technologien, XML-Inhalte unabhängig von ihrem spezifischen Serialisierungsformat zu verarbeiten. Sollte jemals eine Version 2.0 des XML-Standards veröffentlicht werden, ist es wahrscheinlich, dass die Infoset-Empfehlung als integraler Bestandteil dieses Standards übernommen wird.

Informationselemente

Ein Informationsset kann bis zu elf verschiedene Arten von Informationselementen enthalten:

  1. Das Dokumentinformationselement (immer vorhanden)
  2. Elementinformationen
  3. Attributinformationen
  4. Informationen zu Verarbeitungsanweisungen
  5. Nicht erweiterte Entitätsreferenzinformationen
  6. Charakterinformationen
  7. Kommentarinformationen
  8. Informationselement zur Dokumenttypdeklaration
  9. Nicht analysierte Entitätsinformationen
  10. Notationsinformationen
  11. Namensraum -Informationen

Infoset-Erweiterung

Infoset-Erweiterung oder Infoset-Modifikation bezeichnet den Prozess der Modifizierung des Infosets während der Schema -Validierung, beispielsweise durch Hinzufügen von Standardattributen. Das erweiterte Infoset wird als Post-Schema-Validation-Infoset oder PSVI bezeichnet . [ 4 ]

Die Erweiterung von Infosets ist umstritten, da behauptet wird, sie verletze die Modularität und führe häufig zu Interoperabilitätsproblemen, da Anwendungen unterschiedliche Informationen erhalten, je nachdem, ob eine Validierung durchgeführt wurde oder nicht. [ 5 ]

Infoset-Erweiterung wird von XML Schema unterstützt , jedoch nicht von RELAX NG .

Serialisierung

Typischerweise wird ein XML Information Set als XML serialisiert. [ 6 ] Es gibt auch Serialisierungsformate für Binary XML , CSV [ 7 ] und JSON . [ 8 ]

Siehe auch

XML-Informationssatzinstanzen:

Referenzen