The Resource Directory Description (RDDL) for the XSet namespace.

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". XSet Seq and Alt are subclassed from RDF M&S 1.0 Seq and 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 the document:

<simple>abc</simple>

expands to:

<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

Projects:

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

Background:

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.

Production Language:

The production language is a simple XML schema language for EBNF grammars.

element propertySet

attribute rdf:about="URI"

a URI containing the EBNF grammar

attribute targetNamespace

a URI indicating the target namespace of elements corresponding to production ids for the grammar described by the propertySet

element production

attribute id

names the production rule

attribute p

the number of the production in the propertySet

element Seq

declares a sequence e.g. (a b c)

element Alt

declares a list of alternatives e.g. (a | b | c)

attribute occurs

occurs is an attribute having values ('*' | '+' | '?') where '*' denotes minOccurs="0" '+' denotes minOccurs="1" and '?' denotes minOccurs="0" and maxOccurs="1"

element c

c declares a character either having value: char, hex or pattern (regexp)

attribute char

A character representing the value

attribute hex

A hexadecimal number representing the value of the character

attribute pattern

A regular expression pattern constraining the value

element string

string declares a constant string (shorthand for Seq of c)

element exclude

<exclude> rule </exclude> declares an exclusion pattern for the containing element

constraint

<constraint name, type, test=XPathExpression>

A constraint defines named constrains which apply to productions e.g. Validity Constraint

attribute type

The type of a constraint is used to group constraints into categories e.g. VC = validity constraint, WFC = well formnedness constraint, NSC = namespace constraint

attribute test

test is a boolean XPath expression used to define the constraint

 

Examples:

[1] document := prolog element Misc*

<r:production name="document" p="1">

        <r:Seq>

              <prolog />

             <element />

             <Misc occurs="*"/>

        </r:Seq>

</r:production>

The RDF Schema for the XSet Property Set Production Language (PSPL)

A simple RDF Schema describes PSPL

The DTD for the XSet Property Set Production Language (PSPL)

A simple DTD describes PSPL

XML 1.0 related resources

The XML 1.0 property set

A property set for XML 1.0

The XML 1.0 property set as an RDF Schema

An RDF Schema for XML 1.0 generated from the XML 1.0 property set.

An XSLT transform from XSet to RDFS

This XSLT transform generates an RDF Schema from an XSet property set.

An XML Schema for the XML Infoset

By Richard Tobin, this directory contains an XML Schema for an XML representation of the XML Infoset.

Jonathan Borden