<attList>

<attList> (liste d'attributs) contient la documentation pour tous les attributs associés à cet élément comme une série d'éléments attDef. [23.5 Element Specifications 23.6 Class Specifications]
Module tagdocs — Documentation Elements
Attributs
org⚓︎ (conditions d'utilisation) précise si les attributs dans la liste sont tous disponibles (org="group") ou seulement l'un d'entre eux (org="choice").
Statut Optionel
Type de données teidata.enumerated
Les valeurs autorisées sont:
group
tous les attributs de la liste sont disponibles. [Valeur par défaut]
choice
un seul des attributs de la liste est disponible.
Contenu dans
Peut contenir
Exemple
<attList>
 <attDef ident="typeusage="opt">
  <desc>type de schéma</desc>
  <datatype>
   <dataRef key="teidata.enumerated"/>
  </datatype>
 </attDef>
</attList>
Schematron Because it is illegal in XML to have two attributes with the same name on the same element instance, it is illegal in TEI to have two attDef elements with the same values of ns and ident in a single attList, unless the parent attList has an org of choice. This applies regardless of the mode of each attDef.

<sch:rule context="tei:attList[ not( ancestor::tei:attList ) ]">

<sch:let name="notanamespacevalue="'☮🄯'"/>

<sch:let name="defs"
 value="descendant::tei:attDef"/>


<sch:let name="nsidents"
 value="for $ad in $defs return if ( $ad[ parent::tei:attList[ @org eq 'choice'] and preceding-sibling::tei:attDef[ @ident eq $ad/@ident and ( @ns, $notanamespace )[1] eq ( $ad/@ns, $notanamespace )[1] ] ] ) then '' else normalize-space( if ($ad/@ns) then 'Q{'||$ad/@ns||'}'||$ad/@ident else $ad/@ident ) "/>


<sch:let name="dups"
 value="for $a in $nsidents return ( $nsidents[ . eq $a ][2] )"/>


<sch:let name="distinct_dups"
 value="distinct-values( $dups )"/>


<sch:assert test="count( $distinct_dups[ . ne ''] ) eq 0"> Within the attribute list defined in <sch:value-of select="ancestor::*[@ident][1]/@ident"/>,
the following attributes have been defined multiple times: <sch:value-of select="$distinct_dups"/>.
</sch:assert>
</sch:rule>
Modèle de contenu
<content>
 <alternate minOccurs="1"
  maxOccurs="unbounded">

  <elementRef key="attRef"/>
  <elementRef key="attDef"/>
  <elementRef key="attList"/>
 </alternate>
</content>
Schéma Declaration
<rng:element name="attList">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.global.analytic.attributes"/>
 <rng:ref name="att.global.change.attributes"/>
 <rng:ref name="att.global.facs.attributes"/>
 <rng:ref name="att.global.linking.attributes"/>
 <rng:ref name="att.global.rendition.attributes"/>
 <rng:ref name="att.global.responsibility.attributes"/>
 <rng:ref name="att.global.source.attributes"/>
 <rng:optional>
  <rng:attribute name="org"
   a:defaultValue="group">

   <rng:choice>
    <rng:value>group</rng:value>
    <rng:value>choice</rng:value>
   </rng:choice>
  </rng:attribute>
 </rng:optional>
 <rng:oneOrMore>
  <rng:choice>
   <rng:ref name="attRef"/>
   <rng:ref name="attDef"/>
   <rng:ref name="attList"/>
  </rng:choice>
 </rng:oneOrMore>
</rng:element>
element attList
{
   att.global.attributes,
   att.global.analytic.attributes,
   att.global.change.attributes,
   att.global.facs.attributes,
   att.global.linking.attributes,
   att.global.rendition.attributes,
   att.global.responsibility.attributes,
   att.global.source.attributes,
   attribute org { "group" | "choice" }?,
   ( attRef | attDef | attList )+
}