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>
18.224.199.204