<moduleRef>

<moduleRef> (référence de module) référence un module qui doit être incorporé dans un schéma. [22.2 Modules and Schemas]
Moduletagdocs — Documentation Elements
Attributsatt.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.global.source (@source))
prefixspecifies a default prefix which will be prepended to all patterns from the imported module
Statut Optionel
Type de données 0–1 occurrences de teidata.xmlName séparé par un espace
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.
Statut Optionel
Type de données 0–∞ occurrences de teidata.xmlName séparé par un espace
exceptsupplies a list of the elements which are not to be copied from the specified module into the schema being defined.
Statut Optionel
Type de données 0–∞ occurrences de teidata.xmlName séparé par un espace
keyle nom d'un module TEI.
Statut Optionel
Type de données teidata.xmlName
url(URL) fait référence à un module non TEI de code RELAX NG par une localisation externe.
Statut Optionel
Type de données teidata.pointer
Membre du
Contenu dans
Peut contenir
tagdocs: content
Note

Les modules sont identifiés par le nom fourni comme valeur de l'attribut ident dans l'élément moduleSpec où ils sont déclarés. Un URI peut aussi être indiqué dans le cas d'un module non TEI et l'on s'attend à ce qu'il soit écrit comme un schéma RELAX NG.

La fonction de cet élément est de rendre toutes les déclarations contenues par le module référencé disponibles pour le schéma que l'on compile.

Exemple
<moduleRef key="linking"/>

Cela implante le module<linking >.

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>
Modèle de contenu
<content>
 <elementRef key="contentminOccurs="0"/>
</content>
Schéma Declaration
<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.global.source.attributes"/>
 <rng:optional>
  <rng:attribute name="prefix">
   <rng:ref name="teidata.xmlName"/>
  </rng:attribute>
 </rng:optional>
 <xhtml:tr>
  <xhtml:td>[#not-same-prefix]</xhtml:td>
  <xhtml:td>
   <xhtml:div id="index-egXML-d597066e1"
    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:br/>
    <xhtml:span class="element"></s:rule></xhtml:span>
    <xhtml:br/>
    <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="teidata.xmlName"/>
     </rng:zeroOrMore>
    </rng:list>
   </rng:attribute>
  </rng:optional>
  <rng:optional>
   <rng:attribute name="except">
    <rng:list>
     <rng:zeroOrMore>
      <rng:ref name="teidata.xmlName"/>
     </rng:zeroOrMore>
    </rng:list>
   </rng:attribute>
  </rng:optional>
 </rng:choice>
 <rng:choice>
  <rng:optional>
   <rng:attribute name="key">
    <rng:ref name="teidata.xmlName"/>
   </rng:attribute>
  </rng:optional>
  <rng:optional>
   <rng:attribute name="url">
    <rng:ref name="teidata.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.global.source.attributes,
   attribute prefix { teidata.xmlName }?
   >>
   d597063e16: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 { teidata.xmlName* } }?
    | attribute except { list { teidata.xmlName* } }?
   ),
   ( attribute key { teidata.xmlName }? | attribute url { teidata.pointer }? ),
   content?
}