<msDesc>

<msDesc> 包含單一份可識別手稿的描述。 [10.1 Overview]
組件 msdescription — Manuscript Description
屬性
俱乐部会员
可包含在於
可包含

Although the msDesc has primarily been designed with a view to encoding manuscript descriptions, it may also be used for other objects such as early printed books, fascicles, epigraphs, or any text-bearing objects that require substantial description. If an object is not text-bearing or the reasons for describing the object is not primarily the textual content, the more general object may be more suitable.

例子
<msDesc>
 <msIdentifier>
  <settlement>台北</settlement>
  <repository>CBETA</repository>
  <idno type="cbeta">Taisho Tripitaka Vol. T08, No. 230</idno>
 </msIdentifier>
 <msContents>
  <msItem>
   <author>唐玄奘</author>
   <title>大般若波羅蜜多經電子版本</title>
  </msItem>
 </msContents>
 <physDesc>
  <objectDesc>
   <p>總共有600卷</p>
   <p>亦收錄於高麗藏、嘉興藏、永樂北藏、永樂南藏、乾隆藏、佛教大藏經、中華藏...等。</p>
   <p>唯獨新纂卍續藏未收錄此經</p>
  </objectDesc>
 </physDesc>
</msDesc>
Schematron

<sch:rule context="tei:msContents|tei:physDesc|tei:history|tei:additional">

<!-- Note: This rule applies to <msContents>, <physDesc>, <history>, and <additional> wherever they occur. Luckily they are only allowed in places where they are constrained to 0 or 1 occurence. If that changes someday, this constraint may will likely need to be updated, too. -->

<!-- Also worth noting that a) if &amp; when we can use abstract patterns, this would be better handled as a single abstract rule somewhere, and concrete rules in the individual <elementSpec>s; and b) I did not test for the existence of "../*[name(.) eq $gi][2]" because then an error would be generated for each of the multiple occurences of $gi. -->
<sch:let name="givalue="name(.)"/>
<sch:report test="preceding-sibling::*[ name(.) eq $gi ] and not( following-sibling::*[ name(.) eq $gi ] )"> Only one <sch:name/> is allowed as a child of <sch:value-of select="name(..)"/>.
</sch:report>
</sch:rule>
Content model
<content>
 <sequence>
  <elementRef key="msIdentifier"/>
  <classRef key="model.headLike"
   minOccurs="0maxOccurs="unbounded"/>

  <alternate>
   <classRef key="model.pLike"
    minOccurs="1maxOccurs="unbounded"/>

   <alternate minOccurs="0"
    maxOccurs="unbounded">

    <elementRef key="msContents"/>
    <elementRef key="physDesc"/>
    <elementRef key="history"/>
    <elementRef key="additional"/>
    <elementRef key="msPart"/>
    <elementRef key="msFrag"/>
   </alternate>
  </alternate>
 </sequence>
</content>
宣告
<rng:element name="msDesc">
 <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.sortable.attributes"/>
 <rng:ref name="att.typed.attributes"/>
 <rng:ref name="att.declaring.attributes"/>
 <rng:ref name="att.docStatus.attributes"/>
 <rng:group>
  <rng:ref name="msIdentifier"/>
  <rng:zeroOrMore>
   <rng:ref name="model.headLike"/>
  </rng:zeroOrMore>
  <rng:choice>
   <rng:oneOrMore>
    <rng:ref name="model.pLike"/>
   </rng:oneOrMore>
   <rng:zeroOrMore>
    <rng:choice>
     <rng:ref name="msContents"/>
     <rng:ref name="physDesc"/>
     <rng:ref name="history"/>
     <rng:ref name="additional"/>
     <rng:ref name="msPart"/>
     <rng:ref name="msFrag"/>
    </rng:choice>
   </rng:zeroOrMore>
  </rng:choice>
 </rng:group>
</rng:element>
element msDesc
{
   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.sortable.attributes,
   att.typed.attributes,
   att.declaring.attributes,
   att.docStatus.attributes,
   (
      msIdentifier,
      model.headLike*,
      (
         model.pLike+
       | ( msContents | physDesc | history | additional | msPart | msFrag )*
      )
   )
}