<dataRef>
<dataRef> identifies the datatype of an attribute value, either by referencing an item in an externally defined datatype library, or by pointing to a TEI-defined data specification [23.5.3.1 Datatypes] | |||||||||||||||||||||||||
Module | tagdocs — Documentation Elements | ||||||||||||||||||||||||
Attributes |
|
||||||||||||||||||||||||
Member of | |||||||||||||||||||||||||
Contained by | |||||||||||||||||||||||||
May contain |
tagdocs: dataFacet
|
||||||||||||||||||||||||
Note |
Only one of the attributes key, name, and ref may be used on any given instance of dataRef. Neither a restriction attribute nor a dataFacet child element may be used unless the dataRef refers to a datatype from the specification XML Schema Part 2: Datatypes Second Edition with a name attribute. |
||||||||||||||||||||||||
Example |
<schemaSpec ident="myTEI"
source="http://www.tei-c.org/Vault/P5/current/xml/tei/odd/p5subset.xml"> <!-- ... --> <dataRef key="teidata.enumerated"/> <!-- ... --> </schemaSpec> |
||||||||||||||||||||||||
Example |
<schemaSpec ident="myTEI"
source="http://www.tei-c.org/Vault/P5/current/xml/tei/odd/p5subset.xml"> <!-- ... --> <dataRef name="float"/> <!-- ... --> </schemaSpec> |
||||||||||||||||||||||||
Example | |||||||||||||||||||||||||
Schematron |
<sch:rule context="tei:dataRef[tei:dataFacet]"> <sch:assert test="@name" role="nonfatal">Data facets can only be specified for references to datatypes specified by XML Schema Part 2: Datatypes Second Edition — that is, for there to be a 'dataFacet' child there must be a @name attribute.</sch:assert> <sch:report test="@restriction" role="nonfatal">Data facets and restrictions cannot both be expressed on the same data reference — that is, the @restriction attribute cannot be used when a 'dataFacet' element is present.</sch:report> </sch:rule> |
||||||||||||||||||||||||
Schematron |
<sch:rule context="tei:dataRef[@restriction]"> <sch:assert test="@name" role="nonfatal">Restrictions can only be specified for references to datatypes specified by XML Schema Part 2: Datatypes Second Edition — that is, for there to be a @restriction attribute there must be a @name attribute, too.</sch:assert> </sch:rule> |
||||||||||||||||||||||||
Content model |
<content> |
||||||||||||||||||||||||
Schema Declaration |
<rng:element name="dataRef"> element dataRef { att.global.attributes, att.global.rendition.attributes, att.global.linking.attributes, att.global.analytic.attributes, att.global.facs.attributes, att.global.change.attributes, att.global.responsibility.attributes, att.global.source.attributes, ( attribute key { teidata.xmlName }? | attribute name { teidata.xmlName }? | attribute ref { teidata.pointer }? ), attribute restriction { teidata.pattern }?, dataFacet* } |