<macroSpec>

<macroSpec> (spécification de macro.) documente la fonction et l'implémentation d'un modèle.
Moduletagdocs — 22 Documentation Elements
Attributsatt.global (@xml:id, @n, @xml:lang, @rend, @style, @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))
typeindique quel type d'entité doit être généré lorsqu'un processeur "ODD" génère un module TEI qui utilise la syntaxe XML DTD.
Statut Optionel
Type de données

<rng:ref name="data.enumerated"/>
data.enumerated
Les valeurs autorisées sont:
pe
(entité paramètre)
dt
(entité type de données)
Membre du
Contenu dans
Peut contenir
Declaration

<rng:element name="macroSpec">
 <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="type">
   <rng:choice>
    <rng:value>pe</rng:value>
    <rng:value>dt</rng:value>
   </rng:choice>
  </rng:attribute>
 </rng:optional>
 <rng:group>
  <rng:zeroOrMore>
   <rng:choice>
    <rng:ref name="model.glossLike"/>
    <rng:ref name="model.descLike"/>
   </rng:choice>
  </rng:zeroOrMore>
  <rng:zeroOrMore>
   <rng:choice>
    <rng:ref name="content"/>
    <rng:ref name="valList"/>
   </rng:choice>
  </rng:zeroOrMore>
  <rng:zeroOrMore>
   <rng:ref name="constraintSpec"/>
  </rng:zeroOrMore>
  <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 macroSpec
{
   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 type { "pe" | "dt" }?,
   (
      ( model.glossLike | model.descLike )*,
      ( content | valList )*,
      constraintSpec*,
      exemplum*,
      remarks*,
      listRef*
   )
}
Schematron

<sch:assert
 test="not( @module ) or //tei:moduleSpec[ @ident = current()/@module ] or //tei:moduleRef[ @key = current()/@module ]">
Macro <sch:value-of select="@ident"/>: the value of the module attribute ("<sch:value-of select="@module"/>")
should correspond to an existing module, via a moduleSpec or moduleRef</sch:assert>
Exemple
<macroSpec module="tei" type="pe" ident="macro.phraseSeq">
 <content>
  <rng:zeroOrMore>
   <rng:choice>
    <rng:text/>
    <rng:ref name="model.gLike"/>
    <rng:ref name="model.phrase"/>
    <rng:ref name="model.global"/>
   </rng:choice>
  </rng:zeroOrMore>
 </content>
</macroSpec>