<moduleRef>

<moduleRef> スキーマに組み入れられるモジュールを参照する.
モジュールtagdocs — 22 ドキュメンテーション向け要素
属性
keyTEIモジュールの名前.
状態 任意
データ型

<rng:data type="NCName"/>
xsd:NCName
url 外部にある,RelaxNGで定義されているTEIでないモジュールを参照する.
状態 任意
データ型

<rng:ref name="data.pointer"/>
data.pointer
当該モジュールを使用するもの
下位
tagdocs: content
宣言

<rng:element name="moduleRef">
<rng:ref name="att.global.attributes"/>
<rng:choice>
 <rng:optional>
  <rng:attribute name="key">
   <rng:data type="NCName"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="url">
   <rng:ref name="data.pointer"/>
  </rng:attribute>
 </rng:optional>
</rng:choice>
<rng:optional>
 <rng:ref name="content"/>
</rng:optional>
</rng:element>
element moduleRef
{
   att.global.attributes,
   ( attribute key { xsd:NCName }? | attribute url { data.pointer }? ),
   content?
}

<sch:pattern name="testschemapattern">
<sch:rule context="tei:moduleRef">
 <sch:report test="* and @key">child elements of moduleRef are only allowed when an external module
   is being loaded
 </sch:report>
</sch:rule>
</sch:pattern>
<moduleRef key="linking"/>

この例ではリンクモジュールが使われている.

解説
モジュールは,要素<module>の属性identの値として ある名前で指定される.TEIでないモジュールの場合は,URIはで示される.このモジュールは,Relax NGスキーマで定義されていることが望まれる.
当該要素により,参照されたモジュールの全宣言が,当該スキーマにおい て使用可能になることでが期待される.