<moduleRef>

<moduleRef> (riferimento al modulo) indica un modulo da includere all'interno di uno schema
Modulotagdocs — 22 Documentation Elements
Attributiatt.global (@xml:id, @n, @xml:lang, @rend, @rendition, @xml:base, @xml:space) (att.global.linking (@corresp, @synch, @sameAs, @copyOf, @next, @prev, @exclude, @select)) (att.global.analytic (@ana)) (att.global.facs (@facs)) (att.global.change (@change)) att.readFrom (@source)
prefixspecifies a default prefix which will be prepended to all patterns from the imported module
Stato Opzionale
Tipo di dati 0–1 occorrenze di 

<rng:data type="NCName"/>
xsd:NCName
separato da spazio bianco
Schematron

<sch:rule context="tei:moduleRef">
<sch:report
  test="//*[ not( generate-id(.) eq generate-id( current() ) ) ]/@prefix = @prefix">
The prefix attribute
of a moduleRef element should not match that of any other
element (it would defeat the purpose)</sch:report></sch:rule>
includesupplies a list of the elements which are to be copied from the specified module into the schema being defined.
Stato Opzionale
Tipo di dati 0–∞ occorrenze di 

<rng:data type="NCName"/>
xsd:NCName
separato da spazio bianco
exceptsupplies a list of the elements which are not to be copied from the specified module into the schema being defined.
Stato Opzionale
Tipo di dati 0–∞ occorrenze di 

<rng:data type="NCName"/>
xsd:NCName
separato da spazio bianco
keynome di un modulo TEI
Stato Opzionale
Tipo di dati

<rng:data type="NCName"/>
xsd:NCName
url (URL) indica la collocazione esterna di un modulo non TEI che utilizza il codice RELAX NG
Stato Opzionale
Tipo di dati

<rng:ref name="data.pointer"/>
data.pointer
Usato da
Contenuto in
Può contenere
tagdocs: content
Dichiarazione

<rng:element name="moduleRef">
 <rng:ref name="att.global.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.readFrom.attributes"/>
 <rng:optional>
  <rng:attribute name="prefix">
   <rng:data type="NCName"/>
  </rng:attribute>
 </rng:optional>
 <rng:choice>
  <rng:optional>
   <rng:attribute name="include">
    <rng:list>
     <rng:zeroOrMore>
      <rng:data type="NCName"/>
     </rng:zeroOrMore>
    </rng:list>
   </rng:attribute>
  </rng:optional>
  <rng:optional>
   <rng:attribute name="except">
    <rng:list>
     <rng:zeroOrMore>
      <rng:data type="NCName"/>
     </rng:zeroOrMore>
    </rng:list>
   </rng:attribute>
  </rng:optional>
 </rng:choice>
 <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,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   att.readFrom.attributes,
   attribute prefix { xsd:NCName }?,
   (
      attribute include { list { xsd:NCName* } }?
    | attribute except { list { xsd:NCName* } }?
   ),
   ( attribute key { xsd:NCName }? | attribute url { data.pointer }? ),
   content?
}
Schematron

<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>
Esempio
<moduleRef key="linking"/>

This includes all objects available from the linking module.

Esempio
<moduleRef key="linking" exclude="linkGrp link"/>

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

Esempio
<moduleRef key="linking" exclude="linkGrp link"/>

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

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

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