[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: Re: [relax-ng] Completed compact syntax draft now available
I fixed a couple of bugs and a couple of typos. New draft is at:
http://www.thaiopensource.com/oasis/compact-20021113.html
Here's a diff of the changes:
Index: compact.xml
===================================================================
RCS file: /usr/cvsroot/jclark/relaxng/doc/compact.xml,v
retrieving revision 1.70
retrieving revision 1.72
diff -u -r1.70 -r1.72
--- compact.xml 8 Nov 2002 03:23:37 -0000 1.70
+++ compact.xml 13 Nov 2002 09:13:06 -0000 1.72
@@ -18,7 +18,7 @@
<article status="Working Draft"
xmlns:bnf="http://www.thaiopensource.com/relaxng/bnf">
<articleinfo>
-<releaseinfo>$Id: compact.xml,v 1.70 2002/11/08 03:23:37 jjc Exp
$</releaseinfo>
+<releaseinfo>$Id: compact.xml,v 1.72 2002/11/13 09:13:06 jjc Exp
$</releaseinfo>
<title>RELAX NG Compact Syntax</title>
<authorgroup>
<editor>
@@ -28,9 +28,9 @@
</affiliation>
</editor>
</authorgroup>
-<pubdate>8 November 2002</pubdate>
+<pubdate>13 November 2002</pubdate>
<releaseinfo role="meta">
-$Id: compact.xml,v 1.70 2002/11/08 03:23:37 jjc Exp $
+$Id: compact.xml,v 1.72 2002/11/13 09:13:06 jjc Exp $
</releaseinfo>
<copyright><year>2002</year><holder>OASIS</holder></copyright>
@@ -85,7 +85,7 @@
<revhistory>
<revision>
<revnumber>Working Draft</revnumber>
- <date>8 November 2002</date>
+ <date>13 November 2002</date>
</revision>
</revhistory>
</articleinfo>
@@ -96,7 +96,7 @@
<para>This specification describes a compact, non-XML syntax for <xref
linkend="spec"/>.</para>
-<para>The goals of this syntax are:</para>
+<para>The goals of this syntax are to:</para>
<itemizedlist>
@@ -127,8 +127,9 @@
<section id="syntax">
<title>Syntax</title>
-<para>The following is a summary of the syntax in EBNF. The reader may
-find it helpful to compare this with the syntax in Section 3 of <xref
+<para>The following is a summary of the syntax in EBNF. Square
+brackets are used to indicate optionality. The reader may find it
+helpful to compare this with the syntax in Section 3 of <xref
linkend="spec"/>. The start symbol is topLevel.</para>
<grammarref src="compact-summary.rng"/>
@@ -144,10 +145,10 @@
<para>The value of a literal is the concatenation of the values of its
constituent literalSegments. A literalSegment is always terminated
only by an occurrence of the same delimiter that began it. The
-delimited used to begin a literalSegment may be either one or three
+delimiter used to begin a literalSegment may be either one or three
occurrences of a single or double quote character. Newlines are
allowed only in literalSegments delimited by three quote characters.
-The value of a literal segment consists of the characters between the
+The value of a literal segment consists of the characters between its
delimiters. One way to get a literal whose value contains both a
single and a double quote is to divide the literal into multiple
literalSegments so that the single and double quote are in separate
@@ -512,7 +513,7 @@
<literal>element</literal> or <literal>attribute</literal> pattern
consists of just a single name, it can be expressed either as a
<literal>name</literal> attribute or as a <literal>name</literal>
-element; howeverm in the compact syntax, there is only one way to
+element; however, in the compact syntax, there is only one way to
express such a name class. The simplifications listed in the previous
paragraph correspond to those syntactic details that are not captured
in the compact syntax.</para></note>
@@ -681,7 +682,7 @@
set of zero or more attributes and a content sequence of zero or more
strings and elements, as described in the data model of <xref
linkend="spec"/>; an XML fragment is thus the same kind of thing as
-what is matched against a RELAX NG pattern</para></listitem>
+what is matched against a RELAX NG pattern;</para></listitem>
<listitem><para>an environment.</para></listitem>
@@ -693,7 +694,10 @@
the name of its type. The name of the type of a terminal or
non-terminal is given following the keyword returns before ::= in the
production rule. Similarly, each argument has a type, which is given
-immediately before the name of the argument.</para>
+immediately before the name of the argument. The value of a
+non-terminal may also be specified to be void; no expression is given
+for the value of such a non-terminal, nor will the value of such a
+non-terminal be used in any expression.</para>
<para>The following types are all disjoint:</para>
@@ -704,7 +708,7 @@
<listitem><para>name contains all names;</para></listitem>
<listitem><para>qname contains all qualified-names;</para></listitem>
<listitem><para>environment contains all enviroments;</para></listitem>
-<listitem><para>xml contains all XML fragments</para></listitem>
+<listitem><para>xml contains all XML fragments.</para></listitem>
</itemizedlist>
<para>It is also useful to identify some subtypes of xml. One type is
@@ -729,7 +733,7 @@
<listitem><para>attribute contains all XML fragments that have an
empty content sequence and whose attribute set consists of a single
-attribute;</para></listitem>
+attribute.</para></listitem>
</itemizedlist>
@@ -2348,7 +2352,7 @@
</case>
<case>
<sequence>
- <nt name="anyName" as="x"/>
+ <nt name="anyAttributeName" as="x"/>
<literal>=</literal>
<nt name="literal" as="y"/>
<nt name="nestedAnnotationAttributes" as="z"/>
@@ -2364,6 +2368,20 @@
</case>
</rule>
+<rule name="anyAttributeName" type="name">
+ <case>
+ <nt name="identifierOrKeyword" as="x"/>
+ <function name="name">
+ <string/>
+ <ref name="x"/>
+ </function>
+ </case>
+ <case>
+ <nt name="prefixedName"/>
+ <constraint name="xmlns namespace URI"/>
+ </case>
+</rule>
+
<rule name="annotationContent" type="content">
<case>
<empty/>
@@ -2396,7 +2414,7 @@
<rule name="nestedAnnotationElement" type="element">
<case>
<sequence>
- <nt name="anyName" as="x"/>
+ <nt name="anyElementName" as="x"/>
<nt name="annotationAttributesContent" as="y"/>
</sequence>
<function name="element">
@@ -2407,7 +2425,7 @@
</case>
</rule>
-<rule name="anyName" type="name">
+<rule name="anyElementName" type="name">
<case>
<nt name="identifierOrKeyword" as="x"/>
<function name="name">
@@ -2613,6 +2631,7 @@
<constraint name="xmlns namespace URI">
<para>It is an error if the namespace URI of a <bnf:nt
name="prefixedName"/> in a <bnf:nt name="foreignAttributeName"
+/> or an <bnf:nt name="anyAttributeName"
/> is <literal >http://www.w3.org/2000/xmlns</literal>.</para>
</constraint>
@@ -2870,17 +2889,17 @@
<itemizedlist>
<listitem><para>is one of the literal string non-terminals occurring
-in the BNF in <xref linkend="formal-syntax"/></para></listitem>
+in the BNF in <xref linkend="formal-syntax"/>;</para></listitem>
<listitem><para>matches the grammar of one of the named non-terminals
other than <bnf:t name="literal"/> that is referenced in <xref
linkend="formal-syntax"/> and specified in this section, that is,
<bnf:t name="identifier"/>, <bnf:t name="literalSegment"/>, <bnf:t
name="CName"/>, <bnf:t name="nsName"/> or <bnf:t
-name="documentation"/></para></listitem>
+name="documentation"/>; or</para></listitem>
<listitem><para>matches the grammar for <bnf:t
-name="separator"/></para></listitem>
+name="separator"/>.</para></listitem>
</itemizedlist>
@@ -3055,7 +3074,7 @@
<nt name="stringNoTripleQuot" as="y"/>
</sequence>
<function name="stringConcat">
- <string>"</string>
+ <string>""</string>
<ref name="x"/>
<ref name="y"/>
</function>
@@ -3096,7 +3115,7 @@
<nt name="stringNoTripleApos" as="y"/>
</sequence>
<function name="stringConcat">
- <string>'</string>
+ <string>''</string>
<ref name="x"/>
<ref name="y"/>
</function>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC