- From: Sjoerd Visscher <sjoerd@w3future.com>
- Date: Mon, 24 Dec 2001 01:38:01 +0100
- To: <dave.beckett@bristol.ac.uk>
- Cc: <www-rdf-comments@w3.org>
- Message-ID: <000801c18c13$3e8e8780$f01f79c3@woonkamer>
Hello, 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 http://www.w3.org/2001/04/infoset 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*), children=propertyEltList) 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 specification. Some specific features: ws = Character( elementContentWhitespace=Boolean.true) 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 w3future.com
Attachments
- text/plain attachment: infoset2rdf.txt
Received on Sunday, 23 December 2001 19:38:02 UTC