<metDecl>

<metDecl> 在標記韻文時所用到的結構性元素 (例如lgl、或seg) 當中,若使用metreal、或rhyme等屬性的屬性值來表示文章的韻律模式,則在此宣告標記韻律模式的方法。 [6.6 Metrical Notation Declaration 6.4 Rhyme and Metrical Analysis]
組件 verse — Verse
屬性
type⚓︎ 指出該標記所傳達的為抽象韻律形式、實際韻律實踐、或者押韻形式,或任幾項之結合。
狀態 非必備的
資料類型 1–3 次可出現: teidata.enumerated 以空白鍵隔開
合法的值是:
met
(屬性met ) 屬性 met宣告適用於該屬性所紀錄的抽象韻律形式。
real
(屬性real ) 屬性real宣告適用於該屬性所紀錄的通用韻律結構之實際實踐
rhyme
declaration applies to the rhyme scheme recorded on the rhyme attribute
pattern⚓︎ (regular expression pattern) 標明一種固定表示法,用來定義任何合用於此標記的屬性值。
狀態 非必備的
資料類型 teidata.pattern
俱乐部会员
可包含在於
header: encodingDesc
可包含
core: note noteGrp p
linking: ab
verse: metSym

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.

例子
<metDecl xml:id="zh-tw_iptype="met"
 pattern="((SU|US)USUSUSUS/)">

 <metSym value="S">仄聲</metSym>
 <metSym value="U">平聲</metSym>
 <metSym value="/">詩行分界線</metSym>
</metDecl>
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>
宣告
<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+ )
}