<attDef>
<attDef> (attribute definition) contains the definition of a single attribute. [22.5.4 Attribute List Specification] | |||||||||||||||||
Module | tagdocs — Documentation Elements | ||||||||||||||||
Attributes | att.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.global.source (@source)) att.identified (@ident, @predeclare, @module) (att.combinable (@mode) (att.deprecated (@validUntil)) )
| ||||||||||||||||
Contained by | tagdocs: attList | ||||||||||||||||
May contain | |||||||||||||||||
Example | <attDef usage="rec" ident="type"> <desc>specifies a name conventionally used for this level of subdivision, e.g. <val>act</val>, <val>volume</val>, <val>book</val>, <val>section</val>, <val>canto</val>, etc.</desc> <datatype> <dataRef key="teidata.word"/> </datatype> </attDef> | ||||||||||||||||
Schematron | <s:ns prefix="teix" uri="http://www.tei-c.org/ns/Examples"/> <s:assert test="ancestor::teix:egXML[@valid='feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[@type='closed']">Attribute: the definition of the @<s:value-of select="@ident"/> attribute in the <s:value-of select="ancestor::*[@ident][1]/@ident"/> <s:value-of select="' '"/> <s:value-of select="local-name(ancestor::*[@ident][1])"/> should have a closed valList or a datatype</s:assert> | ||||||||||||||||
Schematron | <sch:rule context="tei:attDef[@usage eq 'req']"> <sch:report test="tei:defaultVal">It does not make sense to make "<sch:value-of select="normalize-space(tei:defaultVal)"/>" the default value of @<sch:value-of select="@ident"/>, because that attribute is required.</sch:report> </sch:rule> | ||||||||||||||||
Schematron | <sch:rule context="tei:attDef[ tei:defaultVal and tei:valList[@type eq 'closed'] and tei:datatype[ @maxOccurs > 1 or @minOccurs > 1 or @maxOccurs = 'unbounded' ] ]"> <sch:assert test=" tokenize(normalize-space(tei:defaultVal),' ') = tei:valList/tei:valItem/@ident">In the <sch:value-of select="local-name(ancestor::*[@ident][1])"/> defining <sch:value-of select="ancestor::*[@ident][1]/@ident"/> the default value of the @<sch:value-of select="@ident"/> attribute is not among the closed list of possible values</sch:assert> </sch:rule> | ||||||||||||||||
Schematron | <sch:rule context="tei:attDef[ tei:defaultVal and tei:valList[@type eq 'closed'] and tei:datatype[ not(@maxOccurs) or ( if ( @maxOccurs castable as xs:integer ) then ( @maxOccurs cast as xs:integer eq 1 ) else false() )] ]"> <sch:assert test="string(tei:defaultVal) = tei:valList/tei:valItem/@ident">In the <sch:value-of select="local-name(ancestor::*[@ident][1])"/> defining <sch:value-of select="ancestor::*[@ident][1]/@ident"/> the default value of the @<sch:value-of select="@ident"/> attribute is not among the closed list of possible values</sch:assert> </sch:rule> | ||||||||||||||||
Content model | <content> | ||||||||||||||||
Schema Declaration | <rng:element name="attDef"> element attDef { 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, attribute usage { "req" | "rec" | "opt" }?, attribute ns { teidata.namespace }?, ( ( model.glossLike | model.descLike )*, datatype?, constraintSpec*, defaultVal?, ( valList | valDesc+ )?, exemplum*, remarks* ) } |