Name

attribute — Pattern matching an attribute

Synopsis

element attribute
{
 (
 attribute ns { text }?,
 attribute datatypeLibrary { xsd:anyURI }?,
 attribute * - (rng:* | local:*) { text }*
 ),
 (
 attribute name { xsd:QName }
 | (
 ( element * - rng:* { ... }* )
 & (
 element name { ... }
 | element anyName { ... }
 | element nsName { ... }
 | element choice { ... }
 )
 )
 ),
 (
 ( 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

attribute

Description

The attribute pattern matches an attribute. The name of the attribute may be defined by using either a name attribute or a name class.

Restrictions

  • After simplification, attribute patterns can contain only patterns relevant for text nodes.

  • Attributes can’t be duplicated, either directly or by overlapping name classes.

  • Attributes that have an infinite name class (anyName or nsName) must be enclosed in a oneOrMore ...

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.