<attDef>

<attDef> (definición de atributo) contiene la definición de un único atributo. 22.4.5 Attribute List Specification
Módulo tagdocs — 22 Documentation Elements
Además de los atributos globales att.identified (@ident, @predeclare, @module, @status) (att.combinable (@mode))
usage especifica el caracter opcional de un atributo o un elemento
Estado Opcional
Los valores admitidos son:
req
(requerido)
mwa
(obligatorio cuando es pertinente)
rec
(recomendado)
rwa
(recomendado cuando es pertinente)
opt
(opcional) [Por defecto]
ns (espacio de nombre) especifica el espacio del nombre al que pertenece el atributo.
Estado Opcional
Tipo de datos

<rng:ref name="data.namespace"/>
data.namespace
Usado por
Puede contener
Declaración

<rng:element name="attDef">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.identified.attributes"/>
 <rng:ref name="att.combinable.attributes"/>
 <rng:optional>
  <rng:attribute name="usage" a:defaultValue="opt">
   <rng:choice>
    <rng:value>req</rng:value>
    <rng:value>mwa</rng:value>
    <rng:value>rec</rng:value>
    <rng:value>rwa</rng:value>
    <rng:value>opt</rng:value>
   </rng:choice>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="ns"
    a:defaultValue="http://www.tei-c.org/ns/1.0">

   <rng:ref name="data.namespace"/>
  </rng:attribute>
 </rng:optional>
 <rng:group>
  <rng:zeroOrMore>
   <rng:ref name="model.glossLike"/>
  </rng:zeroOrMore>
  <rng:optional>
   <rng:ref name="datatype"/>
  </rng:optional>
  <rng:zeroOrMore>
   <rng:ref name="constraintSpec"/>
  </rng:zeroOrMore>
  <rng:optional>
   <rng:ref name="defaultVal"/>
  </rng:optional>
  <rng:optional>
   <rng:choice>
    <rng:ref name="valList"/>
    <rng:oneOrMore>
     <rng:ref name="valDesc"/>
    </rng:oneOrMore>
   </rng:choice>
  </rng:optional>
  <rng:zeroOrMore>
   <rng:ref name="exemplum"/>
  </rng:zeroOrMore>
  <rng:zeroOrMore>
   <rng:ref name="remarks"/>
  </rng:zeroOrMore>
 </rng:group>
</rng:element>
element attDef
{
   att.global.attributes,
   att.identified.attributes,
   att.combinable.attributes,
   attribute usage { "req" | "mwa" | "rec" | "rwa" | "opt" }?,
   attribute ns { data.namespace }?,
   (
      model.glossLike*,
      datatype?,
      constraintSpec*,
      defaultVal?,
      ( valList | valDesc+ )?,
      exemplum*,
      remarks*
   )
}
Ejemplo
<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>
</attDef>