by Eric van der Vlist is published by O'Reilly & Associates (ISBN: 0596004214)
optional — optional pattern
element optional
{
(
attribute ns { text }?,
attribute datatypeLibrary { xsd:anyURI }?,
attribute * - (rng:* | local:*) { text }*
),
(
( element * - rng:* { ... }* )
& (
element element { ... }
| element attribute { ... }
| element group { ... }
| element interleave { ... }
| element choice { ... }
| element optional { ... }
| element zeroOrMore { ... }
| element oneOrMore { ... }
| element list { ... }
| element mixed { ... }
| element ref { ... }
| element parentRef { ... }
| element empty { ... }
| element text { ... }
| element value { ... }
| element data { ... }
| element notAllowed { ... }
| element externalRef { ... }
| element grammar { ... }
)+
)
} |
attribute, choice, define, element, except, group, interleave, list, mixed, oneOrMore, optional, start, zeroOrMore
The optional pattern specifies that its subpatterns considered as an ordered group is optional, i.e., be matched zero or one times.
<element name="author">
<attribute name="id"/>
<element name="name">
<text/>
</element>
<element name="born">
<text/>
</element>
<optional>
<element name="died">
<text/>
</element>
</optional>
</element>
<element name="name">
<choice>
<text/>
<group>
<element name="first"><text/></element>
<optional>
<element name="middle"><text/></element>
</optional>
<element name="last"><text/></element>
</group>
</choice>
</element> |
This text is released under the Free Software Foundation GFDL.