<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]
Module tagdocs — Documentation Elements
Attributs 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.global.source (@source))
prefix specifies 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>
Schematron

<s:rule context="tei:moduleRef">
<s:report test="@except and @include">It is an error to supply both the @include and @except attributes</s:report>
</s:rule>
include supplies 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
except supplies 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
key le 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>
 <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 }?,
   (
      attribute include { list { teidata.xmlName* } }?
    | attribute except { list { teidata.xmlName* } }?
   ),
   ( attribute key { teidata.xmlName }? | attribute url { teidata.pointer }? ),
   content?
}