<macroSpec>

<macroSpec> (macro specification) documents the function and implementation of a pattern.
Moduletagdocs — 22 Documentation Elements
Attributes att.identified (@ident, @predeclare, @module, @mode)
typeindicates which type of entity should be generated, when an ODD processor is generating a module using XML DTD syntax.
Status Optional
Legal values are:
pe
(parameter entity)
dt
(datatype entity)
Used by
May contain
Declaration

<rng:element name="macroSpec">
<rng:ref name="att.global.attributes"/>
<rng:ref name="att.identified.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:ref name="model.glossLike"/>
 </rng:zeroOrMore>
 <rng:oneOrMore>
  <rng:choice>
   <rng:ref name="stringVal"/>
   <rng:ref name="content"/>
  </rng:choice>
 </rng:oneOrMore>
 <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.identified.attributes,
   attribute type { "pe" | "dt" }?,
   (
      model.glossLike*,
      ( stringVal | content )+,
      exemplum*,
      remarks*,
      listRef*
   )
}
Example
<macroSpec module="teitype="peident="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>