<classSpec>

<classSpec> (indicazione di classe) contiene informazioni relative a una classe di elementi TEI, cioè un gruppo di elementi che compaiono insieme in modelli di contenuto, oppure che hanno alcuni attributi in comune, o entrambe le cose [22.3 Specification Elements 22.4.6 Element Classes]
Modulotagdocs — Documentation Elements
Attributiatt.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.identified (@ident, @predeclare, @module) (att.combinable (@mode) (att.deprecated (@validUntil)) )
typeindica se si tratta di una classe di modelli o di attributi
Stato Richiesto
Tipo di dati

<rng:ref name="data.enumerated"/>
data.enumerated
I valori legali sono:
model
(modello di contenuto) i membri di questa classe compaiono negli stessi modelli di contenuto
atts
(attributi) i membri di questa classe hanno alcuni attributi in comune
generateindica quale alternanza e quali tipi di sequenza stabilire per una classe di modelli; di norma sono indicate tutte le variazioni
Stato Opzionale
Tipo di dati 1–5 occorrenze di 

<rng:ref name="data.enumerated"/>
data.enumerated
separato da spazio bianco
I valori legali sono:
alternation
i membri della classe sono in relatione di alternanza
sequence
i membri della classe devono essere indicati in sequenza
sequenceOptional
i membri della classe possono essere indicati in sequenza ma sono facoltativi
sequenceOptionalRepeatable
i membri della classe possono essere indicati una o più volte in sequenza ma sono facoltativi
sequenceRepeatable
i membri della classe possono essere indicati una o più volte in sequenza
Membro del
Contenuto in
Può contenere
Dichiarazione

<rng:element name="classSpec">
 <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.identified.attributes"/>
 <rng:ref name="att.combinable.attributes"/>
 <rng:ref name="att.deprecated.attributes"/>
 <rng:attribute name="type">
  <xhtml:dl class="valList"/>
 </rng:attribute>
 <rng:optional>
  <rng:attribute name="generate">
   <rng:list>
    <xhtml:dl class="valList"/>
    <rng:optional>
     <xhtml:dl class="valList"/>
    </rng:optional>
    <rng:optional>
     <xhtml:dl class="valList"/>
    </rng:optional>
    <rng:optional>
     <xhtml:dl class="valList"/>
    </rng:optional>
    <rng:optional>
     <xhtml:dl class="valList"/>
    </rng:optional>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:group>
  <rng:zeroOrMore>
   <rng:choice>
    <rng:ref name="model.glossLike"/>
    <rng:ref name="model.descLike"/>
   </rng:choice>
  </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.global.rendition.attributes,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   att.global.responsibility.attributes,
   att.identified.attributes,
   att.combinable.attributes,
   att.deprecated.attributes,
   attribute type { text },
   attribute generate { list { ?, ?, ?, ? } }?,
   (
      ( model.glossLike | model.descLike )*,
      classes?,
      constraintSpec*,
      attList?,
      exemplum*,
      remarks*,
      listRef*
   )
}
Esempio
<classSpec module="teitype="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>