XSet is an XML property set description of XML 1.0 and XML namespaces. The description is a result of translating the Extended Backus-Naur Form (EBNF) productions into an XML language: the production rule langage (PRL).
XSet xml.xml is an RDF description of the productions in XML 1.0 and XML
Namespaces. RDF is used to provide metadata about the production set, including
that it is "about" XML 1.0 and "about" XML Namespaces. RDF adds very little
overhead to the property set which is itself a compact description.
EBNF maps nicely to the RDF syntax notions of sequences "Seq" and alternates "Alt".
Alt are subclassed from RDF M&S 1.0
Alt however parse with the implicit assumption
that each child element is a member.
The XSet grove is mapped to XML grove processing software through an XSet
expansion where the contents of each matched production
is wrapped in an element whose name or GI is the id of the production. For example
<element> <STag> <Name>simple</Name> </STag> <content> <CharData>abc</CharData> </content> </element>
XSet enables XPath based indexing and addressing of the full fidelity grove of an XML document . Bonsai is a pruning and compression diagram which maps the full XSet specification onto a subset or grove plan. Examples of XSet bonsai are 1) the XML Infoset, 2) the XPath data model, 3) the DOM data model, 4) Common XML and 5) Eric van der Vlist's technique of exposing entities through the SAX model
Using XSet and an XSLT transformation, an RDF Schema for XML is derived.
Using XSet and another XSLT transformation, we are working on deriving an ISO Property Set for XML.
Using XSet and yet another XSLT transformation we plan to derive an XML Schema Description for XML.
Using yet another XSLT transformation we plan to product a subsetting mechanism, or grove plan, to simplify the XSet "grove" into desired levels of detail.
An XSLT transform can be used to derive IDL descriptions of APIs
ISO Groves and Property Sets are a formal mechanism to unify the addressing schemes of HyTime and DSSSL. Groves allow addressing and linking into multimedia formats which have defined Property Sets: essentially a "grand unified theory" of addressing.
In practice, EBNF grammars are widely used to specify formats including XML, MIME, URIs etc. The XSet production language is proposed as an alternative to ISO Groves to enable grove based processing of formats defined in EBNF.
The production language is a simple XML schema language for EBNF grammars.
a URI containing the EBNF grammar
a URI indicating the target namespace of elements corresponding to production ids for the grammar described by the propertySet
names the production rule
the number of the production in the propertySet
declares a sequence e.g. (a b c)
declares a list of alternatives e.g. (a | b | c)
occurs is an attribute having values ('*' | '+' | '?') where '*' denotes minOccurs="0" '+' denotes minOccurs="1" and '?' denotes minOccurs="0" and maxOccurs="1"
c declares a character either having value: char, hex or pattern (regexp)
A character representing the value
A hexadecimal number representing the value of the character
A regular expression pattern constraining the value
string declares a constant string (shorthand for Seq of c)
<exclude> rule </exclude> declares an exclusion pattern for the containing element
<constraint name, type, test=XPathExpression>
A constraint defines named constrains which apply to productions e.g. Validity Constraint
The type of a constraint is used to group constraints into categories e.g. VC = validity constraint, WFC = well formnedness constraint, NSC = namespace constraint
test is a boolean XPath expression used to define the constraint
 document := prolog element Misc*
<r:production name="document" p="1">
A simple RDF Schema describes PSPL
A simple DTD describes PSPL
A property set for XML 1.0
An RDF Schema for XML 1.0 generated from the XML 1.0 property set.
This XSLT transform generates an RDF Schema from an XSet property set.
By Richard Tobin, this directory contains an XML Schema for an XML representation of the XML Infoset.
Jonathan Borden ENS ENI