Introduction

This is a schema for representing infosets explicitly in XML. There are two main versions: one for the basic infoset, and one for the post-schema-validation (PSV) infoset.

One reason for producing this schema was to allow comparison of the infosets generated by different processors (including parsers and schema validators). It has also proved useful for finding flaws in the infoset and schema specifications themselves.

Notes

All structures are represented as elements. There are two reasons for this:

A type is declared for each info item and property. Type names are camel-case with an initial capital. Element names are camel-case with an initial lower-case letter.

All properties are represented as elements whose name is the property name. These elements are globally declared (so properties with the same name must have the same type; this is true for the basic infoset and we can make it true for the PSV infoset). Their types fall into several categories:

Both the basic and PSV infosets have an item called Notation Declaration. Something will have to be done about this in the Schema spec. For now I call the schema version S-NotationDeclaration.

(Say something about subsets and supersets.)