- From: <scott_boag@us.ibm.com>
- Date: Wed, 22 Feb 2006 13:00:49 -0500
- To: Dan Connolly <connolly@w3.org>
- Cc: Bjoern Hoehrmann <derhoermi@gmx.net>, spec-prod@w3.org, spec-prod-request@w3.org, www-qa@w3.org
> > Some technical reports like http://www.w3.org/TR/xpath20/#id-grammar
> > also modify certain aspects of EBNF and/or include certain parts of
the
> > original EBNF "specification"
Note that the differences are pretty minor at this point:
* All named symbols have a name that begins with an uppercase letter.
* It adds a notation for referring to productions in external specs.
* Comments or extra-grammatical constraints on grammar productions
are between '/*' and '*/' symbols.
o A 'xgc:' prefix is an extra-grammatical constraint, the
details of which are explained in A.1.2 Extra-grammatical Constraints
o A 'ws:' prefix explains the whitespace rules for the
production, the details of which are explained in A.2.4 Whitespace Rules
o A 'gn:' prefix means a 'Grammar Note', and is meant as a
clarification for parsing rules, and is explained in A.1.3 Grammar Notes.
These notes are not normative.
Somewhat relevant to this discussion, the grammar in the XPath/XQuery
specs is defined in
http://www.w3.org/XML/Group/xsl-query-specs/grammar/xpath-grammar.xml, and
semi-modeled in
http://www.w3.org/XML/Group/xsl-query-specs/grammar/grammar.dtd. This
format was originally invented by James Clark, though I have
evolved/corrupted it over time. It is used to define multiple subsets and
supersets of the language (xpath 2.0, XQuery, XQuery-fulltext,
XQuery-update, XQuery-Formal-Semantics). This file goes through an XSLT
preprocess with the spec documents to form the <prod> productions. We
also process xpath-grammar.xml through XSLT transforms to produce a
functional JavaCC parser (
http://www.w3.org/XML/Group/xsl-query-specs/grammar/parser/applets/xquery-updateApplet.html
, for instance).
This process is likely too heavy handed for the needs of many specs, but
it's worth keeping in mind I think. I'm not quite sure if and how the
grammar.dtd format might intersect with the work that Dan and Tim have
done, but I would be interested in discussions.
In any case, +1 to making some sort of specification for W3C EBNF, just to
make it easier for future spec writers.
-scott
Received on Wednesday, 22 February 2006 18:01:32 UTC