[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