<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.5 Metrical Notation Declaration 6.3 Rhyme and Metrical Analysis
Moduleverse — 6 Verse
Attributes 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 Mandatory when applicable
Datatype 1–3 occurrences of

<rng:ref name="data.enumerated"/>
data.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
(rhyme attribute) 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

<rng:ref name="data.pattern"/>
data.pattern
Values the value must be a valid regular expression per the World Wide Web Consortium's XML Schema Part 2: Datatypes Second Edition, Appendix F
Used by
May contain
core: note p
linking: ab
textcrit: witDetail
verse: metSym
Declaration

<rng:element name="metDecl">
<rng:ref name="att.global.attributes"/>
<rng:ref name="att.declarable.attributes"/>
<rng:optional>
 <rng:attribute name="typea: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="data.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.declarable.attributes,
   attribute type
   {
      list
      {
         ( "met" | "real" | "rhyme" ),
         ( "met" | "real" | "rhyme" )?,
         ( "met" | "real" | "rhyme" )?
      }
   }?,
   attribute pattern { data.pattern }?,
   ( ( model.pLike | model.noteLike )+ | metSym+ )
}
Example
<metDecl xml:id="iptype="metpattern="((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.

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.