<datatype>

<datatype> (type de données) précise la valeur déclarée d'un attribut en faisant référence à un type de données défini dans le langage choisi pour le schéma. [1.4.2 Datatype Specifications 22.5.4 Attribute List Specification]
Moduletagdocs — Documentation Elements
Attributsatt.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)) att.repeatable (minOccurs, maxOccurs, @context)
minOccurs(nombre minimum d'occurrences) indique le nombre minimum d'occurrences de ce type de données dans la spécification de l'attribut.
Dérivé deatt.repeatable
Statut Optionel
Type de données teidata.count
Valeur par défaut 1
maxOccurs(nombre maximum d'occurrences.) indique le nombre maximum d'occurrences de ce type de données dans la spécification de l'attribut.
Dérivé deatt.repeatable
Statut Optionel
Type de données teidata.unboundedInt
Valeur par défaut 1
Contenu dans
tagdocs: attDef
Peut contenir
tagdocs: dataRef textNode
Note

Dans le schéma TEI, la plupart des types de données sont exprimées en utilisant des macros TEI prédéfinies, qui font correspondre un nom dans sa forme teidata.xxxx à un type de données définies en RELAX NG or XSD.

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

L'encodage de l'exemple suivant exige que l'attribut défini contienne au moins deux URIs dans ses valeurs, comme le cas de l'attribut target dans join.

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

 <dataRef key="teidata.pointer"/>
</datatype>
Exemple
<datatype>
 <dataRef key="teidata.enumerated"/>
</datatype>
Modèle de contenu
<content>
 <alternate>
  <elementRef key="textNode"/>
  <elementRef key="dataRef"/>
  <anyElement require="http://relaxng.org/ns/structure/1.0"/>
 </alternate>
</content>
Schéma 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:ref name="att.repeatable.attribute.context"/>
 <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="textNode"/>
  <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,
   att.repeatable.attribute.context,
   attribute minOccurs { teidata.count }?,
   attribute maxOccurs { teidata.unboundedInt }?,
   ( textNode | dataRef | anyElement-datatype )
}