XML Information Set

XML Information Set (XML Infoset) is a W3C specification describing an abstract data model of an XML document in terms of a set of information items.[1] The definitions in the XML Information Set specification are meant to be used in other specifications that need to refer to the information in a well-formed XML document.

An XML document has an information set if it is well-formed and satisfies the namespace constraints. There is no requirement for an XML document to be valid in order to have an information set.

An information set can contain up to eleven different types of information items:

  1. The Document Information Item (always present)
  2. Element Information Items
  3. Attribute Information Items
  4. Processing Instruction Information Items
  5. Unexpanded Entity Reference Information Items
  6. Character Information Items
  7. Comment Information Items
  8. The Document Type Declaration Information Item
  9. Unparsed Entity Information Items
  10. Notation Information Items
  11. Namespace Information Items

XML was initially developed without a formal definition of its infoset. This was only formalised by later work beginning in 1999, first published as a separate W3C Working Draft at the end of December that year.[2] Infoset recommendation Second Edition was adopted on 4 February, 2004.[3] If a 2.0 version of the XML standard is ever published, it is likely that this would absorb the Infoset recommendation as an integral part of that standard.

Infoset augmentation

Infoset augmentation or infoset modification refers to the process of modifying the infoset during schema validation, for example by adding default attributes. The augmented infoset is called the post-schema-validation infoset, or PSVI. [4]

Infoset augmentation is somewhat controversial, with claims that it is a violation of modularity and tends to cause interoperability problems, since applications get different information depending on whether or not validation has been performed. [5]

Infoset augmentation is supported by XML Schema but not RELAX NG.

Serialization

Typically, XML Information Set is serialized as XML.[6] There are also serialization formats for Binary XML, CSV,[7] and JSON.[8]

See also

XML Information Set instances:

  • Document Object Model
  • Xpath data model
  • SXML

References

  1. ^ W3C XML Infoset
  2. ^ "XML Information Set" (Working Draft ed.). W3C. 20 December 1999.
  3. ^ "XML Information Set" (Second ed.). W3C. 4 February 2004.
  4. ^ XML Schema 1.1 Part 1: Structures
  5. ^ RELAX NG and W3C XML Schema Archived September 27, 2007, at the Wayback Machine, James Clark, 4 Jun 2002
  6. ^ "Extensible Markup Language (XML)". W3C. Retrieved 9 October 2014.
  7. ^ XmlCsvReader Implementation
  8. ^ Apache CXF JSON Support

External links

  • "XML Information set recommendation (Second Edition)". W3C. 4 February 2004.
  • v
  • t
  • e
Products and
standards
Recommendations
Notes
Working drafts
Guidelines
Initiative
Deprecated
Obsoleted
Organizations
Working groups
Community & business groups
Closed groups
Software
Browsers
  • Line Mode (1990–)
  • Arena (1993–98)
  • Agora (1994–97)
  • Argo (1994–97)
  • Amaya (browser/editor, 1996–2012)
Conferences


Stub icon

This World Wide Web–related article is a stub. You can help Wikipedia by expanding it.

  • v
  • t
  • e