<datatype>

<datatype> (datatype) specifies the declared value for an attribute, by referring to any datatype defined by the chosen schema language. [1.4.2 Datatype Specifications 23.5.3 Attribute List Specification]
Module tagdocs — Documentation Elements
Attributes
minOccurs⚓︎ (minimum number of occurences) indicates the minimum number of times this datatype may occur in an instance of the attribute being defined
Derived from att.repeatable
Status Optional
Datatype teidata.count
Default 1
maxOccurs⚓︎ (maximum number of occurences) indicates the maximum number of times this datatype may occur in an instance of the attribute being defined
Derived from att.repeatable
Status Optional
Datatype teidata.unboundedCount
Default 1
Contained by
tagdocs: attDef
May contain ANY
Note

In the TEI scheme, most datatypes are expressed using pre-defined TEI macros, which map a name in the form teidata.xxxx to a datatype defined by RELAX NG or the W3C Schema Language.

Example
<datatype>
 <dataRef name="token"/>
</datatype>
Example
<datatype>
 <dataRef key="teidata.enumerated"/>
</datatype>
Example

The encoding in the following example requires that the attribute being defined contain at least two URIs in its value, as is the case for the target attribute of join.

<datatype minOccurs="2"
 maxOccurs="unbounded">

 <dataRef key="teidata.pointer"/>
</datatype>
Content model
<content>
 <alternate>
  <elementRef key="dataRef"/>
  <anyElement require="http://relaxng.org/ns/structure/1.0"/>
 </alternate>
</content>
Schema Declaration
<rng:element name="datatype">
 <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.global.source.attributes"/>
 <rng:optional>
  <rng:attribute name="minOccurs"
   a:defaultValue="1">

   <rng:ref name="teidata.count"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="maxOccurs"
   a:defaultValue="1">

   <rng:ref name="teidata.unboundedCount"/>
  </rng:attribute>
 </rng:optional>
 <rng:choice>
  <rng:ref name="dataRef"/>
  <rng:ref name="anyElement_datatype_5"/>
 </rng:choice>
</rng:element>
element datatype
{
   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 minOccurs { teidata.count }?,
   attribute maxOccurs { teidata.unboundedCount }?,
   ( dataRef | anyElement_datatype_5 )
}