Name

group — group pattern

Synopsis

element group
{
 (
 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 group pattern defines an ordered group of subpatterns. Note that when attribute patterns are included in such a group, their order isn’t enforced. group patterns are implicit with element and define patterns.

Example

<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> <element name="foo"> <interleave> <element name="out"><empty/></element> <group> <element name="in1"><empty/></element> <element name="in2"><empty/></element> </group> ...

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.