<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 22.5.3 Attribute List Specification]
Modultagdocs — Documentation Elements
Attributeatt.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.global.source (@source))
minOccurs(minimum number of occurences) indicates the minimum number of times this datatype may occur in an instance of the attribute being defined
Abgeleitet ausatt.repeatable
Zustand Optional
Datentyp teidata.count
Vorgabe 1
maxOccurs(maximum number of occurences) indicates the maximum number of times this datatype may occur in an instance of the attribute being defined
Abgeleitet ausatt.repeatable
Zustand Optional
Datentyp teidata.unboundedInt
Vorgabe 1
Enthalten in
tagdocs: attDef
Kann enthaltenANY
Anmerkung

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.

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

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 Deklaration
<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.unboundedInt"/>
  </rng:attribute>
 </rng:optional>
 <rng:choice>
  <rng:ref name="dataRef"/>
  <rng:ref name="anyElement-datatype"/>
 </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.unboundedInt }?,
   ( dataRef | anyElement-datatype )
}