<metDecl>

<metDecl> (metrical notation declaration) documents the notation employed to represent a metrical pattern when this is specified as the value of a met, real, or rhyme attribute on any structural element of a metrical text (e.g. lg, l, or seg). [6.6 Metrical Notation Declaration 6.4 Rhyme and Metrical Analysis]
Moduleverse — Verse
Attributesatt.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.declarable (@default)
typeindicates whether the notation conveys the abstract metrical form, its actual prosodic realization, or the rhyme scheme, or some combination thereof.
Status Optional
Datatype 1–3 occurrences of teidata.enumerated separated by whitespace
Legal values are:
met
(met attribute) declaration applies to the abstract metrical form recorded on the met attribute
real
(real attribute) declaration applies to the actual realization of the conventional metrical structure recorded on the real attribute
rhyme
declaration applies to the rhyme scheme recorded on the rhyme attribute
Note

By default, the metDecl element documents the notation used for metrical pattern and realization. It may also be used to document the notation used for rhyme scheme information; if not otherwise documented, the rhyme scheme notation defaults to the traditional ‘abab’ notation.

pattern(regular expression pattern) specifies a regular expression defining any value that is legal for this notation.
Status Optional
Datatype teidata.pattern
Note

The value must be a valid regular expression per the World Wide Web Consortium's XML Schema Part 2: Datatypes Second Edition, Appendix F

Member of
Contained by
header: encodingDesc
May contain
core: note p
linking: ab
verse: metSym
Note

The encoder may choose whether to define the notation formally or informally. However, the two methods may not be mixed. That is, metDecl may contain either a sequence of metSym elements or, alternately, a series of paragraphs or other components. If the pattern attribute is specified and metSym elements are used, then all the codes appearing within the pattern attribute should be documented.

Only usable within the header if the verse module is used.

Example
<metDecl xml:id="iptype="met"
 pattern="((SU|US)USUSUSUS/)">

 <metSym value="S">stressed syllable</metSym>
 <metSym value="U">unstressed syllable</metSym>
 <metSym value="/">metrical line boundary</metSym>
</metDecl>

This example is intended for the far more restricted case typified by the Shakespearean iambic pentameter. Only metrical patterns containing exactly ten syllables, alternately stressed and unstressed, (except for the first two which may be in either order) to each metrical line can be expressed using this notation.

Content model
<content>
 <alternate>
  <alternate minOccurs="1"
   maxOccurs="unbounded">

   <classRef key="model.pLike"/>
   <classRef key="model.noteLike"/>
  </alternate>
  <elementRef key="metSymminOccurs="1"
   maxOccurs="unbounded"/>

 </alternate>
</content>
Schema Declaration
<rng:element name="metDecl">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.global.rendition.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.global.responsibility.attributes"/>
 <rng:ref name="att.global.source.attributes"/>
 <rng:ref name="att.declarable.attributes"/>
 <rng:optional>
  <rng:attribute name="type"
   a:defaultValue="met real">

   <rng:list>
    <rng:choice>
     <rng:value>met</rng:value>
     <rng:value>real</rng:value>
     <rng:value>rhyme</rng:value>
    </rng:choice>
    <rng:optional>
     <rng:choice>
      <rng:value>met</rng:value>
      <rng:value>real</rng:value>
      <rng:value>rhyme</rng:value>
     </rng:choice>
    </rng:optional>
    <rng:optional>
     <rng:choice>
      <rng:value>met</rng:value>
      <rng:value>real</rng:value>
      <rng:value>rhyme</rng:value>
     </rng:choice>
    </rng:optional>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="pattern">
   <rng:ref name="teidata.pattern"/>
  </rng:attribute>
 </rng:optional>
 <rng:choice>
  <rng:oneOrMore>
   <rng:choice>
    <rng:ref name="model.pLike"/>
    <rng:ref name="model.noteLike"/>
   </rng:choice>
  </rng:oneOrMore>
  <rng:oneOrMore>
   <rng:ref name="metSym"/>
  </rng:oneOrMore>
 </rng:choice>
</rng:element>
element metDecl
{
   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.declarable.attributes,
   attribute type
   {
      list
      {
         ( "met" | "real" | "rhyme" ),
         ( "met" | "real" | "rhyme" )?,
         ( "met" | "real" | "rhyme" )?
      }
   }?,
   attribute pattern { teidata.pattern }?,
   ( ( model.pLike | model.noteLike )+ | metSym+ )
}