<attList>
| <attList> (attribute list) contains documentation for all the attributes associated with this element, as a series of attDef elements. [23.5 Element Specifications 23.6 Class Specifications] | |||||||||
| Module | tagdocs — Documentation Elements | ||||||||
| Attributes |
|
||||||||
| Contained by |
tagdocs: attList classSpec elementSpec
|
||||||||
| May contain | |||||||||
| Example | |||||||||
| Example |
<attList org="choice">
<attDef ident="active"> <desc versionDate="2005-07-24" xml:lang="en">identifies the <soCalled>active</soCalled> participants in a non-mutual relationship, or all the participants in a mutual one.</desc> <datatype maxOccurs="unbounded"> <dataRef key="teidata.pointer"/> </datatype> </attDef> <attDef ident="mutual" usage="opt"> <desc versionDate="2005-07-24" xml:lang="en">supplies a list of participants amongst all of whom the relationship holds equally.</desc> <datatype maxOccurs="unbounded"> <dataRef key="teidata.pointer"/> </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="notanamespace" value="'☮🄯'"/> <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> |
||||||||
| Content model |
<content> |
||||||||
| Schema Declaration |
<rng:element name="attList"> 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 )+ } |
||||||||