<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

<sch:rule context="tei:moduleRef">
<sch:report test="//*[ not( generate-id(.) eq generate-id( current() ) ) ]/@prefix = @prefix">The prefix attribute
of <sch:name/> should not match that of any other
element (it would defeat the purpose)</sch:report>
</sch:rule>
Schematron

<sch:rule context="tei:moduleRef">
<sch:report test="@except and @include">It is an error to supply both the @include and @except attributes</sch:report>
</sch: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

<sch:rule context="tei:moduleRef">
<sch:report test="* and @key">Child elements of <sch:name/> are only allowed when an external module is being loaded
</sch:report>
</sch: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?
}