<teiCorpus>

<teiCorpus> contains the whole of a TEI encoded corpus, comprising a single corpus header and one or more TEI elements, each containing a single text header and a text. [4 Default Text Structure 15.1 Varieties of Composite Text]
Modulecore — Elements Available in All TEI Documents
Attributesatt.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)) att.typed (@type, @subtype)
versionThe version of the TEI scheme
Status Optional
Datatype teidata.version
Default 5.0
Contained by
core: teiCorpus
May contain
core: teiCorpus
header: teiHeader
iso-fs: fsdDecl
textstructure: TEI text
Note

Must contain one TEI header for the corpus, and a series of TEI elements, one for each text.

This element is mandatory when applicable.

Example
<teiCorpus version="5.2" xmlns="http://www.tei-c.org/ns/1.0">
 <teiHeader>
<!-- header for corpus -->
 </teiHeader>
 <TEI>
  <teiHeader>
<!-- header for first text -->
  </teiHeader>
  <text>
<!-- content of first text -->
  </text>
 </TEI>
 <TEI>
  <teiHeader>
<!-- header for second text -->
  </teiHeader>
  <text>
<!-- content of second text -->
  </text>
 </TEI>
<!-- more TEI elements here -->
</teiCorpus>
Content model
<content>
 <sequence>
  <elementRef key="teiHeader"/>
  <alternate>
   <sequence>
    <classRef key="model.resourceLike"
     minOccurs="1maxOccurs="unbounded"/>

    <alternate minOccurs="0"
     maxOccurs="unbounded">

     <elementRef key="TEI"/>
     <elementRef key="teiCorpus"/>
    </alternate>
   </sequence>
   <alternate minOccurs="1"
    maxOccurs="unbounded">

    <elementRef key="TEI"/>
    <elementRef key="teiCorpus"/>
   </alternate>
  </alternate>
 </sequence>
</content>
Schema Declaration
<rng:element name="teiCorpus">
 <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:ref name="att.typed.attributes"/>
 <rng:optional>
  <rng:attribute name="version"
   a:defaultValue="5.0">

   <rng:ref name="teidata.version"/>
  </rng:attribute>
 </rng:optional>
 <rng:group>
  <rng:ref name="teiHeader"/>
  <rng:choice>
   <rng:group>
    <rng:oneOrMore>
     <rng:ref name="model.resourceLike"/>
    </rng:oneOrMore>
    <rng:zeroOrMore>
     <rng:choice>
      <rng:ref name="TEI"/>
      <rng:ref name="teiCorpus"/>
     </rng:choice>
    </rng:zeroOrMore>
   </rng:group>
   <rng:oneOrMore>
    <rng:choice>
     <rng:ref name="TEI"/>
     <rng:ref name="teiCorpus"/>
    </rng:choice>
   </rng:oneOrMore>
  </rng:choice>
 </rng:group>
</rng:element>
element teiCorpus
{
   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,
   att.typed.attributes,
   attribute version { teidata.version }?,
   (
      teiHeader,
      ( ( model.resourceLike+, ( TEI | teiCorpus )* ) | ( TEI | teiCorpus )+ )
   )
}