<elementSpec>

<elementSpec> (element specification) documents the structure, content, and purpose of a single element type. [22.4.4 Element Specifications 22 Documentation Elements]
組件tagdocs — 22 Documentation Elements
屬性att.global (@xml:id, @n, @xml:lang, @rend, @rendition, @xml:base, @xml:space) (att.global.linking (@corresp, @synch, @sameAs, @copyOf, @next, @prev, @exclude, @select)) (att.global.analytic (@ana)) (att.global.facs (@facs)) (att.global.change (@change)) att.identified (@ident, @predeclare, @module, @status) (att.combinable (@mode))
ns (namespace) specifies the namespace to which this element belongs
狀態 非必備的
資料類型

<rng:ref name="data.namespace"/>
data.namespace
prefixspecifies a default prefix which will be prepended to all patterns relating to the element, unless otherwise stated.
狀態 非必備的
資料類型

<rng:choice>
 <rng:value/>
 <rng:ref name="data.name"/>
</rng:choice>
"" | data.name
屬於
可包含在於
可包含
宣告

<rng:element name="elementSpec">
 <rng:ref name="att.global.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.identified.attributes"/>
 <rng:ref name="att.combinable.attributes"/>
 <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:optional>
  <rng:attribute name="prefix">
   <rng:choice>
    <rng:value/>
    <rng:ref name="data.name"/>
   </rng:choice>
  </rng:attribute>
 </rng:optional>
 <rng:group>
  <rng:zeroOrMore>
   <rng:ref name="model.glossLike"/>
  </rng:zeroOrMore>
  <rng:optional>
   <rng:ref name="classes"/>
  </rng:optional>
  <rng:optional>
   <rng:ref name="content"/>
  </rng:optional>
  <rng:optional>
   <rng:ref name="valList"/>
  </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 elementSpec
{
   att.global.attributes,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   att.identified.attributes,
   att.combinable.attributes,
   attribute ns { data.namespace }?,
   attribute prefix { "" | data.name }?,
   (
      model.glossLike*,
      classes?,
      content?,
      valList?,
      constraintSpec*,
      attList?,
      exemplum*,
      remarks*,
      listRef*
   )
}
Schematron

<sch:report
 test="not(//tei:moduleSpec[@ident=current()/@module])">
Macro <sch:value-of select="@ident"/>: the value of the module [<sch:value-of select="@module"/>] attribute must correspond to an existing moduleSpec</sch:report>
例子
<elementSpec module="tagdocs" ident="code">
 <equiv/>
 <gloss/>
 <desc>contains literal code</desc>
 <classes>
  <memberOf key="model.emphLike"/>
 </classes>
 <content>
  <rng:text/>
 </content>
 <attList>
  <attDef ident="type" usage="opt">
   <equiv/>
   <desc>the language of the code</desc>
   <datatype>
    <rng:ref name="data.enumerated"/>
   </datatype>
  </attDef>
 </attList>
</elementSpec>