Name

zeroOrMore — zeroOrMore pattern

Synopsis

element zeroOrMore
{
 (
 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*

Description

The zeroOrMore pattern specifies that its subpatterns are considered an ordered group that must be matched zero or more times.

Restrictions

The zeroOrMore pattern can’t contain attribute definitions.

Example

<define name="book-element">
 <element name="book">
  <attribute name="id"/>
  <attribute name="available"/>
  <ref name="isbn-element"/>
  <ref name="title-element"/>
  <zeroOrMore>
   <ref name="author-element"/>
  </zeroOrMore>
  <zeroOrMore>
   <ref name="character-element"/>
  </zeroOrMore>
 </element>
</define>

Attributes

datatypeLibrary

This attribute defines the default datatype library. The value is inherited. ...

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.