-
Notifications
You must be signed in to change notification settings - Fork 2
On elementSpec @ident
The @ident attribute of an element specification element serves a triple purpose.
It identifies the element specification so that it can be referred to in an element specification reference (elementRef
) or an element specification derivation statement (elementSpec[@mode]
).
Both an elementRef
and an elementSpec[@mode]
element specify the schema specification with a @source
attribute and the element specification with the @key
attribute.
Each value of //elementSpec/@ident
MUST be unique within a derived schema specification.
The value of elementSpec/@ident
is used in to generate the RelaxNG pattern used for the element being specified. Since this pattern MUST be unique in the final RelaxNG grammar, its value is combined (somehow) with other information to generate a unique value. Since the entire purpose of
The value of the @ident
attribute together with the @prefix
attribute of elementSpec and the containing schemaSpec
forms the name of the generated RelaxNG pattern.
The combination of @prefix
and @ident
MUST be unique in the final RelaxNG grammar.
The name of the specified element is a QName. Its namespace URI is specified in the @ns
attribute of elementSpec
element or the containing schemaSpec
. It defaults to the TEI namespace URI.
The local name is specified by an altIdent
element suitable for the selected target language. The @ident
attribute gives the default value of this altIdent
.
For this use, there are no uniqueness constraints.