<teiCorpus>

<teiCorpus> (TEI corpus) 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]
Module core — Elements Available in All TEI Documents
Attributes 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)) att.typed (@type, @subtype)
version⚓︎ (version) specifies the version number of the TEI Guidelines against which this document is valid.
Status Optional
Datatype teidata.version
Note

Major editions of the Guidelines have long been informally referred to by a name made up of the letter P (for Proposal) followed by a digit. The current release is one of the many releases of the fifth major edition of the Guidelines, known as P5. This attribute may be used to associate a TEI document with a specific release of the P5 Guidelines, in the absence of a more precise association provided by the source attribute on the associated schemaSpec.

Member of
Contained by
core: teiCorpus
May contain
core: teiCorpus
header: teiHeader
iso-fs: fsdDecl
linking: standOff
textstructure: TEI text
Note

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

Example
<teiCorpus version="3.3.0" 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"/>
  <classRef key="model.resource"
   minOccurs="0maxOccurs="unbounded"/>

  <classRef key="model.describedResource"
   minOccurs="1maxOccurs="unbounded"/>

 </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">
   <rng:ref name="teidata.version"/>
  </rng:attribute>
 </rng:optional>
 <rng:group>
  <rng:ref name="teiHeader"/>
  <rng:zeroOrMore>
   <rng:ref name="model.resource"/>
  </rng:zeroOrMore>
  <rng:oneOrMore>
   <rng:ref name="model.describedResource"/>
  </rng:oneOrMore>
 </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.resource*, model.describedResource+ )
}