<moduleRef>

<moduleRef> (모듈 참조) 하나의 스키마로 통합된 모듈을 참조한다. [22.2 Modules and Schemas]
모듈tagdocs — Documentation Elements
속성att.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.readFrom (@source)
prefixspecifies a default prefix which will be prepended to all patterns from the imported module
상태 수의적
자료 유형 0–1 출현 

<rng:ref name="data.xmlName"/>
data.xmlName
공백문자로 분리됨
Schematron

<s:rule context="tei:moduleRef">
<s:report test="//*[ not( generate-id(.) eq generate-id( current() ) ) ]/@prefix = @prefix">The prefix attribute
of <s:name/> should not match that of any other
element (it would defeat the purpose)</s:report></s:rule>
includesupplies a list of the elements which are to be copied from the specified module into the schema being defined.
상태 수의적
자료 유형 0–∞ 출현 

<rng:ref name="data.xmlName"/>
data.xmlName
공백문자로 분리됨
exceptsupplies a list of the elements which are not to be copied from the specified module into the schema being defined.
상태 수의적
자료 유형 0–∞ 출현 

<rng:ref name="data.xmlName"/>
data.xmlName
공백문자로 분리됨
keythe name of a TEI module
상태 수의적
자료 유형

<rng:ref name="data.xmlName"/>
data.xmlName
url(uniform resource locator) refers to a non-TEI module of RELAX NG code by external location
상태 수의적
자료 유형

<rng:ref name="data.pointer"/>
data.pointer
클럽 회원
에 의해 포함된
포함할 수 있다
tagdocs: content
선언

<rng:element name="moduleRef">
 <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.readFrom.attributes"/>
 <rng:optional>
  <rng:attribute name="prefix">
   <rng:ref name="data.xmlName"/>
  </rng:attribute>
 </rng:optional>
 <xhtml:tr>
  <xhtml:td>[#not-same-prefix]</xhtml:td>
  <xhtml:td>
   <xhtml:div id="index-egXML-d465993e1"
    class="pre egXML_valid">

    <xhtml:span class="element"><constraint></xhtml:span>
    <xhtml:br/>
    <xhtml:span class="element"><s:rule <xhtml:span class="attribute">context</xhtml:span>="<xhtml:span class="attributevalue">tei:moduleRef</xhtml:span>"></xhtml:span>
    <xhtml:br/> <xhtml:span class="element"><s:report <xhtml:span class="attribute">test</xhtml:span>="<xhtml:span class="attributevalue">//*[ not( generate-id(.) eq generate-id( current() ) ) ]/@prefix
           = @prefix</xhtml:span>"></xhtml:span>The prefix attribute<xhtml:br/>   of <xhtml:span class="element"><s:name/></xhtml:span> should not match that of any other<xhtml:br/>   element (it would defeat the purpose)<xhtml:span class="element"></s:report></xhtml:span>
    <xhtml:span class="element"></s:rule></xhtml:span>
    <xhtml:span class="element"></constraint></xhtml:span>
   </xhtml:div>
  </xhtml:td>
 </xhtml:tr>
 <rng:choice>
  <rng:optional>
   <rng:attribute name="include">
    <rng:list>
     <rng:zeroOrMore>
      <rng:ref name="data.xmlName"/>
     </rng:zeroOrMore>
    </rng:list>
   </rng:attribute>
  </rng:optional>
  <rng:optional>
   <rng:attribute name="except">
    <rng:list>
     <rng:zeroOrMore>
      <rng:ref name="data.xmlName"/>
     </rng:zeroOrMore>
    </rng:list>
   </rng:attribute>
  </rng:optional>
 </rng:choice>
 <rng:choice>
  <rng:optional>
   <rng:attribute name="key">
    <rng:ref name="data.xmlName"/>
   </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,
   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.readFrom.attributes,
   attribute prefix { data.xmlName }?
   >>
   d465991e16:tr
   [
      "[#not-same-prefix]"
      "<constraint>"
      "<s:rule "
      "context"
      """=""""
      "tei:moduleRef"
      """">"""
      " "
      "<s:report "
      "test"
      """=""""
      """//*[ not( generate-id(.) eq generate-id(      current() ) ) ]/@prefix 
 = @prefix"""
      """">"""
      "The prefix attribute"
      "   of "
      "<s:name/>"
      " should not match that of any other"
      "   element (it would defeat the purpose)"
      "</s:report>"
      "</s:rule>"
      "</constraint>"
   ],
   (
      attribute include { list { data.xmlName* } }?
    | attribute except { list { data.xmlName* } }?
   ),
   ( attribute key { data.xmlName }? | attribute url { data.pointer }? ),
   content?
}
Schematron

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

This includes all objects available from the linking module.

<moduleRef key="linking"
 except="linkGrp link"/>

This includes all elements available from the linking module except for the link and linkGrp elements.

<moduleRef key="linking"
 include="linkGrp link"/>

This includes only the link and linkGrp elements from the linking module.