<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 [22.5.4.1 Datatypes]
Moduletagdocs — Documentation Elements
Attributesatt.global (@xml:id, @n, @xml:lang, @xml:base, @xml:space) (att.global.rendition (@rend, @style, @rendition)) (att.global.linking (@corresp, @synch, @sameAs, @copyOf, @next, @prev, @exclude, @select)) (att.global.analytic (@ana)) (att.global.facs (@facs)) (att.global.change (@change)) (att.global.responsibility (@cert, @resp)) att.readFrom (@source)
keythe identifier used for this datatype specification
Status Optional
Datatype teidata.xmlName
namethe name of a datatype in the list provided by XML Schemas: Part 2: Datatypes
Status Optional
Datatype teidata.xmlName
refa pointer to a datatype defined in some datatype library
Status Optional
Datatype teidata.xmlName
restrictionsupplies a string representing a regular expression providing additional constraints on the strings used to represent values of this datatype
Status Optional
Datatype teidata.pattern
Member of
Contained by
May containEmpty element
Note

Only one of the attributes key, name, and ref may be used.

Example
<schemaSpec ident="myTEI"
 source="http://www.tei-c.org/Vault/P5/current/xml/tei/odd/p5subset.xml">

<!-- ... -->
 <dataRef key="data.text"
  source="tei:1.5.0"/>

<!-- ... -->
</schemaSpec>
Example
<schemaSpec ident="myTEI"
 source="http://www.tei-c.org/Vault/P5/current/xml/tei/odd/p5subset.xml">

<!-- ... -->
 <dataRef name="float"/>
<!-- ... -->
</schemaSpec>
Example
<dataSpec ident="data.percentage">
 <desc>datatype used for attributes taking an integer value between 0 and 99</desc>
 <content>
  <dataRef name="nonNegativeInteger"
   restriction="[0-9][0-9]?"/>

 </content>
</dataSpec>
Content model
<content>
</content>
Schema Declaration
<rng:element name="dataRef">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.global.rendition.attributes"/>
 <rng:ref name="att.global.linking.attributes"/>
 <rng:ref name="att.global.analytic.attributes"/>
 <rng:ref name="att.global.facs.attributes"/>
 <rng:ref name="att.global.change.attributes"/>
 <rng:ref name="att.global.responsibility.attributes"/>
 <rng:ref name="att.readFrom.attributes"/>
 <rng:choice>
  <rng:optional>
   <rng:attribute name="key">
    <rng:ref name="teidata.xmlName"/>
   </rng:attribute>
  </rng:optional>
  <rng:optional>
   <rng:attribute name="name">
    <rng:ref name="teidata.xmlName"/>
   </rng:attribute>
  </rng:optional>
  <rng:optional>
   <rng:attribute name="ref">
    <rng:ref name="teidata.xmlName"/>
   </rng:attribute>
  </rng:optional>
 </rng:choice>
 <rng:optional>
  <rng:attribute name="restriction">
   <rng:ref name="teidata.pattern"/>
  </rng:attribute>
 </rng:optional>
 <rng:empty/>
</rng:element>
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.readFrom.attributes,
   (
      attribute key { teidata.xmlName }?
    | attribute name { teidata.xmlName }?
    | attribute ref { teidata.xmlName }?
   ),
   attribute restriction { teidata.pattern }?,
   empty
}