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.