B.4. RELAX NG

Table B.4.  Table 3.3, Section 3.3

Compact Syntax (RNC) XML Syntax (RNG)
{default? namespace id=URI
 | datatypes id=URI}*
{ start=pattern
 | id=pattern }*
<grammar>
 {<start> pattern </start>
  |<define name="NCName">pattern+</define>}*
</grammar>
Patterns  
element QName «{» pattern «}» 
<element name="QName">pattern+</element>
attribute QName «{» pattern «}» 
<attribute name="QName">pattern+</attribute>
pattern{«,» pattern}+
<group name="QName">pattern+</group>
pattern{«&» pattern}+
<interleave name="QName">pattern+</interleave>
pattern{«|» pattern}+
<choice name="QName">pattern+</choice>
pattern«?»
<optional name="QName">pattern+</optional>
pattern«*»
<zeroOrMore name="QName">pattern+</zeroOrMore>
pattern«+»
<oneOrMore name="QName">pattern+</oneOrMore>
mixed «{» pattern «}» 
<mixed name="QName">pattern+</mixed>
id
<ref name="NCName"/>
empty
<empty/>
text
<text/>
data TypeValue
<value {name="NCName"}?>string+</value>
data TypeValue
   «{»{id=value}* «}» 
<data {type="NCName"}?>
  {<param name="NCName">string</param>}*
</data>