Skipping the Sax-model transformation step in the new RDF/XML syntax spec


I'm sorry to mail to you directly about this, but the www-rdf-comments lists
seems to contain only spam.

I like the direction the new RDF/XML Syntax Specification is going. However,
I had the feeling the intermediate SAX-like model was a step too much. So I
tried to express the RDF/XML Grammar directly in Infoset terms, using

It turned out to be quite straight forward, it looks a lot like the Relax NG
Schema. You'll find it attached. I tried to use the same notation as the
Spec uses, i.e. classname(propertyname restriction [,...]) Properties that
have no restrictions aren't shown, f.e.:

nodeElement = Element(
  attributes=set((idAttr | aboutAttr)?, bagIdAttr?, propertyAttr*),

Which means that the namespaceName and localName are unrestricted.
Unrestricted means unrestricted from the RDF Grammar point of view,
properties like 'parent' are already restricted by the infoset

Some specific features:

ws = Character(

Boolean.true is defined in the rdf version of the infoset.

parseTypeLiteralPropertyElt = Element(
  attributes=set(idAttr?, parseLiteral))

Here the children property is unrestricted.

It is also easy to check what Infoset features remain unrestricted:
prefixes, namespace declarations, if attributes are specified in a DTD or
not, CDATA, etc. And which are restricted: PI's or comments are not allowed,
except inside the parseTypeLiteralPropertyElt, and no document type
declaration. But maybe that is a too strict translation.

Kind regards,

Sjoerd Visscher

Received on Sunday, 23 December 2001 19:38:02 UTC