P5 Version 4.10.2. Last updated on 4th September 2025, revision bcfa98f42
Use of this attribute allows an external schema which has an element with the same local name as a TEI element to be mixed in.
Although multiple languages may be specified, the current TEI ODD processor is only capable of handling one.
Specifies defaults for the except attribute of anyElement. RELAX NG validation (unless DTD Compatibility Mode is turned off) requires that any elements which may take an xml:id be excluded from the content of anyName name classes. For normal TEI purposes, this includes anything in the TEI namespace and the egXML element. The defaultExceptions attribute sets the global defaults for these exclusions. Element prefixes must be declared using a namespace declaration on the parent or an ancestor element.
A schemaSpec combines references to modules, individual element or macro declarations, and specification groups together to form a unified schema.
The processing of the schemaSpec element must resolve any conflicts amongst the declarations it either contains or refers to. Different ODD processors may generate schemas and documentation using different concrete syntaxes.
The source may be specified (on the source attribute) in the form of a private URI, for which the recommended format is tei:x.y.z, where x.y.z indicates the version number, e.g. tei:1.5.1 for 1.5.1 release of TEI P5 or (as a special case) tei:current for whatever is the latest release. The source indicated must provide a set of TEI-conformant
specifications in a form directly usable by an ODD processor. By default, this will
be the location of the current release of the TEI Guidelines.
This schema combines elements from the current versions of the drama and core modules, the current release version of the header module, and elements from an existing RELAX NG schema available from the URL indicated.
This schema starts with a pre-existing customization of the TEI called TEI Bare (a customization with a minimal selection of elements). The q element is not available in TEI Bare, but it can be brought back. In this case, we will get the version defined in TEI P5 release 3.0.0
<content>
<sequence>
<alternate minOccurs="0"
maxOccurs="unbounded">
<classRef key="model.identEquiv"/>
<classRef key="model.descLike"/>
</alternate>
<alternate minOccurs="0"
maxOccurs="unbounded">
<elementRef key="constraintDecl"/>
<classRef key="model.oddRef"/>
<classRef key="model.oddDecl"/>
<elementRef key="listRef"/>
</alternate>
</sequence>
</content>
<rng:element name="schemaSpec">
<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.docStatus.attributes"/>
<rng:ref name="att.identified.attributes"/>
<rng:ref name="att.combinable.attributes"/>
<rng:ref name="att.deprecated.attributes"/>
<rng:ref name="att.namespaceable.attributes"/>
<rng:optional>
<rng:attribute name="start"
a:defaultValue="TEI">
<rng:list>
<rng:oneOrMore>
<rng:ref name="teidata.name"/>
</rng:oneOrMore>
</rng:list>
</rng:attribute>
</rng:optional>
<rng:optional>
<rng:attribute name="prefix">
<rng:optional>
<rng:ref name="teidata.xmlName"/>
</rng:optional>
</rng:attribute>
</rng:optional>
<rng:optional>
<rng:attribute name="targetLang">
<rng:ref name="teidata.language"/>
</rng:attribute>
</rng:optional>
<rng:optional>
<rng:attribute name="docLang">
<rng:list>
<rng:oneOrMore>
<rng:ref name="teidata.language"/>
</rng:oneOrMore>
</rng:list>
</rng:attribute>
</rng:optional>
<rng:optional>
<rng:attribute name="defaultExceptions"
a:defaultValue="http://www.tei-c.org/ns/1.0 teix:egXML">
<rng:list>
<rng:oneOrMore>
<rng:ref name="teidata.namespaceOrName"/>
</rng:oneOrMore>
</rng:list>
</rng:attribute>
</rng:optional>
<rng:group>
<rng:zeroOrMore>
<rng:choice>
<rng:ref name="model.identEquiv"/>
<rng:ref name="model.descLike"/>
</rng:choice>
</rng:zeroOrMore>
<rng:zeroOrMore>
<rng:choice>
<rng:ref name="constraintDecl"/>
<rng:ref name="model.oddRef"/>
<rng:ref name="model.oddDecl"/>
<rng:ref name="listRef"/>
</rng:choice>
</rng:zeroOrMore>
</rng:group>
</rng:element>
element schemaSpec { 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.docStatus.attributes, att.identified.attributes, att.combinable.attributes, att.deprecated.attributes, att.namespaceable.attributes, attribute start { list { teidata.name+ } }?, attribute prefix { teidata.xmlName? }?, attribute targetLang { teidata.language }?, attribute docLang { list { teidata.language+ } }?, attribute defaultExceptions { list { teidata.namespaceOrName+ } }?, ( ( model.identEquiv | model.descLike )*, ( constraintDecl | model.oddRef | model.oddDecl | listRef )* ) }
[English] [Deutsch] [Español] [Italiano] [Français] [日本語] [한국어] [中文]