by Eric van der Vlist is published by O'Reilly & Associates (ISBN: 0596004214)
mixed — Pattern for mixed content models
element mixed { ( 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 mixed pattern is a shortcut for interleave with an embedded text pattern. It describes unordered content models in which a text node may be included before and after each element. Note that RELAX NG doesn't allow the addition of constraints on these text nodes.
The limitations of interleave apply here:
The mixed pattern can't be used within a list.
Elements within a mixed pattern can't have overlapping name classes.
There must no other text pattern in each set of patterns combined by mixed.
<element name="title"> <mixed> <attribute name="xml:lang"/> <zeroOrMore> <element name="a"> <attribute name="href"/> <text/> </element> </zeroOrMore> </mixed> </element> |
This is equivalent to:
<element name="title"> <interleave> <text/> <group> <attribute name="xml:lang"/> <zeroOrMore> <element name="a"> <attribute name="href"/> <text/> </element> </zeroOrMore> </group> </interleave> </element> |
which itself is equivalent to:
<element name="title"> <interleave> <text/> <attribute name="xml:lang"/> <zeroOrMore> <element name="a"> <attribute name="href"/> <text/> </element> </zeroOrMore> </interleave> </element> |
This text is released under the Free Software Foundation GFDL.