<classSpec>

<classSpec> (class specification) contains reference information for a TEI element class; that is a group of elements which appear together in content models, or which share some common attribute, or both. [23.3 Specification Elements 23.6 Class Specifications]
Modul tagdocs — Documentation Elements
Attribute
type⚓︎ indicates whether this is a model class or an attribute class
Abgeleitet aus att.typed
Zustand Obligatorisch
Datentyp teidata.enumerated
generate⚓︎ indicates which alternation and sequence instantiations of a model class may be referenced. By default, all variations are permitted.
Zustand Optional
Datentyp 1–5 Vorkommen von teidata.enumerated durch Leerzeichen getrennt
Gültige Werte:
alternation
members of the class are alternatives
sequence
members of the class are to be provided in sequence
sequenceOptional
members of the class may be provided, in sequence, but are optional
sequenceOptionalRepeatable
members of the class may be provided one or more times, in sequence, but are optional.
sequenceRepeatable
members of the class may be provided one or more times, in sequence
Mitglied des
Enthalten in
Kann enthalten
Beispiel
<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>
Content model
<content>
 <sequence>
  <alternate minOccurs="0"
   maxOccurs="unbounded">

   <classRef key="model.identSynonyms"/>
   <classRef key="model.descLike"/>
  </alternate>
  <elementRef key="classesminOccurs="0"/>
  <elementRef key="constraintSpec"
   minOccurs="0maxOccurs="unbounded"/>

  <elementRef key="attListminOccurs="0"/>
  <elementRef key="exemplumminOccurs="0"
   maxOccurs="unbounded"/>

  <elementRef key="remarksminOccurs="0"
   maxOccurs="unbounded"/>

  <elementRef key="listRefminOccurs="0"
   maxOccurs="unbounded"/>

 </sequence>
</content>
Schema Deklaration
<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.global.source.attributes"/>
 <rng:ref name="att.identified.attributes"/>
 <rng:ref name="att.combinable.attributes"/>
 <rng:ref name="att.deprecated.attributes"/>
 <rng:ref name="att.typed.attribute.subtype"/>
 <rng:attribute name="type">
  <rng:ref name="teidata.enumerated"/>
 </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:optional>
     <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:optional>
    <rng:optional>
     <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:optional>
    <rng:optional>
     <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:optional>
    <rng:optional>
     <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:optional>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:group>
  <rng:zeroOrMore>
   <rng:choice>
    <rng:ref name="model.identSynonyms"/>
    <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.global.source.attributes,
   att.identified.attributes,
   att.combinable.attributes,
   att.deprecated.attributes,
   att.typed.attribute.subtype,
   attribute type { teidata.enumerated },
   attribute generate
   {
      list
      {
         (
            "alternation"
          | "sequence"
          | "sequenceOptional"
          | "sequenceOptionalRepeatable"
          | "sequenceRepeatable"
         ),
         (
            "alternation"
          | "sequence"
          | "sequenceOptional"
          | "sequenceOptionalRepeatable"
          | "sequenceRepeatable"
         )?,
         (
            "alternation"
          | "sequence"
          | "sequenceOptional"
          | "sequenceOptionalRepeatable"
          | "sequenceRepeatable"
         )?,
         (
            "alternation"
          | "sequence"
          | "sequenceOptional"
          | "sequenceOptionalRepeatable"
          | "sequenceRepeatable"
         )?,
         (
            "alternation"
          | "sequence"
          | "sequenceOptional"
          | "sequenceOptionalRepeatable"
          | "sequenceRepeatable"
         )?
      }
   }?,
   (
      ( model.identSynonyms | model.descLike )*,
      classes?,
      constraintSpec*,
      attList?,
      exemplum*,
      remarks*,
      listRef*
   )
}