Name
parentRef — Reference to a named pattern from the parent grammar
Synopsis
element parentRef { attribute name { xsd:NCName }, ( attribute ns { text }?, attribute datatypeLibrary { xsd:anyURI }?, attribute * - (rng:* | local:*) { text }* ), ( element * - rng:* { ... }* ) }
Class
pattern
May be included in
attribute
, choice
,
define
, element
,
except
, group
,
interleave
, list
,
mixed
, oneOrMore
,
optional
, start
,
zeroOrMore
Compact syntax equivalent
parent
Description
The parentRef
pattern is a reference to a named
pattern belonging to the parent grammar
—in
other words, the grammar
in which the current
grammar
is included. The scope of a named pattern
is usually limited to the grammar
in which they
are defined. The parentRef
pattern provides a way
to extend this scope and refer to a named pattern defined in the
parent grammar
.
Example
<define name="born-element"> <element name="born"> <text/> </element> </define> <define name="author-element"> <grammar> <start> <element name="author"> <attribute name="id"/> <ref name="name-element"/> <parentRef name="born-element"/> <optional> <ref name="died-element"/> </optional> </element> </start> <define name="name-element"> <element name="name"> <text/> </element> </define> <define name="died-element"> <element name="died"> <text/> </element> </define> </grammar> </define>
Attributes
-
datatypeLibrary
This attribute defines the default datatype library. The value is inherited.
-
name
This attribute specifies the name of the named pattern that is referenced. ...
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.