<classSpec>

<classSpec> (spécification de classe) contient des informations de référence pour une classe d'éléments TEI, c'est-à-dire un groupe d'éléments qui figurent ensemble dans des modèles de contenu ou qui partagent un attribut commun, ou qui ont l'un et l'autre.
Module tagdocs — 22 Documentation Elements
En complément des attributs globaux att.identified (@ident, @predeclare, @module, @mode)
type indique si c'est une classe de modèles ou une classe d'attributs
Statut Requis
Les valeurs autorisées sont:
model
(modèle de contenu) les membres de cette classe figurent dans les mêmes modèles de contenu
atts
(attributs) les membres de cette classe partagent des attributs communs
generate donne les règles régissant dans une instance TEI l'ordre et l'alternance des éléments définis par la classe. Par défaut, toutes les variations sont données.
Statut Optionel
Type de données 1–5 occurrences of 

<rng:ref name="data.enumerated"/>
data.enumerated
séparé par un espace
Les valeurs autorisées sont:
alternation
les membres de la classe constituent des alternatives
sequence
les membres de la classe doivent tous être donnés dans l'ordre indiqué
sequenceOptional
les membres de la classe peuvent être donnés, dans l'ordre indiqué, mais sont facultatifs
sequenceOptionalRepeatable
les membres de la classe peuvent être donnés une ou plusieurs fois, dans l'ordre indiqué, mais sont facultatifs
sequenceRepeatable
les membres de la classe doivent être donnés au moins une fois, dans l'ordre indiqué.
Utilisé par
Peut contenir
Declaration

<rng:element name="classSpec">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.identified.attributes"/>
 <rng:attribute name="type">
  <rng:choice>
   <rng:value>model</rng:value>
   <rng:value>atts</rng:value>
  </rng:choice>
 </rng:attribute>
 <rng:optional>
  <rng:attribute name="generate">
   <rng:list>
    <rng:choice>
     <rng:value>alternation</rng:value>
     <rng:value>sequence</rng:value>
     <rng:value>sequenceOptional</rng:value>
     <rng:value>sequenceOptionalRepeatable</rng:value>
     <rng:value>sequenceRepeatable</rng:value>
    </rng:choice>
    <rng:zeroOrMore>
     <rng:choice>
      <rng:value>alternation</rng:value>
      <rng:value>sequence</rng:value>
      <rng:value>sequenceOptional</rng:value>
      <rng:value>sequenceOptionalRepeatable</rng:value>
      <rng:value>sequenceRepeatable</rng:value>
     </rng:choice>
    </rng:zeroOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:group>
  <rng:zeroOrMore>
   <rng:ref name="model.glossLike"/>
  </rng:zeroOrMore>
  <rng:optional>
   <rng:ref name="classes"/>
  </rng:optional>
  <rng:zeroOrMore>
   <rng:ref name="constraintSpec"/>
  </rng:zeroOrMore>
  <rng:optional>
   <rng:ref name="attList"/>
  </rng:optional>
  <rng:zeroOrMore>
   <rng:ref name="exemplum"/>
  </rng:zeroOrMore>
  <rng:zeroOrMore>
   <rng:ref name="remarks"/>
  </rng:zeroOrMore>
  <rng:zeroOrMore>
   <rng:ref name="listRef"/>
  </rng:zeroOrMore>
 </rng:group>
</rng:element>
element classSpec
{
   att.global.attributes,
   att.identified.attributes,
   attribute type { "model" | "atts" },
   attribute generate
   {
      list
      {
         (
            "alternation"
          | "sequence"
          | "sequenceOptional"
          | "sequenceOptionalRepeatable"
          | "sequenceRepeatable"
         ),
         (
            "alternation"
          | "sequence"
          | "sequenceOptional"
          | "sequenceOptionalRepeatable"
          | "sequenceRepeatable"
         )*
      }
   }?,
   (
      model.glossLike*,
      classes?,
      constraintSpec*,
      attList?,
      exemplum*,
      remarks*,
      listRef*
   )
}
Exemple
<classSpec module="tei" type="model" ident="model.segLike">
 <desc>groups elements used for arbitrary segmentation. </desc>
 <classes>
  <memberOf key="model.phrase"/>
 </classes>
 <remarks>
  <p>The principles on which segmentation is carried out, and
     any special codes or attribute values used, should be defined explicitly
     in the <gi>segmentation</gi> element of the <gi>encodingDesc</gi> within
     the associated TEI header.</p>
 </remarks>
</classSpec>