<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 16.1 Varieties of Composite Text]
Module core — Elements Available in All TEI Documents
Attributes
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 teiHeader for the corpus, and a series of TEI elements, one for each text.

As with all elements in the TEI scheme (except egXML) this element is in the TEI namespace (see Namespaces). Thus, when it is used as the outermost element of a TEI document, it is necessary to specify the TEI namespace on it. This is customarily achieved by including http://www.tei-c.org/ns/1.0 as the value of the XML namespace declaration (xmlns), without indicating a prefix, and then not using a prefix on TEI elements in the rest of the document. For example: <teiCorpus version="4.8.1" xml:lang="en" xmlns="http://www.tei-c.org/ns/1.0">.

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.analytic.attributes"/>
 <rng:ref name="att.global.change.attributes"/>
 <rng:ref name="att.global.facs.attributes"/>
 <rng:ref name="att.global.linking.attributes"/>
 <rng:ref name="att.global.rendition.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.analytic.attributes,
   att.global.change.attributes,
   att.global.facs.attributes,
   att.global.linking.attributes,
   att.global.rendition.attributes,
   att.global.responsibility.attributes,
   att.global.source.attributes,
   att.typed.attributes,
   attribute version { teidata.version }?,
   ( teiHeader, model.resource*, model.describedResource+ )
}