Name
interleave —
interleave
pattern
Synopsis
element interleave { ( 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 { ... } )+ ) }
Class
pattern
May be included in
attribute
, choice
,
define
, element
,
except
, group
,
interleave
, list
,
mixed
, oneOrMore
,
optional
, start
,
zeroOrMore
Compact syntax equivalent
pattern&pattern
Description
The interleave
pattern
“interleaves” subpatterns; it
allows their leaves to be mixed in any order.
interleave
does more than define unordered groups,
as you can see in the following example. Consider element
a
and the ordered group of element
b1
and b2
. An unordered group
of these two patterns allows only element a
followed by elements b1
and b2
or elements b1
and b2
followed
by element a
. An interleave
of
these two patterns allows these two combinations, but also element
b1
followed by a followed by
b2
. It allows any combination in which the element
a
has been interleaved between elements ...
Get RELAX NG now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.