TEI ODD Customization for writing TEI ODD Customizations

Table of contents

1. Introduction

The primary intent of this schema is to help you and your XML editor write a customization ODD; it in no way pretends to be the last arbiter of what is or is not allowed in an ODD file in general, nor even in a TEI customization ODD. Thus it makes lots of assumptions (read: enforces lots of constraints) that probably make sense when writing a customization schema, but may not in your particular case. Thus this schema may well flag as invalid things that are perfectly reasonable to have in your ODD.

1.1. Background

The TEI ODD language was designed both for the creation and customization of the TEI Guidelines, and also for the creation (and perhaps customization) of other, non-TEI, markup languages. Thus the TEI ODD langauge is, by default, much more flexible than needed for writing TEI customization ODDs. For example, the Guidelines define the key attribute of the <moduleRef> element as any XML name (without a namespace prefix, i.e. an xsd:NCName), even though the only possible values when used to customize TEI are the 20 or so module names defined in the TEI Guidelines.

Of course, when using RomaNote: The canonical installation of Roma is available at the TEI-C site, but it is an open source tool available on GitHub, which may be installed on any GNU/Linux system., a web-based front-end editor for ODD files, this is not a problem. The web form gives the user only the appropriate TEI values to choose from. However, when editing ODD files by hand, and thus when teaching TEI customization, it is much more efficient to catch errors like mis-spelled module names before handing the ODD file to an ODD processor (e.g. the aforementioned Roma or teitorelaxng).

Thus the Women Writers Project has developed this TEI customization for the purpose of having a schema to use that deliberately makes it easier to write a TEI customization, at the expense of the complete flexibility ODD provides.

This schema permits a valid document to use a variety of elements as the root element. This is for debugging and file maintenance convenience. As always, any conforming TEI ODD must have either <TEI> or <teiCorpus> as the root element.

REMINDER: This language is not canonical — it is intended to be helpful, not definitive

2. Technical Information

Of course the lists of elements, classes, and on rare occasion even modules change as TEI P5 matures. Rather than requiring that this customization be manually edited with each release of TEI P5, the ODD for this customization is itself generated from a source file. To generate this customization, an XSLT stylesheet reads in the source to TEI P5, and from it generates the lists of elements, classes, and modules needed. The output of the stylesheet is the ODD file for this customization.

We call this TEI language the TEI ODD Customization for writing TEI ODD Customizations language (or TOCTOC for short). It is instantited in the TEI exemplar tei_customization, which differs from tei_odds Note: Available in the main TEI P5 git repository at GitHub in a variety of ways, including:

If editing an XML document associated with this schema in oXygen, you will need to uncheck the Check ID/IDREF preference box. It can be found in Options > Preferences > XML > XML Parser > RELAX NG.

3. Schema Specification

3.1. Elements

3.1.1. <TEI>

<TEI> (TEI document) contains a single TEI-conformant document, combining a single TEI header with one or more members of the model.resource class. Multiple <TEI> elements may be combined within a <TEI> (or <teiCorpus>) element. [4. Default Text Structure 16.1. Varieties of Composite Text]
Moduletextstructure
Attributes
versionspecifies the version number of the TEI Guidelines against which this document is valid.
StatusOptional
Datatypeteidata.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>.

Contained by
textstructure: TEI
May contain
header: teiHeader
textstructure: TEI text
Note

As with all elements in the TEI scheme (except <egXML>) this element is in the TEI namespace (see 5.7.2. 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: <TEI version="4.8.1" xml:lang="it" xmlns="http://www.tei-c.org/ns/1.0">.

Example
<TEI version="3.3.0" xmlns="http://www.tei-c.org/ns/1.0">  <teiHeader>   <fileDesc>    <titleStmt>     <title>The shortest TEI Document Imaginable</title>    </titleStmt>    <publicationStmt>     <p>First published as part of TEI P2, this is the P5          version using a namespace.</p>    </publicationStmt>    <sourceDesc>     <p>No source: this is an original work.</p>    </sourceDesc>   </fileDesc>  </teiHeader>  <text>   <body>    <p>This is about the shortest TEI document imaginable.</p>   </body>  </text> </TEI>
Example
<TEI version="2.9.1" xmlns="http://www.tei-c.org/ns/1.0">  <teiHeader>   <fileDesc>    <titleStmt>     <title>A TEI Document containing four page images </title>    </titleStmt>    <publicationStmt>     <p>Unpublished demonstration file.</p>    </publicationStmt>    <sourceDesc>     <p>No source: this is an original work.</p>    </sourceDesc>   </fileDesc>  </teiHeader>  <facsimile>   <graphic url="page1.png"/>   <graphic url="page2.png"/>   <graphic url="page3.png"/>   <graphic url="page4.png"/>  </facsimile> </TEI>
Content model
<content>
 <sequence>
  <elementRef key="teiHeader"/>
  <alternate>
   <sequence>
    <classRef key="model.resource"
     minOccurs="1" maxOccurs="unbounded"/>
    <elementRef key="TEI" minOccurs="0"
     maxOccurs="unbounded"/>
   </sequence>
   <elementRef key="TEI" minOccurs="1"
    maxOccurs="unbounded"/>
  </alternate>
 </sequence>
</content>
    ⚓
Schema Declaration
element TEI
{
   cust_att.global.attributes,
   cust_att.typed.attributes,
   attribute version { text }?,
   ( cust_teiHeader, ( ( cust_model.resource+, cust_TEI* ) | cust_TEI+ ) )
}⚓

3.1.2. <abbr>

<abbr> (abbreviation) contains an abbreviation of any sort. [3.6.5. Abbreviations and Their Expansions]
Modulecore
Attributes
type(type) allows the encoder to classify the abbreviation according to some convenient typology.
Derived fromatt.typed
StatusOptional
Datatypeteidata.enumerated
Sample values include:
suspension
(suspension) the abbreviation provides the first letter(s) of the word or phrase, omitting the remainder.
contraction
(contraction) the abbreviation omits some letter(s) in the middle.
brevigraph
the abbreviation comprises a special symbol or mark.
superscription
(superscription) the abbreviation includes writing above the line.
acronym
(acronym) the abbreviation comprises the initial letters of the words of a phrase.
title
(title) the abbreviation is for a title of address (Dr, Ms, Mr, …)
organization
(organization) the abbreviation is for the name of an organization.
geographic
(geographic) the abbreviation is for a geographic name.
Note

The type attribute is provided for the sake of those who wish to classify abbreviations at their point of occurrence; this may be useful in some circumstances, though usually the same abbreviation will have the same type in all occurrences. As the sample values make clear, abbreviations may be classified by the method used to construct them, the method of writing them, or the referent of the term abbreviated; the typology used is up to the encoder and should be carefully planned to meet the needs of the expected use. For a typology of Middle English abbreviations, see 6.2.

Member of
Contained by
May contain
Note

If abbreviations are expanded silently, this practice should be documented in the <editorialDecl>, either with a <normalization> element or a <p>.

Example
<choice>  <expan>North Atlantic Treaty Organization</expan>  <abbr cert="low">NorATO</abbr>  <abbr cert="high">NATO</abbr>  <abbr cert="high" xml:lang="fr">OTAN</abbr> </choice>
Example
<choice>  <abbr>SPQR</abbr>  <expan>senatus populusque romanorum</expan> </choice>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element abbr
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.typed.attribute.subtype,
   attribute type { text }?,
   cust_macro.phraseSeq
}⚓

3.1.3. <abstract>

<abstract> contains a summary or formal abstract prefixed to an existing source document by the encoder. [2.4.4. Abstracts]
Moduleheader
Attributes
Contained by
—
May contain
core: list p
figures: table
Note

This element is intended only for cases where no abstract is available in the original source. Any abstract already present in the source document should be encoded as a <div> within the <front>, as it should for a born-digital document.

Example
<profileDesc>  <abstract resp="#LB">   <p>Good database design involves the acquisition and deployment of      skills which have a wider relevance to the educational process. From      a set of more or less instinctive rules of thumb a formal discipline      or "methodology" of database design has evolved. Applying that      methodology can be of great benefit to a very wide range of academic      subjects: it requires fundamental skills of abstraction and      generalisation and it provides a simple mechanism whereby complex      ideas and information structures can be represented and manipulated,      even without the use of a computer. </p>  </abstract> </profileDesc>
Content model
<content>
 <alternate minOccurs="1"
  maxOccurs="unbounded">
  <classRef key="model.pLike"/>
  <classRef key="model.listLike"/>
  <elementRef key="listBibl"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element abstract
{
   cust_att.global.attributes,
   ( cust_model.pLike | cust_model.listLike | listBibl )+
}⚓

3.1.4. <addrLine>

<addrLine> (address line) contains one line of a postal address. [3.6.2. Addresses 2.2.4. Publication, Distribution, Licensing, etc. 3.12.2.4. Imprint, Size of a Document, and Reprint Information]
Modulecore
Attributes
Member of
Contained by
core: address
May contain
Note

Addresses may be encoded either as a sequence of lines, or using any sequence of component elements from the model.addrPart class. Other non-postal forms of address, such as telephone numbers or email, should not be included within an <address> element directly but may be wrapped within an <addrLine> if they form part of the printed address in some source text.

Example
<address>  <addrLine>Computing Center, MC 135</addrLine>  <addrLine>P.O. Box 6998</addrLine>  <addrLine>Chicago, IL</addrLine>  <addrLine>60680 USA</addrLine> </address>
Example
<addrLine>  <ref target="tel:+1-201-555-0123">(201) 555 0123</ref> </addrLine>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element addrLine { cust_att.global.attributes, cust_macro.phraseSeq }⚓

3.1.5. <address>

<address> (address) contains a postal address, for example of a publisher, an organization, or an individual. [3.6.2. Addresses 2.2.4. Publication, Distribution, Licensing, etc. 3.12.2.4. Imprint, Size of a Document, and Reprint Information]
Modulecore
Attributes
Member of
Contained by
May contain
Note

This element should be used for postal addresses only. Within it, the generic element <addrLine> may be used as an alternative to any of the more specialized elements available from the model.addrPart class, such as <street>, <postCode> etc.

ExampleUsing just the elements defined by the core module, an address could be represented as follows:
<address>  <street>via Marsala 24</street>  <postCode>40126</postCode>  <name>Bologna</name>  <name>Italy</name> </address>
ExampleWhen a schema includes the names and dates module more specific elements such as country or settlement would be preferable over generic <name>:
<address>  <street>via Marsala 24</street>  <postCode>40126</postCode>  <settlement>Bologna</settlement>  <country>Italy</country> </address>
Example
<address>  <addrLine>Computing Center, MC 135</addrLine>  <addrLine>P.O. Box 6998</addrLine>  <addrLine>Chicago, IL 60680</addrLine>  <addrLine>USA</addrLine> </address>
Example
<address>  <country key="FR"/>  <settlement type="city">Lyon</settlement>  <postCode>69002</postCode>  <district type="arrondissement">IIème</district>  <district type="quartier">Perrache</district>  <street>   <num>30</num>, Cours de Verdun</street> </address>
Content model
<content>
 <sequence>
  <classRef key="model.global"
   minOccurs="0" maxOccurs="unbounded"/>
  <sequence minOccurs="1"
   maxOccurs="unbounded">
   <classRef key="model.addrPart"/>
   <classRef key="model.global"
    minOccurs="0" maxOccurs="unbounded"/>
  </sequence>
 </sequence>
</content>
    ⚓
Schema Declaration
element address
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   ( cust_model.global*, ( ( cust_model.addrPart, cust_model.global* )+ ) )
}⚓

3.1.6. <altIdent>

<altIdent> (alternate identifier) supplies the recommended XML name for an element, class, attribute, etc. in some language. [3.4.1. Terms and Glosses 23.4.1. Description of Components]
Moduletagdocs
Contained by
May contain
XSD NCName
Note

All documentation elements in ODD have a canonical name, supplied as the value for their ident attribute. The <altIdent> element is used to supply an alternative name for the corresponding XML object, perhaps in a different language.

Example
<altIdent xml:lang="fr">balisageDoc</altIdent>
Content model
<content>
 <dataRef name="NCName"/>
</content>
    ⚓
Schema Declaration
element altIdent { xsd:NCName }⚓

3.1.7. <alternate>

<alternate> indicates that the constructs referenced by its children form an alternation. [23.5.1. Defining Content Models]
Moduletagdocs
Attributes
Member of
Contained by
May contain
Example
<content>  <alternate>   <elementRef key="name"/>   <elementRef key="persName"/>  </alternate> </content>
This example content model permits either a <name> or a <persName>.
Schematron
<sch:rule context="tei:alternate"> <sch:assert test="count(*) gt 1">The alternate element must have at least two child elements</sch:assert> </sch:rule>
Content model
<content>
 <alternate minOccurs="1"
  maxOccurs="unbounded">
  <elementRef key="valList"/>
  <classRef key="model.contentPart"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element alternate
{
   cust_att.global.attributes,
   cust_att.repeatable.attributes,
   ( cust_valList | cust_model.contentPart )+
}⚓

3.1.8. <anyElement>

<anyElement> indicates the presence of any elements in a content model. [23. Documentation Elements]
Moduletagdocs
Attributes
requiresupplies a list of namespaces to one of which the permitted elements must belong.
StatusOptional
Datatype1–∞ occurrences of teidata.namespace separated by whitespace
exceptsupplies a list of namespaces or prefixed element names which are not permitted.
StatusOptional
Datatype1–∞ occurrences of teidata.namespaceOrName separated by whitespace
Note

When RELAX NG DTD Compatibility Mode is turned on, validation 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. Default elements and namespaces to be excluded are set on the defaultExceptions attribute of the <schemaSpec>. except may be used when the exceptions need to be locally specified. Element prefixes must be declared using a namespace declaration on the parent or an ancestor element.

Member of
Contained by
May containEmpty element
Example
<content>  <anyElement except="http://www.tei-c.org/ns/1.0"/> </content>
This <content> element permits one occurrence of any element which does not belong to the TEI namespace.
Example
<content>  <anyElement minOccurs="1"   maxOccurs="unbounded"   require="http://www.w3.org/1998/Math/MathML http://www.tei-c.org/ns/Examples/1.0"/> </content>
This <content> element permits one or more elements which belong either to the MathML namespace or to the TEI examples namespace.
Example
<content>  <alternate minOccurs="1"   maxOccurs="unbounded">   <textNode/>   <anyElement require="http://www.tei-c.org/ns/Examples/1.0"/>  </alternate> </content>
This <content> element permits one or more children which are either text nodes or elements from the TEI examples namespace. It is the equivalent of the content model ANY in an XML DTD using the TEI All schema.
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element anyElement
{
   cust_att.global.attributes,
   cust_att.repeatable.attributes,
   attribute require { list { + } }?,
   attribute except { list { + } }?,
   empty
}⚓

3.1.9. <att>

<att> (attribute) contains the name of an attribute appearing within running text. [23. Documentation Elements]
Moduletagdocs
Attributes
scheme(scheme) supplies an identifier for the scheme in which this name is defined.
StatusOptional
Datatypeteidata.enumerated
Sample values include:
TEI
(Text Encoding Initiative) this attribute is part of the TEI scheme.[Default]
DBK
(Docbook) this attribute is part of the Docbook scheme.
XX
(unknown) this attribute is part of an unknown scheme.
imaginary
(imaginary) the attribute is from a non-existent scheme, for illustrative purposes only
XHTML
(XHTML) the attribute is part of the XHTML language
XML
(XML) the attribute is part of the XML language
XI
(XI) the attribute is defined in the xInclude schema
Member of
Contained by
May contain
XSD Name
Note

As an alternative to using the scheme attribute a namespace prefix may be used. Where both scheme and a prefix are used, the prefix takes precedence.

Example
<p>The TEI defines several <soCalled>global</soCalled> attributes; their names include <att>xml:id</att>, <att>rend</att>, <att>xml:lang</att>, <att>n</att>, <att>xml:space</att>, and <att>xml:base</att>; <att scheme="XX">type</att> is not amongst them.</p>
Content model
<content>
 <dataRef key="teidata.name"/>
</content>
    ⚓
Schema Declaration
element att
{
   cust_att.global.attributes,
   attribute scheme { text }?,
   teidata.name
}⚓

3.1.10. <attDef>

<attDef> (attribute definition) contains the definition of a single attribute. [23.5.3. Attribute List Specification]
Moduletagdocs
Attributes
usagespecifies the optionality of the attribute.
StatusOptional
Datatypeteidata.enumerated
Legal values are:
req
(required)
rec
(recommended)
opt
(optional) [Default]
Contained by
tagdocs: attList
May contain
Example
<attDef usage="rec" ident="type">  <desc>specifies a name conventionally used for this level of subdivision, e.g.  <val>act</val>, <val>volume</val>, <val>book</val>, <val>section</val>, <val>canto</val>,    etc.</desc>  <datatype>   <dataRef key="teidata.word"/>  </datatype> </attDef>
Schematron
<sch:ns prefix="teix"  uri="http://www.tei-c.org/ns/Examples"/> <sch:rule context="tei:attDef"> <sch:assert test="ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']"> Attribute: the definition of the @<sch:value-of select="@ident"/> attribute in the <sch:value-of select="ancestor::*[@ident][1]/@ident"/>  <sch:value-of select="' '"/>  <sch:value-of select="local-name(ancestor::*[@ident][1])"/> should have a closed valList or a datatype </sch:assert> </sch:rule>
Schematron
<sch:rule context="tei:attDef[@usage eq 'req']"> <sch:report test="tei:defaultVal">Since the @<sch:value-of select="@ident"/> attribute is required, it will always be specified. Thus the default value (of "<sch:value-of select="normalize-space(tei:defaultVal)"/>") will never be used. Either change the definition of the attribute so it is not required ("rec" or "opt"), or remove the defaultVal element.</sch:report> </sch:rule>
Schematron
<sch:rule context="tei:attDef[ tei:defaultVal and tei:valList[ @type eq 'closed'] and tei:datatype[ @maxOccurs > 1 or @minOccurs > 1 or @maxOccurs eq 'unbounded'] ]"> <sch:assert test="tokenize(normalize-space(tei:defaultVal),' ') = tei:valList/tei:valItem/@ident">In the <sch:value-of select="local-name(ancestor::*[@ident][1])"/> defining <sch:value-of select="ancestor::*[@ident][1]/@ident"/> the default value of the @<sch:value-of select="@ident"/> attribute is not among the closed list of possible values</sch:assert> </sch:rule>
Schematron
<sch:rule context="tei:attDef[ tei:defaultVal and tei:valList[ @type eq 'closed'] and tei:datatype[ not(@maxOccurs) or ( if ( @maxOccurs castable as xs:integer ) then ( @maxOccurs cast as xs:integer eq 1 ) else false() ) ] ]"> <sch:assert test="string(tei:defaultVal) = tei:valList/tei:valItem/@ident">In the <sch:value-of select="local-name(ancestor::*[@ident][1])"/> defining <sch:value-of select="ancestor::*[@ident][1]/@ident"/> the default value of the @<sch:value-of select="@ident"/> attribute is not among the closed list of possible values</sch:assert> </sch:rule>
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1">
  <alternate minOccurs="0"
   maxOccurs="unbounded">
   <elementRef key="altIdent"/>
   <classRef key="model.identSynonyms"/>
   <classRef key="model.descLike"/>
  </alternate>
  <elementRef key="datatype" minOccurs="0"/>
  <elementRef key="constraintSpec"
   minOccurs="0" maxOccurs="unbounded"/>
  <elementRef key="defaultVal"
   minOccurs="0"/>
  <alternate minOccurs="0" maxOccurs="1">
   <elementRef key="valList"/>
   <elementRef key="valDesc" minOccurs="1"
    maxOccurs="unbounded"/>
  </alternate>
  <elementRef key="exemplum" minOccurs="0"
   maxOccurs="unbounded"/>
  <elementRef key="remarks" minOccurs="0"
   maxOccurs="unbounded"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element attDef
{
   cust_att.global.attributes,
   cust_att.identified.attributes,
   cust_att.namespaceable.attributes,
   attribute usage { "req" | "rec" | "opt" }?,
   (
      ( cust_altIdent | cust_model.identSynonyms | cust_model.descLike )*,
      cust_datatype?,
      cust_constraintSpec*,
      cust_defaultVal?,
      ( cust_valList | cust_valDesc+ )?,
      cust_exemplum*,
      cust_remarks*
   )
}⚓

3.1.11. <attList>

<attList> (attribute list) contains documentation for all the attributes associated with this element, as a series of <attDef> elements. [23.5. Element Specifications 23.6. Class Specifications]
Moduletagdocs
Attributes
org(organization) specifies whether only one (choice) or all (group) of the attributes in the list are available.
StatusOptional
Datatypeteidata.enumerated
Legal values are:
group
grouped[Default]
choice
alternated
Contained by
May contain
Example
<attList>  <attDef ident="type" usage="opt">   <desc>type of schema</desc>   <datatype>    <dataRef key="teidata.enumerated"/>   </datatype>  </attDef> </attList>
Example
<attList org="choice">  <attDef ident="active">   <desc versionDate="2005-07-24"    xml:lang="en">identifies the <soCalled>active</soCalled> participants in a non-mutual relationship, or all the participants in a mutual one.</desc>   <datatype maxOccurs="unbounded">    <dataRef key="teidata.pointer"/>   </datatype>  </attDef>  <attDef ident="mutual" usage="opt">   <desc versionDate="2005-07-24"    xml:lang="en">supplies a list of participants amongst all of whom the relationship holds equally.</desc>   <datatype maxOccurs="unbounded">    <dataRef key="teidata.pointer"/>   </datatype>  </attDef> </attList>
Content model
<content>
 <alternate minOccurs="1"
  maxOccurs="unbounded">
  <elementRef key="attRef"/>
  <elementRef key="attDef"/>
  <elementRef key="attList"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element attList
{
   cust_att.global.attributes,
   attribute org { "group" | "choice" }?,
   ( cust_attRef | cust_attDef | cust_attList )+
}⚓

3.1.12. <attRef>

<attRef> (attribute pointer) points to the definition of an attribute or group of attributes. [23.2. Modules and Schemas]
Moduletagdocs
Attributes
classthe name of the attribute class
StatusOptional
Datatypeteidata.name
namethe name of the attribute
StatusOptional
Datatypeteidata.name
Contained by
tagdocs: attList
May containEmpty element
Example
<attRef class="att.global" name="xml:id"/>
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element attRef
{
   cust_att.global.attributes,
   attribute class { text }?,
   attribute name { text }?,
   empty
}⚓

3.1.13. <author>

<author> (author) in a bibliographic reference, contains the name(s) of an author, personal or corporate, of a work; for example in the same form as that provided by a recognized bibliographic name authority. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement]
Modulecore
Attributes
Member of
Contained by
May contain
Note

Particularly where cataloguing is likely to be based on the content of the header, it is advisable to use a generally recognized name authority file to supply the content for this element. The attributes key or ref may also be used to reference canonical information about the author(s) intended from any appropriate authority, such as a library catalogue or online resource.

In the case of a broadcast, use this element for the name of the company or network responsible for making the broadcast.

Where an author is unknown or unspecified, this element may contain text such as Unknown or Anonymous. When the appropriate TEI modules are in use, it may also contain detailed tagging of the names used for people, organizations or places, in particular where multiple names are given.

Example
<author>British Broadcasting Corporation</author> <author>La Fayette, Marie Madeleine Pioche de la Vergne, comtesse de (1634–1693)</author> <author>Anonymous</author> <author>Bill and Melinda Gates Foundation</author> <author>  <persName>Beaumont, Francis</persName> and <persName>John Fletcher</persName> </author> <author>  <orgName key="BBC">British Broadcasting    Corporation</orgName>: Radio 3 Network </author>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element author
{
   cust_att.global.attributes,
   cust_att.datable.attributes,
   cust_att.naming.attributes,
   cust_macro.phraseSeq
}⚓

3.1.14. <authority>

<authority> (release authority) supplies the name of a person or other agency responsible for making a work available, other than a publisher or distributor. [2.2.4. Publication, Distribution, Licensing, etc.]
Moduleheader
Attributes
Member of
Contained by
May contain
Example
<authority>John Smith</authority>
Content model
<content>
 <macroRef key="macro.phraseSeq.limited"/>
</content>
    ⚓
Schema Declaration
element authority
{
   cust_att.global.attributes,
   cust_att.canonical.attributes,
   cust_macro.phraseSeq.limited
}⚓

3.1.15. <availability>

<availability> (availability) supplies information about the availability of a text, for example any restrictions on its use or distribution, its copyright status, any licence applying to it, etc. [2.2.4. Publication, Distribution, Licensing, etc.]
Moduleheader
Attributes
status(status) supplies a code identifying the current availability of the text.
StatusOptional
Datatypeteidata.enumerated
Legal values are:
free
(free) the text is freely available.
unknown
(unknown) the status of the text is unknown.
restricted
(restricted) the text is not freely available.
Member of
Contained by
core: bibl
May contain
core: p
header: licence
Note

A consistent format should be adopted

Example
<availability status="restricted">  <p>Available for academic research purposes only.</p> </availability> <availability status="free">  <p>In the public domain</p> </availability> <availability status="restricted">  <p>Available under licence from the publishers.</p> </availability>
Example
<availability>  <licence target="http://opensource.org/licenses/MIT">   <p>The MIT License      applies to this document.</p>   <p>Copyright (C) 2011 by The University of Victoria</p>   <p>Permission is hereby granted, free of charge, to any person obtaining a copy      of this software and associated documentation files (the "Software"), to deal      in the Software without restriction, including without limitation the rights      to use, copy, modify, merge, publish, distribute, sublicense, and/or sell      copies of the Software, and to permit persons to whom the Software is      furnished to do so, subject to the following conditions:</p>   <p>The above copyright notice and this permission notice shall be included in      all copies or substantial portions of the Software.</p>   <p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR      IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,      FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE      AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,      OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN      THE SOFTWARE.</p>  </licence> </availability>
Content model
<content>
 <alternate minOccurs="1"
  maxOccurs="unbounded">
  <classRef key="model.availabilityPart"/>
  <classRef key="model.pLike"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element availability
{
   cust_att.global.attributes,
   cust_att.declarable.attributes,
   attribute status { "free" | "unknown" | "restricted" }?,
   ( cust_model.availabilityPart | cust_model.pLike )+
}⚓

3.1.16. <back>

<back> (back matter) contains any appendixes, etc. following the main part of a text. [4.7. Back Matter 4. Default Text Structure]
Moduletextstructure
Attributes
Contained by
textstructure: text
May contain
figures: figure table
tagdocs: schemaSpec
textstructure: div
Note

Because cultural conventions differ as to which elements are grouped as back matter and which as front matter, the content models for the <back> and <front> elements are identical.

Example
<back>  <div type="appendix">   <head>The Golden Dream or, the Ingenuous Confession</head>   <p>TO shew the Depravity of human Nature, and how apt the Mind is to be misled by Trinkets      and false Appearances, Mrs. Two-Shoes does acknowledge, that after she became rich, she      had like to have been, too fond of Money <!-- .... -->   </p>  </div> <!-- ... -->  <div type="epistle">   <head>A letter from the Printer, which he desires may be inserted</head>   <salute>Sir.</salute>   <p>I have done with your Copy, so you may return it to the Vatican, if you please;    <!-- ... -->   </p>  </div>  <div type="advert">   <head>The Books usually read by the Scholars of Mrs Two-Shoes are these and are sold at Mr      Newbery's at the Bible and Sun in St Paul's Church-yard.</head>   <list>    <item n="1">The Christmas Box, Price 1d.</item>    <item n="2">The History of Giles Gingerbread, 1d.</item> <!-- ... -->    <item n="42">A Curious Collection of Travels, selected from the Writers of all Nations,        10 Vol, Pr. bound 1l.</item>   </list>  </div>  <div type="advert">   <head>By the KING's Royal Patent, Are sold by J. NEWBERY, at the Bible and Sun in St.      Paul's Church-Yard.</head>   <list>    <item n="1">Dr. James's Powders for Fevers, the Small-Pox, Measles, Colds, &amp;c. 2s.        6d</item>    <item n="2">Dr. Hooper's Female Pills, 1s.</item> <!-- ... -->   </list>  </div> </back>
Content model
<content>
 <sequence>
  <alternate minOccurs="0"
   maxOccurs="unbounded">
   <classRef key="model.frontPart"/>
   <classRef key="model.pLike.front"/>
   <classRef key="model.pLike"/>
   <classRef key="model.listLike"/>
   <classRef key="model.global"/>
  </alternate>
  <alternate minOccurs="0">
   <sequence>
    <classRef key="model.div1Like"/>
    <alternate minOccurs="0"
     maxOccurs="unbounded">
     <classRef key="model.frontPart"/>
     <classRef key="model.div1Like"/>
     <classRef key="model.global"/>
    </alternate>
   </sequence>
   <sequence>
    <classRef key="model.divLike"/>
    <alternate minOccurs="0"
     maxOccurs="unbounded">
     <classRef key="model.frontPart"/>
     <classRef key="model.divLike"/>
     <classRef key="model.global"/>
    </alternate>
   </sequence>
  </alternate>
  <sequence minOccurs="0">
   <classRef key="model.divBottomPart"/>
   <alternate minOccurs="0"
    maxOccurs="unbounded">
    <classRef key="model.divBottomPart"/>
    <classRef key="model.global"/>
   </alternate>
  </sequence>
 </sequence>
</content>
    ⚓
Schema Declaration
element back
{
   cust_att.global.attributes,
   cust_att.declaring.attributes,
   (
      (
         cust_model.frontPart
       | cust_model.pLike.front
       | cust_model.pLike
       | cust_model.listLike
       | cust_model.global
      )*,
      (
         (
            cust_model.div1Like,
            ( cust_model.frontPart | cust_model.div1Like | cust_model.global )*
         )
       | (
            cust_model.divLike,
            ( cust_model.frontPart | cust_model.divLike | cust_model.global )*
         )
      )?,
      (
         (
            cust_model.divBottomPart,
            ( cust_model.divBottomPart | cust_model.global )*
         )?
      )
   )
}⚓

3.1.17. <bibl>

<bibl> (bibliographic citation) contains a loosely-structured bibliographic citation of which the sub-components may or may not be explicitly tagged. [3.12.1. Methods of Encoding Bibliographic References and Lists of References 2.2.7. The Source Description 16.3.2. Declarable Elements]
Modulecore
Attributes
Member of
Contained by
May contain
Note

Contains phrase-level elements, together with any combination of elements from the model.biblPart class

Example
<bibl>Blain, Clements and Grundy: Feminist Companion to Literature in English (Yale, 1990)</bibl>
Example
<bibl>  <title level="a">The Interesting story of the Children in the Wood</title>. In <author>Victor E Neuberg</author>, <title>The Penny Histories</title>. <publisher>OUP</publisher>  <date>1968</date>. </bibl>
Example
<bibl type="article" subtype="book_chapter"  xml:id="carlin_2003">  <author>   <name>    <surname>Carlin</surname>      (<forename>Claire</forename>)</name>  </author>, <title level="a">The Staging of Impotence : France’s last    congrès</title> dans <bibl type="monogr">   <title level="m">Theatrum mundi : studies in honor of Ronald W.      Tobin</title>, éd.  <editor>    <name>     <forename>Claire</forename>     <surname>Carlin</surname>    </name>   </editor> et  <editor>    <name>     <forename>Kathleen</forename>     <surname>Wine</surname>    </name>   </editor>,  <pubPlace>Charlottesville, Va.</pubPlace>,  <publisher>Rookwood Press</publisher>,  <date when="2003">2003</date>.  </bibl> </bibl>
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <textNode/>
  <classRef key="model.gLike"/>
  <classRef key="model.highlighted"/>
  <classRef key="model.pPart.data"/>
  <classRef key="model.pPart.edit"/>
  <classRef key="model.segLike"/>
  <classRef key="model.ptrLike"/>
  <classRef key="model.biblPart"/>
  <classRef key="model.global"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element bibl
{
   cust_att.global.attributes,
   cust_att.canonical.attributes,
   cust_att.cmc.attributes,
   cust_att.declarable.attributes,
   cust_att.docStatus.attributes,
   cust_att.sortable.attributes,
   cust_att.typed.attributes,
   (
      text
    | cust_model.gLike
    | cust_model.highlighted
    | cust_model.pPart.data
    | cust_model.pPart.edit
    | cust_model.segLike
    | cust_model.ptrLike
    | cust_model.biblPart
    | cust_model.global
   )*
}⚓

3.1.18. <biblFull>

<biblFull> (fully-structured bibliographic citation) contains a fully-structured bibliographic citation, in which all components of the TEI file description are present. [3.12.1. Methods of Encoding Bibliographic References and Lists of References 2.2. The File Description 2.2.7. The Source Description 16.3.2. Declarable Elements]
Moduleheader
Attributes
Member of
Contained by
May contain
Example
<biblFull>  <titleStmt>   <title>The Feminist Companion to Literature in English: women writers from the middle ages      to the present</title>   <author>Blain, Virginia</author>   <author>Clements, Patricia</author>   <author>Grundy, Isobel</author>  </titleStmt>  <editionStmt>   <edition>UK edition</edition>  </editionStmt>  <extent>1231 pp</extent>  <publicationStmt>   <publisher>Yale University Press</publisher>   <pubPlace>New Haven and London</pubPlace>   <date>1990</date>  </publicationStmt>  <sourceDesc>   <p>No source: this is an original work</p>  </sourceDesc> </biblFull>
Content model
<content>
 <alternate>
  <sequence>
   <sequence>
    <elementRef key="titleStmt"/>
    <elementRef key="editionStmt"
     minOccurs="0"/>
    <elementRef key="extent" minOccurs="0"/>
    <elementRef key="publicationStmt"/>
    <elementRef key="seriesStmt"
     minOccurs="0" maxOccurs="unbounded"/>
    <elementRef key="notesStmt"
     minOccurs="0"/>
   </sequence>
   <elementRef key="sourceDesc"
    minOccurs="0" maxOccurs="unbounded"/>
  </sequence>
  <sequence>
   <elementRef key="fileDesc"/>
   <elementRef key="profileDesc"/>
  </sequence>
 </alternate>
</content>
    ⚓
Schema Declaration
element biblFull
{
   cust_att.global.attributes,
   cust_att.canonical.attributes,
   cust_att.cmc.attributes,
   cust_att.declarable.attributes,
   cust_att.docStatus.attributes,
   cust_att.sortable.attributes,
   (
      (
         (
            cust_titleStmt,
            cust_editionStmt?,
            cust_extent?,
            cust_publicationStmt,
            cust_seriesStmt*,
            cust_notesStmt?
         ),
         cust_sourceDesc*
      )
    | ( cust_fileDesc, profileDesc )
   )
}⚓

3.1.19. <biblScope>

<biblScope> (scope of bibliographic reference) defines the scope of a bibliographic reference, for example as a list of page numbers, or a named subdivision of a larger work. [3.12.2.5. Scopes and Ranges in Bibliographic Citations]
Modulecore
Attributes
Member of
Contained by
header: seriesStmt
May contain
Note

When a single page is being cited, use the from and to attributes with an identical value. When no clear endpoint is provided, the from attribute may be used without to; for example a citation such as ‘p. 3ff’ might be encoded <biblScope from="3">p. 3ff</biblScope>.

It is now considered good practice to supply this element as a sibling (rather than a child) of <imprint>, since it supplies information which does not constitute part of the imprint.

Example
<biblScope>pp 12–34</biblScope> <biblScope unit="page" from="12" to="34"/> <biblScope unit="volume">II</biblScope> <biblScope unit="page">12</biblScope>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element biblScope
{
   cust_att.global.attributes,
   cust_att.citing.attributes,
   cust_macro.phraseSeq
}⚓

3.1.20. <body>

<body> (text body) contains the whole body of a single unitary text, excluding any front or back matter. [4. Default Text Structure]
Moduletextstructure
Attributes
Contained by
textstructure: text
May contain
Example
<body>  <l>Nu scylun hergan hefaenricaes uard</l>  <l>metudæs maecti end his modgidanc</l>  <l>uerc uuldurfadur sue he uundra gihuaes</l>  <l>eci dryctin or astelidæ</l>  <l>he aerist scop aelda barnum</l>  <l>heben til hrofe haleg scepen.</l>  <l>tha middungeard moncynnæs uard</l>  <l>eci dryctin æfter tiadæ</l>  <l>firum foldu frea allmectig</l>  <trailer>primo cantauit Cædmon istud carmen.</trailer> </body>
Content model
<content>
 <sequence>
  <classRef key="model.global"
   minOccurs="0" maxOccurs="unbounded"/>
  <sequence minOccurs="0">
   <classRef key="model.divTop"/>
   <alternate minOccurs="0"
    maxOccurs="unbounded">
    <classRef key="model.global"/>
    <classRef key="model.divTop"/>
   </alternate>
  </sequence>
  <sequence minOccurs="0">
   <classRef key="model.divGenLike"/>
   <alternate minOccurs="0"
    maxOccurs="unbounded">
    <classRef key="model.global"/>
    <classRef key="model.divGenLike"/>
   </alternate>
  </sequence>
  <alternate>
   <sequence minOccurs="1"
    maxOccurs="unbounded">
    <classRef key="model.divLike"/>
    <alternate minOccurs="0"
     maxOccurs="unbounded">
     <classRef key="model.global"/>
     <classRef key="model.divGenLike"/>
    </alternate>
   </sequence>
   <sequence minOccurs="1"
    maxOccurs="unbounded">
    <classRef key="model.div1Like"/>
    <alternate minOccurs="0"
     maxOccurs="unbounded">
     <classRef key="model.global"/>
     <classRef key="model.divGenLike"/>
    </alternate>
   </sequence>
   <sequence>
    <sequence minOccurs="1"
     maxOccurs="unbounded">
     <alternate minOccurs="1" maxOccurs="1">
      <elementRef key="schemaSpec"/>
      <classRef key="model.common"/>
     </alternate>
     <classRef key="model.global"
      minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
    <alternate minOccurs="0">
     <sequence minOccurs="1"
      maxOccurs="unbounded">
      <classRef key="model.divLike"/>
      <alternate minOccurs="0"
       maxOccurs="unbounded">
       <classRef key="model.global"/>
       <classRef key="model.divGenLike"/>
      </alternate>
     </sequence>
     <sequence minOccurs="1"
      maxOccurs="unbounded">
      <classRef key="model.div1Like"/>
      <alternate minOccurs="0"
       maxOccurs="unbounded">
       <classRef key="model.global"/>
       <classRef key="model.divGenLike"/>
      </alternate>
     </sequence>
    </alternate>
   </sequence>
  </alternate>
  <sequence minOccurs="0"
   maxOccurs="unbounded">
   <classRef key="model.divBottom"/>
   <classRef key="model.global"
    minOccurs="0" maxOccurs="unbounded"/>
  </sequence>
 </sequence>
</content>
    ⚓
Schema Declaration
element body
{
   cust_att.global.attributes,
   cust_att.declaring.attributes,
   (
      cust_model.global*,
      ( ( cust_model.divTop, ( cust_model.global | cust_model.divTop )* )? ),
      (
         (
            cust_model.divGenLike,
            ( cust_model.global | cust_model.divGenLike )*
         )?
      ),
      (
         (
            (
               cust_model.divLike,
               ( cust_model.global | cust_model.divGenLike )*
            )+
         )
       | (
            (
               cust_model.div1Like,
               ( cust_model.global | cust_model.divGenLike )*
            )+
         )
       | (
            (
               ( ( cust_schemaSpec | cust_model.common ), cust_model.global* )+
            ),
            (
               (
                  (
                     cust_model.divLike,
                     ( cust_model.global | cust_model.divGenLike )*
                  )+
               )
             | (
                  (
                     cust_model.div1Like,
                     ( cust_model.global | cust_model.divGenLike )*
                  )+
               )
            )?
         )
      ),
      ( ( cust_model.divBottom, cust_model.global* )* )
   )
}⚓

3.1.21. <calendar>

<calendar> (calendar) describes a calendar or dating system used in a dating formula in the text. [2.4.5. Calendar Description]
Moduleheader
Attributes
Contained by
header: calendarDesc
May contain
core: p
Example
<calendarDesc>  <calendar xml:id="julianEngland">   <p>Julian Calendar (including proleptic)</p>  </calendar> </calendarDesc>
Example
<calendarDesc>  <calendar xml:id="egyptian"   target="http://en.wikipedia.org/wiki/Egyptian_calendar">   <p>Egyptian calendar (as defined by Wikipedia)</p>  </calendar> </calendarDesc>
Content model
<content>
 <classRef key="model.pLike" minOccurs="1"
  maxOccurs="unbounded"/>
</content>
    ⚓
Schema Declaration
element calendar
{
   cust_att.global.attributes,
   cust_att.pointing.attributes,
   cust_att.typed.attributes,
   cust_model.pLike+
}⚓

3.1.22. <calendarDesc>

<calendarDesc> (calendar description) contains a description of the calendar system used in any dating expression found in the text. [2.4. The Profile Description 2.4.5. Calendar Description]
Moduleheader
Attributes
Contained by
—
May contain
header: calendar
Note

In the first example above, calendars and short codes for xml:ids are from W3 guidelines at http://www.w3.org/TR/xpath-functions-11/#lang-cal-country

Example
<calendarDesc>  <calendar xml:id="cal_AD">   <p>Anno Domini (Christian Era)</p>  </calendar>  <calendar xml:id="cal_AH">   <p>Anno Hegirae (Muhammedan Era)</p>  </calendar>  <calendar xml:id="cal_AME">   <p>Mauludi Era (solar years since Mohammed's birth)</p>  </calendar>  <calendar xml:id="cal_AM">   <p>Anno Mundi (Jewish Calendar)</p>  </calendar>  <calendar xml:id="cal_AP">   <p>Anno Persici</p>  </calendar>  <calendar xml:id="cal_AS">   <p>Aji Saka Era (Java)</p>  </calendar>  <calendar xml:id="cal_BE">   <p>Buddhist Era</p>  </calendar>  <calendar xml:id="cal_CB">   <p>Cooch Behar Era</p>  </calendar>  <calendar xml:id="cal_CE">   <p>Common Era</p>  </calendar>  <calendar xml:id="cal_CL">   <p>Chinese Lunar Era</p>  </calendar>  <calendar xml:id="cal_CS">   <p>Chula Sakarat Era</p>  </calendar>  <calendar xml:id="cal_EE">   <p>Ethiopian Era</p>  </calendar>  <calendar xml:id="cal_FE">   <p>Fasli Era</p>  </calendar>  <calendar xml:id="cal_ISO">   <p>ISO 8601 calendar</p>  </calendar>  <calendar xml:id="cal_JE">   <p>Japanese Calendar</p>  </calendar>  <calendar xml:id="cal_KE">   <p>Khalsa Era (Sikh calendar)</p>  </calendar>  <calendar xml:id="cal_KY">   <p>Kali Yuga</p>  </calendar>  <calendar xml:id="cal_ME">   <p>Malabar Era</p>  </calendar>  <calendar xml:id="cal_MS">   <p>Monarchic Solar Era</p>  </calendar>  <calendar xml:id="cal_NS">   <p>Nepal Samwat Era</p>  </calendar>  <calendar xml:id="cal_OS">   <p>Old Style (Julian Calendar)</p>  </calendar>  <calendar xml:id="cal_RS">   <p>Rattanakosin (Bangkok) Era</p>  </calendar>  <calendar xml:id="cal_SE">   <p>Saka Era</p>  </calendar>  <calendar xml:id="cal_SH">   <p>Mohammedan Solar Era (Iran)</p>  </calendar>  <calendar xml:id="cal_SS">   <p>Saka Samvat</p>  </calendar>  <calendar xml:id="cal_TE">   <p>Tripurabda Era</p>  </calendar>  <calendar xml:id="cal_VE">   <p>Vikrama Era</p>  </calendar>  <calendar xml:id="cal_VS">   <p>Vikrama Samvat Era</p>  </calendar> </calendarDesc>
Example
<calendarDesc>  <calendar xml:id="cal_Gregorian">   <p>Gregorian calendar</p>  </calendar>  <calendar xml:id="cal_Julian">   <p>Julian calendar</p>  </calendar>  <calendar xml:id="cal_Islamic">   <p>Islamic or Muslim (hijri) lunar calendar</p>  </calendar>  <calendar xml:id="cal_Hebrew">   <p>Hebrew or Jewish lunisolar calendar</p>  </calendar>  <calendar xml:id="cal_Revolutionary">   <p>French Revolutionary calendar</p>  </calendar>  <calendar xml:id="cal_Iranian">   <p>Iranian or Persian (Jalaali) solar calendar</p>  </calendar>  <calendar xml:id="cal_Coptic">   <p>Coptic or Alexandrian calendar</p>  </calendar>  <calendar xml:id="cal_Chinese">   <p>Chinese lunisolar calendar</p>  </calendar> </calendarDesc>
Example
<calendarDesc>  <calendar xml:id="cal_Egyptian"   target="http://en.wikipedia.org/wiki/Egyptian_calendar">   <p>Egyptian calendar (as defined by Wikipedia)</p>  </calendar> </calendarDesc>
Content model
<content>
 <elementRef key="calendar" minOccurs="1"
  maxOccurs="unbounded"/>
</content>
    ⚓
Schema Declaration
element calendarDesc { cust_att.global.attributes, cust_calendar+ }⚓

3.1.23. <cell>

<cell> (cell) contains one cell of a table. [15.1.1. TEI Tables]
Modulefigures
Attributes
Contained by
figures: row
May contain
Example
<row>  <cell role="label">General conduct</cell>  <cell role="data">Not satisfactory, on account of his great unpunctuality    and inattention to duties</cell> </row>
Content model
<content>
 <macroRef key="macro.specialPara"/>
</content>
    ⚓
Schema Declaration
element cell
{
   cust_att.global.attributes,
   cust_att.tableDecoration.attributes,
   cust_macro.specialPara
}⚓

3.1.24. <change>

<change> (change) documents a change or set of changes made during the production of a source document, or during the revision of an electronic file. [2.6. The Revision Description 2.4.1. Creation 12.7. Identifying Changes and Revisions]
Moduleheader
Attributes
target(target) points to one or more elements that belong to this change.
StatusOptional
Datatype1–∞ occurrences of teidata.pointer separated by whitespace
Contained by
May contain
Note

The who attribute may be used to point to any other element, but will typically specify a <respStmt> or <person> element elsewhere in the header, identifying the person responsible for the change and their role in making it.

It is recommended that changes be recorded with the most recent first. The status attribute may be used to indicate the status of a document following the change documented.

Example
<titleStmt>  <title> ... </title>  <editor xml:id="LDB">Lou Burnard</editor>  <respStmt xml:id="BZ">   <resp>copy editing</resp>   <name>Brett Zamir</name>  </respStmt> </titleStmt> <!-- ... --> <revisionDesc status="published">  <change who="#BZ" when="2008-02-02"   status="public">Finished chapter 23</change>  <change who="#BZ" when="2008-01-02"   status="draft">Finished chapter 2</change>  <change n="P2.2" when="1991-12-21"   who="#LDB">Added examples to section 3</change>  <change when="1991-11-11" who="#MSM">Deleted chapter 10</change> </revisionDesc>
Example
<profileDesc>  <creation>   <listChange>    <change xml:id="DRAFT1">First draft in pencil</change>    <change xml:id="DRAFT2"     notBefore="1880-12-09">First revision, mostly        using green ink</change>    <change xml:id="DRAFT3"     notBefore="1881-02-13">Final corrections as        supplied to printer.</change>   </listChange>  </creation> </profileDesc>
Content model
<content>
 <macroRef key="macro.specialPara"/>
</content>
    ⚓
Schema Declaration
element change
{
   cust_att.global.attributes,
   cust_att.ascribed.attributes,
   cust_att.datable.attributes,
   cust_att.docStatus.attributes,
   cust_att.typed.attributes,
   attribute target { list { + } }?,
   cust_macro.specialPara
}⚓

3.1.25. <choice>

<choice> (choice) groups a number of alternative encodings for the same point in a text. [3.5. Simple Editorial Changes]
Modulecore
Attributes
Member of
Contained by
May contain
Note

Because the children of a <choice> element all represent alternative ways of encoding the same sequence, it is natural to think of them as mutually exclusive. However, there may be cases where a full representation of a text requires the alternative encodings to be considered as parallel.

Note also that <choice> elements may self-nest.

Where the purpose of an encoding is to record multiple witnesses of a single work, rather than to identify multiple possible encoding decisions at a given point, the <app> element and associated elements discussed in section 13.1. The Apparatus Entry, Readings, and Witnesses should be preferred.

ExampleAn American encoding of Gulliver's Travels which retains the British spelling but also provides a version regularized to American spelling might be encoded as follows.
<p>Lastly, That, upon his solemn oath to observe all the above articles, the said man-mountain shall have a daily allowance of meat and drink sufficient for the support of <choice>   <sic>1724</sic>   <corr>1728</corr>  </choice> of our subjects, with free access to our royal person, and other marks of our <choice>   <orig>favour</orig>   <reg>favor</reg>  </choice>.</p>
Content model
<content>
 <alternate minOccurs="2"
  maxOccurs="unbounded">
  <classRef key="model.choicePart"/>
  <elementRef key="choice"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element choice
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   ( cust_model.choicePart | cust_choice ),
   ( cust_model.choicePart | cust_choice ),
   ( cust_model.choicePart | cust_choice )*
}⚓

3.1.26. <cit>

<cit> (cited quotation) contains a quotation from some other document, together with a bibliographic reference to its source. In a dictionary it may contain an example text with at least one occurrence of the word form, used in the sense being described, or a translation of the headword, or an example. [3.3.3. Quotation 4.3.1. Grouped Texts 10.3.5.1. Examples]
Modulecore
Attributes
Member of
Contained by
May contain
Example
<cit>  <quote>and the breath of the whale is frequently attended with such an insupportable smell,    as to bring on disorder of the brain.</quote>  <bibl>Ulloa's South America</bibl> </cit>
Example
<entry>  <form>   <orth>horrifier</orth>  </form>  <cit type="translation" xml:lang="en">   <quote>to horrify</quote>  </cit>  <cit type="example">   <quote>elle était horrifiée par la dépense</quote>   <cit type="translation" xml:lang="en">    <quote>she was horrified at the expense.</quote>   </cit>  </cit> </entry>
Example
<cit type="example">  <quote xml:lang="mix">Ka'an yu tsa'a Pedro.</quote>  <media url="soundfiles-gen:S_speak_1s_on_behalf_of_Pedro_01_02_03_TS.wav"   mimeType="audio/wav"/>  <cit type="translation">   <quote xml:lang="en">I'm speaking on behalf of Pedro.</quote>  </cit>  <cit type="translation">   <quote xml:lang="es">Estoy hablando de parte de Pedro.</quote>  </cit> </cit>
Content model
<content>
 <alternate minOccurs="1"
  maxOccurs="unbounded">
  <classRef key="model.biblLike"/>
  <classRef key="model.egLike"/>
  <classRef key="model.entryPart"/>
  <classRef key="model.global"/>
  <classRef key="model.graphicLike"/>
  <classRef key="model.ptrLike"/>
  <classRef key="model.attributable"/>
  <elementRef key="pc"/>
  <elementRef key="q"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element cit
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.typed.attributes,
   (
      cust_model.biblLike
    | cust_model.egLike
    | cust_model.entryPart
    | cust_model.global
    | cust_model.graphicLike
    | cust_model.ptrLike
    | cust_model.attributable
    | pc
    | cust_q
   )+
}⚓

3.1.27. <citeData>

<citeData> (citation data) specifies how information may be extracted from citation structures. [3.11.4. Declaring Reference Systems 17.2.5.4. Citation Structures]
Moduleheader
Attributes
property(property) A URI indicating a property definition.
StatusRequired
Datatypeteidata.pointer
Contained by
May containEmpty element
Example
<citeStructure unit="book"  match="//body/div" use="@n">  <citeData property="http://purl.org/dc/terms/title"   use="head"/> </citeStructure>
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element citeData
{
   cust_att.global.attributes,
   cust_att.citeStructurePart.attributes,
   attribute property { text },
   empty
}⚓

3.1.28. <citeStructure>

<citeStructure> (citation structure) declares a structure and method for citing the current document. [3.11.4. Declaring Reference Systems 17.2.5.4. Citation Structures]
Moduleheader
Attributes
delim(delimiter) supplies a delimiting string preceding the structural component.
StatusOptional
Datatypestring
Note

delim must contain at least one character.

match(match) supplies an XPath selection pattern using the syntax defined in [[undefined XSLT3]] which identifies a set of nodes which are citable structural components. The expression may be absolute (beginning with /) or relative. match on a <citeStructure> without a <citeStructure> parent must be an absolute XPath. If it is relative, its context is set by the match of the parent <citeStructure>.
StatusRequired
Datatypeteidata.xpath
Schematron
<sch:rule context="tei:citeStructure[not(parent::tei:citeStructure)]"> <sch:assert test="starts-with(@match,'/')">An XPath in @match on the outer <sch:name/> must start with '/'.</sch:assert> </sch:rule>
Schematron
<sch:rule context="tei:citeStructure[parent::tei:citeStructure]"> <sch:assert test="not(starts-with(@match,'/'))">An XPath in @match must not start with '/' except on the outer <sch:name/>.</sch:assert> </sch:rule>
unit(unit) describes the structural unit indicated by the <citeStructure>.
StatusOptional
Datatypeteidata.enumerated
Sample values include:
book
chapter
entry
poem
letter
line
section
verse
volume
Contained by
May contain
Example
<citeStructure unit="book"  match="//body/div" use="@n">  <citeStructure unit="chapter" match="div"   use="position()" delim=" ">   <citeStructure unit="verse" match="div"    use="position()" delim=":"/>  </citeStructure> </citeStructure>
Content model
<content>
 <sequence>
  <elementRef key="citeData" minOccurs="0"
   maxOccurs="unbounded"/>
  <elementRef key="citeStructure"
   minOccurs="0" maxOccurs="unbounded"/>
  <classRef key="model.descLike"
   minOccurs="0" maxOccurs="unbounded"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element citeStructure
{
   cust_att.global.attributes,
   cust_att.citeStructurePart.attributes,
   attribute delim { text }?,
   attribute match { text },
   attribute unit { text }?,
   ( cust_citeData*, cust_citeStructure*, cust_model.descLike* )
}⚓

3.1.29. <citedRange>

<citedRange> (cited range) defines the range of cited content, often represented by pages or other units. [3.12.2.5. Scopes and Ranges in Bibliographic Citations]
Modulecore
Attributes
Member of
Contained by
core: bibl
May contain
Note

When a single page is being cited, use the from and to attributes with an identical value. When no clear endpoint is provided, the from attribute may be used without to; for example a citation such as ‘p. 3ff’ might be encoded <citedRange from="3">p. 3ff</citedRange>.

Example
<citedRange>pp 12–13</citedRange> <citedRange unit="page" from="12" to="13"/> <citedRange unit="volume">II</citedRange> <citedRange unit="page">12</citedRange>
Example
<bibl>  <ptr target="#mueller01"/>, <citedRange target="http://example.com/mueller3.xml#page4">vol. 3, pp.    4-5</citedRange> </bibl>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element citedRange
{
   cust_att.global.attributes,
   cust_att.citing.attributes,
   cust_att.pointing.attributes,
   cust_macro.phraseSeq
}⚓

3.1.30. <classRef>

<classRef> points to the specification for an attribute or model class which is to be included in a schema. [23.6. Class Specifications]
Moduletagdocs
Attributes
key
StatusRequired
Datatypeteidata.enumerated
Suggested values include:
att.anchoring
(anchoring)
att.ascribed
att.ascribed.directed
att.breaking
att.cReferencing
att.calendarSystem
att.canonical
att.citeStructurePart
att.citing
att.cmc
(computer-mediated communication)
att.combinable
att.coordinated
att.damaged
att.datable
att.datable.custom
att.datable.iso
att.datable.w3c
att.datcat
att.declarable
att.declaring
att.deprecated
att.dimensions
att.divLike
att.docStatus
att.duration
att.duration.iso
att.duration.w3c
att.editLike
att.edition
att.enjamb
(enjambement)
att.entryLike
att.formula
att.fragmentable
att.gaijiProp
att.global
att.global.analytic
att.global.change
att.global.facs
att.global.linking
att.global.rendition
att.global.responsibility
att.global.source
att.handFeatures
att.identified
att.indentation
att.internetMedia
att.interpLike
att.lexicographic
att.lexicographic.normalized
att.linguistic
att.locatable
att.measurement
att.media
att.metrical
att.milestoneUnit
att.msClass
att.msExcerpt
(manuscript excerpt)
att.namespaceable
att.naming
att.notated
att.partials
att.patternReplacement
att.personal
(attributes for components of names usually, but not necessarily, personal names)
att.placement
att.pointing
att.pointing.group
att.predicate
att.ranging
att.rdgPart
att.repeatable
att.resourced
att.scope
att.scoping
att.segLike
att.sortable
att.spanning
att.styleDef
att.tableDecoration
att.textCritical
att.timed
att.transcriptional
att.translatable
att.typed
att.witnessed
att.written
model.addrPart
model.addressLike
model.annotationLike
model.annotationPart.body
model.applicationLike
model.attributable
model.availabilityPart
model.biblLike
model.biblPart
model.castItemPart
model.catDescPart
model.certLike
model.choicePart
model.cmc
model.common
model.contentPart
model.correspActionPart
model.correspContextPart
model.correspDescPart
model.dateLike
model.descLike
model.describedResource
model.dimLike
model.div1Like
model.div2Like
model.div3Like
model.div4Like
model.div5Like
model.div6Like
model.div7Like
model.divBottom
model.divBottomPart
model.divGenLike
model.divLike
model.divPart
model.divPart.spoken
model.divTop
model.divTopPart
model.divWrapper
model.editorialDeclPart
model.egLike
model.emphLike
model.encodingDescPart
model.entryLike
model.entryPart
model.entryPart.top
model.eventLike
model.featureVal
model.featureVal.complex
model.featureVal.single
model.formPart
model.frontPart
model.frontPart.drama
model.fsdDeclPart
model.gLike
model.global
model.global.edit
model.global.meta
model.global.spoken
model.gramPart
model.graphicLike
model.headLike
model.hiLike
model.highlighted
model.identEquiv
model.identSynonyms
model.imprintPart
model.inter
model.lLike
model.lPart
model.labelLike
model.lexicalRefinement
model.limitedPhrase
model.linePart
model.listLike
model.measureLike
model.milestoneLike
model.morphLike
model.msItemPart
model.msQuoteLike
model.nameLike
model.nameLike.agent
model.noteLike
model.objectLike
model.oddDecl
model.oddRef
model.offsetLike
model.orgPart
model.orgStateLike
model.pLike
model.pLike.front
model.pPart.data
model.pPart.edit
model.pPart.editorial
model.pPart.msdesc
model.pPart.transcriptional
model.paraPart
model.persNamePart
model.persStateLike
model.personLike
model.personPart
model.phrase
model.phrase.xml
model.physDescPart
model.placeLike
model.placeNamePart
model.placeStateLike
model.profileDescPart
model.ptrLike
model.ptrLike.form
model.publicationStmtPart.agency
model.publicationStmtPart.detail
model.quoteLike
model.rdgLike
model.rdgPart
model.recordingPart
model.resource
model.respLike
model.segLike
model.settingPart
model.sourceDescPart
model.specDescLike
model.stageLike
model.standOffPart
model.teiHeaderPart
model.textDescPart
model.titlepagePart
includesupplies a list of class members which are to be included in the schema being defined.
StatusOptional
Datatype0–∞ occurrences of teidata.enumerated separated by whitespace
Suggested values include:
agent
class: att.damaged
ana
(analysis) class: att.global.analytic
anchored
(anchored) class: att.anchoring
atLeast
class: att.ranging
atMost
class: att.ranging
break
class: att.breaking
cRef
(canonical reference) class: att.cReferencing
calendar
class: att.calendarSystem
cause
class: att.transcriptional
cause
class: att.textCritical
cert
(certainty) class: att.global.responsibility
change
class: att.global.change
class
class: att.msClass
cols
(columns) class: att.tableDecoration
commodity
(commodity) class: att.measurement
confidence
class: att.ranging
copyOf
class: att.global.linking
corresp
(corresponds) class: att.global.linking
datcat
class: att.datcat
datingMethod
class: att.datable.custom
datingPoint
class: att.datable.custom
decls
(declarations) class: att.declaring
default
class: att.declarable
defective
class: att.msExcerpt
degree
class: att.damaged
domains
class: att.pointing.group
dur
(duration) class: att.duration.w3c
dur-iso
(duration) class: att.duration.iso
ed
(edition) class: att.edition
edRef
(edition reference) class: att.edition
end
class: att.timed
enjamb
(enjambement) class: att.enjamb
evaluate
(evaluate) class: att.pointing
evidence
class: att.editLike
exclude
class: att.global.linking
expand
(expand) class: att.lexicographic
extent
class: att.dimensions
extent
class: att.partials
facs
(facsimile) class: att.global.facs
formula
class: att.formula
from
class: att.citing
from
class: att.datable.w3c
from-custom
class: att.datable.custom
from-iso
class: att.datable.iso
full
class: att.personal
function
(function) class: att.segLike
generatedBy
(generated by) class: att.cmc
group
class: att.damaged
hand
class: att.written
height
class: att.media
ident
class: att.identified
indentLevel
class: att.indentation
inst
(instances) class: att.interpLike
instant
class: att.editLike
join
class: att.linguistic
key
class: att.canonical
lemma
class: att.linguistic
lemmaRef
class: att.linguistic
location
(location) class: att.lexicographic
lrx
class: att.coordinated
lry
class: att.coordinated
match
class: att.scoping
matchPattern
class: att.patternReplacement
max
class: att.ranging
maxOccurs
(maximum number of occurences) class: att.repeatable
medium
class: att.handFeatures
mergedIn
(merged into) class: att.lexicographic
met
(metrical structure, conventional) class: att.metrical
mimeType
(MIME media type) class: att.internetMedia
min
class: att.ranging
minOccurs
(minimum number of occurences) class: att.repeatable
mode
class: att.combinable
module
class: att.identified
msd
class: att.linguistic
n
(number) class: att.global
name
class: att.gaijiProp
next
class: att.global.linking
norm
(normalized) class: att.lexicographic.normalized
notAfter
class: att.datable.w3c
notAfter-custom
class: att.datable.custom
notAfter-iso
class: att.datable.iso
notBefore
class: att.datable.w3c
notBefore-custom
class: att.datable.custom
notBefore-iso
class: att.datable.iso
notation
class: att.notated
ns
(namespace) class: att.namespaceable
nymRef
(reference to the canonical name) class: att.naming
opt
(optional) class: att.lexicographic
org
(organization) class: att.divLike
orig
(original) class: att.lexicographic.normalized
part
class: att.fragmentable
period
class: att.datable
place
class: att.placement
points
class: att.coordinated
pos
class: att.linguistic
precision
class: att.dimensions
predeclare
class: att.identified
predicate
class: att.predicate
prev
(previous) class: att.global.linking
quantity
(quantity) class: att.measurement
quantity
class: att.dimensions
real
(metrical structure, realized) class: att.metrical
ref
(reference) class: att.canonical
rend
(rendition) class: att.global.rendition
rendition
class: att.global.rendition
replacementPattern
class: att.patternReplacement
require
class: att.textCritical
resp
(responsible party) class: att.global.responsibility
rhyme
(rhyme scheme) class: att.metrical
role
(role) class: att.tableDecoration
role
class: att.naming
rows
(rows) class: att.tableDecoration
sameAs
class: att.global.linking
sample
class: att.divLike
scale
class: att.media
scheme
class: att.styleDef
scheme
class: att.gaijiProp
schemeVersion
class: att.styleDef
scope
class: att.scope
scope
class: att.dimensions
scribe
class: att.handFeatures
scribeRef
class: att.handFeatures
script
class: att.handFeatures
scriptRef
class: att.handFeatures
select
class: att.global.linking
seq
(sequence) class: att.transcriptional
sort
(sort) class: att.personal
sortKey
class: att.sortable
source
class: att.global.source
spanTo
class: att.spanning
split
(split) class: att.lexicographic
start
class: att.timed
start
class: att.coordinated
status
class: att.docStatus
status
class: att.transcriptional
style
class: att.global.rendition
subtype
(subtype) class: att.interpLike
subtype
(subtype) class: att.typed
synch
(synchronous) class: att.global.linking
targFunc
(target function) class: att.pointing.group
target
class: att.pointing
target
class: att.scoping
targetDatcat
class: att.datcat
targetEnd
(target end) class: att.anchoring
targetLang
class: att.pointing
to
class: att.citing
to
class: att.datable.w3c
to-custom
class: att.datable.custom
to-iso
class: att.datable.iso
toWhom
class: att.ascribed.directed
type
class: att.interpLike
type
class: att.typed
type
class: att.entryLike
type
class: att.textCritical
ulx
class: att.coordinated
uly
class: att.coordinated
unit
class: att.citing
unit
(unit) class: att.measurement
unit
class: att.milestoneUnit
unit
class: att.dimensions
unitRef
class: att.measurement
url
(uniform resource locator) class: att.resourced
use
(use) class: att.citeStructurePart
validUntil
class: att.deprecated
value
class: att.gaijiProp
value
(value) class: att.lexicographic
valueDatcat
class: att.datcat
varSeq
(variant sequence) class: att.textCritical
version
class: att.gaijiProp
versionDate
class: att.translatable
when
class: att.datable.w3c
when-custom
class: att.datable.custom
when-iso
class: att.datable.iso
where
class: att.locatable
who
class: att.ascribed
width
class: att.media
wit
(witness or witnesses) class: att.rdgPart
wit
(witness or witnesses) class: att.witnessed
xml:base
class: att.global
xml:id
(identifier) class: att.global
xml:lang
(language) class: att.global
xml:space
class: att.global
exceptsupplies a list of class members which are to be excluded from the schema being defined.
StatusOptional
Datatype0–∞ occurrences of teidata.enumerated separated by whitespace
Suggested values include:
agent
class: att.damaged
ana
(analysis) class: att.global.analytic
anchored
(anchored) class: att.anchoring
atLeast
class: att.ranging
atMost
class: att.ranging
break
class: att.breaking
cRef
(canonical reference) class: att.cReferencing
calendar
class: att.calendarSystem
cause
class: att.transcriptional
cause
class: att.textCritical
cert
(certainty) class: att.global.responsibility
change
class: att.global.change
class
class: att.msClass
cols
(columns) class: att.tableDecoration
commodity
(commodity) class: att.measurement
confidence
class: att.ranging
copyOf
class: att.global.linking
corresp
(corresponds) class: att.global.linking
datcat
class: att.datcat
datingMethod
class: att.datable.custom
datingPoint
class: att.datable.custom
decls
(declarations) class: att.declaring
default
class: att.declarable
defective
class: att.msExcerpt
degree
class: att.damaged
domains
class: att.pointing.group
dur
(duration) class: att.duration.w3c
dur-iso
(duration) class: att.duration.iso
ed
(edition) class: att.edition
edRef
(edition reference) class: att.edition
end
class: att.timed
enjamb
(enjambement) class: att.enjamb
evaluate
(evaluate) class: att.pointing
evidence
class: att.editLike
exclude
class: att.global.linking
expand
(expand) class: att.lexicographic
extent
class: att.dimensions
extent
class: att.partials
facs
(facsimile) class: att.global.facs
formula
class: att.formula
from
class: att.citing
from
class: att.datable.w3c
from-custom
class: att.datable.custom
from-iso
class: att.datable.iso
full
class: att.personal
function
(function) class: att.segLike
generatedBy
(generated by) class: att.cmc
group
class: att.damaged
hand
class: att.written
height
class: att.media
ident
class: att.identified
indentLevel
class: att.indentation
inst
(instances) class: att.interpLike
instant
class: att.editLike
join
class: att.linguistic
key
class: att.canonical
lemma
class: att.linguistic
lemmaRef
class: att.linguistic
location
(location) class: att.lexicographic
lrx
class: att.coordinated
lry
class: att.coordinated
match
class: att.scoping
matchPattern
class: att.patternReplacement
max
class: att.ranging
maxOccurs
(maximum number of occurences) class: att.repeatable
medium
class: att.handFeatures
mergedIn
(merged into) class: att.lexicographic
met
(metrical structure, conventional) class: att.metrical
mimeType
(MIME media type) class: att.internetMedia
min
class: att.ranging
minOccurs
(minimum number of occurences) class: att.repeatable
mode
class: att.combinable
module
class: att.identified
msd
class: att.linguistic
n
(number) class: att.global
name
class: att.gaijiProp
next
class: att.global.linking
norm
(normalized) class: att.lexicographic.normalized
notAfter
class: att.datable.w3c
notAfter-custom
class: att.datable.custom
notAfter-iso
class: att.datable.iso
notBefore
class: att.datable.w3c
notBefore-custom
class: att.datable.custom
notBefore-iso
class: att.datable.iso
notation
class: att.notated
ns
(namespace) class: att.namespaceable
nymRef
(reference to the canonical name) class: att.naming
opt
(optional) class: att.lexicographic
org
(organization) class: att.divLike
orig
(original) class: att.lexicographic.normalized
part
class: att.fragmentable
period
class: att.datable
place
class: att.placement
points
class: att.coordinated
pos
class: att.linguistic
precision
class: att.dimensions
predeclare
class: att.identified
predicate
class: att.predicate
prev
(previous) class: att.global.linking
quantity
(quantity) class: att.measurement
quantity
class: att.dimensions
real
(metrical structure, realized) class: att.metrical
ref
(reference) class: att.canonical
rend
(rendition) class: att.global.rendition
rendition
class: att.global.rendition
replacementPattern
class: att.patternReplacement
require
class: att.textCritical
resp
(responsible party) class: att.global.responsibility
rhyme
(rhyme scheme) class: att.metrical
role
(role) class: att.tableDecoration
role
class: att.naming
rows
(rows) class: att.tableDecoration
sameAs
class: att.global.linking
sample
class: att.divLike
scale
class: att.media
scheme
class: att.styleDef
scheme
class: att.gaijiProp
schemeVersion
class: att.styleDef
scope
class: att.scope
scope
class: att.dimensions
scribe
class: att.handFeatures
scribeRef
class: att.handFeatures
script
class: att.handFeatures
scriptRef
class: att.handFeatures
select
class: att.global.linking
seq
(sequence) class: att.transcriptional
sort
(sort) class: att.personal
sortKey
class: att.sortable
source
class: att.global.source
spanTo
class: att.spanning
split
(split) class: att.lexicographic
start
class: att.timed
start
class: att.coordinated
status
class: att.docStatus
status
class: att.transcriptional
style
class: att.global.rendition
subtype
(subtype) class: att.interpLike
subtype
(subtype) class: att.typed
synch
(synchronous) class: att.global.linking
targFunc
(target function) class: att.pointing.group
target
class: att.pointing
target
class: att.scoping
targetDatcat
class: att.datcat
targetEnd
(target end) class: att.anchoring
targetLang
class: att.pointing
to
class: att.citing
to
class: att.datable.w3c
to-custom
class: att.datable.custom
to-iso
class: att.datable.iso
toWhom
class: att.ascribed.directed
type
class: att.interpLike
type
class: att.typed
type
class: att.entryLike
type
class: att.textCritical
ulx
class: att.coordinated
uly
class: att.coordinated
unit
class: att.citing
unit
(unit) class: att.measurement
unit
class: att.milestoneUnit
unit
class: att.dimensions
unitRef
class: att.measurement
url
(uniform resource locator) class: att.resourced
use
(use) class: att.citeStructurePart
validUntil
class: att.deprecated
value
class: att.gaijiProp
value
(value) class: att.lexicographic
valueDatcat
class: att.datcat
varSeq
(variant sequence) class: att.textCritical
version
class: att.gaijiProp
versionDate
class: att.translatable
when
class: att.datable.w3c
when-custom
class: att.datable.custom
when-iso
class: att.datable.iso
where
class: att.locatable
who
class: att.ascribed
width
class: att.media
wit
(witness or witnesses) class: att.rdgPart
wit
(witness or witnesses) class: att.witnessed
xml:base
class: att.global
xml:id
(identifier) class: att.global
xml:lang
(language) class: att.global
xml:space
class: att.global
expandindicates how references to this class within a content model should be interpreted.
StatusOptional
Legal values are:
alternation
any one member of the class may appear
sequence
a single occurrence of all members of the class may appear in sequence
sequenceOptional
a single occurrence of one or more members of the class may appear in sequence
sequenceOptionalRepeatable
one or more occurrences of one or more members of the class may appear in sequence.
sequenceRepeatable
one or more occurrences of all members of the class may appear in sequence
Note

If the members of the class are a, b and c, then a reference to the class within a content model is understood as being a reference to a|b|c when expand is omitted or has the value alternation; to a,b,c when it has the value sequence; to (a?,b?,c?) when it has the value sequenceOptional; to (a*,b*,c*) when it has the value sequenceOptionalRepeatable; or to (a+,b+,c+) when it has the value sequenceRepeatable.

Member of
Contained by
May containEmpty element
Note

Attribute and model classes are identified by the name supplied as value for the ident attribute on the <classSpec> element in which they are declared. All TEI class names are unique; attribute class names conventionally begin with the letters att..

Example
<schemaSpec ident="myTEIe" start="TEI">  <moduleRef key="tei"/>  <moduleRef key="core"   include="abbr add core addrLine address author bibl biblScope choice cit corr date del desc divGen editor emph expan foreign gap gloss graphic head hi index item l label lb lg list listBibl mentioned milestone name note num orig p pb ptr pubPlace publisher q ref reg relatedItem resp respStmt rs sic soCalled sp speaker stage teiCorpus term time title unclear"/>  <moduleRef key="header"   include="authority availability catRef category change classCode classDecl creation distributor edition editionStmt editorialDecl encodingDesc extent fileDesc funder idno keywords langUsage language licence notesStmt principal profileDesc projectDesc publicationStmt refsDecl revisionDesc samplingDecl seriesStmt sourceDesc sponsor taxonomy teiHeader textClass titleStmt"/>  <moduleRef key="textstructure"   include="TEI argument back body byline closer dateline div docAuthor docDate docEdition docImprint docTitle epigraph front group opener postscript salute signed text titlePage titlePart trailer"/>  <classRef key="att.global.facs"/> </schemaSpec>
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element classRef
{
   cust_att.global.attributes,
   cust_att.repeatable.attributes,
   attribute key
   {
      "att.anchoring"
    | "att.ascribed"
    | "att.ascribed.directed"
    | "att.breaking"
    | "att.cReferencing"
    | "att.calendarSystem"
    | "att.canonical"
    | "att.citeStructurePart"
    | "att.citing"
    | "att.cmc"
    | "att.combinable"
    | "att.coordinated"
    | "att.damaged"
    | "att.datable"
    | "att.datable.custom"
    | "att.datable.iso"
    | "att.datable.w3c"
    | "att.datcat"
    | "att.declarable"
    | "att.declaring"
    | "att.deprecated"
    | "att.dimensions"
    | "att.divLike"
    | "att.docStatus"
    | "att.duration"
    | "att.duration.iso"
    | "att.duration.w3c"
    | "att.editLike"
    | "att.edition"
    | "att.enjamb"
    | "att.entryLike"
    | "att.formula"
    | "att.fragmentable"
    | "att.gaijiProp"
    | "att.global"
    | "att.global.analytic"
    | "att.global.change"
    | "att.global.facs"
    | "att.global.linking"
    | "att.global.rendition"
    | "att.global.responsibility"
    | "att.global.source"
    | "att.handFeatures"
    | "att.identified"
    | "att.indentation"
    | "att.internetMedia"
    | "att.interpLike"
    | "att.lexicographic"
    | "att.lexicographic.normalized"
    | "att.linguistic"
    | "att.locatable"
    | "att.measurement"
    | "att.media"
    | "att.metrical"
    | "att.milestoneUnit"
    | "att.msClass"
    | "att.msExcerpt"
    | "att.namespaceable"
    | "att.naming"
    | "att.notated"
    | "att.partials"
    | "att.patternReplacement"
    | "att.personal"
    | "att.placement"
    | "att.pointing"
    | "att.pointing.group"
    | "att.predicate"
    | "att.ranging"
    | "att.rdgPart"
    | "att.repeatable"
    | "att.resourced"
    | "att.scope"
    | "att.scoping"
    | "att.segLike"
    | "att.sortable"
    | "att.spanning"
    | "att.styleDef"
    | "att.tableDecoration"
    | "att.textCritical"
    | "att.timed"
    | "att.transcriptional"
    | "att.translatable"
    | "att.typed"
    | "att.witnessed"
    | "att.written"
    | "model.addrPart"
    | "model.addressLike"
    | "model.annotationLike"
    | "model.annotationPart.body"
    | "model.applicationLike"
    | "model.attributable"
    | "model.availabilityPart"
    | "model.biblLike"
    | "model.biblPart"
    | "model.castItemPart"
    | "model.catDescPart"
    | "model.certLike"
    | "model.choicePart"
    | "model.cmc"
    | "model.common"
    | "model.contentPart"
    | "model.correspActionPart"
    | "model.correspContextPart"
    | "model.correspDescPart"
    | "model.dateLike"
    | "model.descLike"
    | "model.describedResource"
    | "model.dimLike"
    | "model.div1Like"
    | "model.div2Like"
    | "model.div3Like"
    | "model.div4Like"
    | "model.div5Like"
    | "model.div6Like"
    | "model.div7Like"
    | "model.divBottom"
    | "model.divBottomPart"
    | "model.divGenLike"
    | "model.divLike"
    | "model.divPart"
    | "model.divPart.spoken"
    | "model.divTop"
    | "model.divTopPart"
    | "model.divWrapper"
    | "model.editorialDeclPart"
    | "model.egLike"
    | "model.emphLike"
    | "model.encodingDescPart"
    | "model.entryLike"
    | "model.entryPart"
    | "model.entryPart.top"
    | "model.eventLike"
    | "model.featureVal"
    | "model.featureVal.complex"
    | "model.featureVal.single"
    | "model.formPart"
    | "model.frontPart"
    | "model.frontPart.drama"
    | "model.fsdDeclPart"
    | "model.gLike"
    | "model.global"
    | "model.global.edit"
    | "model.global.meta"
    | "model.global.spoken"
    | "model.gramPart"
    | "model.graphicLike"
    | "model.headLike"
    | "model.hiLike"
    | "model.highlighted"
    | "model.identEquiv"
    | "model.identSynonyms"
    | "model.imprintPart"
    | "model.inter"
    | "model.lLike"
    | "model.lPart"
    | "model.labelLike"
    | "model.lexicalRefinement"
    | "model.limitedPhrase"
    | "model.linePart"
    | "model.listLike"
    | "model.measureLike"
    | "model.milestoneLike"
    | "model.morphLike"
    | "model.msItemPart"
    | "model.msQuoteLike"
    | "model.nameLike"
    | "model.nameLike.agent"
    | "model.noteLike"
    | "model.objectLike"
    | "model.oddDecl"
    | "model.oddRef"
    | "model.offsetLike"
    | "model.orgPart"
    | "model.orgStateLike"
    | "model.pLike"
    | "model.pLike.front"
    | "model.pPart.data"
    | "model.pPart.edit"
    | "model.pPart.editorial"
    | "model.pPart.msdesc"
    | "model.pPart.transcriptional"
    | "model.paraPart"
    | "model.persNamePart"
    | "model.persStateLike"
    | "model.personLike"
    | "model.personPart"
    | "model.phrase"
    | "model.phrase.xml"
    | "model.physDescPart"
    | "model.placeLike"
    | "model.placeNamePart"
    | "model.placeStateLike"
    | "model.profileDescPart"
    | "model.ptrLike"
    | "model.ptrLike.form"
    | "model.publicationStmtPart.agency"
    | "model.publicationStmtPart.detail"
    | "model.quoteLike"
    | "model.rdgLike"
    | "model.rdgPart"
    | "model.recordingPart"
    | "model.resource"
    | "model.respLike"
    | "model.segLike"
    | "model.settingPart"
    | "model.sourceDescPart"
    | "model.specDescLike"
    | "model.stageLike"
    | "model.standOffPart"
    | "model.teiHeaderPart"
    | "model.textDescPart"
    | "model.titlepagePart"
   },
   attribute include
   {
      list
      {
         (
            "agent"
          | "ana"
          | "anchored"
          | "atLeast"
          | "atMost"
          | "break"
          | "cRef"
          | "calendar"
          | "cause"
          | "cause"
          | "cert"
          | "change"
          | "class"
          | "cols"
          | "commodity"
          | "confidence"
          | "copyOf"
          | "corresp"
          | "datcat"
          | "datingMethod"
          | "datingPoint"
          | "decls"
          | "default"
          | "defective"
          | "degree"
          | "domains"
          | "dur"
          | "dur-iso"
          | "ed"
          | "edRef"
          | "end"
          | "enjamb"
          | "evaluate"
          | "evidence"
          | "exclude"
          | "expand"
          | "extent"
          | "extent"
          | "facs"
          | "formula"
          | "from"
          | "from"
          | "from-custom"
          | "from-iso"
          | "full"
          | "function"
          | "generatedBy"
          | "group"
          | "hand"
          | "height"
          | "ident"
          | "indentLevel"
          | "inst"
          | "instant"
          | "join"
          | "key"
          | "lemma"
          | "lemmaRef"
          | "location"
          | "lrx"
          | "lry"
          | "match"
          | "matchPattern"
          | "max"
          | "maxOccurs"
          | "medium"
          | "mergedIn"
          | "met"
          | "mimeType"
          | "min"
          | "minOccurs"
          | "mode"
          | "module"
          | "msd"
          | "n"
          | "name"
          | "next"
          | "norm"
          | "notAfter"
          | "notAfter-custom"
          | "notAfter-iso"
          | "notBefore"
          | "notBefore-custom"
          | "notBefore-iso"
          | "notation"
          | "ns"
          | "nymRef"
          | "opt"
          | "org"
          | "orig"
          | "part"
          | "period"
          | "place"
          | "points"
          | "pos"
          | "precision"
          | "predeclare"
          | "predicate"
          | "prev"
          | "quantity"
          | "quantity"
          | "real"
          | "ref"
          | "rend"
          | "rendition"
          | "replacementPattern"
          | "require"
          | "resp"
          | "rhyme"
          | "role"
          | "role"
          | "rows"
          | "sameAs"
          | "sample"
          | "scale"
          | "scheme"
          | "scheme"
          | "schemeVersion"
          | "scope"
          | "scope"
          | "scribe"
          | "scribeRef"
          | "script"
          | "scriptRef"
          | "select"
          | "seq"
          | "sort"
          | "sortKey"
          | "source"
          | "spanTo"
          | "split"
          | "start"
          | "start"
          | "status"
          | "status"
          | "style"
          | "subtype"
          | "subtype"
          | "synch"
          | "targFunc"
          | "target"
          | "target"
          | "targetDatcat"
          | "targetEnd"
          | "targetLang"
          | "to"
          | "to"
          | "to-custom"
          | "to-iso"
          | "toWhom"
          | "type"
          | "type"
          | "type"
          | "type"
          | "ulx"
          | "uly"
          | "unit"
          | "unit"
          | "unit"
          | "unit"
          | "unitRef"
          | "url"
          | "use"
          | "validUntil"
          | "value"
          | "value"
          | "valueDatcat"
          | "varSeq"
          | "version"
          | "versionDate"
          | "when"
          | "when-custom"
          | "when-iso"
          | "where"
          | "who"
          | "width"
          | "wit"
          | "wit"
          | "xml:base"
          | "xml:id"
          | "xml:lang"
          | "xml:space"
         )*
      }
   }?,
   attribute except
   {
      list
      {
         (
            "agent"
          | "ana"
          | "anchored"
          | "atLeast"
          | "atMost"
          | "break"
          | "cRef"
          | "calendar"
          | "cause"
          | "cause"
          | "cert"
          | "change"
          | "class"
          | "cols"
          | "commodity"
          | "confidence"
          | "copyOf"
          | "corresp"
          | "datcat"
          | "datingMethod"
          | "datingPoint"
          | "decls"
          | "default"
          | "defective"
          | "degree"
          | "domains"
          | "dur"
          | "dur-iso"
          | "ed"
          | "edRef"
          | "end"
          | "enjamb"
          | "evaluate"
          | "evidence"
          | "exclude"
          | "expand"
          | "extent"
          | "extent"
          | "facs"
          | "formula"
          | "from"
          | "from"
          | "from-custom"
          | "from-iso"
          | "full"
          | "function"
          | "generatedBy"
          | "group"
          | "hand"
          | "height"
          | "ident"
          | "indentLevel"
          | "inst"
          | "instant"
          | "join"
          | "key"
          | "lemma"
          | "lemmaRef"
          | "location"
          | "lrx"
          | "lry"
          | "match"
          | "matchPattern"
          | "max"
          | "maxOccurs"
          | "medium"
          | "mergedIn"
          | "met"
          | "mimeType"
          | "min"
          | "minOccurs"
          | "mode"
          | "module"
          | "msd"
          | "n"
          | "name"
          | "next"
          | "norm"
          | "notAfter"
          | "notAfter-custom"
          | "notAfter-iso"
          | "notBefore"
          | "notBefore-custom"
          | "notBefore-iso"
          | "notation"
          | "ns"
          | "nymRef"
          | "opt"
          | "org"
          | "orig"
          | "part"
          | "period"
          | "place"
          | "points"
          | "pos"
          | "precision"
          | "predeclare"
          | "predicate"
          | "prev"
          | "quantity"
          | "quantity"
          | "real"
          | "ref"
          | "rend"
          | "rendition"
          | "replacementPattern"
          | "require"
          | "resp"
          | "rhyme"
          | "role"
          | "role"
          | "rows"
          | "sameAs"
          | "sample"
          | "scale"
          | "scheme"
          | "scheme"
          | "schemeVersion"
          | "scope"
          | "scope"
          | "scribe"
          | "scribeRef"
          | "script"
          | "scriptRef"
          | "select"
          | "seq"
          | "sort"
          | "sortKey"
          | "source"
          | "spanTo"
          | "split"
          | "start"
          | "start"
          | "status"
          | "status"
          | "style"
          | "subtype"
          | "subtype"
          | "synch"
          | "targFunc"
          | "target"
          | "target"
          | "targetDatcat"
          | "targetEnd"
          | "targetLang"
          | "to"
          | "to"
          | "to-custom"
          | "to-iso"
          | "toWhom"
          | "type"
          | "type"
          | "type"
          | "type"
          | "ulx"
          | "uly"
          | "unit"
          | "unit"
          | "unit"
          | "unit"
          | "unitRef"
          | "url"
          | "use"
          | "validUntil"
          | "value"
          | "value"
          | "valueDatcat"
          | "varSeq"
          | "version"
          | "versionDate"
          | "when"
          | "when-custom"
          | "when-iso"
          | "where"
          | "who"
          | "width"
          | "wit"
          | "wit"
          | "xml:base"
          | "xml:id"
          | "xml:lang"
          | "xml:space"
         )*
      }
   }?,
   attribute expand
   {
      "alternation"
    | "sequence"
    | "sequenceOptional"
    | "sequenceOptionalRepeatable"
    | "sequenceRepeatable"
   }?,
   empty
}⚓

3.1.31. <classSpec>

<classSpec> (class specification) contains reference information for a TEI element class; that is a group of elements which appear together in content models, or which share some common attribute, or both. [23.3. Specification Elements 23.6. Class Specifications]
Moduletagdocs
Attributes
ident
StatusRequired
Datatypeteidata.enumerated
Suggested values include:
att.anchoring
(anchoring)
att.ascribed
att.ascribed.directed
att.breaking
att.cReferencing
att.calendarSystem
att.canonical
att.citeStructurePart
att.citing
att.cmc
(computer-mediated communication)
att.combinable
att.coordinated
att.damaged
att.datable
att.datable.custom
att.datable.iso
att.datable.w3c
att.datcat
att.declarable
att.declaring
att.deprecated
att.dimensions
att.divLike
att.docStatus
att.duration
att.duration.iso
att.duration.w3c
att.editLike
att.edition
att.enjamb
(enjambement)
att.entryLike
att.formula
att.fragmentable
att.gaijiProp
att.global
att.global.analytic
att.global.change
att.global.facs
att.global.linking
att.global.rendition
att.global.responsibility
att.global.source
att.handFeatures
att.identified
att.indentation
att.internetMedia
att.interpLike
att.lexicographic
att.lexicographic.normalized
att.linguistic
att.locatable
att.measurement
att.media
att.metrical
att.milestoneUnit
att.msClass
att.msExcerpt
(manuscript excerpt)
att.namespaceable
att.naming
att.notated
att.partials
att.patternReplacement
att.personal
(attributes for components of names usually, but not necessarily, personal names)
att.placement
att.pointing
att.pointing.group
att.predicate
att.ranging
att.rdgPart
att.repeatable
att.resourced
att.scope
att.scoping
att.segLike
att.sortable
att.spanning
att.styleDef
att.tableDecoration
att.textCritical
att.timed
att.transcriptional
att.translatable
att.typed
att.witnessed
att.written
model.addrPart
model.addressLike
model.annotationLike
model.annotationPart.body
model.applicationLike
model.attributable
model.availabilityPart
model.biblLike
model.biblPart
model.castItemPart
model.catDescPart
model.certLike
model.choicePart
model.cmc
model.common
model.contentPart
model.correspActionPart
model.correspContextPart
model.correspDescPart
model.dateLike
model.descLike
model.describedResource
model.dimLike
model.div1Like
model.div2Like
model.div3Like
model.div4Like
model.div5Like
model.div6Like
model.div7Like
model.divBottom
model.divBottomPart
model.divGenLike
model.divLike
model.divPart
model.divPart.spoken
model.divTop
model.divTopPart
model.divWrapper
model.editorialDeclPart
model.egLike
model.emphLike
model.encodingDescPart
model.entryLike
model.entryPart
model.entryPart.top
model.eventLike
model.featureVal
model.featureVal.complex
model.featureVal.single
model.formPart
model.frontPart
model.frontPart.drama
model.fsdDeclPart
model.gLike
model.global
model.global.edit
model.global.meta
model.global.spoken
model.gramPart
model.graphicLike
model.headLike
model.hiLike
model.highlighted
model.identEquiv
model.identSynonyms
model.imprintPart
model.inter
model.lLike
model.lPart
model.labelLike
model.lexicalRefinement
model.limitedPhrase
model.linePart
model.listLike
model.measureLike
model.milestoneLike
model.morphLike
model.msItemPart
model.msQuoteLike
model.nameLike
model.nameLike.agent
model.noteLike
model.objectLike
model.oddDecl
model.oddRef
model.offsetLike
model.orgPart
model.orgStateLike
model.pLike
model.pLike.front
model.pPart.data
model.pPart.edit
model.pPart.editorial
model.pPart.msdesc
model.pPart.transcriptional
model.paraPart
model.persNamePart
model.persStateLike
model.personLike
model.personPart
model.phrase
model.phrase.xml
model.physDescPart
model.placeLike
model.placeNamePart
model.placeStateLike
model.profileDescPart
model.ptrLike
model.ptrLike.form
model.publicationStmtPart.agency
model.publicationStmtPart.detail
model.quoteLike
model.rdgLike
model.rdgPart
model.recordingPart
model.resource
model.respLike
model.segLike
model.settingPart
model.sourceDescPart
model.specDescLike
model.stageLike
model.standOffPart
model.teiHeaderPart
model.textDescPart
model.titlepagePart
typeindicates whether this is a model class or an attribute class
Derived fromatt.typed
StatusRequired
Datatypeteidata.enumerated
Legal values are:
model
(content model) members of this class appear in the same content models
atts
(attributes) members of this class share common attributes
generateindicates which alternation and sequence instantiations of a model class may be referenced. By default, all variations are permitted.
StatusOptional
Datatype1–5 occurrences of teidata.enumerated separated by whitespace
Legal values are:
alternation
members of the class are alternatives
sequence
members of the class are to be provided in sequence
sequenceOptional
members of the class may be provided, in sequence, but are optional
sequenceOptionalRepeatable
members of the class may be provided one or more times, in sequence, but are optional.
sequenceRepeatable
members of the class may be provided one or more times, in sequence
Member of
Contained by
May contain
Note

The content of the tei_customization <classSpec> is somewhat more restrictive than TEI. To wit, neither <altIdent> nor <equiv> are permitted, there can be at most one <gloss> and must be one and only one <desc>.

Example
<classSpec module="tei" type="model"  ident="model.segLike">  <desc>groups elements used for arbitrary segmentation.</desc>  <classes>   <memberOf key="model.phrase"/>  </classes>  <remarks>   <p>The principles on which segmentation is carried out, and      any special codes or attribute values used, should be defined explicitly      in the <gi>segmentation</gi> element of the <gi>encodingDesc</gi> within      the associated TEI header.</p>  </remarks> </classSpec>
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1"
  preserveOrder="true">
  <elementRef minOccurs="0" maxOccurs="1"
   key="gloss"/>
  <classRef minOccurs="0" maxOccurs="1"
   key="model.descLike"/>
  <elementRef minOccurs="0" maxOccurs="1"
   key="classes"/>
  <elementRef minOccurs="0"
   maxOccurs="unbounded" key="constraintSpec"/>
  <elementRef minOccurs="0" maxOccurs="1"
   key="attList"/>
  <elementRef minOccurs="0"
   maxOccurs="unbounded" key="exemplum"/>
  <elementRef minOccurs="0"
   maxOccurs="unbounded" key="remarks"/>
  <elementRef minOccurs="0"
   maxOccurs="unbounded" key="listRef"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element classSpec
{
   cust_att.global.attributes,
   cust_att.identified.attribute.module,
   cust_att.identified.attribute.predeclare,
   cust_att.combinable.attribute.mode,
   cust_att.deprecated.attribute.validUntil,
   cust_att.typed.attribute.subtype,
   attribute ident
   {
      "att.anchoring"
    | "att.ascribed"
    | "att.ascribed.directed"
    | "att.breaking"
    | "att.cReferencing"
    | "att.calendarSystem"
    | "att.canonical"
    | "att.citeStructurePart"
    | "att.citing"
    | "att.cmc"
    | "att.combinable"
    | "att.coordinated"
    | "att.damaged"
    | "att.datable"
    | "att.datable.custom"
    | "att.datable.iso"
    | "att.datable.w3c"
    | "att.datcat"
    | "att.declarable"
    | "att.declaring"
    | "att.deprecated"
    | "att.dimensions"
    | "att.divLike"
    | "att.docStatus"
    | "att.duration"
    | "att.duration.iso"
    | "att.duration.w3c"
    | "att.editLike"
    | "att.edition"
    | "att.enjamb"
    | "att.entryLike"
    | "att.formula"
    | "att.fragmentable"
    | "att.gaijiProp"
    | "att.global"
    | "att.global.analytic"
    | "att.global.change"
    | "att.global.facs"
    | "att.global.linking"
    | "att.global.rendition"
    | "att.global.responsibility"
    | "att.global.source"
    | "att.handFeatures"
    | "att.identified"
    | "att.indentation"
    | "att.internetMedia"
    | "att.interpLike"
    | "att.lexicographic"
    | "att.lexicographic.normalized"
    | "att.linguistic"
    | "att.locatable"
    | "att.measurement"
    | "att.media"
    | "att.metrical"
    | "att.milestoneUnit"
    | "att.msClass"
    | "att.msExcerpt"
    | "att.namespaceable"
    | "att.naming"
    | "att.notated"
    | "att.partials"
    | "att.patternReplacement"
    | "att.personal"
    | "att.placement"
    | "att.pointing"
    | "att.pointing.group"
    | "att.predicate"
    | "att.ranging"
    | "att.rdgPart"
    | "att.repeatable"
    | "att.resourced"
    | "att.scope"
    | "att.scoping"
    | "att.segLike"
    | "att.sortable"
    | "att.spanning"
    | "att.styleDef"
    | "att.tableDecoration"
    | "att.textCritical"
    | "att.timed"
    | "att.transcriptional"
    | "att.translatable"
    | "att.typed"
    | "att.witnessed"
    | "att.written"
    | "model.addrPart"
    | "model.addressLike"
    | "model.annotationLike"
    | "model.annotationPart.body"
    | "model.applicationLike"
    | "model.attributable"
    | "model.availabilityPart"
    | "model.biblLike"
    | "model.biblPart"
    | "model.castItemPart"
    | "model.catDescPart"
    | "model.certLike"
    | "model.choicePart"
    | "model.cmc"
    | "model.common"
    | "model.contentPart"
    | "model.correspActionPart"
    | "model.correspContextPart"
    | "model.correspDescPart"
    | "model.dateLike"
    | "model.descLike"
    | "model.describedResource"
    | "model.dimLike"
    | "model.div1Like"
    | "model.div2Like"
    | "model.div3Like"
    | "model.div4Like"
    | "model.div5Like"
    | "model.div6Like"
    | "model.div7Like"
    | "model.divBottom"
    | "model.divBottomPart"
    | "model.divGenLike"
    | "model.divLike"
    | "model.divPart"
    | "model.divPart.spoken"
    | "model.divTop"
    | "model.divTopPart"
    | "model.divWrapper"
    | "model.editorialDeclPart"
    | "model.egLike"
    | "model.emphLike"
    | "model.encodingDescPart"
    | "model.entryLike"
    | "model.entryPart"
    | "model.entryPart.top"
    | "model.eventLike"
    | "model.featureVal"
    | "model.featureVal.complex"
    | "model.featureVal.single"
    | "model.formPart"
    | "model.frontPart"
    | "model.frontPart.drama"
    | "model.fsdDeclPart"
    | "model.gLike"
    | "model.global"
    | "model.global.edit"
    | "model.global.meta"
    | "model.global.spoken"
    | "model.gramPart"
    | "model.graphicLike"
    | "model.headLike"
    | "model.hiLike"
    | "model.highlighted"
    | "model.identEquiv"
    | "model.identSynonyms"
    | "model.imprintPart"
    | "model.inter"
    | "model.lLike"
    | "model.lPart"
    | "model.labelLike"
    | "model.lexicalRefinement"
    | "model.limitedPhrase"
    | "model.linePart"
    | "model.listLike"
    | "model.measureLike"
    | "model.milestoneLike"
    | "model.morphLike"
    | "model.msItemPart"
    | "model.msQuoteLike"
    | "model.nameLike"
    | "model.nameLike.agent"
    | "model.noteLike"
    | "model.objectLike"
    | "model.oddDecl"
    | "model.oddRef"
    | "model.offsetLike"
    | "model.orgPart"
    | "model.orgStateLike"
    | "model.pLike"
    | "model.pLike.front"
    | "model.pPart.data"
    | "model.pPart.edit"
    | "model.pPart.editorial"
    | "model.pPart.msdesc"
    | "model.pPart.transcriptional"
    | "model.paraPart"
    | "model.persNamePart"
    | "model.persStateLike"
    | "model.personLike"
    | "model.personPart"
    | "model.phrase"
    | "model.phrase.xml"
    | "model.physDescPart"
    | "model.placeLike"
    | "model.placeNamePart"
    | "model.placeStateLike"
    | "model.profileDescPart"
    | "model.ptrLike"
    | "model.ptrLike.form"
    | "model.publicationStmtPart.agency"
    | "model.publicationStmtPart.detail"
    | "model.quoteLike"
    | "model.rdgLike"
    | "model.rdgPart"
    | "model.recordingPart"
    | "model.resource"
    | "model.respLike"
    | "model.segLike"
    | "model.settingPart"
    | "model.sourceDescPart"
    | "model.specDescLike"
    | "model.stageLike"
    | "model.standOffPart"
    | "model.teiHeaderPart"
    | "model.textDescPart"
    | "model.titlepagePart"
   },
   attribute type { "model" | "atts" },
   attribute generate
   {
      list
      {
         (
            "alternation"
          | "sequence"
          | "sequenceOptional"
          | "sequenceOptionalRepeatable"
          | "sequenceRepeatable"
         ),
         (
            "alternation"
          | "sequence"
          | "sequenceOptional"
          | "sequenceOptionalRepeatable"
          | "sequenceRepeatable"
         )?,
         (
            "alternation"
          | "sequence"
          | "sequenceOptional"
          | "sequenceOptionalRepeatable"
          | "sequenceRepeatable"
         )?,
         (
            "alternation"
          | "sequence"
          | "sequenceOptional"
          | "sequenceOptionalRepeatable"
          | "sequenceRepeatable"
         )?,
         (
            "alternation"
          | "sequence"
          | "sequenceOptional"
          | "sequenceOptionalRepeatable"
          | "sequenceRepeatable"
         )?
      }
   }?,
   (
      cust_gloss?,
      cust_model.descLike?,
      cust_classes?,
      cust_constraintSpec*,
      cust_attList?,
      cust_exemplum*,
      cust_remarks*,
      cust_listRef*
   )
}⚓

3.1.32. <classes>

<classes> (classes) specifies all the classes of which the documented element or class is a member or subclass. [23.5. Element Specifications 23.6. Class Specifications]
Moduletagdocs
Attributes
modespecifies the effect of this declaration on its parent module.
StatusRequired
Datatypeteidata.enumerated
Legal values are:
change
this declaration changes the declaration of the same name in the current definition
replace
this declaration replaces the declaration of the same name in the current definition[Default]
Contained by
May contain
tagdocs: memberOf
Note

An empty <classes> element indicates that the element documented is not a member of any class. This should not generally happen.

Example
<classes>  <memberOf key="model.attributable"/>  <memberOf key="att.declarable"/> </classes>
This <classes> element indicates that the element documented (which may be an element or a class) is a member of two distinct classes: model.attributable and att.declarable.
Content model
<content>
 <elementRef key="memberOf" minOccurs="0"
  maxOccurs="unbounded"/>
</content>
    ⚓
Schema Declaration
element classes
{
   cust_att.global.attributes,
   attribute mode { "change" | "replace" },
   cust_memberOf*
}⚓

3.1.33. <code>

<code> contains literal code from some formal language such as a programming language. [23.1.1. Phrase Level Terms]
Moduletagdocs
Attributes
lang(formal language) a name identifying the formal language in which the code is expressed.
StatusOptional
Datatypeteidata.word
Member of
Contained by
May containCharacter data only
Example
<code lang="JAVA"> Size fCheckbox1Size = new Size(); fCheckbox1Size.Height = 500; fCheckbox1Size.Width = 500; xCheckbox1.setSize(fCheckbox1Size); </code>
Content model
<content>
 <textNode/>
</content>
    ⚓
Schema Declaration
element code { cust_att.global.attributes, attribute lang { text }?, text }⚓

3.1.34. <constraint>

<constraint> (constraint rules) the formal rules of a constraint [23.5. Element Specifications]
Moduletagdocs
Attributes
Contained by
May containEmpty element
Note

For our purposes, constraints must be expressed in ISO Schematron. (TEI permits others, including non-XML expressions, although there is no processing of anything other than ISO Schematron.)

Example
<constraintSpec ident="isoconstraint"  scheme="schematron"    xmlns:sch="http://purl.oclc.org/dsdl/schematron">  <constraint>   <sch:rule context="tei:constraint">    <sch:assert test="tei:fileDesc/tei:titleStmt/tei:title[ @type eq 'main']">a main title must be supplied</sch:assert>   </sch:rule>  </constraint> </constraintSpec>
Example
<constraintSpec ident="local"  scheme="private">  <constraint>    (output = (ident(title) ident(author) "You must supply a title or an author"))  </constraint> </constraintSpec>
Content model
<content>
 <alternate minOccurs="1"
  maxOccurs="unbounded">
  <elementRef key="sch_assert"/>
  <elementRef key="sch_let"/>
  <elementRef key="sch_ns"/>
  <elementRef key="sch_report"/>
  <elementRef key="sch_rule"/>
  <elementRef key="sch_pattern"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element constraint
{
   cust_att.global.attributes,
   ( sch_assert | sch_let | sch_ns | sch_report | sch_rule | sch_pattern )+
}⚓

3.1.35. <constraintDecl>

<constraintDecl> (constraint declaration) contains declarations pertaining to formal constraints expressed elsewhere in <constraintSpec> elements [23.5.2. Additional Constraints]
Moduletagdocs
Attributes
schemesupplies the name of the language to which the declarations herein apply
StatusRequired
Datatypeteidata.enumerated
Suggested values include:
schematron
(ISO Schematron)
Note

The declarations contained in a particular <constraintDecl> (including queryBinding, if present) apply to the <constraintSpec> elements whose scheme matches the scheme of the <constraintDecl>.

queryBinding(query language binding) specifies the query language binding for rule-based schema expressions in <constraintSpec> elements that have a matching scheme attribute
StatusRecommended
Datatypeteidata.enumerated
Suggested values include:
exslt
stx
xslt
xslt2
xslt3
xpath
xpath2
xpath3
xpath31
xquery
xquery3
xquery31
Note

The suggested values above are the values reserved by the Schematron specification. Only exslt, stx, xslt, xslt2, xslt3, xpath2, and xpath3 are defined by the specification. Most processors only support one or more of xslt, xslt2, and xslt3.

Member of
Contained by
header: encodingDesc
tagdocs: schemaSpec
May containANY
Note

The tei_customization version of <constraintDecl> is more strict than the vanilla TEI version: it requires that the scheme be schematron and that the contents be only Schematron elements, the first of which must be <sch:ns prefix="tei" uri="">.

Example
<constraintDecl scheme="schematron"  queryBinding="xslt3"    xmlns:sch="http://purl.oclc.org/dsdl/schematron">  <sch:ns prefix="wwp"   uri="http://www.wwp.northeastern.edu/ns/textbase"/> </constraintDecl>
Schematron
<sch:rule context="/*[ count( //tei:constraintDecl ) gt 1 ]"> <sch:let name="schemes"  value="//tei:constraintDecl[ not(ancestor::*[local-name(.) eq 'egXML'] ) ]/@scheme"/> <sch:let name="disctinct_schemes"  value="distinct-values( $schemes )"/> <sch:assert test="count( $schemes ) eq count( $disctinct_schemes )"> Each <constraintDecl> element should have a @scheme attribute that is distinct from that of all the other <constraintDecl>s. </sch:assert> </sch:rule>
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1">
  <alternate minOccurs="0"
   maxOccurs="unbounded">
   <classRef key="model.identEquiv"/>
   <classRef key="model.descLike"/>
  </alternate>
  <elementRef key="ns_for_tei"
   minOccurs="1" maxOccurs="1"/>
  <alternate minOccurs="0"
   maxOccurs="unbounded">
   <elementRef key="ns_for_dc"
    minOccurs="1" maxOccurs="1"/>
   <elementRef key="ns_for_mml"
    minOccurs="1" maxOccurs="1"/>
   <elementRef key="ns_for_mods"
    minOccurs="1" maxOccurs="1"/>
   <elementRef key="ns_for_rdf"
    minOccurs="1" maxOccurs="1"/>
   <elementRef key="ns_for_rng"
    minOccurs="1" maxOccurs="1"/>
   <elementRef key="ns_for_sch"
    minOccurs="1" maxOccurs="1"/>
   <elementRef key="ns_for_teix"
    minOccurs="1" maxOccurs="1"/>
   <elementRef key="ns_for_xi"
    minOccurs="1" maxOccurs="1"/>
   <elementRef key="ns_for_xlink"
    minOccurs="1" maxOccurs="1"/>
   <elementRef key="ns_for_xs"
    minOccurs="1" maxOccurs="1"/>
   <elementRef key="ns_for_xsl"
    minOccurs="1" maxOccurs="1"/>
  </alternate>
  <anyElement require="http://purl.oclc.org/dsdl/schematron"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element constraintDecl
{
   cust_att.global.attributes,
   attribute scheme { "schematron" },
   attribute queryBinding
   {
      "exslt"
    | "stx"
    | "xslt"
    | "xslt2"
    | "xslt3"
    | "xpath"
    | "xpath2"
    | "xpath3"
    | "xpath31"
    | "xquery"
    | "xquery3"
    | "xquery31"
   }?,
   (
      ( cust_model.identEquiv | cust_model.descLike )*,
      cust_ns_for_tei,
      (
         cust_ns_for_dc
       | cust_ns_for_mml
       | cust_ns_for_mods
       | cust_ns_for_rdf
       | cust_ns_for_rng
       | cust_ns_for_sch
       | cust_ns_for_teix
       | cust_ns_for_xi
       | cust_ns_for_xlink
       | cust_ns_for_xs
       | cust_ns_for_xsl
      )*,
      anyElement_constraintDecl_4
   )
}⚓

3.1.36. <constraintSpec>

<constraintSpec> (constraint on schema) contains a formal constraint, typically expressed in a rule-based schema language, to which a construct must conform in order to be considered valid [23.5. Element Specifications]
Moduletagdocs
Attributes
typecharacterizes the <constraintSpec> element in some sense; used to indicate when a <constraintSpec> warns about a deprecated construct.
StatusOptional
Datatypeteidata.enumerated
Suggested values include:
deprecationWarning
Indicates that this constraint specification warns that some other construct in the schema is deprecated.
schemesupplies the name of the language in which the constraints are defined
StatusOptional
Datatypeteidata.enumerated
Schematron
<sch:rule context="tei:constraintSpec[ @mode = ('add','replace') or not( @mode ) ]"> <sch:assert test="@scheme">The @scheme attribute of <constraintSpec> is required when the @mode is <sch:value-of select="if (@mode) then concat('"',@mode,'"') else 'not specified'"/> (here on "<sch:value-of select="@ident"/>")</sch:assert> </sch:rule>
Suggested values include:
schematron
(ISO Schematron)
Note

These Guidelines no longer recommend, and the current TEI stylesheets no longer support, the use of Schematron 1.x within <constraintSpec>. Thus the value schematron is used to indicate that ISO Schematron is used within the <constraintSpec>.

The scheme attribute is required when the value of mode is add or replace. The scheme attribute is permitted when the value of mode is delete, but these Guidelines make no reccomendation for what a processor should do if its value does not match that of the <constraintSpec> being deleted.

Member of
Contained by
May contain
core: desc gloss
tagdocs: constraint equiv
Note

A child <constraint> is required when the mode attribute has the value replace or add (or is not specified, as add is the default). No child elements are permitted when the mode attribute has the value delete. At least one child element is required when the mode attribute has the value change.

ExampleThis constraint uses Schematron to enforce the presence of the spanTo attribute (which comes from an attribute class) on the <addSpan> element:
<constraintSpec ident="demo-c1"  scheme="schematron"    xmlns:sch="http://purl.oclc.org/dsdl/schematron">  <desc>Enforce the presence of the <att>spanTo</att> attribute</desc>  <constraint>   <sch:rule context="tei:addSpan">    <sch:assert test="@spanTo">The spanTo= attribute of <sch:name/> is required.</sch:assert>   </sch:rule>  </constraint> </constraintSpec>
Example
<constraintSpec ident="demo-c2"  scheme="schematron"    xmlns:sch="http://purl.oclc.org/dsdl/schematron">  <desc>Implement an accessibility rule which says that pictures    should have textual explanations</desc>  <constraint>   <sch:rule context="tei:figure">    <sch:report test="not( tei:figDesc | tei:head )">You should        provide information in a figure from which        we can construct an alt attribute in HTML</sch:report>   </sch:rule>  </constraint> </constraintSpec>
ExampleThis constraint uses SPITBOL (a language which is not expressed in XML) to check whether the title and author are identical:
<constraintSpec ident="author_ne_title"  scheme="SPITBOL">  <constraint>    (output = leq(title,author) "title and author cannot be the same")  </constraint> </constraintSpec>
Schematron
<sch:rule context="tei:constraintSpec[ @mode eq 'delete']"> <sch:report test="child::*">This constraintSpec element has a mode= of "delete" even though it has child elements. Change the mode= to "add", "change", or "replace", or remove the child elements.</sch:report> </sch:rule> <sch:rule context="tei:constraintSpec[ @mode eq 'change']"> <sch:assert test="child::*">This constraintSpec element has a mode= of "change", but does not have any child elements. Specify child elements, or change the mode= to "delete".</sch:assert> </sch:rule> <sch:rule context="tei:constraintSpec[ @mode = ('add','replace') ]"> <sch:assert test="child::tei:constraint">This constraintSpec element has a mode= of "<sch:value-of select="@mode"/>", but does not have a child 'constraint' element. Use a child 'constraint' element or change the mode= to "delete" or "change".</sch:assert> </sch:rule>
SchematronRelationship between scheme attribute and contents: Schematron 1.x
<sch:rule context="tei:constraintSpec"> <sch:report test="tei:constraint/sch1x:* and @scheme = ('isoschematron','schematron')">Rules in the Schematron 1.* language must be inside a constraintSpec with a value other than 'schematron' or 'isoschematron' on the scheme attribute</sch:report> </sch:rule>
SchematronRelationship between scheme attribute and contents: ISO Schematron
<sch:rule context="tei:constraintSpec[ @mode = ('add','replace') or not( @mode ) ]"> <sch:report test="tei:constraint/sch:* and not( @scheme eq 'schematron')">Rules in the ISO Schematron language must be inside a constraintSpec with the value 'schematron' on the scheme attribute</sch:report> </sch:rule>
Schematron
<sch:rule context="tei:constraintSpec[ @scheme eq 'schematron']/tei:constraint[ .//sch:assert | .//sch:report ]"> <sch:let name="assertsHaveContext"  value="for $a in .//sch:assert return exists( $a/ancestor::sch:rule/@context )"/> <sch:let name="reportsHaveContext"  value="for $r in .//sch:report return exists( $r/ancestor::sch:rule/@context )"/> <sch:report test="( $assertsHaveContext, $reportsHaveContext ) = false()"  role="warning">The use of an <sch:assert> or <sch:report> that does not have a context (i.e., does not have an ancestor <sch:rule> with a @context attribute) in an ISO Schematron constraint specification is deprecated, and will become invalid after 2025-03-15.</sch:report> </sch:rule>
Schematron
<sch:rule context="tei:constraintSpec[ @mode eq 'add' or not( @mode ) ]"> <sch:let name="myIdent"  value="normalize-space(@ident)"/> <sch:report test="preceding::tei:constraintSpec[ normalize-space(@ident) eq $myIdent ]"> The @ident of 'constraintSpec' should be unique; this one (<sch:value-of select="$myIdent"/>) is the same as that of a previous 'constraintSpec'. </sch:report> </sch:rule>
Content model
<content>
 <sequence>
  <alternate minOccurs="0"
   maxOccurs="unbounded">
   <classRef key="model.identSynonyms"/>
   <classRef key="model.descLike"/>
  </alternate>
  <elementRef key="constraint"
   minOccurs="0" maxOccurs="1"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element constraintSpec
{
   cust_att.global.attributes,
   cust_att.identified.attributes,
   cust_att.typed.attribute.subtype,
   attribute type { "deprecationWarning" }?,
   attribute scheme { "schematron" }?,
   ( ( cust_model.identSynonyms | cust_model.descLike )*, cust_constraint? )
}⚓

3.1.37. <content>

<content> (content model) contains a declaration of the intended content model for the element (or other construct) being specified. [23.5. Element Specifications]
Moduletagdocs
Attributes
autoPrefixcontrols whether or not pattern names generated in the corresponding RELAX NG schema source are automatically prefixed to avoid potential nameclashes.
StatusOptional
Datatypeteidata.truthValue
Legal values are:
true
Each name referenced in e.g. an <rng:ref> element within a content model is automatically prefixed by the value of the prefix attribute on the current <schemaSpec>[Default]
false
No prefixes are added: any prefix required by the value of the prefix attribute on the current <schemaSpec> must therefore be supplied explicitly, as appropriate.
Contained by
May containANY
Note

It is required that the <content> element has only one child element. If several RELAX NG elements are desired, they must be wrapped in a <rng:div>.

ExampleThis sample <content> element indicates that the element being specified has no content:
<content>  <empty/> </content>
ExampleThis <content> element defines a content model, expressed directly in the TEI ODD language, that allows either a sequence of paragraphs or a series of <msItem> elements optionally preceded by a <summary>:
<content>  <alternate>   <classRef key="model.pLike"    maxOccurs="unbounded"/>   <sequence>    <elementRef key="summary" minOccurs="0"     maxOccurs="1"/>    <elementRef key="msItem"     maxOccurs="unbounded"/>   </sequence>  </alternate> </content>
ExampleThis sample <content> element defines a content model, expressed in the RELAX NG schema language, that allows either a sequence of paragraphs or a series of <msItem> elements optionally preceded by a <summary>:
<content>  <rng:choice>   <rng:oneOrMore>    <rng:ref name="model.pLike"/>   </rng:oneOrMore>   <rng:group>    <rng:optional>     <rng:ref name="summary"/>    </rng:optional>    <rng:oneOrMore>     <rng:ref name="msItem"/>    </rng:oneOrMore>   </rng:group>  </rng:choice> </content>
Content model
<content>
 <alternate>
  <elementRef key="valList" minOccurs="1"
   maxOccurs="1"/>
  <classRef key="model.contentPart"
   minOccurs="1" maxOccurs="1"/>
  <anyElement minOccurs="1" maxOccurs="1"
   require="http://relaxng.org/ns/compatibility/annotations/1.0 http://relaxng.org/ns/structure/1.0"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element content
{
   cust_att.global.attributes,
   attribute autoPrefix { "true" | "false" }?,
   ( cust_valList | cust_model.contentPart | anyElement_content_3 )
}⚓

3.1.38. <conversion>

<conversion> defines how to calculate one unit of measure in terms of another. [2.3.9. The Unit Declaration]
Moduleheader
Attributes
fromUnitindicates a source unit of measure that is to be converted into another unit indicated in toUnit.
StatusRequired
Datatypeteidata.pointer
toUnitthe target unit of measurement for a conversion from a source unit referenced in fromUnit.
StatusRequired
Datatypeteidata.pointer
Contained by
header: unitDef
May containEmpty element
Note

The conversion element is designed to store information about converting from one unit of measurement to another. The formula attribute holds an XPath expression that indicates how the measurement system in fromUnit is converted to the system in toUnit. Do not confuse the usage of the dating attributes (from and to) in the examples with the attributes (fromUnit and toUnit) designed to reference units of measure.

Example
<conversion fromUnit="#shilling"  toUnit="#pence" formula="$fromUnit * 12" from="1707"  to="1971"/>
Example
<conversion fromUnit="#pound"  toUnit="#shilling" formula="$fromUnit * 20" from="1701"  to="1971"/>
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element conversion
{
   cust_att.global.attributes,
   cust_att.datable.attributes,
   cust_att.formula.attributes,
   cust_att.locatable.attributes,
   attribute fromUnit { text },
   attribute toUnit { text },
   empty
}⚓

3.1.39. <correspAction>

<correspAction> (correspondence action) contains a structured description of the place, the name of a person/organization and the date related to the sending/receiving of a message or any other action related to the correspondence. [2.4.6. Correspondence Description]
Moduleheader
Attributes
typedescribes the nature of the action.
Derived fromatt.typed
StatusOptional
Datatypeteidata.enumerated
Suggested values include:
sent
information concerning the sending or dispatch of a message.
received
information concerning the receipt of a message.
transmitted
information concerning the transmission of a message, i.e. between the dispatch and the next receipt, redirect or forwarding.
redirected
information concerning the redirection of an unread message.
forwarded
information concerning the forwarding of a message.
Member of
Contained by
header: correspDesc
May contain
Example
<correspAction type="sent">  <persName>Adelbert von Chamisso</persName>  <settlement>Vertus</settlement>  <date when="1807-01-29"/> </correspAction>
Content model
<content>
 <alternate>
  <classRef key="model.correspActionPart"
   minOccurs="1" maxOccurs="unbounded"/>
  <classRef key="model.pLike" minOccurs="1"
   maxOccurs="unbounded"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element correspAction
{
   cust_att.global.attributes,
   cust_att.sortable.attributes,
   cust_att.typed.attribute.subtype,
   attribute type
   {
      "sent" | "received" | "transmitted" | "redirected" | "forwarded"
   }?,
   ( cust_model.correspActionPart+ | cust_model.pLike+ )
}⚓

3.1.40. <correspContext>

<correspContext> (correspondence context) provides references to preceding or following correspondence related to this piece of correspondence. [2.4.6. Correspondence Description]
Moduleheader
Attributes
Member of
Contained by
header: correspDesc
May contain
tagdocs: listRef
Example
<correspContext>  <ptr type="next" subtype="toAuthor"   target="http://tei.ibi.hu-berlin.de/berliner-intellektuelle/manuscript?Brief101VarnhagenanBoeckh"/>  <ptr type="prev" subtype="fromAuthor"   target="http://tei.ibi.hu-berlin.de/berliner-intellektuelle/manuscript?Brief103BoeckhanVarnhagen"/> </correspContext>
Example
<correspContext>  <ref type="prev"   target="http://weber-gesamtausgabe.de/A040962"> Previous letter of  <persName>Carl Maria von Weber</persName> to  <persName>Caroline Brandt</persName>:  <date when="1816-12-30">December 30, 1816</date>  </ref>  <ref type="next"   target="http://weber-gesamtausgabe.de/A041003"> Next letter of  <persName>Carl Maria von Weber</persName> to  <persName>Caroline Brandt</persName>:  <date when="1817-01-05">January 5, 1817</date>  </ref> </correspContext>
Content model
<content>
 <classRef key="model.correspContextPart"
  minOccurs="1" maxOccurs="unbounded"/>
</content>
    ⚓
Schema Declaration
element correspContext
{
   cust_att.global.attributes,
   cust_model.correspContextPart+
}⚓

3.1.41. <correspDesc>

<correspDesc> (correspondence description) contains a description of the actions related to one act of correspondence. [2.4.6. Correspondence Description]
Moduleheader
Attributes
Contained by
—
May contain
Example
<correspDesc>  <correspAction type="sent">   <persName>Carl Maria von Weber</persName>   <settlement>Dresden</settlement>   <date when="1817-06-23">23 June 1817</date>  </correspAction>  <correspAction type="received">   <persName>Caroline Brandt</persName>   <settlement>Prag</settlement>  </correspAction>  <correspContext>   <ref type="prev"    target="http://www.weber-gesamtausgabe.de/A041209">Previous letter of   <persName>Carl Maria von Weber</persName>      to <persName>Caroline Brandt</persName>:   <date from="1817-06-19" to="1817-06-20">June 19/20, 1817</date>   </ref>   <ref type="next"    target="http://www.weber-gesamtausgabe.de/A041217">Next letter of   <persName>Carl Maria von Weber</persName> to   <persName>Caroline Brandt</persName>:   <date when="1817-06-27">June 27, 1817</date>   </ref>  </correspContext> </correspDesc>
Content model
<content>
 <alternate>
  <classRef key="model.correspDescPart"
   minOccurs="1" maxOccurs="unbounded"/>
  <classRef key="model.pLike" minOccurs="1"
   maxOccurs="unbounded"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element correspDesc
{
   cust_att.global.attributes,
   cust_att.canonical.attributes,
   cust_att.declarable.attributes,
   cust_att.typed.attributes,
   ( cust_model.correspDescPart+ | cust_model.pLike+ )
}⚓

3.1.42. <dataFacet>

<dataFacet> Restricts the value of the strings used to represent values of a datatype, according to XML Schema Part 2: Datatypes Second Edition. [23.5.3.1. Datatypes]
Moduletagdocs
Attributes
namethe name of the facet.
StatusRequired
Datatypeteidata.word
Legal values are:
length
minLength
maxLength
pattern
enumeration
whiteSpace
maxInclusive
minInclusive
maxExclusive
minExclusive
totalDigits
fractionDigits
valuethe facet value.
StatusRequired
Datatypestring
Contained by
tagdocs: dataRef
May containEmpty element
Note

This element is only allowed when the parent <dataRef> refers with name to a datatype from the specification XML Schema Part 2: Datatypes Second Edition.

Example
<datatype>  <dataRef name="decimal">   <dataFacet name="maxInclusive"    value="360.0"/>   <dataFacet name="minInclusive"    value="-360.0"/>  </dataRef> </datatype>
Example
<dataSpec ident="data.integerExample">  <desc>datatype used for attributes taking an integer value between 0 and 99</desc>  <content>   <dataRef name="nonNegativeInteger">    <dataFacet name="maxInclusive"     value="99"/>    <dataFacet name="minInclusive" value="0"/>   </dataRef>  </content> </dataSpec>
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element dataFacet
{
   cust_att.global.attributes,
   attribute name
   {
      "length"
    | "minLength"
    | "maxLength"
    | "pattern"
    | "enumeration"
    | "whiteSpace"
    | "maxInclusive"
    | "minInclusive"
    | "maxExclusive"
    | "minExclusive"
    | "totalDigits"
    | "fractionDigits"
   },
   attribute value { text },
   empty
}⚓

3.1.43. <dataRef>

<dataRef> identifies the datatype of an attribute value, either by referencing an item in an externally defined datatype library, or by pointing to a TEI-defined data specification [23.5.3.1. Datatypes]
Moduletagdocs
Attributes
key
StatusOptional
Datatypeteidata.enumerated
Legal values are:
teidata.authority
teidata.certainty
teidata.count
teidata.duration.iso
teidata.duration.w3c
teidata.enumerated
teidata.gender
teidata.interval
teidata.language
teidata.name
teidata.namespace
teidata.namespaceOrName
teidata.nullOrName
teidata.numeric
teidata.outputMeasurement
teidata.pattern
teidata.point
teidata.pointer
teidata.prefix
teidata.probCert
teidata.probability
teidata.replacement
teidata.sex
teidata.temporal.iso
teidata.temporal.w3c
teidata.temporal.working
teidata.text
teidata.truthValue
teidata.unboundedCount
teidata.version
teidata.versionNumber
teidata.word
teidata.xTruthValue
(extended truth value)
teidata.xmlName
teidata.xpath
namethe name of a datatype in the list provided by XML Schema Part 2: Datatypes Second Edition
StatusOptional
Datatypeteidata.xmlName
refa pointer to a datatype defined in some datatype library
StatusOptional
Datatypeteidata.pointer
restrictionsupplies a string representing a regular expression providing additional constraints on the strings used to represent values of this datatype
StatusOptional
Datatypeteidata.pattern
Member of
Contained by
May contain
tagdocs: dataFacet
Note

Only one of the attributes key, name, and ref may be used on any given instance of <dataRef>.

Neither a restriction attribute nor a <dataFacet> child element may be used unless the <dataRef> refers to a datatype from the specification XML Schema Part 2: Datatypes Second Edition with a name attribute.

Example
<schemaSpec ident="myTEI"  source="http://www.tei-c.org/Vault/P5/current/xml/tei/odd/p5subset.xml"> <!-- ... -->  <dataRef key="teidata.enumerated"/> <!-- ... --> </schemaSpec>
Example
<schemaSpec ident="myTEI"  source="http://www.tei-c.org/Vault/P5/current/xml/tei/odd/p5subset.xml"> <!-- ... -->  <dataRef name="float"/> <!-- ... --> </schemaSpec>
Example
<dataSpec ident="data.integerExample">  <desc>datatype used for attributes taking an integer value between 0 and 99</desc>  <content>   <dataRef name="nonNegativeInteger"    restriction="[0-9][0-9]?"/>  </content> </dataSpec>
Schematron
<sch:rule context="tei:dataRef[tei:dataFacet]"> <sch:assert test="@name" role="nonfatal">Data facets can only be specified for references to datatypes specified by XML Schema Part 2: Datatypes Second Edition — that is, for there to be a 'dataFacet' child there must be a @name attribute.</sch:assert> <sch:report test="@restriction"  role="nonfatal">Data facets and restrictions cannot both be expressed on the same data reference — that is, the @restriction attribute cannot be used when a 'dataFacet' element is present.</sch:report> </sch:rule>
Schematron
<sch:rule context="tei:dataRef[@restriction]"> <sch:assert test="@name" role="nonfatal">Restrictions can only be specified for references to datatypes specified by XML Schema Part 2: Datatypes Second Edition — that is, for there to be a @restriction attribute there must be a @name attribute, too.</sch:assert> </sch:rule>
Content model
<content>
 <elementRef minOccurs="0"
  maxOccurs="unbounded" key="dataFacet"/>
</content>
    ⚓
Schema Declaration
element dataRef
{
   cust_att.global.attributes,
   attribute key
   {
      "teidata.authority"
    | "teidata.certainty"
    | "teidata.count"
    | "teidata.duration.iso"
    | "teidata.duration.w3c"
    | "teidata.enumerated"
    | "teidata.gender"
    | "teidata.interval"
    | "teidata.language"
    | "teidata.name"
    | "teidata.namespace"
    | "teidata.namespaceOrName"
    | "teidata.nullOrName"
    | "teidata.numeric"
    | "teidata.outputMeasurement"
    | "teidata.pattern"
    | "teidata.point"
    | "teidata.pointer"
    | "teidata.prefix"
    | "teidata.probCert"
    | "teidata.probability"
    | "teidata.replacement"
    | "teidata.sex"
    | "teidata.temporal.iso"
    | "teidata.temporal.w3c"
    | "teidata.temporal.working"
    | "teidata.text"
    | "teidata.truthValue"
    | "teidata.unboundedCount"
    | "teidata.version"
    | "teidata.versionNumber"
    | "teidata.word"
    | "teidata.xTruthValue"
    | "teidata.xmlName"
    | "teidata.xpath"
   }?,
   ( attribute name { text }? | attribute ref { text }? ),
   attribute restriction { text }?,
   cust_dataFacet*
}⚓

3.1.44. <dataSpec>

<dataSpec> (datatype specification) documents a datatype. [23.3. Specification Elements 23.7. Macro Specifications]
Moduletagdocs
Attributes
ident
StatusOptional
Datatypeteidata.enumerated
Suggested values include:
teidata.authority
teidata.certainty
teidata.count
teidata.duration.iso
teidata.duration.w3c
teidata.enumerated
teidata.gender
teidata.interval
teidata.language
teidata.name
teidata.namespace
teidata.namespaceOrName
teidata.nullOrName
teidata.numeric
teidata.outputMeasurement
teidata.pattern
teidata.point
teidata.pointer
teidata.prefix
teidata.probCert
teidata.probability
teidata.replacement
teidata.sex
teidata.temporal.iso
teidata.temporal.w3c
teidata.temporal.working
teidata.text
teidata.truthValue
teidata.unboundedCount
teidata.version
teidata.versionNumber
teidata.word
teidata.xTruthValue
(extended truth value)
teidata.xmlName
teidata.xpath
Member of
Contained by
May contain
Example
<dataSpec ident="teidata.pointer">  <desc versionDate="2013-01-19"   xml:lang="en">defines the range of    attribute values used to provide a single URI, absolute or relative,    pointing to some other resource, either within the current document    or elsewhere.</desc>  <content>   <dataRef name="anyURI"/>  </content> </dataSpec>
Schematron
<sch:rule role="warn"  context="tei:dataSpec/tei:content"> <sch:report test=".//tei:anyElement | .//tei:classRef | .//tei:elementRef"> A datatype specification should not refer to an element or a class. </sch:report> </sch:rule>
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1">
  <alternate minOccurs="0"
   maxOccurs="unbounded">
   <classRef key="model.identSynonyms"/>
   <classRef key="model.descLike"/>
  </alternate>
  <alternate minOccurs="0" maxOccurs="1">
   <elementRef key="content"/>
   <elementRef key="valList"/>
  </alternate>
  <elementRef key="constraintSpec"
   minOccurs="0" maxOccurs="unbounded"/>
  <elementRef key="exemplum" minOccurs="0"
   maxOccurs="unbounded"/>
  <elementRef key="remarks" minOccurs="0"
   maxOccurs="unbounded"/>
  <elementRef key="listRef" minOccurs="0"
   maxOccurs="unbounded"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element dataSpec
{
   cust_att.global.attributes,
   cust_att.identified.attribute.module,
   cust_att.identified.attribute.predeclare,
   cust_att.combinable.attribute.mode,
   cust_att.deprecated.attribute.validUntil,
   attribute ident
   {
      "teidata.authority"
    | "teidata.certainty"
    | "teidata.count"
    | "teidata.duration.iso"
    | "teidata.duration.w3c"
    | "teidata.enumerated"
    | "teidata.gender"
    | "teidata.interval"
    | "teidata.language"
    | "teidata.name"
    | "teidata.namespace"
    | "teidata.namespaceOrName"
    | "teidata.nullOrName"
    | "teidata.numeric"
    | "teidata.outputMeasurement"
    | "teidata.pattern"
    | "teidata.point"
    | "teidata.pointer"
    | "teidata.prefix"
    | "teidata.probCert"
    | "teidata.probability"
    | "teidata.replacement"
    | "teidata.sex"
    | "teidata.temporal.iso"
    | "teidata.temporal.w3c"
    | "teidata.temporal.working"
    | "teidata.text"
    | "teidata.truthValue"
    | "teidata.unboundedCount"
    | "teidata.version"
    | "teidata.versionNumber"
    | "teidata.word"
    | "teidata.xTruthValue"
    | "teidata.xmlName"
    | "teidata.xpath"
   }?,
   (
      ( cust_model.identSynonyms | cust_model.descLike )*,
      ( cust_content | cust_valList )?,
      cust_constraintSpec*,
      cust_exemplum*,
      cust_remarks*,
      cust_listRef*
   )
}⚓

3.1.45. <datatype>

<datatype> (datatype) specifies the declared value for an attribute, by referring to any datatype defined by the chosen schema language. [1.4.2. Datatype Specifications 23.5.3. Attribute List Specification]
Moduletagdocs
Attributes
minOccurs(minimum number of occurences) indicates the minimum number of times this datatype may occur in an instance of the attribute being defined.
Derived fromatt.repeatable
StatusOptional
Datatypeteidata.count
Default1
maxOccurs(maximum number of occurences) indicates the maximum number of times this datatype may occur in an instance of the attribute being defined.
Derived fromatt.repeatable
StatusOptional
Datatypeteidata.unboundedCount
Default1
Contained by
tagdocs: attDef
May containANY
Note

In the TEI scheme, most datatypes are expressed using pre-defined TEI macros, which map a name in the form teidata.xxxx to a datatype defined by RELAX NG or the W3C Schema Language.

Example
<datatype>  <dataRef name="token"/> </datatype>
Example
<datatype>  <dataRef key="teidata.enumerated"/> </datatype>
ExampleThe encoding in the following example requires that the attribute being defined contain at least two URIs in its value, as is the case for the target attribute of <join>.
<datatype minOccurs="2"  maxOccurs="unbounded">  <dataRef key="teidata.pointer"/> </datatype>
Content model
<content>
 <alternate>
  <elementRef key="dataRef"/>
  <anyElement require="http://relaxng.org/ns/structure/1.0"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element datatype
{
   cust_att.global.attributes,
   attribute minOccurs { text }?,
   attribute maxOccurs { text }?,
   ( cust_dataRef | anyElement_datatype_5 )
}⚓

3.1.46. <date>

<date> (date) contains a date in any format. [3.6.4. Dates and Times 2.2.4. Publication, Distribution, Licensing, etc. 2.6. The Revision Description 3.12.2.4. Imprint, Size of a Document, and Reprint Information 16.2.3. The Setting Description 14.4. Dates]
Modulecore
Attributes
Member of
Contained by
May contain
Example
<date when="1980-02">early February 1980</date>
Example
Given on the <date when="1977-06-12">Twelfth Day of June in the Year of Our Lord One Thousand Nine Hundred and Seventy-seven of the Republic the Two Hundredth and first and of the University the Eighty-Sixth.</date>
Example
<date when="1990-09">September 1990</date>
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <textNode/>
  <classRef key="model.gLike"/>
  <classRef key="model.phrase"/>
  <classRef key="model.global"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element date
{
   cust_att.global.attributes,
   cust_att.calendarSystem.attributes,
   cust_att.canonical.attributes,
   cust_att.cmc.attributes,
   cust_att.datable.attributes,
   cust_att.dimensions.attributes,
   cust_att.editLike.attributes,
   cust_att.typed.attributes,
   ( text | cust_model.gLike | cust_model.phrase | cust_model.global )*
}⚓

3.1.47. <defaultVal>

<defaultVal> (default value) specifies the default declared value for an attribute. [23.5.3. Attribute List Specification]
Moduletagdocs
Attributes
Contained by
tagdocs: attDef
May containCharacter data only
Note

any legal declared value or TEI-defined keyword

Example
<defaultVal>#IMPLIED</defaultVal>
Content model
<content>
 <textNode/>
</content>
    ⚓
Schema Declaration
element defaultVal
{
   cust_att.global.attributes,
   cust_att.combinable.attributes,
   text
}⚓

3.1.48. <desc>

<desc> (description) contains a short description of the purpose, function, or use of its parent element, or when the parent is a documentation element, describes or defines the object being documented. [23.4.1. Description of Components]
Modulecore
Attributes
typecharacterizes the element in some sense, using any convenient classification scheme or typology.
Derived fromatt.typed
StatusOptional
Datatypeteidata.enumerated
Suggested values include:
deprecationInfo
(deprecation information) This element describes why or how its parent element is being deprecated, typically including recommendations for alternate encoding.
<dataSpec module="tei"  ident="teidata.point"  validUntil="2050-02-25">  <desc type="deprecationInfo"   versionDate="2018-09-14"   xml:lang="en">Several standards bodies, including NIST in the USA,    strongly recommend against ending the representation of a number    with a decimal point. So instead of <q>3.</q> use either <q>3</q>    or <q>3.0</q>.</desc> <!-- ... --> </dataSpec>
Member of
Contained by
May contain
Note

When used in a specification element such as <elementSpec>, TEI convention requires that this be expressed as a finite clause, begining with an active verb.

ExampleExample of a <desc> element inside a documentation element.
<dataSpec module="tei"  ident="teidata.point">  <desc versionDate="2010-10-17"   xml:lang="en">defines the data type used to express a point in cartesian space.</desc>  <content>   <dataRef name="token"    restriction="(-?[0-9]+(\.[0-9]+)?,-?[0-9]+(\.[0-9]+)?)"/>  </content> <!-- ... --> </dataSpec>
ExampleExample of a <desc> element in a non-documentation element.
<place xml:id="KERG2">  <placeName>Kerguelen Islands</placeName> <!-- ... -->  <terrain>   <desc>antarctic tundra</desc>  </terrain> <!-- ... --> </place>
SchematronA <desc> with a type of deprecationInfo should only occur when its parent element is being deprecated. Furthermore, it should always occur in an element that is being deprecated when <desc> is a valid child of that element.
<sch:rule context="tei:desc[ @type eq 'deprecationInfo']"> <sch:assert test="../@validUntil">Information about a deprecation should only be present in a specification element that is being deprecated: that is, only an element that has a @validUntil attribute should have a child <desc type="deprecationInfo">.</sch:assert> </sch:rule>
Content model
<content>
 <macroRef key="macro.limitedContent"/>
</content>
    ⚓
Schema Declaration
element desc
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.translatable.attributes,
   cust_att.typed.attribute.subtype,
   attribute type { "deprecationInfo" }?,
   cust_macro.limitedContent
}⚓

3.1.49. <distributor>

<distributor> (distributor) supplies the name of a person or other agency responsible for the distribution of a text. [2.2.4. Publication, Distribution, Licensing, etc.]
Moduleheader
Attributes
Member of
Contained by
May contain
Example
<distributor>Oxford Text Archive</distributor> <distributor>Redwood and Burn Ltd</distributor>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element distributor
{
   cust_att.global.attributes,
   cust_att.canonical.attributes,
   cust_macro.phraseSeq
}⚓

3.1.50. <div>

<div> (text division) contains a subdivision of the front, body, or back of a text. [4.1. Divisions of the Body]
Moduletextstructure
Attributes
type
StatusOptional
Datatypeteidata.enumerated
Suggested values include:
section
subsection
subsubsection
Member of
Contained by
textstructure: back body div front
May contain
Example
<body>  <div type="part">   <head>Fallacies of Authority</head>   <p>The subject of which is Authority in various shapes, and the object, to repress all      exercise of the reasoning faculty.</p>   <div n="1" type="chapter">    <head>The Nature of Authority</head>    <p>With reference to any proposed measures having for their object the greatest        happiness of the greatest number [...]</p>    <div n="1.1" type="section">     <head>Analysis of Authority</head>     <p>What on any given occasion is the legitimate weight or influence to be attached to          authority [...] </p>    </div>    <div n="1.2" type="section">     <head>Appeal to Authority, in What Cases Fallacious.</head>     <p>Reference to authority is open to the charge of fallacy when [...] </p>    </div>   </div>  </div> </body>
Schematron
<sch:rule context="tei:l//tei:div"> <sch:assert test="ancestor::tei:floatingText"> Abstract model violation: Metrical lines may not contain higher-level structural elements such as div, unless div is a descendant of floatingText. </sch:assert> </sch:rule>
Schematron
<sch:rule context="tei:div"> <sch:report test="(ancestor::tei:p or ancestor::tei:ab) and not(ancestor::tei:floatingText)"> Abstract model violation: p and ab may not contain higher-level structural elements such as div, unless div is a descendant of floatingText. </sch:report> </sch:rule>
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1">
  <alternate minOccurs="0"
   maxOccurs="unbounded">
   <classRef key="model.divTop"/>
   <classRef key="model.global"/>
  </alternate>
  <sequence minOccurs="0" maxOccurs="1">
   <alternate minOccurs="1" maxOccurs="1">
    <sequence minOccurs="1"
     maxOccurs="unbounded">
     <alternate minOccurs="1" maxOccurs="1">
      <classRef key="model.divLike"/>
      <classRef key="model.divGenLike"/>
     </alternate>
     <classRef key="model.global"
      minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
    <sequence minOccurs="1" maxOccurs="1">
     <sequence minOccurs="1"
      maxOccurs="unbounded">
      <alternate minOccurs="1"
       maxOccurs="1">
       <elementRef key="schemaSpec"/>
       <classRef key="model.common"/>
      </alternate>
      <classRef key="model.global"
       minOccurs="0" maxOccurs="unbounded"/>
     </sequence>
     <sequence minOccurs="0"
      maxOccurs="unbounded">
      <alternate minOccurs="1"
       maxOccurs="1">
       <classRef key="model.divLike"/>
       <classRef key="model.divGenLike"/>
      </alternate>
      <classRef key="model.global"
       minOccurs="0" maxOccurs="unbounded"/>
     </sequence>
    </sequence>
   </alternate>
   <sequence minOccurs="0"
    maxOccurs="unbounded">
    <classRef key="model.divBottom"/>
    <classRef key="model.global"
     minOccurs="0" maxOccurs="unbounded"/>
   </sequence>
  </sequence>
 </sequence>
</content>
    ⚓
Schema Declaration
element div
{
   cust_att.global.attributes,
   cust_att.declaring.attributes,
   cust_att.divLike.attributes,
   cust_att.placement.attributes,
   cust_att.typed.attribute.subtype,
   cust_att.written.attributes,
   attribute type { "section" | "subsection" | "subsubsection" }?,
   (
      ( cust_model.divTop | cust_model.global )*,
      (
         (
            (
               (
                  (
                     ( cust_model.divLike | cust_model.divGenLike ),
                     cust_model.global*
                  )+
               )
             | (
                  (
                     (
                        ( cust_schemaSpec | cust_model.common ),
                        cust_model.global*
                     )+
                  ),
                  (
                     (
                        ( cust_model.divLike | cust_model.divGenLike ),
                        cust_model.global*
                     )*
                  )
               )
            ),
            ( ( cust_model.divBottom, cust_model.global* )* )
         )?
      )
   )
}⚓

3.1.51. <divGen>

<divGen> (automatically generated text division) indicates the location at which a textual division generated automatically by a text-processing application is to appear. [3.9.2. Index Entries]
Modulecore
Attributes
type
StatusOptional
Datatypeteidata.enumerated
Legal values are:
attcat
(Catalogue of Attributes)
attclasscat
(Catalogue of Attribute Classes)
elementcat
(Catalogue of Elements)
macrocat
(Catalogue of Macros)
modelclasscat
(Catalogue of Model Classes)
deprecationcat
(Catalogue of Deprecations)
toc
(Table of Contents)
Member of
Contained by
textstructure: back body div front
May contain
core: head
Note

This element is intended primarily for use in document production or manipulation, rather than in the transcription of pre-existing materials; it makes it easier to specify the location of indices, tables of contents, etc., to be generated by text preparation or word processing software.

ExampleOne use for this element is to allow document preparation software to generate an index and insert it in the appropriate place in the output. The example below assumes that the indexName attribute on <index> elements in the text has been used to specify index entries for the two generated indexes, named NAMES and THINGS:
<back>  <div1 type="backmat">   <head>Bibliography</head> <!-- ... -->  </div1>  <div1 type="backmat">   <head>Indices</head>   <divGen n="Index Nominum" type="NAMES"/>   <divGen n="Index Rerum" type="THINGS"/>  </div1> </back>
ExampleAnother use for <divGen> is to specify the location of an automatically produced table of contents:
<front> <!--<titlePage>...</titlePage>-->  <divGen type="toc"/>  <div>   <head>Preface</head>   <p> ... </p>  </div> </front>
Content model
<content>
 <classRef key="model.headLike"
  minOccurs="0" maxOccurs="unbounded"/>
</content>
    ⚓
Schema Declaration
element divGen
{
   cust_att.global.attributes,
   cust_att.typed.attribute.subtype,
   attribute type
   {
      "attcat"
    | "attclasscat"
    | "elementcat"
    | "macrocat"
    | "modelclasscat"
    | "deprecationcat"
    | "toc"
   }?,
   cust_model.headLike*
}⚓

3.1.52. <edition>

<edition> (edition) describes the particularities of one edition of a text. [2.2.2. The Edition Statement]
Moduleheader
Attributes
Member of
Contained by
core: bibl
header: editionStmt
May contain
Example
<edition>First edition <date>Oct 1990</date> </edition> <edition n="S2">Students' edition</edition>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element edition { cust_att.global.attributes, cust_macro.phraseSeq }⚓

3.1.53. <editionStmt>

<editionStmt> (edition statement) groups information relating to one edition of a text. [2.2.2. The Edition Statement 2.2. The File Description]
Moduleheader
Attributes
Contained by
May contain
Example
<editionStmt>  <edition n="S2">Students' edition</edition>  <respStmt>   <resp>Adapted by </resp>   <name>Elizabeth Kirk</name>  </respStmt> </editionStmt>
Example
<editionStmt>  <p>First edition, <date>Michaelmas Term, 1991.</date>  </p> </editionStmt>
Content model
<content>
 <alternate>
  <classRef key="model.pLike" minOccurs="1"
   maxOccurs="unbounded"/>
  <sequence>
   <elementRef key="edition"/>
   <classRef key="model.respLike"
    minOccurs="0" maxOccurs="unbounded"/>
  </sequence>
 </alternate>
</content>
    ⚓
Schema Declaration
element editionStmt
{
   cust_att.global.attributes,
   ( cust_model.pLike+ | ( cust_edition, cust_model.respLike* ) )
}⚓

3.1.54. <editor>

<editor> contains a secondary statement of responsibility for a bibliographic item, for example the name of an individual, institution or organization, (or of several such) acting as editor, compiler, translator, etc. [3.12.2.2. Titles, Authors, and Editors]
Modulecore
Attributes
Member of
Contained by
May contain
Note

A consistent format should be adopted.

Particularly where cataloguing is likely to be based on the content of the header, it is advisable to use generally recognized authority lists for the exact form of personal names.

Example
<editor role="Technical_Editor">Ron Van den Branden</editor> <editor role="Editor-in-Chief">John Walsh</editor> <editor role="Managing_Editor">Anne Baillot</editor>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element editor
{
   cust_att.global.attributes,
   cust_att.datable.attributes,
   cust_att.naming.attributes,
   cust_macro.phraseSeq
}⚓

3.1.55. <eg>

<eg> (example) contains any kind of illustrative example. [23.5. Element Specifications 23.5.3. Attribute List Specification]
Moduletagdocs
Attributes
Member of
Contained by
May contain
Note

If the example contains material in XML markup, either it must be enclosed within a CDATA marked section, or character entity references must be used to represent the markup delimiters. If the example contains well-formed XML, it should be marked using the more specific <egXML> element.

Example
<p>The <gi>term</gi> element is declared using the following syntax: <eg><![CDATA[<!ELEMENT term (%phrase.content;)>]]</eg> </p>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element eg { cust_att.global.attributes, cust_macro.phraseSeq }⚓

3.1.56. <egXML>

<egXML> (example of XML) a single XML fragment demonstrating the use of some XML, such as elements, attributes, or processing instructions, etc., in which the <egXML> element functions as the root element. [23.1.1. Phrase Level Terms]
Namespacehttp://www.tei-c.org/ns/Examples
Moduletagdocs
Attributes
validindicates the intended validity of the example with respect to a schema.
StatusOptional
Datatypeteidata.enumerated
Legal values are:
true
the example is intended to be fully valid, assuming that its root element, or a provided root element, could have been used as a possible root element in the schema concerned.[Default]
feasible
the example could be transformed into a valid document by inserting any number of valid attributes and child elements anywhere within it; or it is valid against a version of the schema concerned in which the provision of character data, list, element, or attribute values has been made optional.
false
the example is not intended to be valid, and contains deliberate errors.
Member of
Contained by
header: change licence
tagdocs: egXML exemplum
textstructure: body div
May containANY
Note

In the source of the TEI Guidelines, this element declares itself and its content as belonging to the namespace http://www.tei-c.org/ns/Examples. This enables the content of the element to be validated independently against the TEI scheme. Where this element is used outside this context, a different namespace or none at all may be preferable. The content must however be a well-formed XML fragment or document: where this is not the case, the more general <eg> element should be used in preference.

Example
<egXML xmlns="http://www.tei-c.org/ns/Examples"><div>   <head>A slide about <gi>egXML</gi>   </head>   <list>    <item>     <gi>egXML</gi> can be used to give XML examples in the TEI        Examples namespace</item>    <item>Attributes values for <att>valid</att>:    <list rend="collapsed">      <item>       <val rend="green">true</val>: intended to be fully            valid</item>      <item>       <val rend="amber">feasible</val>: valid if missing nodes            provided</item>      <item>       <val rend="red">false</val>: not intended to be valid</item>     </list>    </item>    <item>The <att>rend</att> attribute can be        used for recording how parts of the example were rendered.</item>   </list> </div> </egXML>
Example
<egXML valid="feasible" source="#UND" xmlns="http://www.tei-c.org/ns/Examples"><text>   <front> <!-- front matter for the whole group -->   </front>   <group>    <text> <!-- first text -->    </text>    <text> <!-- second text -->    </text>   </group> </text> <!-- This example is not valid TEI, but could be made so by adding missing components --> </egXML>
Example
      <egXML xmlns="http://www.tei-c.org/ns/Examples" valid="false">          <para xml:lang="en">Doubloons are a pirate's best friend</para>       </egXML>     
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <textNode/>
  <elementRef key="egXML"/>
  <anyElement except="http://www.tei-c.org/ns/1.0"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element egXML
{
   cust_att.global.attributes,
   attribute valid { "true" | "feasible" | "false" }?,
   ( text | cust_egXML | anyElement_egXML_2 )*
}⚓

3.1.57. <elementRef>

<elementRef> points to the specification for some element which is to be included in a schema. [23.2. Modules and Schemas]
Moduletagdocs
Attributes
key
StatusRequired
Datatypeteidata.enumerated
Legal values are:
TEI
(TEI document)
ab
(anonymous block)
abbr
(abbreviation)
abstract
accMat
(accompanying material)
acquisition
(acquisition)
activity
(activity)
actor
add
(addition)
addName
(additional name)
addSpan
(added span of text)
additional
(additional)
additions
(additions)
addrLine
(address line)
address
(address)
adminInfo
(administrative information)
affiliation
(affiliation)
age
(age)
alt
(alternation)
altGrp
(alternation group)
altIdent
(alternate identifier)
altIdentifier
(alternative identifier)
alternate
am
(abbreviation marker)
analytic
(analytic level)
anchor
(anchor point)
annotation
annotationBlock
anyElement
app
(apparatus entry)
appInfo
(application information)
application
arc
(arc)
argument
(argument)
att
(attribute)
attDef
(attribute definition)
attList
(attribute list)
attRef
(attribute pointer)
author
(author)
authority
(release authority)
availability
(availability)
back
(back matter)
bibl
(bibliographic citation)
biblFull
(fully-structured bibliographic citation)
biblScope
(scope of bibliographic reference)
biblStruct
(structured bibliographic citation)
bicond
(bi-conditional feature-structure constraint)
binary
(binary value)
binaryObject
binding
(binding)
bindingDesc
(binding description)
birth
(birth)
bloc
(bloc)
body
(text body)
broadcast
(broadcast)
byline
(byline)
c
(character)
cRefPattern
(canonical reference pattern)
caesura
calendar
(calendar)
calendarDesc
(calendar description)
camera
(camera)
caption
(caption)
case
(case)
castGroup
(cast list grouping)
castItem
(cast list item)
castList
(cast list)
catDesc
(category description)
catRef
(category reference)
catchwords
(catchwords)
category
(category)
cb
(column beginning)
cell
(cell)
certainty
change
(change)
channel
(primary channel)
char
(character)
charDecl
(character declarations)
choice
(choice)
cit
(cited quotation)
citeData
(citation data)
citeStructure
(citation structure)
citedRange
(cited range)
cl
(clause)
classCode
(classification code)
classDecl
(classification declarations)
classRef
classSpec
(class specification)
classes
(classes)
climate
(climate)
closer
(closer)
code
collation
(collation)
collection
(collection)
colloc
(collocate)
colophon
(colophon)
cond
(conditional feature-structure constraint)
condition
(condition)
constitution
(constitution)
constraint
(constraint rules)
constraintDecl
(constraint declaration)
constraintSpec
(constraint on schema)
content
(content model)
conversion
corr
(correction)
correction
(correction principles)
correspAction
(correspondence action)
correspContext
(correspondence context)
correspDesc
(correspondence description)
country
(country)
creation
(creation)
custEvent
(custodial event)
custodialHist
(custodial history)
damage
(damage)
damageSpan
(damaged span of text)
dataFacet
dataRef
dataSpec
(datatype specification)
datatype
(datatype)
date
(date)
dateline
(dateline)
death
(death)
decoDesc
(decoration description)
decoNote
(note on decoration)
def
(definition)
default
(default feature value)
defaultVal
(default value)
del
(deletion)
delSpan
(deleted span of text)
depth
(depth)
derivation
(derivation)
desc
(description)
dictScrap
(dictionary scrap)
dim
dimensions
(dimensions)
distinct
distributor
(distributor)
district
(district)
div
(text division)
div1
(level-1 text division)
div2
(level-2 text division)
div3
(level-3 text division)
div4
(level-4 text division)
div5
(level-5 text division)
div6
(level-6 text division)
div7
(level-7 text division)
divGen
(automatically generated text division)
docAuthor
(document author)
docDate
(document date)
docEdition
(document edition)
docImprint
(document imprint)
docTitle
(document title)
domain
(domain of use)
eLeaf
(leaf or terminal node of an embedding tree)
eTree
(embedding tree)
edition
(edition)
editionStmt
(edition statement)
editor
editorialDecl
(editorial practice declaration)
education
(education)
eg
(example)
egXML
(example of XML)
elementRef
elementSpec
(element specification)
ellipsis
(deliberately marked omission)
email
(electronic mail address)
emph
(emphasized)
empty
encodingDesc
(encoding description)
entry
(entry)
entryFree
(unstructured entry)
epigraph
(epigraph)
epilogue
(epilogue)
equipment
(equipment)
equiv
(equivalent)
etym
(etymology)
event
(event)
eventName
(name of an event)
ex
(editorial expansion)
exemplum
(exemplum)
expan
(expansion)
explicit
(explicit)
extent
(extent)
f
(feature)
fDecl
(feature declaration)
fDescr
(feature description (in FSD))
fLib
(feature library)
facsimile
factuality
(factuality)
faith
(faith)
figDesc
(description of figure)
figure
(figure)
fileDesc
(file description)
filiation
(filiation)
finalRubric
(final rubric)
floatingText
(floating text)
floruit
(floruit)
foliation
(foliation)
foreign
(foreign)
forename
(forename)
forest
(forest)
form
(form information group)
formula
(formula)
front
(front matter)
fs
(feature structure)
fsConstraints
(feature-structure constraints)
fsDecl
(feature structure declaration)
fsDescr
(feature system description (in FSD))
fsdDecl
(feature system declaration)
fsdLink
(feature structure declaration link)
funder
(funding body)
fvLib
(feature-value library)
fw
(forme work)
g
(character or glyph)
gap
(gap)
gb
(gathering beginning)
gen
(gender)
genName
(generational name component)
gender
(gender)
geo
(geographical coordinates)
geoDecl
(geographic coordinates declaration)
geogFeat
(geographical feature name)
geogName
(geographical name)
gi
(element name)
gloss
(gloss)
glyph
(character glyph)
gram
(grammatical information)
gramGrp
(grammatical information group)
graph
(graph)
graphic
(graphic)
group
(group)
handDesc
(description of hands)
handNote
(note on hand)
handNotes
handShift
(handwriting shift)
head
(heading)
headItem
(heading for list items)
headLabel
(heading for list labels)
height
(height)
heraldry
(heraldry)
hi
(highlighted)
history
(history)
hom
(homograph)
hyph
(hyphenation)
hyphenation
(hyphenation)
iNode
(intermediate (or internal) node)
iType
(inflectional class)
ident
(identifier)
idno
(identifier)
if
iff
(if and only if)
imprimatur
(imprimatur)
imprint
incident
(incident)
incipit
index
(index entry)
institution
(institution)
interaction
(interaction)
interp
(interpretation)
interpGrp
(interpretation group)
interpretation
(interpretation)
item
(item)
join
(join)
joinGrp
(join group)
keywords
(keywords)
kinesic
(kinesic)
l
(verse line)
label
(label)
lacunaEnd
(lacuna end)
lacunaStart
(lacuna start)
lang
(language name)
langKnowledge
(language knowledge)
langKnown
(language known)
langUsage
(language usage)
language
(language)
layout
(layout)
layoutDesc
(layout description)
lb
(line beginning)
lbl
(label)
leaf
(leaf)
lem
(lemma)
lg
(line group)
licence
line
link
(link)
linkGrp
(link group)
list
(list)
listAnnotation
listApp
(list of apparatus entries)
listBibl
(citation list)
listChange
listEvent
(list of events)
listForest
listNym
(list of canonical names)
listObject
(list of objects)
listOrg
(list of organizations)
listPerson
(list of persons)
listPlace
(list of places)
listPrefixDef
(list of prefix definitions)
listRef
(list of references)
listRelation
listTranspose
listWit
(witness list)
localProp
(locally defined property)
locale
location
(location)
locus
(locus)
locusGrp
(locus group)
m
(morpheme)
macroRef
macroSpec
(macro specification)
mapping
(character mapping)
material
(material)
measure
(measure)
measureGrp
(measure group)
media
meeting
memberOf
mentioned
metDecl
(metrical notation declaration)
metSym
(metrical notation symbol)
metamark
milestone
(milestone)
mod
model
modelGrp
(model group)
modelSequence
moduleRef
(module reference)
moduleSpec
(module specification)
monogr
(monographic level)
mood
(mood)
move
(movement)
msContents
(manuscript contents)
msDesc
(manuscript description)
msFrag
(manuscript fragment)
msIdentifier
(manuscript identifier)
msItem
(manuscript item)
msItemStruct
(structured manuscript item)
msName
(alternative name)
msPart
(manuscript part)
musicNotation
(music notation)
name
(name, proper noun)
nameLink
(name link)
namespace
(namespace)
nationality
(nationality)
node
(node)
normalization
(normalization)
notatedMusic
note
(note)
noteGrp
(note group)
notesStmt
(notes statement)
num
(number)
number
(number)
numeric
(numeric value)
nym
(canonical name)
oRef
(orthographic-form reference)
object
objectDesc
(object description)
objectIdentifier
(object identifier)
objectName
(name of an object)
objectType
(object type)
occupation
(occupation)
offset
(offset)
opener
(opener)
org
(organization)
orgName
(organization name)
orig
(original form)
origDate
(origin date)
origPlace
(origin place)
origin
(origin)
orth
(orthographic form)
outputRendition
p
(paragraph)
pRef
(pronunciation reference)
param
paramList
paramSpec
particDesc
(participation description)
path
(path)
pause
(pause)
pb
(page beginning)
pc
(punctuation character)
per
(person)
performance
(performance)
persName
(personal name)
persPronouns
(personal pronouns)
person
(person)
personGrp
(personal group)
persona
phr
(phrase)
physDesc
(physical description)
place
(place)
placeName
(place name)
population
(population)
pos
(part of speech)
post
postBox
(postal box or post office box)
postCode
(postal code)
postscript
precision
prefixDef
(prefix definition)
preparedness
(preparedness)
principal
(principal researcher)
profileDesc
(text-profile description)
projectDesc
(project description)
prologue
(prologue)
pron
(pronunciation)
provenance
(provenance)
ptr
(pointer)
pubPlace
(publication place)
publicationStmt
(publication statement)
publisher
(publisher)
punctuation
purpose
q
(quoted)
quotation
(quotation)
quote
(quotation)
rb
(ruby base)
rdg
(reading)
rdgGrp
(reading group)
re
(related entry)
recordHist
(recorded history)
recording
(recording event)
recordingStmt
(recording statement)
redo
ref
(reference)
refState
(reference state)
refsDecl
(references declaration)
reg
(regularization)
region
(region)
relatedItem
relation
(relationship)
remarks
(remarks)
rendition
(rendition)
repository
(repository)
residence
(residence)
resp
(responsibility)
respStmt
(statement of responsibility)
respons
(responsibility)
restore
(restore)
retrace
revisionDesc
(revision description)
rhyme
role
(role)
roleDesc
(role description)
roleName
(role name)
root
(root node)
row
(row)
rs
(referencing string)
rt
(ruby text)
rubric
(rubric)
ruby
(ruby container)
s
(s-unit)
said
(speech or thought)
salute
(salutation)
samplingDecl
(sampling declaration)
schemaRef
(schema reference)
schemaSpec
(schema specification)
scriptDesc
(script description)
scriptNote
scriptStmt
(script statement)
seal
(seal)
sealDesc
(seal description)
secFol
(second folio)
secl
(secluded text)
seg
(arbitrary segment)
segmentation
(segmentation)
sense
sequence
series
(series information)
seriesStmt
(series statement)
set
(setting)
setting
settingDesc
(setting description)
settlement
(settlement)
sex
(sex)
shift
(shift)
sic
(Latin for thus or so)
signatures
(signatures)
signed
(signature)
soCalled
(so called)
socecStatus
(socio-economic status)
sound
(sound)
source
(source)
sourceDesc
(source description)
sourceDoc
sp
(speech)
spGrp
(speech group)
space
(space)
span
spanGrp
(span group)
speaker
specDesc
(specification description)
specGrp
(specification group)
specGrpRef
(reference to a specification group)
specList
(specification list)
sponsor
(sponsor)
stage
(stage direction)
stamp
(stamp)
standOff
state
(state)
stdVals
(standard values)
street
stress
(stress)
string
(string value)
styleDefDecl
(style definition language declaration)
subc
(subcategorization)
subst
(substitution)
substJoin
(substitution join)
summary
superEntry
(super entry)
supplied
(supplied)
support
(support)
supportDesc
(support description)
surface
surfaceGrp
(surface group)
surname
(surname)
surplus
(surplus)
surrogates
(surrogates)
syll
(syllabification)
symbol
(symbolic value)
table
(table)
tag
(tag)
tagUsage
(element usage)
tagsDecl
(tagging declaration)
taxonomy
(taxonomy)
tech
(technical stage direction)
teiCorpus
(TEI corpus)
teiHeader
(TEI header)
term
(term)
terrain
(terrain)
text
(text)
textClass
(text classification)
textDesc
(text description)
textLang
(text language)
textNode
then
time
(time)
timeline
(timeline)
title
(title)
titlePage
(title page)
titlePart
(title part)
titleStmt
(title statement)
tns
(tense)
trailer
trait
(trait)
transcriptionDesc
(transcription description)
transpose
tree
(tree)
triangle
(underspecified embedding tree, so called because of its characteristic shape when drawn)
typeDesc
(typeface description)
typeNote
(typographic note)
u
(utterance)
unclear
(unclear)
undo
unicodeProp
(unicode property)
unihanProp
(unihan property)
unit
unitDecl
(unit declarations)
unitDef
(unit definition)
usg
(usage)
vAlt
(value alternation)
vColl
(collection of values)
vDefault
(value default)
vLabel
(value label)
vMerge
(merged collection of values)
vNot
(value negation)
vRange
(value range)
val
(value)
valDesc
(value description)
valItem
valList
(value list)
variantEncoding
(variant encoding)
view
(view)
vocal
(vocal)
w
(word)
watermark
(watermark)
when
width
(width)
wit
(wit)
witDetail
(witness detail)
witEnd
(fragmented witness end)
witStart
(fragmented witness start)
witness
(witness)
writing
(writing)
xenoData
(non-TEI metadata)
xr
(cross-reference phrase)
zone
Member of
Contained by
May containEmpty element
Note

Elements are identified by the name supplied as value for the ident attribute on the <elementSpec> element in which they are declared. TEI element names are unique.

Example
<elementRef key="p"/>
Include in the schema an element named <p> available from the current default source.
Example
<elementRef key="p" source="tei:1.2.1"/>
Include in the schema an element named <p> available from the TEI P5 1.2.1 release.
Schematron
<sch:pattern> <sch:rule context="tei:elementRef[ parent::tei:schemaSpec | parent::tei:specGrp ]">  <sch:report test="@minOccurs | @maxOccurs"   role="error">An element reference is not repeatable when part of a schema specification (and thus this <elementRef> should not have @minOccurs or @maxOccurs).</sch:report> </sch:rule> <sch:rule context="tei:content//tei:elementRef">  <sch:report test="@source" role="error">An element reference within a content model must refer to a locally defined element specification (and thus this <elementRef> should not have @source).</sch:report> </sch:rule> </sch:pattern>
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element elementRef
{
   cust_att.global.attributes,
   cust_att.repeatable.attributes,
   attribute key
   {
      "TEI"
    | "ab"
    | "abbr"
    | "abstract"
    | "accMat"
    | "acquisition"
    | "activity"
    | "actor"
    | "add"
    | "addName"
    | "addSpan"
    | "additional"
    | "additions"
    | "addrLine"
    | "address"
    | "adminInfo"
    | "affiliation"
    | "age"
    | "alt"
    | "altGrp"
    | "altIdent"
    | "altIdentifier"
    | "alternate"
    | "am"
    | "analytic"
    | "anchor"
    | "annotation"
    | "annotationBlock"
    | "anyElement"
    | "app"
    | "appInfo"
    | "application"
    | "arc"
    | "argument"
    | "att"
    | "attDef"
    | "attList"
    | "attRef"
    | "author"
    | "authority"
    | "availability"
    | "back"
    | "bibl"
    | "biblFull"
    | "biblScope"
    | "biblStruct"
    | "bicond"
    | "binary"
    | "binaryObject"
    | "binding"
    | "bindingDesc"
    | "birth"
    | "bloc"
    | "body"
    | "broadcast"
    | "byline"
    | "c"
    | "cRefPattern"
    | "caesura"
    | "calendar"
    | "calendarDesc"
    | "camera"
    | "caption"
    | "case"
    | "castGroup"
    | "castItem"
    | "castList"
    | "catDesc"
    | "catRef"
    | "catchwords"
    | "category"
    | "cb"
    | "cell"
    | "certainty"
    | "change"
    | "channel"
    | "char"
    | "charDecl"
    | "choice"
    | "cit"
    | "citeData"
    | "citeStructure"
    | "citedRange"
    | "cl"
    | "classCode"
    | "classDecl"
    | "classRef"
    | "classSpec"
    | "classes"
    | "climate"
    | "closer"
    | "code"
    | "collation"
    | "collection"
    | "colloc"
    | "colophon"
    | "cond"
    | "condition"
    | "constitution"
    | "constraint"
    | "constraintDecl"
    | "constraintSpec"
    | "content"
    | "conversion"
    | "corr"
    | "correction"
    | "correspAction"
    | "correspContext"
    | "correspDesc"
    | "country"
    | "creation"
    | "custEvent"
    | "custodialHist"
    | "damage"
    | "damageSpan"
    | "dataFacet"
    | "dataRef"
    | "dataSpec"
    | "datatype"
    | "date"
    | "dateline"
    | "death"
    | "decoDesc"
    | "decoNote"
    | "def"
    | "default"
    | "defaultVal"
    | "del"
    | "delSpan"
    | "depth"
    | "derivation"
    | "desc"
    | "dictScrap"
    | "dim"
    | "dimensions"
    | "distinct"
    | "distributor"
    | "district"
    | "div"
    | "div1"
    | "div2"
    | "div3"
    | "div4"
    | "div5"
    | "div6"
    | "div7"
    | "divGen"
    | "docAuthor"
    | "docDate"
    | "docEdition"
    | "docImprint"
    | "docTitle"
    | "domain"
    | "eLeaf"
    | "eTree"
    | "edition"
    | "editionStmt"
    | "editor"
    | "editorialDecl"
    | "education"
    | "eg"
    | "egXML"
    | "elementRef"
    | "elementSpec"
    | "ellipsis"
    | "email"
    | "emph"
    | "empty"
    | "encodingDesc"
    | "entry"
    | "entryFree"
    | "epigraph"
    | "epilogue"
    | "equipment"
    | "equiv"
    | "etym"
    | "event"
    | "eventName"
    | "ex"
    | "exemplum"
    | "expan"
    | "explicit"
    | "extent"
    | "f"
    | "fDecl"
    | "fDescr"
    | "fLib"
    | "facsimile"
    | "factuality"
    | "faith"
    | "figDesc"
    | "figure"
    | "fileDesc"
    | "filiation"
    | "finalRubric"
    | "floatingText"
    | "floruit"
    | "foliation"
    | "foreign"
    | "forename"
    | "forest"
    | "form"
    | "formula"
    | "front"
    | "fs"
    | "fsConstraints"
    | "fsDecl"
    | "fsDescr"
    | "fsdDecl"
    | "fsdLink"
    | "funder"
    | "fvLib"
    | "fw"
    | "g"
    | "gap"
    | "gb"
    | "gen"
    | "genName"
    | "gender"
    | "geo"
    | "geoDecl"
    | "geogFeat"
    | "geogName"
    | "gi"
    | "gloss"
    | "glyph"
    | "gram"
    | "gramGrp"
    | "graph"
    | "graphic"
    | "group"
    | "handDesc"
    | "handNote"
    | "handNotes"
    | "handShift"
    | "head"
    | "headItem"
    | "headLabel"
    | "height"
    | "heraldry"
    | "hi"
    | "history"
    | "hom"
    | "hyph"
    | "hyphenation"
    | "iNode"
    | "iType"
    | "ident"
    | "idno"
    | "if"
    | "iff"
    | "imprimatur"
    | "imprint"
    | "incident"
    | "incipit"
    | "index"
    | "institution"
    | "interaction"
    | "interp"
    | "interpGrp"
    | "interpretation"
    | "item"
    | "join"
    | "joinGrp"
    | "keywords"
    | "kinesic"
    | "l"
    | "label"
    | "lacunaEnd"
    | "lacunaStart"
    | "lang"
    | "langKnowledge"
    | "langKnown"
    | "langUsage"
    | "language"
    | "layout"
    | "layoutDesc"
    | "lb"
    | "lbl"
    | "leaf"
    | "lem"
    | "lg"
    | "licence"
    | "line"
    | "link"
    | "linkGrp"
    | "list"
    | "listAnnotation"
    | "listApp"
    | "listBibl"
    | "listChange"
    | "listEvent"
    | "listForest"
    | "listNym"
    | "listObject"
    | "listOrg"
    | "listPerson"
    | "listPlace"
    | "listPrefixDef"
    | "listRef"
    | "listRelation"
    | "listTranspose"
    | "listWit"
    | "localProp"
    | "locale"
    | "location"
    | "locus"
    | "locusGrp"
    | "m"
    | "macroRef"
    | "macroSpec"
    | "mapping"
    | "material"
    | "measure"
    | "measureGrp"
    | "media"
    | "meeting"
    | "memberOf"
    | "mentioned"
    | "metDecl"
    | "metSym"
    | "metamark"
    | "milestone"
    | "mod"
    | "model"
    | "modelGrp"
    | "modelSequence"
    | "moduleRef"
    | "moduleSpec"
    | "monogr"
    | "mood"
    | "move"
    | "msContents"
    | "msDesc"
    | "msFrag"
    | "msIdentifier"
    | "msItem"
    | "msItemStruct"
    | "msName"
    | "msPart"
    | "musicNotation"
    | "name"
    | "nameLink"
    | "namespace"
    | "nationality"
    | "node"
    | "normalization"
    | "notatedMusic"
    | "note"
    | "noteGrp"
    | "notesStmt"
    | "num"
    | "number"
    | "numeric"
    | "nym"
    | "oRef"
    | "object"
    | "objectDesc"
    | "objectIdentifier"
    | "objectName"
    | "objectType"
    | "occupation"
    | "offset"
    | "opener"
    | "org"
    | "orgName"
    | "orig"
    | "origDate"
    | "origPlace"
    | "origin"
    | "orth"
    | "outputRendition"
    | "p"
    | "pRef"
    | "param"
    | "paramList"
    | "paramSpec"
    | "particDesc"
    | "path"
    | "pause"
    | "pb"
    | "pc"
    | "per"
    | "performance"
    | "persName"
    | "persPronouns"
    | "person"
    | "personGrp"
    | "persona"
    | "phr"
    | "physDesc"
    | "place"
    | "placeName"
    | "population"
    | "pos"
    | "post"
    | "postBox"
    | "postCode"
    | "postscript"
    | "precision"
    | "prefixDef"
    | "preparedness"
    | "principal"
    | "profileDesc"
    | "projectDesc"
    | "prologue"
    | "pron"
    | "provenance"
    | "ptr"
    | "pubPlace"
    | "publicationStmt"
    | "publisher"
    | "punctuation"
    | "purpose"
    | "q"
    | "quotation"
    | "quote"
    | "rb"
    | "rdg"
    | "rdgGrp"
    | "re"
    | "recordHist"
    | "recording"
    | "recordingStmt"
    | "redo"
    | "ref"
    | "refState"
    | "refsDecl"
    | "reg"
    | "region"
    | "relatedItem"
    | "relation"
    | "remarks"
    | "rendition"
    | "repository"
    | "residence"
    | "resp"
    | "respStmt"
    | "respons"
    | "restore"
    | "retrace"
    | "revisionDesc"
    | "rhyme"
    | "role"
    | "roleDesc"
    | "roleName"
    | "root"
    | "row"
    | "rs"
    | "rt"
    | "rubric"
    | "ruby"
    | "s"
    | "said"
    | "salute"
    | "samplingDecl"
    | "schemaRef"
    | "schemaSpec"
    | "scriptDesc"
    | "scriptNote"
    | "scriptStmt"
    | "seal"
    | "sealDesc"
    | "secFol"
    | "secl"
    | "seg"
    | "segmentation"
    | "sense"
    | "sequence"
    | "series"
    | "seriesStmt"
    | "set"
    | "setting"
    | "settingDesc"
    | "settlement"
    | "sex"
    | "shift"
    | "sic"
    | "signatures"
    | "signed"
    | "soCalled"
    | "socecStatus"
    | "sound"
    | "source"
    | "sourceDesc"
    | "sourceDoc"
    | "sp"
    | "spGrp"
    | "space"
    | "span"
    | "spanGrp"
    | "speaker"
    | "specDesc"
    | "specGrp"
    | "specGrpRef"
    | "specList"
    | "sponsor"
    | "stage"
    | "stamp"
    | "standOff"
    | "state"
    | "stdVals"
    | "street"
    | "stress"
    | "string"
    | "styleDefDecl"
    | "subc"
    | "subst"
    | "substJoin"
    | "summary"
    | "superEntry"
    | "supplied"
    | "support"
    | "supportDesc"
    | "surface"
    | "surfaceGrp"
    | "surname"
    | "surplus"
    | "surrogates"
    | "syll"
    | "symbol"
    | "table"
    | "tag"
    | "tagUsage"
    | "tagsDecl"
    | "taxonomy"
    | "tech"
    | "teiCorpus"
    | "teiHeader"
    | "term"
    | "terrain"
    | "text"
    | "textClass"
    | "textDesc"
    | "textLang"
    | "textNode"
    | "then"
    | "time"
    | "timeline"
    | "title"
    | "titlePage"
    | "titlePart"
    | "titleStmt"
    | "tns"
    | "trailer"
    | "trait"
    | "transcriptionDesc"
    | "transpose"
    | "tree"
    | "triangle"
    | "typeDesc"
    | "typeNote"
    | "u"
    | "unclear"
    | "undo"
    | "unicodeProp"
    | "unihanProp"
    | "unit"
    | "unitDecl"
    | "unitDef"
    | "usg"
    | "vAlt"
    | "vColl"
    | "vDefault"
    | "vLabel"
    | "vMerge"
    | "vNot"
    | "vRange"
    | "val"
    | "valDesc"
    | "valItem"
    | "valList"
    | "variantEncoding"
    | "view"
    | "vocal"
    | "w"
    | "watermark"
    | "when"
    | "width"
    | "wit"
    | "witDetail"
    | "witEnd"
    | "witStart"
    | "witness"
    | "writing"
    | "xenoData"
    | "xr"
    | "zone"
   },
   empty
}⚓

3.1.58. <elementSpec>

<elementSpec> (element specification) documents the structure, content, and purpose of a single element type. [23.5. Element Specifications 23. Documentation Elements]
Moduletagdocs
Attributes
ident
StatusRequired
Datatypeteidata.enumerated
Suggested values include:
TEI
(TEI document) module: textstructure
ab
(anonymous block) module: linking
abbr
(abbreviation) module: core
abstract
module: header
accMat
(accompanying material) module: msdescription
acquisition
(acquisition) module: msdescription
activity
(activity) module: corpus
actor
module: drama
add
(addition) module: core
addName
(additional name) module: namesdates
addSpan
(added span of text) module: transcr
additional
(additional) module: msdescription
additions
(additions) module: msdescription
addrLine
(address line) module: core
address
(address) module: core
adminInfo
(administrative information) module: msdescription
affiliation
(affiliation) module: namesdates
age
(age) module: namesdates
alt
(alternation) module: linking
altGrp
(alternation group) module: linking
altIdent
(alternate identifier) module: tagdocs
altIdentifier
(alternative identifier) module: msdescription
alternate
module: tagdocs
am
(abbreviation marker) module: transcr
analytic
(analytic level) module: core
anchor
(anchor point) module: linking
annotation
module: linking
annotationBlock
module: spoken
anyElement
module: tagdocs
app
(apparatus entry) module: textcrit
appInfo
(application information) module: header
application
module: header
arc
(arc) module: nets
argument
(argument) module: textstructure
att
(attribute) module: tagdocs
attDef
(attribute definition) module: tagdocs
attList
(attribute list) module: tagdocs
attRef
(attribute pointer) module: tagdocs
author
(author) module: core
authority
(release authority) module: header
availability
(availability) module: header
back
(back matter) module: textstructure
bibl
(bibliographic citation) module: core
biblFull
(fully-structured bibliographic citation) module: header
biblScope
(scope of bibliographic reference) module: core
biblStruct
(structured bibliographic citation) module: core
bicond
(bi-conditional feature-structure constraint) module: iso-fs
binary
(binary value) module: iso-fs
binaryObject
module: core
binding
(binding) module: msdescription
bindingDesc
(binding description) module: msdescription
birth
(birth) module: namesdates
bloc
(bloc) module: namesdates
body
(text body) module: textstructure
broadcast
(broadcast) module: spoken
byline
(byline) module: textstructure
c
(character) module: analysis
cRefPattern
(canonical reference pattern) module: header
caesura
module: verse
calendar
(calendar) module: header
calendarDesc
(calendar description) module: header
camera
(camera) module: drama
caption
(caption) module: drama
case
(case) module: dictionaries
castGroup
(cast list grouping) module: drama
castItem
(cast list item) module: drama
castList
(cast list) module: drama
catDesc
(category description) module: header
catRef
(category reference) module: header
catchwords
(catchwords) module: msdescription
category
(category) module: header
cb
(column beginning) module: core
cell
(cell) module: figures
certainty
module: certainty
change
(change) module: header
channel
(primary channel) module: corpus
char
(character) module: gaiji
charDecl
(character declarations) module: gaiji
choice
(choice) module: core
cit
(cited quotation) module: core
citeData
(citation data) module: header
citeStructure
(citation structure) module: header
citedRange
(cited range) module: core
cl
(clause) module: analysis
classCode
(classification code) module: header
classDecl
(classification declarations) module: header
classRef
module: tagdocs
classSpec
(class specification) module: tagdocs
classes
(classes) module: tagdocs
climate
(climate) module: namesdates
closer
(closer) module: textstructure
code
module: tagdocs
collation
(collation) module: msdescription
collection
(collection) module: msdescription
colloc
(collocate) module: dictionaries
colophon
(colophon) module: msdescription
cond
(conditional feature-structure constraint) module: iso-fs
condition
(condition) module: msdescription
constitution
(constitution) module: corpus
constraint
(constraint rules) module: tagdocs
constraintDecl
(constraint declaration) module: tagdocs
constraintSpec
(constraint on schema) module: tagdocs
content
(content model) module: tagdocs
conversion
module: header
corr
(correction) module: core
correction
(correction principles) module: header
correspAction
(correspondence action) module: header
correspContext
(correspondence context) module: header
correspDesc
(correspondence description) module: header
country
(country) module: namesdates
creation
(creation) module: header
custEvent
(custodial event) module: msdescription
custodialHist
(custodial history) module: msdescription
damage
(damage) module: transcr
damageSpan
(damaged span of text) module: transcr
dataFacet
module: tagdocs
dataRef
module: tagdocs
dataSpec
(datatype specification) module: tagdocs
datatype
(datatype) module: tagdocs
date
(date) module: core
dateline
(dateline) module: textstructure
death
(death) module: namesdates
decoDesc
(decoration description) module: msdescription
decoNote
(note on decoration) module: msdescription
def
(definition) module: dictionaries
default
(default feature value) module: iso-fs
defaultVal
(default value) module: tagdocs
del
(deletion) module: core
delSpan
(deleted span of text) module: transcr
depth
(depth) module: msdescription
derivation
(derivation) module: corpus
desc
(description) module: core
dictScrap
(dictionary scrap) module: dictionaries
dim
module: msdescription
dimensions
(dimensions) module: msdescription
distinct
module: core
distributor
(distributor) module: header
district
(district) module: namesdates
div
(text division) module: textstructure
div1
(level-1 text division) module: textstructure
div2
(level-2 text division) module: textstructure
div3
(level-3 text division) module: textstructure
div4
(level-4 text division) module: textstructure
div5
(level-5 text division) module: textstructure
div6
(level-6 text division) module: textstructure
div7
(level-7 text division) module: textstructure
divGen
(automatically generated text division) module: core
docAuthor
(document author) module: textstructure
docDate
(document date) module: textstructure
docEdition
(document edition) module: textstructure
docImprint
(document imprint) module: textstructure
docTitle
(document title) module: textstructure
domain
(domain of use) module: corpus
eLeaf
(leaf or terminal node of an embedding tree) module: nets
eTree
(embedding tree) module: nets
edition
(edition) module: header
editionStmt
(edition statement) module: header
editor
module: core
editorialDecl
(editorial practice declaration) module: header
education
(education) module: namesdates
eg
(example) module: tagdocs
egXML
(example of XML) module: tagdocs
elementRef
module: tagdocs
elementSpec
(element specification) module: tagdocs
ellipsis
(deliberately marked omission) module: core
email
(electronic mail address) module: core
emph
(emphasized) module: core
empty
module: tagdocs
encodingDesc
(encoding description) module: header
entry
(entry) module: dictionaries
entryFree
(unstructured entry) module: dictionaries
epigraph
(epigraph) module: textstructure
epilogue
(epilogue) module: drama
equipment
(equipment) module: spoken
equiv
(equivalent) module: tagdocs
etym
(etymology) module: dictionaries
event
(event) module: namesdates
eventName
(name of an event) module: namesdates
ex
(editorial expansion) module: transcr
exemplum
(exemplum) module: tagdocs
expan
(expansion) module: core
explicit
(explicit) module: msdescription
extent
(extent) module: header
f
(feature) module: iso-fs
fDecl
(feature declaration) module: iso-fs
fDescr
(feature description (in FSD)) module: iso-fs
fLib
(feature library) module: iso-fs
facsimile
module: transcr
factuality
(factuality) module: corpus
faith
(faith) module: namesdates
figDesc
(description of figure) module: figures
figure
(figure) module: figures
fileDesc
(file description) module: header
filiation
(filiation) module: msdescription
finalRubric
(final rubric) module: msdescription
floatingText
(floating text) module: textstructure
floruit
(floruit) module: namesdates
foliation
(foliation) module: msdescription
foreign
(foreign) module: core
forename
(forename) module: namesdates
forest
(forest) module: nets
form
(form information group) module: dictionaries
formula
(formula) module: figures
front
(front matter) module: textstructure
fs
(feature structure) module: iso-fs
fsConstraints
(feature-structure constraints) module: iso-fs
fsDecl
(feature structure declaration) module: iso-fs
fsDescr
(feature system description (in FSD)) module: iso-fs
fsdDecl
(feature system declaration) module: iso-fs
fsdLink
(feature structure declaration link) module: iso-fs
funder
(funding body) module: header
fvLib
(feature-value library) module: iso-fs
fw
(forme work) module: transcr
g
(character or glyph) module: gaiji
gap
(gap) module: core
gb
(gathering beginning) module: core
gen
(gender) module: dictionaries
genName
(generational name component) module: namesdates
gender
(gender) module: namesdates
geo
(geographical coordinates) module: namesdates
geoDecl
(geographic coordinates declaration) module: header
geogFeat
(geographical feature name) module: namesdates
geogName
(geographical name) module: namesdates
gi
(element name) module: tagdocs
gloss
(gloss) module: core
glyph
(character glyph) module: gaiji
gram
(grammatical information) module: dictionaries
gramGrp
(grammatical information group) module: dictionaries
graph
(graph) module: nets
graphic
(graphic) module: core
group
(group) module: textstructure
handDesc
(description of hands) module: msdescription
handNote
(note on hand) module: header
handNotes
module: transcr
handShift
(handwriting shift) module: transcr
head
(heading) module: core
headItem
(heading for list items) module: core
headLabel
(heading for list labels) module: core
height
(height) module: msdescription
heraldry
(heraldry) module: msdescription
hi
(highlighted) module: core
history
(history) module: msdescription
hom
(homograph) module: dictionaries
hyph
(hyphenation) module: dictionaries
hyphenation
(hyphenation) module: header
iNode
(intermediate (or internal) node) module: nets
iType
(inflectional class) module: dictionaries
ident
(identifier) module: tagdocs
idno
(identifier) module: header
if
module: iso-fs
iff
(if and only if) module: iso-fs
imprimatur
(imprimatur) module: textstructure
imprint
module: core
incident
(incident) module: spoken
incipit
module: msdescription
index
(index entry) module: core
institution
(institution) module: msdescription
interaction
(interaction) module: corpus
interp
(interpretation) module: analysis
interpGrp
(interpretation group) module: analysis
interpretation
(interpretation) module: header
item
(item) module: core
join
(join) module: linking
joinGrp
(join group) module: linking
keywords
(keywords) module: header
kinesic
(kinesic) module: spoken
l
(verse line) module: core
label
(label) module: core
lacunaEnd
(lacuna end) module: textcrit
lacunaStart
(lacuna start) module: textcrit
lang
(language name) module: dictionaries
langKnowledge
(language knowledge) module: namesdates
langKnown
(language known) module: namesdates
langUsage
(language usage) module: header
language
(language) module: header
layout
(layout) module: msdescription
layoutDesc
(layout description) module: msdescription
lb
(line beginning) module: core
lbl
(label) module: dictionaries
leaf
(leaf) module: nets
lem
(lemma) module: textcrit
lg
(line group) module: core
licence
module: header
line
module: transcr
link
(link) module: linking
linkGrp
(link group) module: linking
list
(list) module: core
listAnnotation
module: linking
listApp
(list of apparatus entries) module: textcrit
listBibl
(citation list) module: core
listChange
module: header
listEvent
(list of events) module: namesdates
listForest
module: nets
listNym
(list of canonical names) module: namesdates
listObject
(list of objects) module: namesdates
listOrg
(list of organizations) module: namesdates
listPerson
(list of persons) module: namesdates
listPlace
(list of places) module: namesdates
listPrefixDef
(list of prefix definitions) module: header
listRef
(list of references) module: tagdocs
listRelation
module: namesdates
listTranspose
module: transcr
listWit
(witness list) module: textcrit
localProp
(locally defined property) module: gaiji
locale
module: corpus
location
(location) module: namesdates
locus
(locus) module: msdescription
locusGrp
(locus group) module: msdescription
m
(morpheme) module: analysis
macroRef
module: tagdocs
macroSpec
(macro specification) module: tagdocs
mapping
(character mapping) module: gaiji
material
(material) module: msdescription
measure
(measure) module: core
measureGrp
(measure group) module: core
media
module: core
meeting
module: core
memberOf
module: tagdocs
mentioned
module: core
metDecl
(metrical notation declaration) module: verse
metSym
(metrical notation symbol) module: verse
metamark
module: transcr
milestone
(milestone) module: core
mod
module: transcr
model
module: tagdocs
modelGrp
(model group) module: tagdocs
modelSequence
module: tagdocs
moduleRef
(module reference) module: tagdocs
moduleSpec
(module specification) module: tagdocs
monogr
(monographic level) module: core
mood
(mood) module: dictionaries
move
(movement) module: drama
msContents
(manuscript contents) module: msdescription
msDesc
(manuscript description) module: msdescription
msFrag
(manuscript fragment) module: msdescription
msIdentifier
(manuscript identifier) module: msdescription
msItem
(manuscript item) module: msdescription
msItemStruct
(structured manuscript item) module: msdescription
msName
(alternative name) module: msdescription
msPart
(manuscript part) module: msdescription
musicNotation
(music notation) module: msdescription
name
(name, proper noun) module: core
nameLink
(name link) module: namesdates
namespace
(namespace) module: header
nationality
(nationality) module: namesdates
node
(node) module: nets
normalization
(normalization) module: header
notatedMusic
module: figures
note
(note) module: core
noteGrp
(note group) module: core
notesStmt
(notes statement) module: header
num
(number) module: core
number
(number) module: dictionaries
numeric
(numeric value) module: iso-fs
nym
(canonical name) module: namesdates
oRef
(orthographic-form reference) module: dictionaries
object
module: namesdates
objectDesc
(object description) module: msdescription
objectIdentifier
(object identifier) module: namesdates
objectName
(name of an object) module: namesdates
objectType
(object type) module: msdescription
occupation
(occupation) module: namesdates
offset
(offset) module: namesdates
opener
(opener) module: textstructure
org
(organization) module: namesdates
orgName
(organization name) module: namesdates
orig
(original form) module: core
origDate
(origin date) module: msdescription
origPlace
(origin place) module: msdescription
origin
(origin) module: msdescription
orth
(orthographic form) module: dictionaries
outputRendition
module: tagdocs
p
(paragraph) module: core
pRef
(pronunciation reference) module: dictionaries
param
module: tagdocs
paramList
module: tagdocs
paramSpec
module: tagdocs
particDesc
(participation description) module: corpus
path
(path) module: transcr
pause
(pause) module: spoken
pb
(page beginning) module: core
pc
(punctuation character) module: analysis
per
(person) module: dictionaries
performance
(performance) module: drama
persName
(personal name) module: namesdates
persPronouns
(personal pronouns) module: namesdates
person
(person) module: namesdates
personGrp
(personal group) module: namesdates
persona
module: namesdates
phr
(phrase) module: analysis
physDesc
(physical description) module: msdescription
place
(place) module: namesdates
placeName
(place name) module: namesdates
population
(population) module: namesdates
pos
(part of speech) module: dictionaries
post
module: cmc
postBox
(postal box or post office box) module: core
postCode
(postal code) module: core
postscript
module: textstructure
precision
module: certainty
prefixDef
(prefix definition) module: header
preparedness
(preparedness) module: corpus
principal
(principal researcher) module: header
profileDesc
(text-profile description) module: header
projectDesc
(project description) module: header
prologue
(prologue) module: drama
pron
(pronunciation) module: dictionaries
provenance
(provenance) module: msdescription
ptr
(pointer) module: core
pubPlace
(publication place) module: core
publicationStmt
(publication statement) module: header
publisher
(publisher) module: core
punctuation
module: header
purpose
module: corpus
q
(quoted) module: core
quotation
(quotation) module: header
quote
(quotation) module: core
rb
(ruby base) module: core
rdg
(reading) module: textcrit
rdgGrp
(reading group) module: textcrit
re
(related entry) module: dictionaries
recordHist
(recorded history) module: msdescription
recording
(recording event) module: spoken
recordingStmt
(recording statement) module: spoken
redo
module: transcr
ref
(reference) module: core
refState
(reference state) module: header
refsDecl
(references declaration) module: header
reg
(regularization) module: core
region
(region) module: namesdates
relatedItem
module: core
relation
(relationship) module: namesdates
remarks
(remarks) module: tagdocs
rendition
(rendition) module: header
repository
(repository) module: msdescription
residence
(residence) module: namesdates
resp
(responsibility) module: core
respStmt
(statement of responsibility) module: core
respons
(responsibility) module: certainty
restore
(restore) module: transcr
retrace
module: transcr
revisionDesc
(revision description) module: header
rhyme
module: verse
role
(role) module: drama
roleDesc
(role description) module: drama
roleName
(role name) module: namesdates
root
(root node) module: nets
row
(row) module: figures
rs
(referencing string) module: core
rt
(ruby text) module: core
rubric
(rubric) module: msdescription
ruby
(ruby container) module: core
s
(s-unit) module: analysis
said
(speech or thought) module: core
salute
(salutation) module: textstructure
samplingDecl
(sampling declaration) module: header
schemaRef
(schema reference) module: header
schemaSpec
(schema specification) module: tagdocs
scriptDesc
(script description) module: msdescription
scriptNote
module: header
scriptStmt
(script statement) module: spoken
seal
(seal) module: msdescription
sealDesc
(seal description) module: msdescription
secFol
(second folio) module: msdescription
secl
(secluded text) module: transcr
seg
(arbitrary segment) module: linking
segmentation
(segmentation) module: header
sense
module: dictionaries
sequence
module: tagdocs
series
(series information) module: core
seriesStmt
(series statement) module: header
set
(setting) module: drama
setting
module: corpus
settingDesc
(setting description) module: corpus
settlement
(settlement) module: namesdates
sex
(sex) module: namesdates
shift
(shift) module: spoken
sic
(Latin for thus or so) module: core
signatures
(signatures) module: msdescription
signed
(signature) module: textstructure
soCalled
(so called) module: core
socecStatus
(socio-economic status) module: namesdates
sound
(sound) module: drama
source
(source) module: msdescription
sourceDesc
(source description) module: header
sourceDoc
module: transcr
sp
(speech) module: core
spGrp
(speech group) module: drama
space
(space) module: transcr
span
module: analysis
spanGrp
(span group) module: analysis
speaker
module: core
specDesc
(specification description) module: tagdocs
specGrp
(specification group) module: tagdocs
specGrpRef
(reference to a specification group) module: tagdocs
specList
(specification list) module: tagdocs
sponsor
(sponsor) module: header
stage
(stage direction) module: core
stamp
(stamp) module: msdescription
standOff
module: linking
state
(state) module: namesdates
stdVals
(standard values) module: header
street
module: core
stress
(stress) module: dictionaries
string
(string value) module: iso-fs
styleDefDecl
(style definition language declaration) module: header
subc
(subcategorization) module: dictionaries
subst
(substitution) module: transcr
substJoin
(substitution join) module: transcr
summary
module: msdescription
superEntry
(super entry) module: dictionaries
supplied
(supplied) module: transcr
support
(support) module: msdescription
supportDesc
(support description) module: msdescription
surface
module: transcr
surfaceGrp
(surface group) module: transcr
surname
(surname) module: namesdates
surplus
(surplus) module: transcr
surrogates
(surrogates) module: msdescription
syll
(syllabification) module: dictionaries
symbol
(symbolic value) module: iso-fs
table
(table) module: figures
tag
(tag) module: tagdocs
tagUsage
(element usage) module: header
tagsDecl
(tagging declaration) module: header
taxonomy
(taxonomy) module: header
tech
(technical stage direction) module: drama
teiCorpus
(TEI corpus) module: core
teiHeader
(TEI header) module: header
term
(term) module: core
terrain
(terrain) module: namesdates
text
(text) module: textstructure
textClass
(text classification) module: header
textDesc
(text description) module: corpus
textLang
(text language) module: core
textNode
module: tagdocs
then
module: iso-fs
time
(time) module: core
timeline
(timeline) module: linking
title
(title) module: core
titlePage
(title page) module: textstructure
titlePart
(title part) module: textstructure
titleStmt
(title statement) module: header
tns
(tense) module: dictionaries
trailer
module: textstructure
trait
(trait) module: namesdates
transcriptionDesc
(transcription description) module: spoken
transpose
module: transcr
tree
(tree) module: nets
triangle
(underspecified embedding tree, so called because of its characteristic shape when drawn) module: nets
typeDesc
(typeface description) module: msdescription
typeNote
(typographic note) module: msdescription
u
(utterance) module: spoken
unclear
(unclear) module: core
undo
module: transcr
unicodeProp
(unicode property) module: gaiji
unihanProp
(unihan property) module: gaiji
unit
module: core
unitDecl
(unit declarations) module: header
unitDef
(unit definition) module: header
usg
(usage) module: dictionaries
vAlt
(value alternation) module: iso-fs
vColl
(collection of values) module: iso-fs
vDefault
(value default) module: iso-fs
vLabel
(value label) module: iso-fs
vMerge
(merged collection of values) module: iso-fs
vNot
(value negation) module: iso-fs
vRange
(value range) module: iso-fs
val
(value) module: tagdocs
valDesc
(value description) module: tagdocs
valItem
module: tagdocs
valList
(value list) module: tagdocs
variantEncoding
(variant encoding) module: textcrit
view
(view) module: drama
vocal
(vocal) module: spoken
w
(word) module: analysis
watermark
(watermark) module: msdescription
when
module: linking
width
(width) module: msdescription
wit
(wit) module: textcrit
witDetail
(witness detail) module: textcrit
witEnd
(fragmented witness end) module: textcrit
witStart
(fragmented witness start) module: textcrit
witness
(witness) module: textcrit
writing
(writing) module: spoken
xenoData
(non-TEI metadata) module: header
xr
(cross-reference phrase) module: dictionaries
zone
module: transcr
prefixspecifies a default prefix which will be prepended to all patterns relating to the element, unless otherwise stated.
StatusOptional
Datatype0–1 occurrences of teidata.xmlName separated by whitespace
Member of
Contained by
May contain
Example
<elementSpec module="tagdocs" ident="code">  <gloss/>  <desc>contains literal code</desc>  <classes>   <memberOf key="model.emphLike"/>  </classes>  <content>   <textNode/>  </content>  <attList>   <attDef ident="type" usage="opt">    <desc>the language of the code</desc>    <datatype>     <dataRef key="teidata.enumerated"/>    </datatype>   </attDef>  </attList> </elementSpec>
Schematron
<sch:rule context="tei:elementSpec"> <sch:assert test="@mode"> in a customization ODD, the mode= attribute of <elementSpec> should be specified </sch:assert> <sch:report test="not( @module ) and not( @mode='add')"> the module= attribute of <elementSpec> must be specified anytime the mode= is not 'add' </sch:report> </sch:rule>
Schematron
<sch:rule context="tei:elementSpec"> <sch:report test="//tei:elementSpec[ @ident eq current()/@ident and not( . is current() ) ]">Current ODD processors will not correctly handle more than one <elementSpec> with the same @ident</sch:report> </sch:rule>
Schematron
<sch:rule context="tei:elementSpec"> <sch:report test="@mode='delete' and @ident='TEI'">Removing <TEI> from your schema guarantees it is not TEI conformant</sch:report> <sch:report test="@mode='delete' and @ident='teiHeader'">Removing <teiHeader> from your schema guarantees it is not TEI conformant</sch:report> <sch:report test="@mode='delete' and @ident='fileDesc'">Removing <fileDesc> from your schema guarantees it is not TEI conformant</sch:report> <sch:report test="@mode='delete' and @ident='titleStmt'">Removing <titleStmt> from your schema guarantees it is not TEI conformant</sch:report> <sch:report test="@mode='delete' and @ident='title'">Removing <title> from your schema guarantees it is not TEI conformant</sch:report> <sch:report test="@mode='delete' and @ident='publicationStmt'">Removing <publicationStmt> from your schema guarantees it is not TEI conformant</sch:report> <sch:report test="@mode='delete' and @ident='sourceDesc'">Removing <sourceDesc> from your schema guarantees it is not TEI conformant</sch:report> </sch:rule>
Schematron
<sch:rule context="tei:elementSpec[ @mode = ('add','replace') ]"> <sch:assert test="tei:content">When adding a new element (whether replacing an old one or not), a content model must be specified; but this <elementSpec> does not have a <content> child.</sch:assert> </sch:rule>
Schematron
<sch:rule context="tei:elementSpec[ @mode eq 'delete']"> <sch:report test="*">When used to delete an element from your schema, the <elementSpec> should be empty</sch:report> </sch:rule>
Schematron
<sch:rule context="tei:elementSpec[ @mode eq 'add' or not( @mode ) ]"> <sch:assert test="ancestor-or-self::*/@ns">When used to add an element, <elementSpec> (or its ancestor <schemaSpec>) should have an @ns attribute.</sch:assert> </sch:rule>
Schematron
<sch:rule context="tei:elementSpec[ @mode eq 'delete' ]"> <sch:report test="child::*">This elementSpec element has a mode= of "delete" even though it has child elements. Change the mode= to "add", "change", or "replace", or remove the child elements.</sch:report> </sch:rule> <sch:rule context="tei:elementSpec[ @mode = ('add','change','replace') ]"> <sch:assert test="child::* | (@* except (@mode, @ident))">This elementSpec element has a mode= of "<sch:value-of select="@mode"/>", but does not have any child elements or schema-changing attributes. Specify child elements, use validUntil=, predeclare=, ns=, or prefix=, or change the mode= to "delete".</sch:assert> </sch:rule>
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1"
  preserveOrder="true">
  <elementRef key="altIdent" minOccurs="0"
   maxOccurs="1"/>
  <elementRef key="equiv" minOccurs="0"
   maxOccurs="1"/>
  <elementRef key="gloss" minOccurs="0"
   maxOccurs="1"/>
  <classRef key="model.descLike"
   expand="sequenceOptional"/>
  <elementRef key="classes" minOccurs="0"
   maxOccurs="1"/>
  <elementRef key="content" minOccurs="0"
   maxOccurs="1"/>
  <elementRef key="valList" minOccurs="0"
   maxOccurs="1"/>
  <elementRef key="constraintSpec"
   minOccurs="0" maxOccurs="unbounded"/>
  <elementRef key="attList" minOccurs="0"
   maxOccurs="1"/>
  <elementRef key="exemplum" minOccurs="0"
   maxOccurs="unbounded"/>
  <elementRef key="remarks" minOccurs="0"
   maxOccurs="unbounded"/>
  <elementRef key="listRef" minOccurs="0"
   maxOccurs="unbounded"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element elementSpec
{
   cust_att.global.attributes,
   cust_att.identified.attribute.module,
   cust_att.identified.attribute.predeclare,
   cust_att.combinable.attribute.mode,
   cust_att.deprecated.attribute.validUntil,
   cust_att.namespaceable.attributes,
   attribute ident
   {
      "TEI"
    | "ab"
    | "abbr"
    | "abstract"
    | "accMat"
    | "acquisition"
    | "activity"
    | "actor"
    | "add"
    | "addName"
    | "addSpan"
    | "additional"
    | "additions"
    | "addrLine"
    | "address"
    | "adminInfo"
    | "affiliation"
    | "age"
    | "alt"
    | "altGrp"
    | "altIdent"
    | "altIdentifier"
    | "alternate"
    | "am"
    | "analytic"
    | "anchor"
    | "annotation"
    | "annotationBlock"
    | "anyElement"
    | "app"
    | "appInfo"
    | "application"
    | "arc"
    | "argument"
    | "att"
    | "attDef"
    | "attList"
    | "attRef"
    | "author"
    | "authority"
    | "availability"
    | "back"
    | "bibl"
    | "biblFull"
    | "biblScope"
    | "biblStruct"
    | "bicond"
    | "binary"
    | "binaryObject"
    | "binding"
    | "bindingDesc"
    | "birth"
    | "bloc"
    | "body"
    | "broadcast"
    | "byline"
    | "c"
    | "cRefPattern"
    | "caesura"
    | "calendar"
    | "calendarDesc"
    | "camera"
    | "caption"
    | "case"
    | "castGroup"
    | "castItem"
    | "castList"
    | "catDesc"
    | "catRef"
    | "catchwords"
    | "category"
    | "cb"
    | "cell"
    | "certainty"
    | "change"
    | "channel"
    | "char"
    | "charDecl"
    | "choice"
    | "cit"
    | "citeData"
    | "citeStructure"
    | "citedRange"
    | "cl"
    | "classCode"
    | "classDecl"
    | "classRef"
    | "classSpec"
    | "classes"
    | "climate"
    | "closer"
    | "code"
    | "collation"
    | "collection"
    | "colloc"
    | "colophon"
    | "cond"
    | "condition"
    | "constitution"
    | "constraint"
    | "constraintDecl"
    | "constraintSpec"
    | "content"
    | "conversion"
    | "corr"
    | "correction"
    | "correspAction"
    | "correspContext"
    | "correspDesc"
    | "country"
    | "creation"
    | "custEvent"
    | "custodialHist"
    | "damage"
    | "damageSpan"
    | "dataFacet"
    | "dataRef"
    | "dataSpec"
    | "datatype"
    | "date"
    | "dateline"
    | "death"
    | "decoDesc"
    | "decoNote"
    | "def"
    | "default"
    | "defaultVal"
    | "del"
    | "delSpan"
    | "depth"
    | "derivation"
    | "desc"
    | "dictScrap"
    | "dim"
    | "dimensions"
    | "distinct"
    | "distributor"
    | "district"
    | "div"
    | "div1"
    | "div2"
    | "div3"
    | "div4"
    | "div5"
    | "div6"
    | "div7"
    | "divGen"
    | "docAuthor"
    | "docDate"
    | "docEdition"
    | "docImprint"
    | "docTitle"
    | "domain"
    | "eLeaf"
    | "eTree"
    | "edition"
    | "editionStmt"
    | "editor"
    | "editorialDecl"
    | "education"
    | "eg"
    | "egXML"
    | "elementRef"
    | "elementSpec"
    | "ellipsis"
    | "email"
    | "emph"
    | "empty"
    | "encodingDesc"
    | "entry"
    | "entryFree"
    | "epigraph"
    | "epilogue"
    | "equipment"
    | "equiv"
    | "etym"
    | "event"
    | "eventName"
    | "ex"
    | "exemplum"
    | "expan"
    | "explicit"
    | "extent"
    | "f"
    | "fDecl"
    | "fDescr"
    | "fLib"
    | "facsimile"
    | "factuality"
    | "faith"
    | "figDesc"
    | "figure"
    | "fileDesc"
    | "filiation"
    | "finalRubric"
    | "floatingText"
    | "floruit"
    | "foliation"
    | "foreign"
    | "forename"
    | "forest"
    | "form"
    | "formula"
    | "front"
    | "fs"
    | "fsConstraints"
    | "fsDecl"
    | "fsDescr"
    | "fsdDecl"
    | "fsdLink"
    | "funder"
    | "fvLib"
    | "fw"
    | "g"
    | "gap"
    | "gb"
    | "gen"
    | "genName"
    | "gender"
    | "geo"
    | "geoDecl"
    | "geogFeat"
    | "geogName"
    | "gi"
    | "gloss"
    | "glyph"
    | "gram"
    | "gramGrp"
    | "graph"
    | "graphic"
    | "group"
    | "handDesc"
    | "handNote"
    | "handNotes"
    | "handShift"
    | "head"
    | "headItem"
    | "headLabel"
    | "height"
    | "heraldry"
    | "hi"
    | "history"
    | "hom"
    | "hyph"
    | "hyphenation"
    | "iNode"
    | "iType"
    | "ident"
    | "idno"
    | "if"
    | "iff"
    | "imprimatur"
    | "imprint"
    | "incident"
    | "incipit"
    | "index"
    | "institution"
    | "interaction"
    | "interp"
    | "interpGrp"
    | "interpretation"
    | "item"
    | "join"
    | "joinGrp"
    | "keywords"
    | "kinesic"
    | "l"
    | "label"
    | "lacunaEnd"
    | "lacunaStart"
    | "lang"
    | "langKnowledge"
    | "langKnown"
    | "langUsage"
    | "language"
    | "layout"
    | "layoutDesc"
    | "lb"
    | "lbl"
    | "leaf"
    | "lem"
    | "lg"
    | "licence"
    | "line"
    | "link"
    | "linkGrp"
    | "list"
    | "listAnnotation"
    | "listApp"
    | "listBibl"
    | "listChange"
    | "listEvent"
    | "listForest"
    | "listNym"
    | "listObject"
    | "listOrg"
    | "listPerson"
    | "listPlace"
    | "listPrefixDef"
    | "listRef"
    | "listRelation"
    | "listTranspose"
    | "listWit"
    | "localProp"
    | "locale"
    | "location"
    | "locus"
    | "locusGrp"
    | "m"
    | "macroRef"
    | "macroSpec"
    | "mapping"
    | "material"
    | "measure"
    | "measureGrp"
    | "media"
    | "meeting"
    | "memberOf"
    | "mentioned"
    | "metDecl"
    | "metSym"
    | "metamark"
    | "milestone"
    | "mod"
    | "model"
    | "modelGrp"
    | "modelSequence"
    | "moduleRef"
    | "moduleSpec"
    | "monogr"
    | "mood"
    | "move"
    | "msContents"
    | "msDesc"
    | "msFrag"
    | "msIdentifier"
    | "msItem"
    | "msItemStruct"
    | "msName"
    | "msPart"
    | "musicNotation"
    | "name"
    | "nameLink"
    | "namespace"
    | "nationality"
    | "node"
    | "normalization"
    | "notatedMusic"
    | "note"
    | "noteGrp"
    | "notesStmt"
    | "num"
    | "number"
    | "numeric"
    | "nym"
    | "oRef"
    | "object"
    | "objectDesc"
    | "objectIdentifier"
    | "objectName"
    | "objectType"
    | "occupation"
    | "offset"
    | "opener"
    | "org"
    | "orgName"
    | "orig"
    | "origDate"
    | "origPlace"
    | "origin"
    | "orth"
    | "outputRendition"
    | "p"
    | "pRef"
    | "param"
    | "paramList"
    | "paramSpec"
    | "particDesc"
    | "path"
    | "pause"
    | "pb"
    | "pc"
    | "per"
    | "performance"
    | "persName"
    | "persPronouns"
    | "person"
    | "personGrp"
    | "persona"
    | "phr"
    | "physDesc"
    | "place"
    | "placeName"
    | "population"
    | "pos"
    | "post"
    | "postBox"
    | "postCode"
    | "postscript"
    | "precision"
    | "prefixDef"
    | "preparedness"
    | "principal"
    | "profileDesc"
    | "projectDesc"
    | "prologue"
    | "pron"
    | "provenance"
    | "ptr"
    | "pubPlace"
    | "publicationStmt"
    | "publisher"
    | "punctuation"
    | "purpose"
    | "q"
    | "quotation"
    | "quote"
    | "rb"
    | "rdg"
    | "rdgGrp"
    | "re"
    | "recordHist"
    | "recording"
    | "recordingStmt"
    | "redo"
    | "ref"
    | "refState"
    | "refsDecl"
    | "reg"
    | "region"
    | "relatedItem"
    | "relation"
    | "remarks"
    | "rendition"
    | "repository"
    | "residence"
    | "resp"
    | "respStmt"
    | "respons"
    | "restore"
    | "retrace"
    | "revisionDesc"
    | "rhyme"
    | "role"
    | "roleDesc"
    | "roleName"
    | "root"
    | "row"
    | "rs"
    | "rt"
    | "rubric"
    | "ruby"
    | "s"
    | "said"
    | "salute"
    | "samplingDecl"
    | "schemaRef"
    | "schemaSpec"
    | "scriptDesc"
    | "scriptNote"
    | "scriptStmt"
    | "seal"
    | "sealDesc"
    | "secFol"
    | "secl"
    | "seg"
    | "segmentation"
    | "sense"
    | "sequence"
    | "series"
    | "seriesStmt"
    | "set"
    | "setting"
    | "settingDesc"
    | "settlement"
    | "sex"
    | "shift"
    | "sic"
    | "signatures"
    | "signed"
    | "soCalled"
    | "socecStatus"
    | "sound"
    | "source"
    | "sourceDesc"
    | "sourceDoc"
    | "sp"
    | "spGrp"
    | "space"
    | "span"
    | "spanGrp"
    | "speaker"
    | "specDesc"
    | "specGrp"
    | "specGrpRef"
    | "specList"
    | "sponsor"
    | "stage"
    | "stamp"
    | "standOff"
    | "state"
    | "stdVals"
    | "street"
    | "stress"
    | "string"
    | "styleDefDecl"
    | "subc"
    | "subst"
    | "substJoin"
    | "summary"
    | "superEntry"
    | "supplied"
    | "support"
    | "supportDesc"
    | "surface"
    | "surfaceGrp"
    | "surname"
    | "surplus"
    | "surrogates"
    | "syll"
    | "symbol"
    | "table"
    | "tag"
    | "tagUsage"
    | "tagsDecl"
    | "taxonomy"
    | "tech"
    | "teiCorpus"
    | "teiHeader"
    | "term"
    | "terrain"
    | "text"
    | "textClass"
    | "textDesc"
    | "textLang"
    | "textNode"
    | "then"
    | "time"
    | "timeline"
    | "title"
    | "titlePage"
    | "titlePart"
    | "titleStmt"
    | "tns"
    | "trailer"
    | "trait"
    | "transcriptionDesc"
    | "transpose"
    | "tree"
    | "triangle"
    | "typeDesc"
    | "typeNote"
    | "u"
    | "unclear"
    | "undo"
    | "unicodeProp"
    | "unihanProp"
    | "unit"
    | "unitDecl"
    | "unitDef"
    | "usg"
    | "vAlt"
    | "vColl"
    | "vDefault"
    | "vLabel"
    | "vMerge"
    | "vNot"
    | "vRange"
    | "val"
    | "valDesc"
    | "valItem"
    | "valList"
    | "variantEncoding"
    | "view"
    | "vocal"
    | "w"
    | "watermark"
    | "when"
    | "width"
    | "wit"
    | "witDetail"
    | "witEnd"
    | "witStart"
    | "witness"
    | "writing"
    | "xenoData"
    | "xr"
    | "zone"
   },
   attribute prefix { ? }?,
   (
      cust_altIdent?,
      cust_equiv?,
      cust_gloss?,
      cust_desc?,
      cust_classes?,
      cust_content?,
      cust_valList?,
      cust_constraintSpec*,
      cust_attList?,
      cust_exemplum*,
      cust_remarks*,
      cust_listRef*
   )
}⚓

3.1.59. <ellipsis>

<ellipsis> (deliberately marked omission) indicates a purposeful marking in the source document signalling that content has been omitted, and may also supply or describe the omitted content. [3.5.3. Additions, Deletions, and Omissions]
Modulecore
Attributes
Member of
Contained by
May contain
core: desc
Note

Unlike <gap>, which indicates content that the encoder cannot or chooses not to represent, <ellipsis> indicates a passage explicitly signalled in the source document as absent. The <ellipsis> element is not appropriate for every use of ellipsis points, such as when they indicate that a speaker is pausing.

Example
<lg>  <l>What projects men make—what queer turns they take,</l>  <l>Since <emph>steam</emph> has improved our condition;</l>  <l>They never are still, but must cure or must kill</l>  <l>With steam physic or steam ammunition.</l>  <l>But a short time ago, to a quack you would go,</l>  <l>To steam a fat man to a thinner;</l>  <l>Now changed from all that, if you wish to get <emph>fat</emph>,</l>  <l>Come to Barton’s and eat a <emph>steam dinner!</emph>  </l>  <l>Oh dear! think of a scheme, odd though it seem—</l>  <l>I’m sure ’twill succeed if you make it by steam.</l> </lg> <lg>  <l>You may sleep, you may dream, you may travel by steam,</l>  <l>For the outcry is still to go faster;</l>  <l>And what does it reck, should you e’en break your neck,</l>  <l>If ’tis <emph>steam</emph> that brings on the disaster?</l>  <ellipsis resp="#ChambersEdnbrghJrnl1880">   <metamark function="multilineEllipsis"> * * * * </metamark>   <desc resp="#teiProjectEditor2021">The printer omits four lines here,      skipping the second half of the second octave, before the refrain.</desc>  </ellipsis>  <l>Oh dear! think of a scheme, odd though it seem—</l>  <l>I’m sure ’twill succeed if you make it by steam.</l> </lg>
Example
<lg>  <l>You think you’ve lost your love </l>  <l>Well, I saw her yesterday </l>  <l>It’s you she's thinking of </l>  <l>And she told me what to say</l> </lg> <lg xml:id="chorus">  <label>[Refrain]</label>  <l>She says she loves you </l>  <l>And you know that can’t be bad </l>  <l>Yes, she loves you </l>  <l>And you know you should be glad</l> </lg> <lg>  <l>She said you hurt her so </l>  <l>She almost lost her mind </l>  <l>But now she said she knows </l>  <l>You’re not the hurting kind</l> </lg> <ellipsis>  <metamark>******</metamark>  <supplied copyOf="#chorus"/> </ellipsis>
Content model
<content>
 <sequence>
  <elementRef key="metamark"/>
  <classRef key="model.descLike"
   minOccurs="0" maxOccurs="1"/>
  <elementRef key="supplied" minOccurs="0"
   maxOccurs="1"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element ellipsis
{
   cust_att.global.attributes,
   cust_att.dimensions.attributes,
   cust_att.timed.attributes,
   ( metamark, cust_model.descLike?, supplied? )
}⚓

3.1.60. <email>

<email> (electronic mail address) contains an email address identifying a location to which email messages can be delivered. [3.6.2. Addresses]
Modulecore
Attributes
Member of
Contained by
May contain
Note

The format of a modern Internet email address is defined in RFC 2822

Example
<email>membership@tei-c.org</email>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element email
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_macro.phraseSeq
}⚓

3.1.61. <emph>

<emph> (emphasized) marks words or phrases which are stressed or emphasized for linguistic or rhetorical effect. [3.3.2.2. Emphatic Words and Phrases 3.3.2. Emphasis, Foreign Words, and Unusual Language]
Modulecore
Attributes
Member of
Contained by
May contain
Example
You took the car and did <emph>what</emph>?!!
Example
<q>What it all comes to is this,</q> he said. <q>  <emph>What    does Christopher Robin do in the morning nowadays?</emph> </q>
Content model
<content>
 <macroRef key="macro.paraContent"/>
</content>
    ⚓
Schema Declaration
element emph
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.written.attributes,
   cust_macro.paraContent
}⚓

3.1.62. <empty>

<empty> indicates the presence of an empty node within a content model. [23. Documentation Elements]
Moduletagdocs
Attributes
Member of
Contained by
May containEmpty element
Example
<content>  <alternate minOccurs="0"   maxOccurs="unbounded">   <empty/>   <elementRef key="hi"/>  </alternate> </content>
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element empty { cust_att.global.attributes, empty }⚓

3.1.63. <encodingDesc>

<encodingDesc> (encoding description) documents the relationship between an electronic text and the source or sources from which it was derived. [2.3. The Encoding Description 2.1.1. The TEI Header and Its Components]
Moduleheader
Attributes
Member of
Contained by
header: teiHeader
May contain
Example
<encodingDesc>  <p>Basic encoding, capturing lexical information only. All    hyphenation, punctuation, and variant spellings normalized. No    formatting or layout information preserved.</p> </encodingDesc>
Content model
<content>
 <alternate minOccurs="1"
  maxOccurs="unbounded">
  <classRef key="model.encodingDescPart"/>
  <classRef key="model.pLike"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element encodingDesc
{
   cust_att.global.attributes,
   ( cust_model.encodingDescPart | cust_model.pLike )+
}⚓

3.1.64. <equiv>

<equiv> (equivalent) specifies a component which is considered equivalent to the parent element, either by co-reference, or by external link. [3.4.1. Terms and Glosses 23.4.1. Description of Components]
Moduletagdocs
Attributes
namea single word which follows the rules defining a legal XML name (see https://www.w3.org/TR/REC-xml/#dt-name), naming the underlying concept of which the parent is a representation.
StatusOptional
Datatypeteidata.name
uri(uniform resource identifier) references the underlying concept of which the parent is a representation by means of some external identifier.
StatusOptional
Datatypeteidata.pointer
filterreferences an external script which contains a method to transform instances of this element to canonical TEI.
StatusOptional
Datatypeteidata.pointer
Member of
Contained by
May containEmpty element
Note

The mimeType attribute should be used to supply the MIME media type of the filter script specified by the filter attribute.

ExampleThe following example declares that the <bo> element is conceptually equivalent to the markup construct <hi rend='bold'>, and that an external definition of this concept is available from the URI indicated
<elementSpec ident="hi" mode="change">  <equiv name="BOLD"/>  <desc>bold typography</desc>  <attList>   <attDef ident="rend" mode="change">    <valList>     <valItem ident="bold"/>    </valList>   </attDef>  </attList> </elementSpec> <elementSpec ident="bo" mode="add">  <equiv name="BOLD"   uri="http://www.example.com/typesetting/bold"/> </elementSpec>
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element equiv
{
   cust_att.global.attributes,
   cust_att.internetMedia.attributes,
   cust_att.predicate.attributes,
   attribute name { text }?,
   attribute uri { text }?,
   attribute filter { text }?,
   empty
}⚓

3.1.65. <exemplum>

<exemplum> (exemplum) groups an example demonstrating the use of an element along with optional paragraphs of commentary. [23.5. Element Specifications]
Moduletagdocs
Attributes
Contained by
May contain
core: p
tagdocs: eg egXML
Example
<exemplum xml:lang="en">  <p>The <gi>name</gi> element can be used for both personal names and place names:</p>  <eg xml:space="preserve"><![CDATA[ <q>My dear <name type="person">Mr.           Bennet</name>,</q> said his lady to him one day,           <q>have you heard that <name type="place">Netherfield           Park</name> is let at last?</q>]]></eg>  <p>As shown above, the <att>type</att> attribute may be used to distinguish the one from the    other.</p> </exemplum>
Content model
<content>
 <sequence>
  <classRef key="model.pLike" minOccurs="0"
   maxOccurs="unbounded"/>
  <alternate>
   <elementRef key="egXML"/>
   <elementRef key="eg"/>
  </alternate>
  <classRef key="model.pLike" minOccurs="0"
   maxOccurs="unbounded"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element exemplum
{
   cust_att.global.attributes,
   cust_att.translatable.attributes,
   cust_att.typed.attributes,
   ( cust_model.pLike*, ( cust_egXML | cust_eg ), cust_model.pLike* )
}⚓

3.1.66. <expan>

<expan> (expansion) contains the expansion of an abbreviation. [3.6.5. Abbreviations and Their Expansions]
Modulecore
Attributes
Member of
Contained by
May contain
Note

The content of this element should be the expanded abbreviation, usually (but not always) a complete word or phrase. The <ex> element provided by the transcr module may be used to mark up sequences of letters supplied within such an expansion.

If abbreviations are expanded silently, this practice should be documented in the <editorialDecl>, either with a <normalization> element or a <p>.

Example
The address is Southmoor <choice>  <expan>Road</expan>  <abbr>Rd</abbr> </choice>
Example
<choice xml:lang="la">  <abbr>Imp</abbr>  <expan>Imp<ex>erator</ex>  </expan> </choice>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element expan
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.editLike.attributes,
   cust_macro.phraseSeq
}⚓

3.1.67. <extent>

<extent> (extent) describes the approximate size of a text stored on some carrier medium or of some other object, digital or non-digital, specified in any convenient units. [2.2.3. Type and Extent of File 2.2. The File Description 3.12.2.4. Imprint, Size of a Document, and Reprint Information 11.7.1. Object Description]
Moduleheader
Attributes
Member of
Contained by
core: bibl
May contain
Example
<extent>3200 sentences</extent> <extent>between 10 and 20 Mb</extent> <extent>ten 3.5 inch high density diskettes</extent>
ExampleThe <measure> element may be used to supply normalized or machine tractable versions of the size or sizes concerned.
<extent>  <measure unit="MiB" quantity="4.2">About four megabytes</measure>  <measure unit="pages" quantity="245">245 pages of source    material</measure> </extent>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element extent { cust_att.global.attributes, cust_macro.phraseSeq }⚓

3.1.68. <fallback>

<fallback>
Namespacehttp://www.example.org/cannot/really/use/XInclude
Modulederived-module-tei_customization
Contained by
derived-module-tei_customization: include
May containANY
Content model
<content>
 <alternate minOccurs="1"
  maxOccurs="unbounded">
  <textNode/>
  <anyElement/>
 </alternate>
</content>
    ⚓
Schema Declaration
element fallback { ( text | anyElement_fallback_6 )+ }⚓

3.1.69. <figDesc>

<figDesc> (description of figure) contains a brief prose description of the appearance or content of a graphic figure, for use when documenting an image without displaying it. [15.4. Specific Elements for Graphic Images]
Modulefigures
Attributes
Contained by
figures: figure
May contain
Note

This element is intended for use as an alternative to the content of its parent <figure> element ; for example, to display when the image is required but the equipment in use cannot display graphic images. It may also be used for indexing or documentary purposes.

Example
<figure>  <graphic url="emblem1.png"/>  <head>Emblemi d'Amore</head>  <figDesc>A pair of naked winged cupids, each holding a    flaming torch, in a rural setting.</figDesc> </figure>
Content model
<content>
 <macroRef key="macro.limitedContent"/>
</content>
    ⚓
Schema Declaration
element figDesc { cust_att.global.attributes, cust_macro.limitedContent }⚓

3.1.70. <figure>

<figure> (figure) groups elements representing or containing graphic information such as an illustration, formula, or figure. [15.4. Specific Elements for Graphic Images]
Modulefigures
Attributes
Member of
Contained by
May contain
Example
<figure>  <head>The View from the Bridge</head>  <figDesc>A Whistleresque view showing four or five sailing boats in the foreground, and a    series of buoys strung out between them.</figDesc>  <graphic url="http://www.example.org/fig1.png"   scale="0.5"/> </figure>
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <classRef key="model.headLike"/>
  <classRef key="model.common"/>
  <elementRef key="figDesc"/>
  <classRef key="model.graphicLike"/>
  <classRef key="model.global"/>
  <classRef key="model.divBottom"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element figure
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.placement.attributes,
   cust_att.typed.attributes,
   cust_att.written.attributes,
   (
      cust_model.headLike
    | cust_model.common
    | cust_figDesc
    | cust_model.graphicLike
    | cust_model.global
    | cust_model.divBottom
   )*
}⚓

3.1.71. <fileDesc>

<fileDesc> (file description) contains a full bibliographic description of an electronic file. [2.2. The File Description 2.1.1. The TEI Header and Its Components]
Moduleheader
Attributes
Contained by
May contain
Note

The major source of information for those seeking to create a catalogue entry or bibliographic citation for an electronic file. As such, it provides a title and statements of responsibility together with details of the publication or distribution of the file, of any series to which it belongs, and detailed bibliographic notes for matters not addressed elsewhere in the header. It also contains a full bibliographic description for the source or sources from which the electronic text was derived.

Example
<fileDesc>  <titleStmt>   <title>The shortest possible TEI document</title>  </titleStmt>  <publicationStmt>   <p>Distributed as part of TEI P5</p>  </publicationStmt>  <sourceDesc>   <p>No print source exists: this is an original digital text</p>  </sourceDesc> </fileDesc>
Content model
<content>
 <sequence>
  <sequence>
   <elementRef key="titleStmt"/>
   <elementRef key="editionStmt"
    minOccurs="0"/>
   <elementRef key="extent" minOccurs="0"/>
   <elementRef key="publicationStmt"/>
   <elementRef key="seriesStmt"
    minOccurs="0" maxOccurs="unbounded"/>
   <elementRef key="notesStmt"
    minOccurs="0"/>
  </sequence>
  <elementRef key="sourceDesc"
   minOccurs="1" maxOccurs="unbounded"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element fileDesc
{
   cust_att.global.attributes,
   (
      (
         cust_titleStmt,
         cust_editionStmt?,
         cust_extent?,
         cust_publicationStmt,
         cust_seriesStmt*,
         cust_notesStmt?
      ),
      cust_sourceDesc+
   )
}⚓

3.1.72. <foreign>

<foreign> (foreign) identifies a word or phrase as belonging to some language other than that of the surrounding text. [3.3.2.1. Foreign Words or Expressions]
Modulecore
Attributes
Member of
Contained by
May contain
Note

The global xml:lang attribute should be supplied for this element to identify the language of the word or phrase marked. As elsewhere, its value should be a language tag as defined in 6.1. Language Identification.

This element is intended for use only where no other element is available to mark the phrase or words concerned. The global xml:lang attribute should be used in preference to this element where it is intended to mark the language of the whole of some text element.

The <distinct> element may be used to identify phrases belonging to sublanguages or registers not generally regarded as true languages.

Example
This is heathen Greek to you still? Your <foreign xml:lang="la">lapis philosophicus</foreign>?
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element foreign
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_macro.phraseSeq
}⚓

3.1.73. <formula>

<formula> (formula) contains a mathematical or other formula. [15.2. Formulæ and Mathematical Expressions]
Modulefigures
Attributes
Member of
Contained by
May contain
figures: formula
character data
Example
<formula notation="tex">$E=mc^2$</formula>
Example
<formula notation="none">E=mc<hi rend="sup">2</hi> </formula>
Example
<formula notation="mathml"    xmlns:mml="http://www.w3.org/1998/Math/MathML">  <m:math>   <m:mi>E</m:mi>   <m:mo>=</m:mo>   <m:mi>m</m:mi>   <m:msup>    <m:mrow>     <m:mi>c</m:mi>    </m:mrow>    <m:mrow>     <m:mn>2</m:mn>    </m:mrow>   </m:msup>  </m:math> </formula>
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <textNode/>
  <classRef key="model.graphicLike"/>
  <classRef key="model.hiLike"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element formula
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.notated.attributes,
   ( text | cust_model.graphicLike | cust_model.hiLike )*
}⚓

3.1.74. <front>

<front> (front matter) contains any prefatory matter (headers, abstracts, title page, prefaces, dedications, etc.) found at the start of a document, before the main body. [4.6. Title Pages 4. Default Text Structure]
Moduletextstructure
Attributes
Contained by
textstructure: text
May contain
figures: figure
tagdocs: schemaSpec
textstructure: div
Note

Because cultural conventions differ as to which elements are grouped as front matter and which as back matter, the content models for the <front> and <back> elements are identical.

Example
<front>  <epigraph>   <quote>Nam Sibyllam quidem Cumis ego ipse oculis meis vidi in ampulla      pendere, et cum illi pueri dicerent: <q xml:lang="grc">Σίβυλλα τί        θέλεις</q>; respondebat illa: <q xml:lang="grc">ὰποθανεῖν θέλω.</q>   </quote>  </epigraph>  <div type="dedication">   <p>For Ezra Pound <q xml:lang="it">il miglior fabbro.</q>   </p>  </div> </front>
Example
<front>  <div type="dedication">   <p>To our three selves</p>  </div>  <div type="preface">   <head>Author's Note</head>   <p>All the characters in this book are purely imaginary, and if the      author has used names that may suggest a reference to living persons      she has done so inadvertently. ...</p>  </div> </front>
Example
<front>  <div type="abstract">   <div>    <head> BACKGROUND:</head>    <p>Food insecurity can put children at greater risk of obesity because        of altered food choices and nonuniform consumption patterns.</p>   </div>   <div>    <head> OBJECTIVE:</head>    <p>We examined the association between obesity and both child-level        food insecurity and personal food insecurity in US children.</p>   </div>   <div>    <head> DESIGN:</head>    <p>Data from 9,701 participants in the National Health and Nutrition        Examination Survey, 2001-2010, aged 2 to 11 years were analyzed.        Child-level food insecurity was assessed with the US Department of        Agriculture's Food Security Survey Module based on eight        child-specific questions. Personal food insecurity was assessed with        five additional questions. Obesity was defined, using physical        measurements, as body mass index (calculated as kg/m2) greater than        or equal to the age- and sex-specific 95th percentile of the Centers        for Disease Control and Prevention growth charts. Logistic        regressions adjusted for sex, race/ethnic group, poverty level, and        survey year were conducted to describe associations between obesity        and food insecurity.</p>   </div>   <div>    <head> RESULTS:</head>    <p>Obesity was significantly associated with personal food insecurity        for children aged 6 to 11 years (odds ratio=1.81; 95% CI 1.33 to        2.48), but not in children aged 2 to 5 years (odds ratio=0.88; 95%        CI 0.51 to 1.51). Child-level food insecurity was not associated        with obesity among 2- to 5-year-olds or 6- to 11-year-olds.</p>   </div>   <div>    <head> CONCLUSIONS:</head>    <p>Personal food insecurity is associated with an increased risk of        obesity only in children aged 6 to 11 years. Personal        food-insecurity measures may give different results than aggregate        food-insecurity measures in children.</p>   </div>  </div> </front>
Content model
<content>
 <sequence>
  <alternate minOccurs="0"
   maxOccurs="unbounded">
   <classRef key="model.frontPart"/>
   <classRef key="model.pLike"/>
   <classRef key="model.pLike.front"/>
   <classRef key="model.global"/>
  </alternate>
  <sequence minOccurs="0">
   <alternate>
    <sequence>
     <classRef key="model.div1Like"/>
     <alternate minOccurs="0"
      maxOccurs="unbounded">
      <classRef key="model.div1Like"/>
      <classRef key="model.frontPart"/>
      <classRef key="model.global"/>
     </alternate>
    </sequence>
    <sequence>
     <classRef key="model.divLike"/>
     <alternate minOccurs="0"
      maxOccurs="unbounded">
      <classRef key="model.divLike"/>
      <classRef key="model.frontPart"/>
      <classRef key="model.global"/>
     </alternate>
    </sequence>
   </alternate>
   <sequence minOccurs="0">
    <classRef key="model.divBottom"/>
    <alternate minOccurs="0"
     maxOccurs="unbounded">
     <classRef key="model.divBottom"/>
     <classRef key="model.global"/>
    </alternate>
   </sequence>
  </sequence>
 </sequence>
</content>
    ⚓
Schema Declaration
element front
{
   cust_att.global.attributes,
   cust_att.declaring.attributes,
   (
      (
         cust_model.frontPart
       | cust_model.pLike
       | cust_model.pLike.front
       | cust_model.global
      )*,
      (
         (
            (
               (
                  cust_model.div1Like,
                  (
                     cust_model.div1Like
                   | cust_model.frontPart
                   | cust_model.global
                  )*
               )
             | (
                  cust_model.divLike,
                  (
                     cust_model.divLike
                   | cust_model.frontPart
                   | cust_model.global
                  )*
               )
            ),
            (
               (
                  cust_model.divBottom,
                  ( cust_model.divBottom | cust_model.global )*
               )?
            )
         )?
      )
   )
}⚓

3.1.75. <funder>

<funder> (funding body) specifies the name of an individual, institution, or organization responsible for the funding of a project or text. [2.2.1. The Title Statement]
Moduleheader
Attributes
Member of
Contained by
May contain
Note

Funders provide financial support for a project; they are distinct from sponsors (see element <sponsor>), who provide intellectual support and authority.

Example
<funder>The National Endowment for the Humanities, an independent federal agency</funder> <funder>Directorate General XIII of the Commission of the European Communities</funder> <funder>The Andrew W. Mellon Foundation</funder> <funder>The Social Sciences and Humanities Research Council of Canada</funder>
Content model
<content>
 <macroRef key="macro.phraseSeq.limited"/>
</content>
    ⚓
Schema Declaration
element funder
{
   cust_att.global.attributes,
   cust_att.canonical.attributes,
   cust_att.datable.attributes,
   cust_macro.phraseSeq.limited
}⚓

3.1.76. <gi>

<gi> (element name) contains the name (generic identifier) of an element. [23. Documentation Elements 23.5. Element Specifications]
Moduletagdocs
Attributes
scheme
StatusOptional
Datatypeteidata.enumerated
Suggested values include:
imaginary
extreme
(Extreme conference proceedings markup)
DBK
(Docbook)
SMIL
Schematron
HTML
(XHTML)
SVG
WWP
DHQ
Member of
Contained by
May contain
XSD Name
Example
<p>The <gi>xhtml:li</gi> element is roughly analogous to the <gi>item</gi> element, as is the <gi scheme="DBK">listItem</gi> element.</p>
This example shows the use of both a namespace prefix and the scheme attribute as alternative ways of indicating that the <gi> in question is not a TEI element name: in practice only one method should be adopted.
Content model
<content>
 <dataRef key="teidata.name"/>
</content>
    ⚓
Schema Declaration
element gi
{
   cust_att.global.attributes,
   attribute scheme
   {
      "imaginary"
    | "extreme"
    | "DBK"
    | "SMIL"
    | "Schematron"
    | "HTML"
    | "SVG"
    | "WWP"
    | "DHQ"
   }?,
   teidata.name
}⚓

3.1.77. <gloss>

<gloss> (gloss) identifies a phrase or word used to provide a gloss or definition for some other word or phrase. [3.4.1. Terms and Glosses 23.4.1. Description of Components]
Modulecore
Attributes
Member of
Contained by
May contain
Note

The target and cRef attributes are mutually exclusive.

Example
We may define <term xml:id="tdpv" rend="sc">discoursal point of view</term> as <gloss target="#tdpv">the relationship, expressed through discourse structure, between the implied author or some other addresser, and the fiction.</gloss>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element gloss
{
   cust_att.global.attributes,
   cust_att.cReferencing.attributes,
   cust_att.cmc.attributes,
   cust_att.declaring.attributes,
   cust_att.pointing.attributes,
   cust_att.translatable.attributes,
   cust_att.typed.attributes,
   cust_macro.phraseSeq
}⚓

3.1.78. <graphic>

<graphic> (graphic) indicates the location of a graphic or illustration, either forming part of a text, or providing an image of it. [3.10. Graphics and Other Non-textual Components 12.1. Digital Facsimiles]
Modulecore
Attributes
Member of
Contained by
May contain
core: desc
Note

The mimeType attribute should be used to supply the MIME media type of the image specified by the url attribute.

Within the body of a text, a <graphic> element indicates the presence of a graphic component in the source itself. Within the context of a <facsimile> or <sourceDoc> element, however, a <graphic> element provides an additional digital representation of some part of the source being encoded.

Example
<figure>  <graphic url="fig1.png"/>  <head>Figure One: The View from the Bridge</head>  <figDesc>A Whistleresque view showing four or five sailing boats in the foreground, and a    series of buoys strung out between them.</figDesc> </figure>
Example
<facsimile>  <surfaceGrp n="leaf1">   <surface>    <graphic url="page1.png"/>   </surface>   <surface>    <graphic url="page2-highRes.png"/>    <graphic url="page2-lowRes.png"/>   </surface>  </surfaceGrp> </facsimile>
Example
<facsimile>  <surfaceGrp n="leaf1" xml:id="spi001">   <surface xml:id="spi001r">    <graphic type="normal"     subtype="thumbnail" url="spi/thumb/001r.jpg"/>    <graphic type="normal" subtype="low-res"     url="spi/normal/lowRes/001r.jpg"/>    <graphic type="normal"     subtype="high-res" url="spi/normal/highRes/001r.jpg"/>    <graphic type="high-contrast"     subtype="low-res" url="spi/contrast/lowRes/001r.jpg"/>    <graphic type="high-contrast"     subtype="high-res" url="spi/contrast/highRes/001r.jpg"/>   </surface>   <surface xml:id="spi001v">    <graphic type="normal"     subtype="thumbnail" url="spi/thumb/001v.jpg"/>    <graphic type="normal" subtype="low-res"     url="spi/normal/lowRes/001v.jpg"/>    <graphic type="normal"     subtype="high-res" url="spi/normal/highRes/001v.jpg"/>    <graphic type="high-contrast"     subtype="low-res" url="spi/contrast/lowRes/001v.jpg"/>    <graphic type="high-contrast"     subtype="high-res" url="spi/contrast/highRes/001v.jpg"/>    <zone xml:id="spi001v_detail01">     <graphic type="normal"      subtype="thumbnail" url="spi/thumb/001v-detail01.jpg"/>     <graphic type="normal"      subtype="low-res"      url="spi/normal/lowRes/001v-detail01.jpg"/>     <graphic type="normal"      subtype="high-res"      url="spi/normal/highRes/001v-detail01.jpg"/>     <graphic type="high-contrast"      subtype="low-res"      url="spi/contrast/lowRes/001v-detail01.jpg"/>     <graphic type="high-contrast"      subtype="high-res"      url="spi/contrast/highRes/001v-detail01.jpg"/>    </zone>   </surface>  </surfaceGrp> </facsimile>
Content model
<content>
 <classRef key="model.descLike"
  minOccurs="0" maxOccurs="unbounded"/>
</content>
    ⚓
Schema Declaration
element graphic
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.declaring.attributes,
   cust_att.media.attributes,
   cust_att.resourced.attributes,
   cust_att.typed.attributes,
   cust_model.descLike*
}⚓

3.1.79. <head>

<head> (heading) contains any type of heading, for example the title of a section, or the heading of a list, glossary, manuscript description, etc. [4.2.1. Headings and Trailers]
Modulecore
Attributes
Member of
Contained by
core: divGen list
figures: figure table
textstructure: back body div front
May contain
Note

The <head> element is used for headings at all levels; software which treats (e.g.) chapter headings, section headings, and list titles differently must determine the proper processing of a <head> element based on its structural position. A <head> occurring as the first element of a list is the title of that list; one occurring as the first element of a <div1> is the title of that chapter or section.

ExampleThe most common use for the <head> element is to mark the headings of sections. In older writings, the headings or incipits may be rather longer than usual in modern works. If a section has an explicit ending as well as a heading, it should be marked as a <trailer>, as in this example:
<div1 n="I" type="book">  <head>In the name of Christ here begins the first book of the ecclesiastical history of    Georgius Florentinus, known as Gregory, Bishop of Tours.</head>  <div2 type="section">   <head>In the name of Christ here begins Book I of the history.</head>   <p>Proposing as I do ...</p>   <p>From the Passion of our Lord until the death of Saint Martin four hundred and twelve      years passed.</p>   <trailer>Here ends the first Book, which covers five thousand, five hundred and ninety-six      years from the beginning of the world down to the death of Saint Martin.</trailer>  </div2> </div1>
ExampleWhen headings are not inline with the running text (see e.g. the heading "Secunda conclusio") they might however be encoded as if. The actual placement in the source document can be captured with the place attribute.
<div type="subsection">  <head place="margin">Secunda conclusio</head>  <p>   <lb n="1251"/>   <hi rend="large">Potencia: habitus: et actus: recipiunt speciem ab obiectis<supplied>.</supplied>   </hi>   <lb n="1252"/>Probatur sic. Omne importans necessariam habitudinem ad proprium    [...]  </p> </div>
ExampleThe <head> element is also used to mark headings of other units, such as lists:
With a few exceptions, connectives are equally useful in all kinds of discourse: description, narration, exposition, argument. <list rend="bulleted">  <head>Connectives</head>  <item>above</item>  <item>accordingly</item>  <item>across from</item>  <item>adjacent to</item>  <item>again</item>  <item> <!-- ... -->  </item> </list>
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <textNode/>
  <elementRef key="lg"/>
  <classRef key="model.gLike"/>
  <classRef key="model.phrase"/>
  <classRef key="model.inter"/>
  <classRef key="model.lLike"/>
  <classRef key="model.global"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element head
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.placement.attributes,
   cust_att.typed.attributes,
   cust_att.written.attributes,
   (
      text
    | lg
    | cust_model.gLike
    | cust_model.phrase
    | cust_model.inter
    | cust_model.lLike
    | cust_model.global
   )*
}⚓

3.1.80. <headItem>

<headItem> (heading for list items) contains the heading for the item or gloss column in a glossary list or similar structured list. [3.8. Lists]
Modulecore
Attributes
Contained by
core: list
May contain
Note

The <headItem> element may appear only if each item in the list is preceded by a <label>.

Example
The simple, straightforward statement of an idea is preferable to the use of a worn-out expression. <list type="gloss">  <headLabel rend="smallcaps">TRITE</headLabel>  <headItem rend="smallcaps">SIMPLE, STRAIGHTFORWARD</headItem>  <label>bury the hatchet</label>  <item>stop fighting, make peace</item>  <label>at loose ends</label>  <item>disorganized</item>  <label>on speaking terms</label>  <item>friendly</item>  <label>fair and square</label>  <item>completely honest</item>  <label>at death's door</label>  <item>near death</item> </list>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element headItem { cust_att.global.attributes, cust_macro.phraseSeq }⚓

3.1.81. <headLabel>

<headLabel> (heading for list labels) contains the heading for the label or term column in a glossary list or similar structured list. [3.8. Lists]
Modulecore
Attributes
Contained by
core: list
May contain
Note

The <headLabel> element may appear only if each item in the list is preceded by a <label>.

Example
The simple, straightforward statement of an idea is preferable to the use of a worn-out expression. <list type="gloss">  <headLabel rend="smallcaps">TRITE</headLabel>  <headItem rend="smallcaps">SIMPLE, STRAIGHTFORWARD</headItem>  <label>bury the hatchet</label>  <item>stop fighting, make peace</item>  <label>at loose ends</label>  <item>disorganized</item>  <label>on speaking terms</label>  <item>friendly</item>  <label>fair and square</label>  <item>completely honest</item>  <label>at death's door</label>  <item>near death</item> </list>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element headLabel { cust_att.global.attributes, cust_macro.phraseSeq }⚓

3.1.82. <hi>

<hi> (highlighted) marks a word or phrase as graphically distinct from the surrounding text, for reasons concerning which no claim is made. [3.3.2.2. Emphatic Words and Phrases 3.3.2. Emphasis, Foreign Words, and Unusual Language]
Modulecore
Attributes
Member of
Contained by
May contain
Example
<hi rend="gothic">And this Indenture further witnesseth</hi> that the said <hi rend="italic">Walter Shandy</hi>, merchant, in consideration of the said intended marriage ...
Content model
<content>
 <macroRef key="macro.paraContent"/>
</content>
    ⚓
Schema Declaration
element hi
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.written.attributes,
   cust_macro.paraContent
}⚓

3.1.83. <ident>

<ident> (identifier) contains an identifier or name for an object of some kind in a formal language. <ident> is used for tokens such as variable names, class names, type names, function names etc. in formal programming languages. [23.1.1. Phrase Level Terms]
Moduletagdocs
Attributes
type
StatusOptional
Datatypeteidata.enumerated
Suggested values include:
ge
(general entity name)
rng
(RELAX NG identifier)
frag
(DTD fragment identifier)
macro
ns
(namespace)
schema
pe
(parameter entity name)
datatype
file
module
class
Member of
Contained by
May containCharacter data only
Note

In running prose, this element may be used for any kind of identifier in any formal language. It should not be used for element and attribute names in XML, for which the special elements <gi> and <att> are provided.

Example
<ident type="ns">http://www.tei-c.org/ns/Examples</ident>
Content model
<content>
 <textNode/>
</content>
    ⚓
Schema Declaration
element ident
{
   cust_att.global.attributes,
   cust_att.typed.attribute.subtype,
   attribute type
   {
      "ge"
    | "rng"
    | "frag"
    | "macro"
    | "ns"
    | "schema"
    | "pe"
    | "datatype"
    | "file"
    | "module"
    | "class"
   }?,
   text
}⚓

3.1.84. <idno>

<idno> (identifier) supplies any form of identifier used to identify some object, such as a bibliographic item, a person, a title, an organization, etc. in a standardized way. [14.3.1. Basic Principles 2.2.4. Publication, Distribution, Licensing, etc. 2.2.5. The Series Statement 3.12.2.4. Imprint, Size of a Document, and Reprint Information]
Moduleheader
Attributes
type
StatusOptional
Datatypeteidata.enumerated
Suggested values include:
doi
(Digital Object Identifier)
isbn
(International Standard Book Number)
url
any form of web address
Member of
Contained by
May contain
header: idno
character data
Note

<idno> should be used for labels which identify an object or concept in a formal cataloguing system such as a database or an RDF store, or in a distributed system such as the World Wide Web. Some suggested values for type on <idno> are ISBN, ISSN, DOI, and URI.

Example
<idno type="ISBN">978-1-906964-22-1</idno> <idno type="ISSN">0143-3385</idno> <idno type="DOI">10.1000/123</idno> <idno type="URI">http://www.worldcat.org/oclc/185922478</idno> <idno type="URI">http://authority.nzetc.org/463/</idno> <idno type="LT">Thomason Tract E.537(17)</idno> <idno type="Wing">C695</idno> <idno type="oldCat">  <g ref="#sym"/>345 </idno>
In the last case, the identifier includes a non-Unicode character which is defined elsewhere by means of a <glyph> or <char> element referenced here as #sym.
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <textNode/>
  <classRef key="model.gLike"/>
  <elementRef key="idno"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element idno
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.datable.attributes,
   cust_att.sortable.attributes,
   cust_att.typed.attribute.subtype,
   attribute type { "doi" | "isbn" | "url" }?,
   ( text | cust_model.gLike | cust_idno )*
}⚓

3.1.85. <imprint>

<imprint> groups information relating to the publication or distribution of a bibliographic item. [3.12.2.4. Imprint, Size of a Document, and Reprint Information]
Modulecore
Attributes
Contained by
—
May contain
Example
<imprint>  <pubPlace>Oxford</pubPlace>  <publisher>Clarendon Press</publisher>  <date>1987</date> </imprint>
Content model
<content>
 <sequence>
  <alternate minOccurs="0"
   maxOccurs="unbounded">
   <elementRef key="classCode"/>
   <elementRef key="catRef"/>
  </alternate>
  <sequence minOccurs="1"
   maxOccurs="unbounded">
   <alternate>
    <classRef key="model.imprintPart"/>
    <classRef key="model.dateLike"/>
   </alternate>
   <elementRef key="respStmt" minOccurs="0"
    maxOccurs="unbounded"/>
   <classRef key="model.global"
    minOccurs="0" maxOccurs="unbounded"/>
  </sequence>
 </sequence>
</content>
    ⚓
Schema Declaration
element imprint
{
   cust_att.global.attributes,
   (
      ( classCode | catRef )*,
      (
         (
            ( cust_model.imprintPart | cust_model.dateLike ),
            cust_respStmt*,
            cust_model.global*
         )+
      )
   )
}⚓

3.1.86. <include>

<include>
Namespacehttp://www.example.org/cannot/really/use/XInclude
Modulederived-module-tei_customization
Attributes
href
StatusOptional
Datatypeteidata.pointer
parse
StatusOptional
Legal values are:
xml
[Default]
text
xpointer
StatusOptional
Datatypeteidata.text
encoding
StatusOptional
Datatypeteidata.text
accept
StatusOptional
Datatypeteidata.text
accept-language
StatusOptional
Datatypeteidata.text
Contained by
—
May contain
derived-module-tei_customization: fallback
Content model
<content>
 <elementRef key="fallback" minOccurs="0"
  maxOccurs="1"/>
</content>
    ⚓
Schema Declaration
element include
{
   attribute href { text }?,
   attribute parse { "xml" | "text" }?,
   attribute xpointer { text }?,
   attribute encoding { text }?,
   attribute accept { text }?,
   attribute accept-language { text }?,
   cust_fallback?
}⚓

3.1.87. <item>

<item> (item) contains one component of a list. [3.8. Lists 2.6. The Revision Description]
Modulecore
Attributes
Contained by
core: list
May contain
Note

May contain simple prose or a sequence of chunks.

Whatever string of characters is used to label a list item in the copy text may be used as the value of the global n attribute, but it is not required that numbering be recorded explicitly. In ordered lists, the n attribute on the <item> element is by definition synonymous with the use of the <label> element to record the enumerator of the list item. In glossary lists, however, the term being defined should be given with the <label> element, not n.

Example
<list rend="numbered">  <head>Here begin the chapter headings of Book IV</head>  <item n="4.1">The death of Queen Clotild.</item>  <item n="4.2">How King Lothar wanted to appropriate one third of the Church revenues.</item>  <item n="4.3">The wives and children of Lothar.</item>  <item n="4.4">The Counts of the Bretons.</item>  <item n="4.5">Saint Gall the Bishop.</item>  <item n="4.6">The priest Cato.</item>  <item> ...</item> </list>
Content model
<content>
 <macroRef key="macro.specialPara"/>
</content>
    ⚓
Schema Declaration
element item
{
   cust_att.global.attributes,
   cust_att.sortable.attributes,
   cust_macro.specialPara
}⚓

3.1.88. <label>

<label> (label) contains any label or heading used to identify part of a text, typically but not exclusively in a list or glossary. [3.8. Lists]
Modulecore
Attributes
Member of
Contained by
May contain
ExampleLabels are commonly used for the headwords in glossary lists; note the use of the global xml:lang attribute to set the default language of the glossary list to Middle English, and identify the glosses and headings as modern English or Latin:
<list type="gloss" xml:lang="enm">  <head xml:lang="en">Vocabulary</head>  <headLabel xml:lang="en">Middle English</headLabel>  <headItem xml:lang="en">New English</headItem>  <label>nu</label>  <item xml:lang="en">now</item>  <label>lhude</label>  <item xml:lang="en">loudly</item>  <label>bloweth</label>  <item xml:lang="en">blooms</item>  <label>med</label>  <item xml:lang="en">meadow</item>  <label>wude</label>  <item xml:lang="en">wood</item>  <label>awe</label>  <item xml:lang="en">ewe</item>  <label>lhouth</label>  <item xml:lang="en">lows</item>  <label>sterteth</label>  <item xml:lang="en">bounds, frisks (cf. <cit>    <ref>Chaucer, K.T.644</ref>    <quote>a courser, <term>sterting</term>as the fyr</quote>   </cit>  </item>  <label>verteth</label>  <item xml:lang="la">pedit</item>  <label>murie</label>  <item xml:lang="en">merrily</item>  <label>swik</label>  <item xml:lang="en">cease</item>  <label>naver</label>  <item xml:lang="en">never</item> </list>
ExampleLabels may also be used to record explicitly the numbers or letters which mark list items in ordered lists, as in this extract from Gibbon's Autobiography. In this usage the <label> element is synonymous with the n attribute on the <item> element:
I will add two facts, which have seldom occurred in the composition of six, or at least of five quartos. <list rend="runon" type="ordered">  <label>(1)</label>  <item>My first rough manuscript, without any intermediate copy, has been sent to the press.</item>  <label>(2) </label>  <item>Not a sheet has been seen by any human eyes, excepting those of the author and the    printer: the faults and the merits are exclusively my own.</item> </list>
ExampleLabels may also be used for other structured list items, as in this extract from the journal of Edward Gibbon:
<list type="gloss">  <label>March 1757.</label>  <item>I wrote some critical observations upon Plautus.</item>  <label>March 8th.</label>  <item>I wrote a long dissertation upon some lines of Virgil.</item>  <label>June.</label>  <item>I saw Mademoiselle Curchod — <quote xml:lang="la">Omnia vincit amor, et nos cedamus      amori.</quote>  </item>  <label>August.</label>  <item>I went to Crassy, and staid two days.</item> </list>
Note that the <label> might also appear within the <item> rather than as its sibling. Though syntactically valid, this usage is not recommended TEI practice.
ExampleLabels may also be used to represent a label or heading attached to a paragraph or sequence of paragraphs not treated as a structural division, or to a group of verse lines. Note that, in this case, the <label> element appears within the <p> or <lg> element, rather than as a preceding sibling of it.
<p>[...] <lb/>&amp; n’entrer en mauuais &amp; mal-heu- <lb/>ré meſnage. Or des que le conſente- <lb/>ment des parties y eſt le mariage eſt <lb/> arreſté, quoy que de faict il ne ſoit <label place="margin">Puiſſance maritale    entre les Romains.</label>  <lb/> conſommé. Depuis la conſomma- <lb/>tion du mariage la femme eſt ſoubs <lb/> la puiſſance du mary, s’il n’eſt eſcla- <lb/>ue ou enfant de famille : car en ce <lb/> cas, la femme, qui a eſpouſé vn en- <lb/>fant de famille, eſt ſous la puiſſance [...]</p>
In this example the text of the label appears in the right hand margin of the original source, next to the paragraph it describes, but approximately in the middle of it. If so desired the type attribute may be used to distinguish different categories of label.
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element label
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.placement.attributes,
   cust_att.typed.attributes,
   cust_att.written.attributes,
   cust_macro.phraseSeq
}⚓

3.1.89. <licence>

<licence> contains information about a licence or other legal agreement applicable to the text. [2.2.4. Publication, Distribution, Licensing, etc.]
Moduleheader
Attributes
Member of
Contained by
header: availability
May contain
Note

A <licence> element should be supplied for each licence agreement applicable to the text in question. The target attribute may be used to reference a full version of the licence. The when, notBefore, notAfter, from or to attributes may be used in combination to indicate the date or dates of applicability of the licence.

Example
<licence target="http://www.nzetc.org/tm/scholarly/tei-NZETC-Help.html#licensing"> Licence: Creative Commons Attribution-Share Alike 3.0 New Zealand Licence </licence>
Example
<availability>  <licence target="http://creativecommons.org/licenses/by/3.0/"   notBefore="2013-01-01">   <p>The Creative Commons Attribution 3.0 Unported (CC BY 3.0) Licence      applies to this document.</p>   <p>The licence was added on January 1, 2013.</p>  </licence> </availability>
Content model
<content>
 <macroRef key="macro.specialPara"/>
</content>
    ⚓
Schema Declaration
element licence
{
   cust_att.global.attributes,
   cust_att.datable.attributes,
   cust_att.pointing.attributes,
   cust_macro.specialPara
}⚓

3.1.90. <list>

<list> (list) contains any sequence of items organized as a list. [3.8. Lists]
Modulecore
Attributes
type(type) describes the nature of the items in the list.
Derived fromatt.typed
StatusOptional
Datatypeteidata.enumerated
Suggested values include:
gloss
(gloss) each list item glosses some term or concept, which is given by a <label> element preceding the list item.
index
(index) each list item is an entry in an index such as the alphabetical topical index at the back of a print volume.
instructions
(instructions) each list item is a step in a sequence of instructions, as in a recipe.
litany
(litany) each list item is one of a sequence of petitions, supplications or invocations, typically in a religious ritual.
syllogism
(syllogism) each list item is part of an argument consisting of two or more propositions and a final conclusion derived from them.
Note

Previous versions of these Guidelines recommended the use of type on <list> to encode the rendering or appearance of a list (whether it was bulleted, numbered, etc.). The current recommendation is to use the rend or style attributes for these aspects of a list, while using type for the more appropriate task of characterizing the nature of the content of a list.

The formal syntax of the element declarations allows <label> tags to be omitted from lists tagged <list type="gloss">; this is however a semantic error.

Member of
Contained by
May contain
Note

May contain an optional heading followed by a series of items, or a series of label and item pairs, the latter being optionally preceded by one or two specialized headings.

Example
<list rend="numbered">  <item>a butcher</item>  <item>a baker</item>  <item>a candlestick maker, with  <list rend="bulleted">    <item>rings on his fingers</item>    <item>bells on his toes</item>   </list>  </item> </list>
Example
<list type="syllogism" rend="bulleted">  <item>All Cretans are liars.</item>  <item>Epimenides is a Cretan.</item>  <item>ERGO Epimenides is a liar.</item> </list>
Example
<list type="litany" rend="simple">  <item>God save us from drought.</item>  <item>God save us from pestilence.</item>  <item>God save us from wickedness in high places.</item>  <item>Praise be to God.</item> </list>
ExampleThe following example treats the short numbered clauses of Anglo-Saxon legal codes as lists of items. The text is from an ordinance of King Athelstan (924–939):
<div1 type="section">  <head>Athelstan's Ordinance</head>  <list rend="numbered">   <item n="1">Concerning thieves. First, that no thief is to be spared who is caught with      the stolen goods, [if he is] over twelve years and [if the value of the goods is] over      eightpence.   <list rend="numbered">     <item n="1.1">And if anyone does spare one, he is to pay for the thief with his          wergild — and the thief is to be no nearer a settlement on that account — or to          clear himself by an oath of that amount.</item>     <item n="1.2">If, however, he [the thief] wishes to defend himself or to escape, he is          not to be spared [whether younger or older than twelve].</item>     <item n="1.3">If a thief is put into prison, he is to be in prison 40 days, and he may          then be redeemed with 120 shillings; and the kindred are to stand surety for him          that he will desist for ever.</item>     <item n="1.4">And if he steals after that, they are to pay for him with his wergild,          or to bring him back there.</item>     <item n="1.5">And if he steals after that, they are to pay for him with his wergild,          whether to the king or to him to whom it rightly belongs; and everyone of those who          supported him is to pay 120 shillings to the king as a fine.</item>    </list>   </item>   <item n="2">Concerning lordless men. And we pronounced about these lordless men, from whom      no justice can be obtained, that one should order their kindred to fetch back such a      person to justice and to find him a lord in public meeting.   <list rend="numbered">     <item n="2.1">And if they then will not, or cannot, produce him on that appointed day,          he is then to be a fugitive afterwards, and he who encounters him is to strike him          down as a thief.</item>     <item n="2.2">And he who harbours him after that, is to pay for him with his wergild          or to clear himself by an oath of that amount.</item>    </list>   </item>   <item n="3">Concerning the refusal of justice. The lord who refuses justice and upholds      his guilty man, so that the king is appealed to, is to repay the value of the goods and      120 shillings to the king; and he who appeals to the king before he demands justice as      often as he ought, is to pay the same fine as the other would have done, if he had      refused him justice.   <list rend="numbered">     <item n="3.1">And the lord who is an accessory to a theft by his slave, and it becomes          known about him, is to forfeit the slave and be liable to his wergild on the first          occasionp if he does it more often, he is to be liable to pay all that he owns.</item>     <item n="3.2">And likewise any of the king's treasurers or of our reeves, who has been          an accessory of thieves who have committed theft, is to liable to the same.</item>    </list>   </item>   <item n="4">Concerning treachery to a lord. And we have pronounced concerning treachery to      a lord, that he [who is accused] is to forfeit his life if he cannot deny it or is      afterwards convicted at the three-fold ordeal.</item>  </list> </div1>
Note that nested lists have been used so the tagging mirrors the structure indicated by the two-level numbering of the clauses. The clauses could have been treated as a one-level list with irregular numbering, if desired.
Example
<p>These decrees, most blessed Pope Hadrian, we propounded in the public council ... and they confirmed them in our hand in your stead with the sign of the Holy Cross, and afterwards inscribed with a careful pen on the paper of this page, affixing thus the sign of the Holy Cross. <list rend="simple">   <item>I, Eanbald, by the grace of God archbishop of the holy church of York, have      subscribed to the pious and catholic validity of this document with the sign of the Holy      Cross.</item>   <item>I, Ælfwold, king of the people across the Humber, consenting have subscribed with      the sign of the Holy Cross.</item>   <item>I, Tilberht, prelate of the church of Hexham, rejoicing have subscribed with the      sign of the Holy Cross.</item>   <item>I, Higbald, bishop of the church of Lindisfarne, obeying have subscribed with the      sign of the Holy Cross.</item>   <item>I, Ethelbert, bishop of Candida Casa, suppliant, have subscribed with thef sign of      the Holy Cross.</item>   <item>I, Ealdwulf, bishop of the church of Mayo, have subscribed with devout will.</item>   <item>I, Æthelwine, bishop, have subscribed through delegates.</item>   <item>I, Sicga, patrician, have subscribed with serene mind with the sign of the Holy      Cross.</item>  </list> </p>
Schematron
<sch:rule context="tei:list[@type='gloss']"> <sch:assert test="tei:label">The content of a "gloss" list should include a sequence of one or more pairs of a label element followed by an item element</sch:assert> </sch:rule>
Content model
<content>
 <sequence>
  <alternate minOccurs="0"
   maxOccurs="unbounded">
   <classRef key="model.divTop"/>
   <classRef key="model.global"/>
   <elementRef key="desc" minOccurs="0"
    maxOccurs="unbounded"/>
  </alternate>
  <alternate>
   <sequence minOccurs="1"
    maxOccurs="unbounded">
    <elementRef key="item"/>
    <classRef key="model.global"
     minOccurs="0" maxOccurs="unbounded"/>
   </sequence>
   <sequence>
    <elementRef key="headLabel"
     minOccurs="0"/>
    <elementRef key="headItem"
     minOccurs="0"/>
    <sequence minOccurs="1"
     maxOccurs="unbounded">
     <elementRef key="label"/>
     <classRef key="model.global"
      minOccurs="0" maxOccurs="unbounded"/>
     <elementRef key="item"/>
     <classRef key="model.global"
      minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
   </sequence>
  </alternate>
  <sequence minOccurs="0"
   maxOccurs="unbounded">
   <classRef key="model.divBottom"/>
   <classRef key="model.global"
    minOccurs="0" maxOccurs="unbounded"/>
  </sequence>
 </sequence>
</content>
    ⚓
Schema Declaration
element list
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.sortable.attributes,
   cust_att.typed.attribute.subtype,
   attribute type
   {
      "gloss" | "index" | "instructions" | "litany" | "syllogism"
   }?,
   (
      ( cust_model.divTop | cust_model.global | cust_desc* )*,
      (
         ( ( cust_item, cust_model.global* )+ )
       | (
            cust_headLabel?,
            cust_headItem?,
            (
               (
                  cust_label,
                  cust_model.global*,
                  cust_item,
                  cust_model.global*
               )+
            )
         )
      ),
      ( ( cust_model.divBottom, cust_model.global* )* )
   )
}⚓

3.1.91. <listChange>

<listChange> groups a number of change descriptions associated with either the creation of a source text or the revision of an encoded text. [2.6. The Revision Description 12.7. Identifying Changes and Revisions]
Moduleheader
Attributes
orderedindicates whether the ordering of its child <change> elements is to be considered significant or not.
StatusOptional
Datatypeteidata.truthValue
Defaulttrue
Contained by
May contain
core: desc
Note

When this element appears within the <creation> element it documents the set of revision campaigns or stages identified during the evolution of the original text. When it appears within the <revisionDesc> element, it documents only changes made during the evolution of the encoded representation of that text.

Example
<revisionDesc>  <listChange>   <change when="1991-11-11" who="#LB"> deleted chapter 10 </change>   <change when="1991-11-02" who="#MSM"> completed first draft </change>  </listChange> </revisionDesc>
Example
<profileDesc>  <creation>   <listChange ordered="true">    <change xml:id="CHG-1">First stage, written in ink by a writer</change>    <change xml:id="CHG-2">Second stage, written in Goethe's hand using pencil</change>    <change xml:id="CHG-3">Fixation of the revised passages and further revisions by        Goethe using ink</change>    <change xml:id="CHG-4">Addition of another stanza in a different hand,        probably at a later stage</change>   </listChange>  </creation> </profileDesc>
Content model
<content>
 <sequence>
  <elementRef key="desc" minOccurs="0"
   maxOccurs="unbounded"/>
  <alternate minOccurs="1"
   maxOccurs="unbounded">
   <elementRef key="listChange"/>
   <elementRef key="change"/>
  </alternate>
 </sequence>
</content>
    ⚓
Schema Declaration
element listChange
{
   cust_att.global.attributes,
   cust_att.sortable.attributes,
   cust_att.typed.attributes,
   attribute ordered { text }?,
   ( cust_desc*, ( cust_listChange | cust_change )+ )
}⚓

3.1.92. <listPrefixDef>

<listPrefixDef> (list of prefix definitions) contains a list of definitions of prefixing schemes used in teidata.pointer values, showing how abbreviated URIs using each scheme may be expanded into full URIs. [17.2.3. Using Abbreviated Pointers]
Moduleheader
Attributes
Member of
Contained by
May contain
ExampleIn this example, two private URI scheme prefixes are defined and patterns are provided for dereferencing them. Each prefix is also supplied with a human-readable explanation in a <p> element.
<listPrefixDef>  <prefixDef ident="psn"   matchPattern="([A-Z]+)"   replacementPattern="personography.xml#$1">   <p> Private URIs using the <code>psn</code>      prefix are pointers to <gi>person</gi>      elements in the personography.xml file.      For example, <code>psn:MDH</code>      dereferences to <code>personography.xml#MDH</code>.   </p>  </prefixDef>  <prefixDef ident="bibl"   matchPattern="([a-z]+[a-z0-9]*)"   replacementPattern="http://www.example.com/getBibl.xql?id=$1">   <p> Private URIs using the <code>bibl</code> prefix can be      expanded to form URIs which retrieve the relevant      bibliographical reference from www.example.com.   </p>  </prefixDef> </listPrefixDef>
Content model
<content>
 <sequence>
  <elementRef key="desc" minOccurs="0"
   maxOccurs="unbounded"/>
  <alternate minOccurs="1"
   maxOccurs="unbounded">
   <elementRef key="prefixDef"/>
   <elementRef key="listPrefixDef"/>
  </alternate>
 </sequence>
</content>
    ⚓
Schema Declaration
element listPrefixDef
{
   cust_att.global.attributes,
   ( cust_desc*, ( cust_prefixDef | cust_listPrefixDef )+ )
}⚓

3.1.93. <listRef>

<listRef> (list of references) supplies a list of significant references in the current document or elsewhere.
Moduletagdocs
Attributes
Member of
Contained by
May contain
core: desc ptr ref
tagdocs: listRef
Note

When <listRef> is used in the context of tagdocs, further restrictons apply:

  • It may only contain <ptr> or <ref> elements.
  • Each <ptr> or <ref> child should bear a target attribute, the value of which should be a single URI pointer.
Example
<listRef>  <ptr target="#ddc12"/> </listRef>
Schematron
<sch:rule context="( tei:classSpec | tei:dataSpec | tei:elementSpec | tei:macroSpec | tei:moduleSpec | tei:schemaSpec | tei:specGrp )/tei:listRef"> <sch:report test="tei:listRef">In the context of tagset documentation, the listRef element must not self-nest.</sch:report> </sch:rule>
Schematron
<sch:rule context="( tei:classSpec | tei:dataSpec | tei:elementSpec | tei:macroSpec | tei:moduleSpec | tei:schemaSpec | tei:specGrp )/tei:listRef/tei:ptr | ( tei:classSpec | tei:dataSpec | tei:elementSpec | tei:macroSpec | tei:moduleSpec | tei:schemaSpec | tei:specGrp )/tei:listRef/tei:ref"> <sch:assert test="@target and not( matches( @target,'\s') )">In the context of tagset documentation, each ptr or ref element inside a listRef must have a target attribute with only 1 pointer as its value.</sch:assert> </sch:rule>
Content model
<content>
 <sequence>
  <elementRef key="desc" minOccurs="0"
   maxOccurs="unbounded"/>
  <classRef key="model.ptrLike"
   minOccurs="1" maxOccurs="unbounded"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element listRef
{
   cust_att.global.attributes,
   cust_att.typed.attributes,
   ( cust_desc*, cust_model.ptrLike+ )
}⚓

3.1.94. <macroRef>

<macroRef> points to the specification for some pattern which is to be included in a schema. [23.7. Macro Specifications]
Moduletagdocs
Attributes
key
StatusRequired
Datatypeteidata.enumerated
Suggested values include:
macro.abContent
(anonymous block content)
macro.limitedContent
(paragraph content)
macro.paraContent
(paragraph content)
macro.phraseSeq
(phrase sequence)
macro.phraseSeq.limited
(limited phrase sequence)
macro.specialPara
('special' paragraph content)
macro.specialPara.cmc
('special' paragraph content with added CMC element(s))
macro.xtext
(extended text)
Member of
Contained by
May containEmpty element
Note

Patterns or macros are identified by the name supplied as value for the ident attribute on the <macroSpec> element in which they are declared. All TEI macro names are unique.

Example
<schemaSpec ident="myTEI"  source="http://www.tei-c.org/Vault/P5/current/xml/tei/odd/p5subset.xml"> <!-- ... -->  <macroRef key="macro.paraContent"/> <!-- ... --> </schemaSpec>
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element macroRef
{
   cust_att.global.attributes,
   attribute key
   {
      "macro.abContent"
    | "macro.limitedContent"
    | "macro.paraContent"
    | "macro.phraseSeq"
    | "macro.phraseSeq.limited"
    | "macro.specialPara"
    | "macro.specialPara.cmc"
    | "macro.xtext"
   },
   empty
}⚓

3.1.95. <macroSpec>

<macroSpec> (macro specification) documents the function and implementation of a pattern. [23.3. Specification Elements 23.7. Macro Specifications]
Moduletagdocs
Attributes
ident
StatusRequired
Datatypeteidata.enumerated
Suggested values include:
macro.abContent
(anonymous block content)
macro.limitedContent
(paragraph content)
macro.paraContent
(paragraph content)
macro.phraseSeq
(phrase sequence)
macro.phraseSeq.limited
(limited phrase sequence)
macro.specialPara
('special' paragraph content)
macro.specialPara.cmc
('special' paragraph content with added CMC element(s))
macro.xtext
(extended text)
Member of
Contained by
May contain
Example
<macroSpec module="tei"  ident="macro.phraseSeq">  <content>   <alternate minOccurs="0"    maxOccurs="unbounded">    <textNode/>    <classRef key="model.gLike"/>    <classRef key="model.phrase"/>    <classRef key="model.global"/>   </alternate>  </content> </macroSpec>
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1">
  <alternate minOccurs="0"
   maxOccurs="unbounded">
   <classRef key="model.identSynonyms"/>
   <classRef key="model.descLike"/>
  </alternate>
  <alternate minOccurs="0" maxOccurs="1">
   <elementRef key="content"/>
   <elementRef key="valList"/>
  </alternate>
  <elementRef key="constraintSpec"
   minOccurs="0" maxOccurs="unbounded"/>
  <elementRef key="exemplum" minOccurs="0"
   maxOccurs="unbounded"/>
  <elementRef key="remarks" minOccurs="0"
   maxOccurs="unbounded"/>
  <elementRef key="listRef" minOccurs="0"
   maxOccurs="unbounded"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element macroSpec
{
   cust_att.global.attributes,
   cust_att.identified.attribute.module,
   cust_att.identified.attribute.predeclare,
   cust_att.combinable.attribute.mode,
   cust_att.deprecated.attribute.validUntil,
   attribute ident
   {
      "macro.abContent"
    | "macro.limitedContent"
    | "macro.paraContent"
    | "macro.phraseSeq"
    | "macro.phraseSeq.limited"
    | "macro.specialPara"
    | "macro.specialPara.cmc"
    | "macro.xtext"
   },
   (
      ( cust_model.identSynonyms | cust_model.descLike )*,
      ( cust_content | cust_valList )?,
      cust_constraintSpec*,
      cust_exemplum*,
      cust_remarks*,
      cust_listRef*
   )
}⚓

3.1.96. <media>

<media> indicates the location of any form of external media such as an audio or video clip etc. [3.10. Graphics and Other Non-textual Components]
Modulecore
Attributes
mimeType(MIME media type) specifies the applicable multimedia internet mail extension (MIME) media type.
Derived fromatt.internetMedia
StatusRequired
Datatype1–∞ occurrences of teidata.word separated by whitespace
Member of
Contained by
May contain
core: desc
Note

The attributes available for this element are not appropriate in all cases. For example, it makes no sense to specify the temporal duration of a graphic. Such errors are not currently detected.

The mimeType attribute must be used to specify the MIME media type of the resource specified by the url attribute.

Example
<figure>  <media mimeType="image/png" url="fig1.png"/>  <head>Figure One: The View from the Bridge</head>  <figDesc>A Whistleresque view showing four or five sailing boats in the foreground, and a    series of buoys strung out between them.</figDesc> </figure>
Example
<media mimeType="audio/wav"  url="dingDong.wav" dur="PT10S">  <desc>Ten seconds of bellringing sound</desc> </media>
Example
<media mimeType="video/mp4"  url="clip45.mp4" dur="PT45M" width="500px">  <desc>A 45 minute video clip to be displayed in a window 500    px wide</desc> </media>
Content model
<content>
 <classRef key="model.descLike"
  minOccurs="0" maxOccurs="unbounded"/>
</content>
    ⚓
Schema Declaration
element media
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.declaring.attributes,
   cust_att.media.attribute.width,
   cust_att.media.attribute.height,
   cust_att.media.attribute.scale,
   cust_att.resourced.attributes,
   cust_att.timed.attributes,
   cust_att.typed.attributes,
   attribute mimeType { list { + } },
   cust_model.descLike*
}⚓

3.1.97. <meeting>

<meeting> contains the formalized descriptive title for a meeting or conference, for use in a bibliographic description for an item derived from such a meeting, or as a heading or preamble to publications emanating from it. [3.12.2.2. Titles, Authors, and Editors]
Modulecore
Attributes
Member of
Contained by
core: bibl list
figures: figure table
textstructure: body div front
May contain
Example
<div>  <meeting>Ninth International Conference on Middle High German Textual Criticism, Aachen,    June 1998.</meeting>  <list type="attendance">   <head>List of Participants</head>   <item>    <persName>...</persName>   </item>   <item>    <persName>...</persName>   </item> <!--...-->  </list>  <p>...</p> </div>
Content model
<content>
 <macroRef key="macro.limitedContent"/>
</content>
    ⚓
Schema Declaration
element meeting
{
   cust_att.global.attributes,
   cust_att.canonical.attributes,
   cust_att.cmc.attributes,
   cust_att.datable.attributes,
   cust_macro.limitedContent
}⚓

3.1.98. <memberOf>

<memberOf> specifies class membership of the documented element or class. [23.4.3. Classification of Components]
Moduletagdocs
Attributes
key
StatusOptional
Datatypeteidata.enumerated
Suggested values include:
att.anchoring
(anchoring)
att.ascribed
att.ascribed.directed
att.breaking
att.cReferencing
att.calendarSystem
att.canonical
att.citeStructurePart
att.citing
att.cmc
(computer-mediated communication)
att.combinable
att.coordinated
att.damaged
att.datable
att.datable.custom
att.datable.iso
att.datable.w3c
att.datcat
att.declarable
att.declaring
att.deprecated
att.dimensions
att.divLike
att.docStatus
att.duration
att.duration.iso
att.duration.w3c
att.editLike
att.edition
att.enjamb
(enjambement)
att.entryLike
att.formula
att.fragmentable
att.gaijiProp
att.global
att.global.analytic
att.global.change
att.global.facs
att.global.linking
att.global.rendition
att.global.responsibility
att.global.source
att.handFeatures
att.identified
att.indentation
att.internetMedia
att.interpLike
att.lexicographic
att.lexicographic.normalized
att.linguistic
att.locatable
att.measurement
att.media
att.metrical
att.milestoneUnit
att.msClass
att.msExcerpt
(manuscript excerpt)
att.namespaceable
att.naming
att.notated
att.partials
att.patternReplacement
att.personal
(attributes for components of names usually, but not necessarily, personal names)
att.placement
att.pointing
att.pointing.group
att.predicate
att.ranging
att.rdgPart
att.repeatable
att.resourced
att.scope
att.scoping
att.segLike
att.sortable
att.spanning
att.styleDef
att.tableDecoration
att.textCritical
att.timed
att.transcriptional
att.translatable
att.typed
att.witnessed
att.written
model.addrPart
model.addressLike
model.annotationLike
model.annotationPart.body
model.applicationLike
model.attributable
model.availabilityPart
model.biblLike
model.biblPart
model.castItemPart
model.catDescPart
model.certLike
model.choicePart
model.cmc
model.common
model.contentPart
model.correspActionPart
model.correspContextPart
model.correspDescPart
model.dateLike
model.descLike
model.describedResource
model.dimLike
model.div1Like
model.div2Like
model.div3Like
model.div4Like
model.div5Like
model.div6Like
model.div7Like
model.divBottom
model.divBottomPart
model.divGenLike
model.divLike
model.divPart
model.divPart.spoken
model.divTop
model.divTopPart
model.divWrapper
model.editorialDeclPart
model.egLike
model.emphLike
model.encodingDescPart
model.entryLike
model.entryPart
model.entryPart.top
model.eventLike
model.featureVal
model.featureVal.complex
model.featureVal.single
model.formPart
model.frontPart
model.frontPart.drama
model.fsdDeclPart
model.gLike
model.global
model.global.edit
model.global.meta
model.global.spoken
model.gramPart
model.graphicLike
model.headLike
model.hiLike
model.highlighted
model.identEquiv
model.identSynonyms
model.imprintPart
model.inter
model.lLike
model.lPart
model.labelLike
model.lexicalRefinement
model.limitedPhrase
model.linePart
model.listLike
model.measureLike
model.milestoneLike
model.morphLike
model.msItemPart
model.msQuoteLike
model.nameLike
model.nameLike.agent
model.noteLike
model.objectLike
model.oddDecl
model.oddRef
model.offsetLike
model.orgPart
model.orgStateLike
model.pLike
model.pLike.front
model.pPart.data
model.pPart.edit
model.pPart.editorial
model.pPart.msdesc
model.pPart.transcriptional
model.paraPart
model.persNamePart
model.persStateLike
model.personLike
model.personPart
model.phrase
model.phrase.xml
model.physDescPart
model.placeLike
model.placeNamePart
model.placeStateLike
model.profileDescPart
model.ptrLike
model.ptrLike.form
model.publicationStmtPart.agency
model.publicationStmtPart.detail
model.quoteLike
model.rdgLike
model.rdgPart
model.recordingPart
model.resource
model.respLike
model.segLike
model.settingPart
model.sourceDescPart
model.specDescLike
model.stageLike
model.standOffPart
model.teiHeaderPart
model.textDescPart
model.titlepagePart
modespecifies the effect of this declaration on its parent module.
StatusOptional
Datatypeteidata.enumerated
Legal values are:
add
this declaration is added to the current definitions[Default]
delete
this declaration and all of its children are removed from the current setup
maxsupplies the maximum number of times the element can occur in elements which use this model class in their content model
StatusOptional
Datatypeteidata.numeric
minsupplies the minumum number of times the element must occur in elements which use this model class in their content model
StatusOptional
Datatypeteidata.numeric
Contained by
tagdocs: classes
May containCharacter data only
Note

Elements or classes which are members of multiple (unrelated) classes will have more than one <memberOf> element, grouped by a <classes> element. If an element is a member of a class C1, which is itself a subclass of a class C2, there is no need to state this, other than in the documentation for class C1.

Any additional comment or explanation of the class membership may be provided as content for this element.

Example
<memberOf key="model.divLike"/> <memberOf key="att.identified"/>
This element will appear in any content model which references model.divLike, and will have attributes defined in att.identified (in addition to any defined explicitly for this element).
Content model
<content>
 <macroRef key="macro.xtext"/>
</content>
    ⚓
Schema Declaration
element memberOf
{
   cust_att.global.attributes,
   attribute key
   {
      "att.anchoring"
    | "att.ascribed"
    | "att.ascribed.directed"
    | "att.breaking"
    | "att.cReferencing"
    | "att.calendarSystem"
    | "att.canonical"
    | "att.citeStructurePart"
    | "att.citing"
    | "att.cmc"
    | "att.combinable"
    | "att.coordinated"
    | "att.damaged"
    | "att.datable"
    | "att.datable.custom"
    | "att.datable.iso"
    | "att.datable.w3c"
    | "att.datcat"
    | "att.declarable"
    | "att.declaring"
    | "att.deprecated"
    | "att.dimensions"
    | "att.divLike"
    | "att.docStatus"
    | "att.duration"
    | "att.duration.iso"
    | "att.duration.w3c"
    | "att.editLike"
    | "att.edition"
    | "att.enjamb"
    | "att.entryLike"
    | "att.formula"
    | "att.fragmentable"
    | "att.gaijiProp"
    | "att.global"
    | "att.global.analytic"
    | "att.global.change"
    | "att.global.facs"
    | "att.global.linking"
    | "att.global.rendition"
    | "att.global.responsibility"
    | "att.global.source"
    | "att.handFeatures"
    | "att.identified"
    | "att.indentation"
    | "att.internetMedia"
    | "att.interpLike"
    | "att.lexicographic"
    | "att.lexicographic.normalized"
    | "att.linguistic"
    | "att.locatable"
    | "att.measurement"
    | "att.media"
    | "att.metrical"
    | "att.milestoneUnit"
    | "att.msClass"
    | "att.msExcerpt"
    | "att.namespaceable"
    | "att.naming"
    | "att.notated"
    | "att.partials"
    | "att.patternReplacement"
    | "att.personal"
    | "att.placement"
    | "att.pointing"
    | "att.pointing.group"
    | "att.predicate"
    | "att.ranging"
    | "att.rdgPart"
    | "att.repeatable"
    | "att.resourced"
    | "att.scope"
    | "att.scoping"
    | "att.segLike"
    | "att.sortable"
    | "att.spanning"
    | "att.styleDef"
    | "att.tableDecoration"
    | "att.textCritical"
    | "att.timed"
    | "att.transcriptional"
    | "att.translatable"
    | "att.typed"
    | "att.witnessed"
    | "att.written"
    | "model.addrPart"
    | "model.addressLike"
    | "model.annotationLike"
    | "model.annotationPart.body"
    | "model.applicationLike"
    | "model.attributable"
    | "model.availabilityPart"
    | "model.biblLike"
    | "model.biblPart"
    | "model.castItemPart"
    | "model.catDescPart"
    | "model.certLike"
    | "model.choicePart"
    | "model.cmc"
    | "model.common"
    | "model.contentPart"
    | "model.correspActionPart"
    | "model.correspContextPart"
    | "model.correspDescPart"
    | "model.dateLike"
    | "model.descLike"
    | "model.describedResource"
    | "model.dimLike"
    | "model.div1Like"
    | "model.div2Like"
    | "model.div3Like"
    | "model.div4Like"
    | "model.div5Like"
    | "model.div6Like"
    | "model.div7Like"
    | "model.divBottom"
    | "model.divBottomPart"
    | "model.divGenLike"
    | "model.divLike"
    | "model.divPart"
    | "model.divPart.spoken"
    | "model.divTop"
    | "model.divTopPart"
    | "model.divWrapper"
    | "model.editorialDeclPart"
    | "model.egLike"
    | "model.emphLike"
    | "model.encodingDescPart"
    | "model.entryLike"
    | "model.entryPart"
    | "model.entryPart.top"
    | "model.eventLike"
    | "model.featureVal"
    | "model.featureVal.complex"
    | "model.featureVal.single"
    | "model.formPart"
    | "model.frontPart"
    | "model.frontPart.drama"
    | "model.fsdDeclPart"
    | "model.gLike"
    | "model.global"
    | "model.global.edit"
    | "model.global.meta"
    | "model.global.spoken"
    | "model.gramPart"
    | "model.graphicLike"
    | "model.headLike"
    | "model.hiLike"
    | "model.highlighted"
    | "model.identEquiv"
    | "model.identSynonyms"
    | "model.imprintPart"
    | "model.inter"
    | "model.lLike"
    | "model.lPart"
    | "model.labelLike"
    | "model.lexicalRefinement"
    | "model.limitedPhrase"
    | "model.linePart"
    | "model.listLike"
    | "model.measureLike"
    | "model.milestoneLike"
    | "model.morphLike"
    | "model.msItemPart"
    | "model.msQuoteLike"
    | "model.nameLike"
    | "model.nameLike.agent"
    | "model.noteLike"
    | "model.objectLike"
    | "model.oddDecl"
    | "model.oddRef"
    | "model.offsetLike"
    | "model.orgPart"
    | "model.orgStateLike"
    | "model.pLike"
    | "model.pLike.front"
    | "model.pPart.data"
    | "model.pPart.edit"
    | "model.pPart.editorial"
    | "model.pPart.msdesc"
    | "model.pPart.transcriptional"
    | "model.paraPart"
    | "model.persNamePart"
    | "model.persStateLike"
    | "model.personLike"
    | "model.personPart"
    | "model.phrase"
    | "model.phrase.xml"
    | "model.physDescPart"
    | "model.placeLike"
    | "model.placeNamePart"
    | "model.placeStateLike"
    | "model.profileDescPart"
    | "model.ptrLike"
    | "model.ptrLike.form"
    | "model.publicationStmtPart.agency"
    | "model.publicationStmtPart.detail"
    | "model.quoteLike"
    | "model.rdgLike"
    | "model.rdgPart"
    | "model.recordingPart"
    | "model.resource"
    | "model.respLike"
    | "model.segLike"
    | "model.settingPart"
    | "model.sourceDescPart"
    | "model.specDescLike"
    | "model.stageLike"
    | "model.standOffPart"
    | "model.teiHeaderPart"
    | "model.textDescPart"
    | "model.titlepagePart"
   }?,
   attribute mode { "add" | "delete" }?,
   attribute max { text }?,
   attribute min { text }?,
   cust_macro.xtext
}⚓

3.1.99. <mentioned>

<mentioned> marks words or phrases mentioned, not used. [3.3.3. Quotation]
Modulecore
Attributes
Member of
Contained by
May contain
Example
There is thus a striking accentual difference between a verbal form like <mentioned xml:id="X234" xml:lang="el">eluthemen</mentioned> <gloss target="#X234">we were released,</gloss> accented on the second syllable of the word, and its participial derivative <mentioned xml:id="X235" xml:lang="el">lutheis</mentioned> <gloss target="#X235">released,</gloss> accented on the last.
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element mentioned
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_macro.phraseSeq
}⚓

3.1.100. <model>

<model> describes the processing intended for a specified element. [23.5.4.1. The TEI processing model]
Moduletagdocs
Attributes
behaviournames the process or function which this processing model uses in order to produce output.
StatusRequired
Datatypeteidata.enumerated
Suggested values include:
alternate
(default, alternate) support display of alternative visualisations, for example by displaying the preferred content, by displaying both in parallel, or by toggling between the two.
anchor
(id) create an identifiable anchor point in the output.
block
(content) create a block structure
body
(content) create the body of a document.
break
(type, label) create a line, column, or page break according to the value of type
cell
(content) create a table cell
cit
(content, source) show the content, with an indication of the source
document
(content) start a new output document
figure
(title) make a figure with the title as caption
glyph
(uri) show a character by looking up reference to a chardesc at the given URI
graphic
(url, width, height, scale, title) if url is present, uses it to display graphic, else display a placeholder image.
heading
(content, level) creates a heading.
index
(type) generate list according to type.
inline
(content, label) creates inline element out of content
link
(content, uri) create hyperlink
list
(content) create a list.
listItem
(content) create a list item.
metadata
(content) create metadata section
note
(content, place, label) create a note, often out of line, depending on the value of place; could be margin, footnote, endnote, inline
omit
do nothing, do not process children
paragraph
(content) create a paragraph out of content.
row
(content) create a table row
section
(content) create a new section of the output document
table
(content) create a table
text
(content) create literal text
title
(content) create document title
useSourceRenditionwhether to obey any rendition attribute that is present.
StatusOptional
Datatypeteidata.truthValue
Note

If the useSourceRendition attribute is not specified, or has the value false, any renditional information specified in the source document should be ignored.

outputthe intended output.
StatusOptional
Datatypeteidata.enumerated
Sample values include:
web
the output is intended for presentation in a web format
print
the output is intended for presentation in a print format
plain
the output is intended for presentation in a plain text format
Note

If the output attribute is not specified, this model is assumed to apply for all forms of output.

cssClassthe name of a CSS class which should be associated with this element
StatusOptional
Datatype1–∞ occurrences of teidata.name separated by whitespace
Contained by
May contain
Note

The intended output to be generated for a particular behaviour of a processing model may be documented in one or all of the three following ways. Firstly, the cssClass attribute may be used to specify the name of a CSS style in some associated CSS stylesheet which is to be applied to each occurrence of a specified element found (in a given context, for a specified output). Secondly, the attribute useSourceRendition may be used to indicate that the default rendition for occurrences of this element, as defined by a <rendition> element in the document header, should be applied. Thirdly, the styling to be applied may be specified explicitly as content of a child <outputRendition> element. When more than one of these options is used, they are understood to be combined in accordance with the rules for multiple declaration of the styling language used.

Example
<model behaviour="inline"/>
Example
<elementSpec mode="change" ident="quote">  <model predicate="ancestor::p"   behaviour="inline">   <desc versionDate="2015-08-21"    xml:lang="en">If it's inside a paragraph then it's      inline</desc>  </model>  <model predicate="not(ancestor::p)"   behaviour="block">   <desc versionDate="2015-08-21"    xml:lang="en">If it's not inside a paragraph then it is      block level</desc>  </model> </elementSpec>
Example
<model predicate="parent::person"  behaviour="inline">  <desc versionDate="2015-08-21"   xml:lang="en">If it is a child of a person element, treat as    inline</desc> </model>
Example
<model behaviour="inline">  <outputRendition>font-weight:bold</outputRendition> </model>
Example
<model behaviour="inline" output="print"/>
Example
<model predicate="ancestor::p"  behaviour="inline">  <param name="content" value="@n"/> </model>
Example
<elementSpec mode="change" ident="date">  <model output="print" predicate="text()"   behaviour="inline"/>  <model output="print"   predicate="@when and not(text())" behaviour="inline">   <param name="content" value="@when"/>  </model>  <model predicate="@when" output="web"   behaviour="alternate">   <param name="alternate" value="@when"/>  </model> </elementSpec>
Example
<elementSpec mode="change" ident="choice">  <model predicate="sic and corr"   behaviour="alternate">   <param name="default" value="corr"/>   <param name="alternate" value="sic"/>  </model>  <model predicate="abbr and expan"   behaviour="alternate">   <param name="default" value="expan"/>   <param name="alternate" value="abbr"/>  </model>  <model predicate="orig and reg"   behaviour="alternate">   <param name="default" value="reg"/>   <param name="alternate" value="orig"/>  </model> </elementSpec>
SchematronIt is ambigous to have 2 <model>s that have both the same output and have no predicate (and thus select the same set of nodes).
<sch:rule context="tei:model[ not( parent::tei:modelSequence ) ][ not( @predicate ) ]"> <sch:let name="output"  value="normalize-space( @output )"/> <sch:report test="following-sibling::tei:model [ not( @predicate )] [ normalize-space( @output ) eq $output ]"> There are 2 (or more) 'model' elements in this '<sch:value-of select="local-name(..)"/>' that have no predicate, but are targeted to the same output ("<sch:value-of select="( $output, parent::modelGrp/@output, 'all')[1]"/>")</sch:report> </sch:rule>
SchematronIt is ambigous to have 2 <model>s that have both the same output and the same predicate (and thus select the same set of nodes).
<sch:rule context="tei:model[ not( parent::tei:modelSequence ) ][ @predicate ]"> <sch:let name="predicate"  value="normalize-space( @predicate )"/> <sch:let name="output"  value="normalize-space( @output )"/> <sch:report test="following-sibling::tei:model [ normalize-space( @predicate ) eq $predicate ] [ normalize-space( @output ) eq $output ]"> There are 2 (or more) 'model' elements in this '<sch:value-of select="local-name(..)"/>' that have the same predicate, and are targeted to the same output ("<sch:value-of select="( $output, parent::modelGrp/@output, 'all')[1]"/>")</sch:report> </sch:rule>
Content model
<content>
 <sequence>
  <alternate minOccurs="0"
   maxOccurs="unbounded">
   <classRef key="model.identEquiv"/>
   <classRef key="model.descLike"/>
  </alternate>
  <elementRef key="param" minOccurs="0"
   maxOccurs="unbounded"/>
  <elementRef key="outputRendition"
   minOccurs="0" maxOccurs="unbounded"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element model
{
   cust_att.global.attributes,
   cust_att.predicate.attributes,
   attribute behaviour
   {
      "alternate"
    | "anchor"
    | "block"
    | "body"
    | "break"
    | "cell"
    | "cit"
    | "document"
    | "figure"
    | "glyph"
    | "graphic"
    | "heading"
    | "index"
    | "inline"
    | "link"
    | "list"
    | "listItem"
    | "metadata"
    | "note"
    | "omit"
    | "paragraph"
    | "row"
    | "section"
    | "table"
    | "text"
    | "title"
   },
   attribute useSourceRendition { text }?,
   attribute output { text }?,
   attribute cssClass { list { + } }?,
   (
      ( cust_model.identEquiv | cust_model.descLike )*,
      cust_param*,
      cust_outputRendition*
   )
}⚓

3.1.101. <modelGrp>

<modelGrp> (model group) any grouping of <model> or <modelSequence> elements with a common output method. [23.5.4.4. Model Contexts and Outputs]
Moduletagdocs
Attributes
useSourceRenditionwhether to obey any rendition attribute which is present.
StatusOptional
Datatypeteidata.truthValue
outputthe intended output method.
StatusOptional
Datatypeteidata.enumerated
Suggested values include:
web
the output is intended for presentation in a web format
print
the output is intended for presentation in a print format
plaintext
the output is intended for presentation in a plain text format
Contained by
—
May contain
Note

The child <model> elements of a <modelGrp> are always processed independently.

Example
<elementSpec mode="change" ident="abbr">  <modelGrp output="web">   <model predicate="parent::choice"    behaviour="omit"/>   <model predicate="ancestor::front"    behaviour="inline">    <outputRendition>font-style:italic; </outputRendition>   </model>   <model predicate="not(parent::choice)"    behaviour="inline">    <outputRendition scope="before">content: ' ('</outputRendition>    <outputRendition scope="after">content: ')'</outputRendition>   </model>  </modelGrp>  <modelGrp output="print">   <model predicate="parent::choice"    behaviour="omit"/>   <model predicate="not(parent::choice)"    behaviour="note">    <param name="place" value="'foot'"/>   </model>  </modelGrp> </elementSpec>
Example
<modelGrp output="print">  <modelSequence>   <model behaviour="inline">    <param name="content" value="@n"/>   </model>   <model behaviour="note">    <param name="place" value="'foot'"/>   </model>  </modelSequence> </modelGrp>
Content model
<content>
 <sequence>
  <alternate minOccurs="0"
   maxOccurs="unbounded">
   <classRef key="model.identEquiv"/>
   <classRef key="model.descLike"/>
  </alternate>
  <elementRef key="outputRendition"
   minOccurs="0"/>
  <alternate minOccurs="1"
   maxOccurs="unbounded">
   <elementRef key="modelSequence"/>
   <elementRef key="model"/>
  </alternate>
 </sequence>
</content>
    ⚓
Schema Declaration
element modelGrp
{
   cust_att.global.attributes,
   attribute useSourceRendition { text }?,
   attribute output { "web" | "print" | "plaintext" }?,
   (
      ( cust_model.identEquiv | cust_model.descLike )*,
      cust_outputRendition?,
      ( cust_modelSequence | cust_model )+
   )
}⚓

3.1.102. <modelSequence>

<modelSequence> any sequence of model or <modelSequence> elements which is to be processed as a single set of actions. [23.5.4.7. Model sequence]
Moduletagdocs
Attributes
predicatethe condition under which this model applies given as an XPath Predicate Expression.
StatusOptional
Datatypeteidata.xpath
useSourceRenditionwhether to obey any rendition attribute that is present.
StatusOptional
Datatypeteidata.truthValue
outputthe intended output method.
StatusOptional
Datatypeteidata.enumerated
Suggested values include:
web
the output is intended for presentation in a web format
print
the output is intended for presentation in a print format
plaintext
the output is intended for presentation in a plain text format
Contained by
tagdocs: modelGrp
May contain
core: desc gloss
tagdocs: equiv model
Note

All of the <model> elements inside a <modelSequence> element must be processed. The operations indicated by each <model> child cannot be dependent on any other operation in the sequence. The results must be rendered in the order given by the list of <model>s in the <modelSequence>.

Example
<modelGrp output="print">  <modelSequence>   <model behaviour="inline">    <param name="content" value="@n"/>   </model>   <model behaviour="footnote">    <param name="place" value="'foot'"/>   </model>  </modelSequence> </modelGrp>
Schematron
<sch:rule context="tei:modelSequence"> <sch:report test="tei:model[@output]"  role="warning">The 'model' children of a 'modelSequence' element inherit the @output attribute of the parent 'modelSequence', and thus should not have their own</sch:report> </sch:rule>
Content model
<content>
 <sequence>
  <alternate minOccurs="0"
   maxOccurs="unbounded">
   <classRef key="model.identEquiv"/>
   <classRef key="model.descLike"/>
  </alternate>
  <elementRef key="model" minOccurs="2"
   maxOccurs="unbounded"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element modelSequence
{
   cust_att.global.attributes,
   attribute predicate { text }?,
   attribute useSourceRendition { text }?,
   attribute output { "web" | "print" | "plaintext" }?,
   (
      ( cust_model.identEquiv | cust_model.descLike )*,
      ( cust_model, cust_model, cust_model* )
   )
}⚓

3.1.103. <moduleRef>

<moduleRef> (module reference) references a module which is to be incorporated into a schema. [23.2. Modules and Schemas]
Moduletagdocs
Attributes
includesupplies a list of the elements which are to be copied from the specified module into the schema being defined.
StatusOptional
Datatype0–∞ occurrences of teidata.enumerated separated by whitespace
Legal values are:
TEI
(TEI document)
ab
(anonymous block)
abbr
(abbreviation)
abstract
accMat
(accompanying material)
acquisition
(acquisition)
activity
(activity)
actor
add
(addition)
addName
(additional name)
addSpan
(added span of text)
additional
(additional)
additions
(additions)
addrLine
(address line)
address
(address)
adminInfo
(administrative information)
affiliation
(affiliation)
age
(age)
alt
(alternation)
altGrp
(alternation group)
altIdent
(alternate identifier)
altIdentifier
(alternative identifier)
alternate
am
(abbreviation marker)
analytic
(analytic level)
anchor
(anchor point)
annotation
annotationBlock
anyElement
app
(apparatus entry)
appInfo
(application information)
application
arc
(arc)
argument
(argument)
att
(attribute)
attDef
(attribute definition)
attList
(attribute list)
attRef
(attribute pointer)
author
(author)
authority
(release authority)
availability
(availability)
back
(back matter)
bibl
(bibliographic citation)
biblFull
(fully-structured bibliographic citation)
biblScope
(scope of bibliographic reference)
biblStruct
(structured bibliographic citation)
bicond
(bi-conditional feature-structure constraint)
binary
(binary value)
binaryObject
binding
(binding)
bindingDesc
(binding description)
birth
(birth)
bloc
(bloc)
body
(text body)
broadcast
(broadcast)
byline
(byline)
c
(character)
cRefPattern
(canonical reference pattern)
caesura
calendar
(calendar)
calendarDesc
(calendar description)
camera
(camera)
caption
(caption)
case
(case)
castGroup
(cast list grouping)
castItem
(cast list item)
castList
(cast list)
catDesc
(category description)
catRef
(category reference)
catchwords
(catchwords)
category
(category)
cb
(column beginning)
cell
(cell)
certainty
change
(change)
channel
(primary channel)
char
(character)
charDecl
(character declarations)
choice
(choice)
cit
(cited quotation)
citeData
(citation data)
citeStructure
(citation structure)
citedRange
(cited range)
cl
(clause)
classCode
(classification code)
classDecl
(classification declarations)
classRef
classSpec
(class specification)
classes
(classes)
climate
(climate)
closer
(closer)
code
collation
(collation)
collection
(collection)
colloc
(collocate)
colophon
(colophon)
cond
(conditional feature-structure constraint)
condition
(condition)
constitution
(constitution)
constraint
(constraint rules)
constraintDecl
(constraint declaration)
constraintSpec
(constraint on schema)
content
(content model)
conversion
corr
(correction)
correction
(correction principles)
correspAction
(correspondence action)
correspContext
(correspondence context)
correspDesc
(correspondence description)
country
(country)
creation
(creation)
custEvent
(custodial event)
custodialHist
(custodial history)
damage
(damage)
damageSpan
(damaged span of text)
dataFacet
dataRef
dataSpec
(datatype specification)
datatype
(datatype)
date
(date)
dateline
(dateline)
death
(death)
decoDesc
(decoration description)
decoNote
(note on decoration)
def
(definition)
default
(default feature value)
defaultVal
(default value)
del
(deletion)
delSpan
(deleted span of text)
depth
(depth)
derivation
(derivation)
desc
(description)
dictScrap
(dictionary scrap)
dim
dimensions
(dimensions)
distinct
distributor
(distributor)
district
(district)
div
(text division)
div1
(level-1 text division)
div2
(level-2 text division)
div3
(level-3 text division)
div4
(level-4 text division)
div5
(level-5 text division)
div6
(level-6 text division)
div7
(level-7 text division)
divGen
(automatically generated text division)
docAuthor
(document author)
docDate
(document date)
docEdition
(document edition)
docImprint
(document imprint)
docTitle
(document title)
domain
(domain of use)
eLeaf
(leaf or terminal node of an embedding tree)
eTree
(embedding tree)
edition
(edition)
editionStmt
(edition statement)
editor
editorialDecl
(editorial practice declaration)
education
(education)
eg
(example)
egXML
(example of XML)
elementRef
elementSpec
(element specification)
ellipsis
(deliberately marked omission)
email
(electronic mail address)
emph
(emphasized)
empty
encodingDesc
(encoding description)
entry
(entry)
entryFree
(unstructured entry)
epigraph
(epigraph)
epilogue
(epilogue)
equipment
(equipment)
equiv
(equivalent)
etym
(etymology)
event
(event)
eventName
(name of an event)
ex
(editorial expansion)
exemplum
(exemplum)
expan
(expansion)
explicit
(explicit)
extent
(extent)
f
(feature)
fDecl
(feature declaration)
fDescr
(feature description (in FSD))
fLib
(feature library)
facsimile
factuality
(factuality)
faith
(faith)
figDesc
(description of figure)
figure
(figure)
fileDesc
(file description)
filiation
(filiation)
finalRubric
(final rubric)
floatingText
(floating text)
floruit
(floruit)
foliation
(foliation)
foreign
(foreign)
forename
(forename)
forest
(forest)
form
(form information group)
formula
(formula)
front
(front matter)
fs
(feature structure)
fsConstraints
(feature-structure constraints)
fsDecl
(feature structure declaration)
fsDescr
(feature system description (in FSD))
fsdDecl
(feature system declaration)
fsdLink
(feature structure declaration link)
funder
(funding body)
fvLib
(feature-value library)
fw
(forme work)
g
(character or glyph)
gap
(gap)
gb
(gathering beginning)
gen
(gender)
genName
(generational name component)
gender
(gender)
geo
(geographical coordinates)
geoDecl
(geographic coordinates declaration)
geogFeat
(geographical feature name)
geogName
(geographical name)
gi
(element name)
gloss
(gloss)
glyph
(character glyph)
gram
(grammatical information)
gramGrp
(grammatical information group)
graph
(graph)
graphic
(graphic)
group
(group)
handDesc
(description of hands)
handNote
(note on hand)
handNotes
handShift
(handwriting shift)
head
(heading)
headItem
(heading for list items)
headLabel
(heading for list labels)
height
(height)
heraldry
(heraldry)
hi
(highlighted)
history
(history)
hom
(homograph)
hyph
(hyphenation)
hyphenation
(hyphenation)
iNode
(intermediate (or internal) node)
iType
(inflectional class)
ident
(identifier)
idno
(identifier)
if
iff
(if and only if)
imprimatur
(imprimatur)
imprint
incident
(incident)
incipit
index
(index entry)
institution
(institution)
interaction
(interaction)
interp
(interpretation)
interpGrp
(interpretation group)
interpretation
(interpretation)
item
(item)
join
(join)
joinGrp
(join group)
keywords
(keywords)
kinesic
(kinesic)
l
(verse line)
label
(label)
lacunaEnd
(lacuna end)
lacunaStart
(lacuna start)
lang
(language name)
langKnowledge
(language knowledge)
langKnown
(language known)
langUsage
(language usage)
language
(language)
layout
(layout)
layoutDesc
(layout description)
lb
(line beginning)
lbl
(label)
leaf
(leaf)
lem
(lemma)
lg
(line group)
licence
line
link
(link)
linkGrp
(link group)
list
(list)
listAnnotation
listApp
(list of apparatus entries)
listBibl
(citation list)
listChange
listEvent
(list of events)
listForest
listNym
(list of canonical names)
listObject
(list of objects)
listOrg
(list of organizations)
listPerson
(list of persons)
listPlace
(list of places)
listPrefixDef
(list of prefix definitions)
listRef
(list of references)
listRelation
listTranspose
listWit
(witness list)
localProp
(locally defined property)
locale
location
(location)
locus
(locus)
locusGrp
(locus group)
m
(morpheme)
macroRef
macroSpec
(macro specification)
mapping
(character mapping)
material
(material)
measure
(measure)
measureGrp
(measure group)
media
meeting
memberOf
mentioned
metDecl
(metrical notation declaration)
metSym
(metrical notation symbol)
metamark
milestone
(milestone)
mod
model
modelGrp
(model group)
modelSequence
moduleRef
(module reference)
moduleSpec
(module specification)
monogr
(monographic level)
mood
(mood)
move
(movement)
msContents
(manuscript contents)
msDesc
(manuscript description)
msFrag
(manuscript fragment)
msIdentifier
(manuscript identifier)
msItem
(manuscript item)
msItemStruct
(structured manuscript item)
msName
(alternative name)
msPart
(manuscript part)
musicNotation
(music notation)
name
(name, proper noun)
nameLink
(name link)
namespace
(namespace)
nationality
(nationality)
node
(node)
normalization
(normalization)
notatedMusic
note
(note)
noteGrp
(note group)
notesStmt
(notes statement)
num
(number)
number
(number)
numeric
(numeric value)
nym
(canonical name)
oRef
(orthographic-form reference)
object
objectDesc
(object description)
objectIdentifier
(object identifier)
objectName
(name of an object)
objectType
(object type)
occupation
(occupation)
offset
(offset)
opener
(opener)
org
(organization)
orgName
(organization name)
orig
(original form)
origDate
(origin date)
origPlace
(origin place)
origin
(origin)
orth
(orthographic form)
outputRendition
p
(paragraph)
pRef
(pronunciation reference)
param
paramList
paramSpec
particDesc
(participation description)
path
(path)
pause
(pause)
pb
(page beginning)
pc
(punctuation character)
per
(person)
performance
(performance)
persName
(personal name)
persPronouns
(personal pronouns)
person
(person)
personGrp
(personal group)
persona
phr
(phrase)
physDesc
(physical description)
place
(place)
placeName
(place name)
population
(population)
pos
(part of speech)
post
postBox
(postal box or post office box)
postCode
(postal code)
postscript
precision
prefixDef
(prefix definition)
preparedness
(preparedness)
principal
(principal researcher)
profileDesc
(text-profile description)
projectDesc
(project description)
prologue
(prologue)
pron
(pronunciation)
provenance
(provenance)
ptr
(pointer)
pubPlace
(publication place)
publicationStmt
(publication statement)
publisher
(publisher)
punctuation
purpose
q
(quoted)
quotation
(quotation)
quote
(quotation)
rb
(ruby base)
rdg
(reading)
rdgGrp
(reading group)
re
(related entry)
recordHist
(recorded history)
recording
(recording event)
recordingStmt
(recording statement)
redo
ref
(reference)
refState
(reference state)
refsDecl
(references declaration)
reg
(regularization)
region
(region)
relatedItem
relation
(relationship)
remarks
(remarks)
rendition
(rendition)
repository
(repository)
residence
(residence)
resp
(responsibility)
respStmt
(statement of responsibility)
respons
(responsibility)
restore
(restore)
retrace
revisionDesc
(revision description)
rhyme
role
(role)
roleDesc
(role description)
roleName
(role name)
root
(root node)
row
(row)
rs
(referencing string)
rt
(ruby text)
rubric
(rubric)
ruby
(ruby container)
s
(s-unit)
said
(speech or thought)
salute
(salutation)
samplingDecl
(sampling declaration)
schemaRef
(schema reference)
schemaSpec
(schema specification)
scriptDesc
(script description)
scriptNote
scriptStmt
(script statement)
seal
(seal)
sealDesc
(seal description)
secFol
(second folio)
secl
(secluded text)
seg
(arbitrary segment)
segmentation
(segmentation)
sense
sequence
series
(series information)
seriesStmt
(series statement)
set
(setting)
setting
settingDesc
(setting description)
settlement
(settlement)
sex
(sex)
shift
(shift)
sic
(Latin for thus or so)
signatures
(signatures)
signed
(signature)
soCalled
(so called)
socecStatus
(socio-economic status)
sound
(sound)
source
(source)
sourceDesc
(source description)
sourceDoc
sp
(speech)
spGrp
(speech group)
space
(space)
span
spanGrp
(span group)
speaker
specDesc
(specification description)
specGrp
(specification group)
specGrpRef
(reference to a specification group)
specList
(specification list)
sponsor
(sponsor)
stage
(stage direction)
stamp
(stamp)
standOff
state
(state)
stdVals
(standard values)
street
stress
(stress)
string
(string value)
styleDefDecl
(style definition language declaration)
subc
(subcategorization)
subst
(substitution)
substJoin
(substitution join)
summary
superEntry
(super entry)
supplied
(supplied)
support
(support)
supportDesc
(support description)
surface
surfaceGrp
(surface group)
surname
(surname)
surplus
(surplus)
surrogates
(surrogates)
syll
(syllabification)
symbol
(symbolic value)
table
(table)
tag
(tag)
tagUsage
(element usage)
tagsDecl
(tagging declaration)
taxonomy
(taxonomy)
tech
(technical stage direction)
teiCorpus
(TEI corpus)
teiHeader
(TEI header)
term
(term)
terrain
(terrain)
text
(text)
textClass
(text classification)
textDesc
(text description)
textLang
(text language)
textNode
then
time
(time)
timeline
(timeline)
title
(title)
titlePage
(title page)
titlePart
(title part)
titleStmt
(title statement)
tns
(tense)
trailer
trait
(trait)
transcriptionDesc
(transcription description)
transpose
tree
(tree)
triangle
(underspecified embedding tree, so called because of its characteristic shape when drawn)
typeDesc
(typeface description)
typeNote
(typographic note)
u
(utterance)
unclear
(unclear)
undo
unicodeProp
(unicode property)
unihanProp
(unihan property)
unit
unitDecl
(unit declarations)
unitDef
(unit definition)
usg
(usage)
vAlt
(value alternation)
vColl
(collection of values)
vDefault
(value default)
vLabel
(value label)
vMerge
(merged collection of values)
vNot
(value negation)
vRange
(value range)
val
(value)
valDesc
(value description)
valItem
valList
(value list)
variantEncoding
(variant encoding)
view
(view)
vocal
(vocal)
w
(word)
watermark
(watermark)
when
width
(width)
wit
(wit)
witDetail
(witness detail)
witEnd
(fragmented witness end)
witStart
(fragmented witness start)
witness
(witness)
writing
(writing)
xenoData
(non-TEI metadata)
xr
(cross-reference phrase)
zone
exceptsupplies a list of the elements which are not to be copied from the specified module into the schema being defined.
StatusOptional
Datatype0–∞ occurrences of teidata.enumerated separated by whitespace
Suggested values include:
TEI
(TEI document)
ab
(anonymous block)
abbr
(abbreviation)
abstract
accMat
(accompanying material)
acquisition
(acquisition)
activity
(activity)
actor
add
(addition)
addName
(additional name)
addSpan
(added span of text)
additional
(additional)
additions
(additions)
addrLine
(address line)
address
(address)
adminInfo
(administrative information)
affiliation
(affiliation)
age
(age)
alt
(alternation)
altGrp
(alternation group)
altIdent
(alternate identifier)
altIdentifier
(alternative identifier)
alternate
am
(abbreviation marker)
analytic
(analytic level)
anchor
(anchor point)
annotation
annotationBlock
anyElement
app
(apparatus entry)
appInfo
(application information)
application
arc
(arc)
argument
(argument)
att
(attribute)
attDef
(attribute definition)
attList
(attribute list)
attRef
(attribute pointer)
author
(author)
authority
(release authority)
availability
(availability)
back
(back matter)
bibl
(bibliographic citation)
biblFull
(fully-structured bibliographic citation)
biblScope
(scope of bibliographic reference)
biblStruct
(structured bibliographic citation)
bicond
(bi-conditional feature-structure constraint)
binary
(binary value)
binaryObject
binding
(binding)
bindingDesc
(binding description)
birth
(birth)
bloc
(bloc)
body
(text body)
broadcast
(broadcast)
byline
(byline)
c
(character)
cRefPattern
(canonical reference pattern)
caesura
calendar
(calendar)
calendarDesc
(calendar description)
camera
(camera)
caption
(caption)
case
(case)
castGroup
(cast list grouping)
castItem
(cast list item)
castList
(cast list)
catDesc
(category description)
catRef
(category reference)
catchwords
(catchwords)
category
(category)
cb
(column beginning)
cell
(cell)
certainty
change
(change)
channel
(primary channel)
char
(character)
charDecl
(character declarations)
choice
(choice)
cit
(cited quotation)
citeData
(citation data)
citeStructure
(citation structure)
citedRange
(cited range)
cl
(clause)
classCode
(classification code)
classDecl
(classification declarations)
classRef
classSpec
(class specification)
classes
(classes)
climate
(climate)
closer
(closer)
code
collation
(collation)
collection
(collection)
colloc
(collocate)
colophon
(colophon)
cond
(conditional feature-structure constraint)
condition
(condition)
constitution
(constitution)
constraint
(constraint rules)
constraintDecl
(constraint declaration)
constraintSpec
(constraint on schema)
content
(content model)
conversion
corr
(correction)
correction
(correction principles)
correspAction
(correspondence action)
correspContext
(correspondence context)
correspDesc
(correspondence description)
country
(country)
creation
(creation)
custEvent
(custodial event)
custodialHist
(custodial history)
damage
(damage)
damageSpan
(damaged span of text)
dataFacet
dataRef
dataSpec
(datatype specification)
datatype
(datatype)
date
(date)
dateline
(dateline)
death
(death)
decoDesc
(decoration description)
decoNote
(note on decoration)
def
(definition)
default
(default feature value)
defaultVal
(default value)
del
(deletion)
delSpan
(deleted span of text)
depth
(depth)
derivation
(derivation)
desc
(description)
dictScrap
(dictionary scrap)
dim
dimensions
(dimensions)
distinct
distributor
(distributor)
district
(district)
div
(text division)
div1
(level-1 text division)
div2
(level-2 text division)
div3
(level-3 text division)
div4
(level-4 text division)
div5
(level-5 text division)
div6
(level-6 text division)
div7
(level-7 text division)
divGen
(automatically generated text division)
docAuthor
(document author)
docDate
(document date)
docEdition
(document edition)
docImprint
(document imprint)
docTitle
(document title)
domain
(domain of use)
eLeaf
(leaf or terminal node of an embedding tree)
eTree
(embedding tree)
edition
(edition)
editionStmt
(edition statement)
editor
editorialDecl
(editorial practice declaration)
education
(education)
eg
(example)
egXML
(example of XML)
elementRef
elementSpec
(element specification)
ellipsis
(deliberately marked omission)
email
(electronic mail address)
emph
(emphasized)
empty
encodingDesc
(encoding description)
entry
(entry)
entryFree
(unstructured entry)
epigraph
(epigraph)
epilogue
(epilogue)
equipment
(equipment)
equiv
(equivalent)
etym
(etymology)
event
(event)
eventName
(name of an event)
ex
(editorial expansion)
exemplum
(exemplum)
expan
(expansion)
explicit
(explicit)
extent
(extent)
f
(feature)
fDecl
(feature declaration)
fDescr
(feature description (in FSD))
fLib
(feature library)
facsimile
factuality
(factuality)
faith
(faith)
figDesc
(description of figure)
figure
(figure)
fileDesc
(file description)
filiation
(filiation)
finalRubric
(final rubric)
floatingText
(floating text)
floruit
(floruit)
foliation
(foliation)
foreign
(foreign)
forename
(forename)
forest
(forest)
form
(form information group)
formula
(formula)
front
(front matter)
fs
(feature structure)
fsConstraints
(feature-structure constraints)
fsDecl
(feature structure declaration)
fsDescr
(feature system description (in FSD))
fsdDecl
(feature system declaration)
fsdLink
(feature structure declaration link)
funder
(funding body)
fvLib
(feature-value library)
fw
(forme work)
g
(character or glyph)
gap
(gap)
gb
(gathering beginning)
gen
(gender)
genName
(generational name component)
gender
(gender)
geo
(geographical coordinates)
geoDecl
(geographic coordinates declaration)
geogFeat
(geographical feature name)
geogName
(geographical name)
gi
(element name)
gloss
(gloss)
glyph
(character glyph)
gram
(grammatical information)
gramGrp
(grammatical information group)
graph
(graph)
graphic
(graphic)
group
(group)
handDesc
(description of hands)
handNote
(note on hand)
handNotes
handShift
(handwriting shift)
head
(heading)
headItem
(heading for list items)
headLabel
(heading for list labels)
height
(height)
heraldry
(heraldry)
hi
(highlighted)
history
(history)
hom
(homograph)
hyph
(hyphenation)
hyphenation
(hyphenation)
iNode
(intermediate (or internal) node)
iType
(inflectional class)
ident
(identifier)
idno
(identifier)
if
iff
(if and only if)
imprimatur
(imprimatur)
imprint
incident
(incident)
incipit
index
(index entry)
institution
(institution)
interaction
(interaction)
interp
(interpretation)
interpGrp
(interpretation group)
interpretation
(interpretation)
item
(item)
join
(join)
joinGrp
(join group)
keywords
(keywords)
kinesic
(kinesic)
l
(verse line)
label
(label)
lacunaEnd
(lacuna end)
lacunaStart
(lacuna start)
lang
(language name)
langKnowledge
(language knowledge)
langKnown
(language known)
langUsage
(language usage)
language
(language)
layout
(layout)
layoutDesc
(layout description)
lb
(line beginning)
lbl
(label)
leaf
(leaf)
lem
(lemma)
lg
(line group)
licence
line
link
(link)
linkGrp
(link group)
list
(list)
listAnnotation
listApp
(list of apparatus entries)
listBibl
(citation list)
listChange
listEvent
(list of events)
listForest
listNym
(list of canonical names)
listObject
(list of objects)
listOrg
(list of organizations)
listPerson
(list of persons)
listPlace
(list of places)
listPrefixDef
(list of prefix definitions)
listRef
(list of references)
listRelation
listTranspose
listWit
(witness list)
localProp
(locally defined property)
locale
location
(location)
locus
(locus)
locusGrp
(locus group)
m
(morpheme)
macroRef
macroSpec
(macro specification)
mapping
(character mapping)
material
(material)
measure
(measure)
measureGrp
(measure group)
media
meeting
memberOf
mentioned
metDecl
(metrical notation declaration)
metSym
(metrical notation symbol)
metamark
milestone
(milestone)
mod
model
modelGrp
(model group)
modelSequence
moduleRef
(module reference)
moduleSpec
(module specification)
monogr
(monographic level)
mood
(mood)
move
(movement)
msContents
(manuscript contents)
msDesc
(manuscript description)
msFrag
(manuscript fragment)
msIdentifier
(manuscript identifier)
msItem
(manuscript item)
msItemStruct
(structured manuscript item)
msName
(alternative name)
msPart
(manuscript part)
musicNotation
(music notation)
name
(name, proper noun)
nameLink
(name link)
namespace
(namespace)
nationality
(nationality)
node
(node)
normalization
(normalization)
notatedMusic
note
(note)
noteGrp
(note group)
notesStmt
(notes statement)
num
(number)
number
(number)
numeric
(numeric value)
nym
(canonical name)
oRef
(orthographic-form reference)
object
objectDesc
(object description)
objectIdentifier
(object identifier)
objectName
(name of an object)
objectType
(object type)
occupation
(occupation)
offset
(offset)
opener
(opener)
org
(organization)
orgName
(organization name)
orig
(original form)
origDate
(origin date)
origPlace
(origin place)
origin
(origin)
orth
(orthographic form)
outputRendition
p
(paragraph)
pRef
(pronunciation reference)
param
paramList
paramSpec
particDesc
(participation description)
path
(path)
pause
(pause)
pb
(page beginning)
pc
(punctuation character)
per
(person)
performance
(performance)
persName
(personal name)
persPronouns
(personal pronouns)
person
(person)
personGrp
(personal group)
persona
phr
(phrase)
physDesc
(physical description)
place
(place)
placeName
(place name)
population
(population)
pos
(part of speech)
post
postBox
(postal box or post office box)
postCode
(postal code)
postscript
precision
prefixDef
(prefix definition)
preparedness
(preparedness)
principal
(principal researcher)
profileDesc
(text-profile description)
projectDesc
(project description)
prologue
(prologue)
pron
(pronunciation)
provenance
(provenance)
ptr
(pointer)
pubPlace
(publication place)
publicationStmt
(publication statement)
publisher
(publisher)
punctuation
purpose
q
(quoted)
quotation
(quotation)
quote
(quotation)
rb
(ruby base)
rdg
(reading)
rdgGrp
(reading group)
re
(related entry)
recordHist
(recorded history)
recording
(recording event)
recordingStmt
(recording statement)
redo
ref
(reference)
refState
(reference state)
refsDecl
(references declaration)
reg
(regularization)
region
(region)
relatedItem
relation
(relationship)
remarks
(remarks)
rendition
(rendition)
repository
(repository)
residence
(residence)
resp
(responsibility)
respStmt
(statement of responsibility)
respons
(responsibility)
restore
(restore)
retrace
revisionDesc
(revision description)
rhyme
role
(role)
roleDesc
(role description)
roleName
(role name)
root
(root node)
row
(row)
rs
(referencing string)
rt
(ruby text)
rubric
(rubric)
ruby
(ruby container)
s
(s-unit)
said
(speech or thought)
salute
(salutation)
samplingDecl
(sampling declaration)
schemaRef
(schema reference)
schemaSpec
(schema specification)
scriptDesc
(script description)
scriptNote
scriptStmt
(script statement)
seal
(seal)
sealDesc
(seal description)
secFol
(second folio)
secl
(secluded text)
seg
(arbitrary segment)
segmentation
(segmentation)
sense
sequence
series
(series information)
seriesStmt
(series statement)
set
(setting)
setting
settingDesc
(setting description)
settlement
(settlement)
sex
(sex)
shift
(shift)
sic
(Latin for thus or so)
signatures
(signatures)
signed
(signature)
soCalled
(so called)
socecStatus
(socio-economic status)
sound
(sound)
source
(source)
sourceDesc
(source description)
sourceDoc
sp
(speech)
spGrp
(speech group)
space
(space)
span
spanGrp
(span group)
speaker
specDesc
(specification description)
specGrp
(specification group)
specGrpRef
(reference to a specification group)
specList
(specification list)
sponsor
(sponsor)
stage
(stage direction)
stamp
(stamp)
standOff
state
(state)
stdVals
(standard values)
street
stress
(stress)
string
(string value)
styleDefDecl
(style definition language declaration)
subc
(subcategorization)
subst
(substitution)
substJoin
(substitution join)
summary
superEntry
(super entry)
supplied
(supplied)
support
(support)
supportDesc
(support description)
surface
surfaceGrp
(surface group)
surname
(surname)
surplus
(surplus)
surrogates
(surrogates)
syll
(syllabification)
symbol
(symbolic value)
table
(table)
tag
(tag)
tagUsage
(element usage)
tagsDecl
(tagging declaration)
taxonomy
(taxonomy)
tech
(technical stage direction)
teiCorpus
(TEI corpus)
teiHeader
(TEI header)
term
(term)
terrain
(terrain)
text
(text)
textClass
(text classification)
textDesc
(text description)
textLang
(text language)
textNode
then
time
(time)
timeline
(timeline)
title
(title)
titlePage
(title page)
titlePart
(title part)
titleStmt
(title statement)
tns
(tense)
trailer
trait
(trait)
transcriptionDesc
(transcription description)
transpose
tree
(tree)
triangle
(underspecified embedding tree, so called because of its characteristic shape when drawn)
typeDesc
(typeface description)
typeNote
(typographic note)
u
(utterance)
unclear
(unclear)
undo
unicodeProp
(unicode property)
unihanProp
(unihan property)
unit
unitDecl
(unit declarations)
unitDef
(unit definition)
usg
(usage)
vAlt
(value alternation)
vColl
(collection of values)
vDefault
(value default)
vLabel
(value label)
vMerge
(merged collection of values)
vNot
(value negation)
vRange
(value range)
val
(value)
valDesc
(value description)
valItem
valList
(value list)
variantEncoding
(variant encoding)
view
(view)
vocal
(vocal)
w
(word)
watermark
(watermark)
when
width
(width)
wit
(wit)
witDetail
(witness detail)
witEnd
(fragmented witness end)
witStart
(fragmented witness start)
witness
(witness)
writing
(writing)
xenoData
(non-TEI metadata)
xr
(cross-reference phrase)
zone
key
StatusOptional
Datatypeteidata.enumerated
Legal values are:
analysis
certainty
cmc
core
corpus
dictionaries
drama
figures
gaiji
header
iso-fs
linking
msdescription
namesdates
nets
spoken
tagdocs
tei
textcrit
textstructure
transcr
verse
url(uniform resource locator) refers to a non-TEI module of RELAX NG code by external location
StatusOptional
Datatypeteidata.pointer
prefixspecifies a default prefix which will be prepended to all patterns from the imported module.
StatusOptional
Datatype0–1 occurrences of teidata.xmlName separated by whitespace
Schematron
<sch:rule context="tei:moduleRef"> <sch:report test="//*[ not( generate-id(.) eq generate-id( current() ) ) ]/@prefix = @prefix">The prefix attribute of <sch:name/> should not match that of any other element (it would defeat the purpose)</sch:report> </sch:rule>
Schematron
<sch:rule context="tei:moduleRef"> <sch:report test="@except and @include">It is an error to supply both the @include and @except attributes</sch:report> </sch:rule>
Note

Use of this attribute avoids name collisions (and thus invalid schemas) when the external schema being mixed in with TEI uses a name the TEI or some other included external schema already uses for a pattern.

Member of
Contained by
May contain
tagdocs: content
Note

If neither include nor except is supplied, the effect of this element is to make all the declarations contained by the referenced module available to the schema being compiled. If both attributes are supplied, an ODD processor should signal an error.

A TEI module is identified by the name supplied as value for the ident attribute on a <moduleSpec> element. The source attribute may be used to specify an online source from which the specification of that module may be read. A URI may alternatively be supplied in the case of a non-TEI module, and this is expected to be written as a RELAX NG schema.

If the url attribute is used, the <content> element may also be supplied as a child of this element. Its content (which is assumed to be a fragment of RELAX NG code) will be copied along with the content of the resource indicated by the url attribute into the target RELAX NG schema.

Example
<moduleRef key="linking"/>
This includes all objects available from the linking module.
Example
<moduleRef key="linking"  except="linkGrp link"/>
This includes all elements available from the linking module except for the <link> and <linkGrp> elements.
Example
<moduleRef key="linking"  include="linkGrp link"/>
This includes only the <link> and <linkGrp> elements from the linking module.
SchematronThis is not strictly necessary. The TEI patterns have a default prefix (the value of ident of <schemaSpec>), so if only one external module is imported, it does not need a prefix — there will not be any collisions of pattern names. But it is good practice to use a prefix anyway, and it is required if more than one external module that use patterns with the same name are included. This is the case, in fact, for the RELAX NG and ISO Schematron schemas that are included in this schema.
<sch:rule context="tei:moduleRef[ @url ]"> <sch:assert test="@prefix"> a <moduleRef> that uses the url= attribute should have a prefix= attribute, too </sch:assert> </sch:rule>
Schematron
<sch:rule context="tei:moduleRef[ @key ]"> <sch:let name="mykey" value="@key"/> <sch:report test="preceding-sibling::tei:moduleRef[ @key eq $mykey ]">The '<sch:value-of select="@key"/>' module is included (by reference) more than once</sch:report> </sch:rule>
Schematron
<sch:rule context="tei:moduleRef[ @except ]"> <sch:let name="exceptions"  value="tokenize( @except, '\s+' )"/> <sch:report test="'TEI'=$exceptions">Removing <TEI> from your schema guarantees it is not TEI conformant, and will will likely be outright invalid</sch:report> <sch:report test="'teiHeader'=$exceptions">Removing <teiHeader> from your schema guarantees it is not TEI conformant</sch:report> <sch:report test="'fileDesc'=$exceptions">Removing <fileDesc> from your schema guarantees it is not TEI conformant</sch:report> <sch:report test="'titleStmt'=$exceptions">Removing <titleStmt> from your schema guarantees it is not TEI conformant</sch:report> <sch:report test="'title'=$exceptions">Removing <title> from your schema guarantees it is not TEI conformant</sch:report> <sch:report test="'publicationStmt'=$exceptions">Removing <publicationStmt> from your schema guarantees it is not TEI conformant</sch:report> <sch:report test="'sourceDesc'=$exceptions">Removing <sourceDesc> from your schema guarantees it is not TEI conformant</sch:report> </sch:rule>
Schematron
<sch:rule context="tei:moduleRef[ @key eq 'textstructure' and @include ]"> <sch:let name="inclusions"  value="tokenize( @include, '\s+' )"/> <sch:report test="not('TEI'=$inclusions)">Not including <TEI> in your schema guarantees it is not TEI conformant, and will likely be outright invalid</sch:report> </sch:rule> <sch:rule context="tei:moduleRef[ @key eq 'header' and @include ]"> <sch:let name="inclusions"  value="tokenize( @include, '\s+' )"/> <sch:report test="not('teiHeader'=$inclusions)">Not including <teiHeader> in your schema guarantees it is not TEI conformant</sch:report> </sch:rule> <sch:rule context="tei:moduleRef[ @key eq 'header' and @include ]"> <sch:let name="inclusions"  value="tokenize( @include, '\s+' )"/> <sch:report test="not('fileDesc'=$inclusions)">Not including <fileDesc> in your schema guarantees it is not TEI conformant</sch:report> </sch:rule> <sch:rule context="tei:moduleRef[ @key eq 'header' and @include ]"> <sch:let name="inclusions"  value="tokenize( @include, '\s+' )"/> <sch:report test="not('titleStmt'=$inclusions)">Not including <titleStmt> in your schema guarantees it is not TEI conformant</sch:report> </sch:rule> <sch:rule context="tei:moduleRef[ @key eq 'header' and @include ]"> <sch:let name="inclusions"  value="tokenize( @include, '\s+' )"/> <sch:report test="not('publicationStmt'=$inclusions)">Not including <publicationStmt> in your schema guarantees it is not TEI conformant</sch:report> </sch:rule> <sch:rule context="tei:moduleRef[ @key eq 'header' and @include ]"> <sch:let name="inclusions"  value="tokenize( @include, '\s+' )"/> <sch:report test="not('sourceDesc'=$inclusions)">Not including <sourceDesc> in your schema guarantees it is not TEI conformant</sch:report> </sch:rule> <sch:rule context="tei:moduleRef[ @key eq 'core' and @include ]"> <sch:let name="inclusions"  value="tokenize( @include, '\s+' )"/> <sch:report test="not('title'=$inclusions)">Not including <title> in your schema guarantees it is not TEI conformant</sch:report> </sch:rule>
Schematron
<sch:rule context="tei:moduleRef[@key eq 'header']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'teiHeader', 'fileDesc', 'titleStmt', 'sponsor', 'funder', 'principal', 'editionStmt', 'edition', 'extent', 'publicationStmt', 'distributor', 'authority', 'idno', 'availability', 'licence', 'seriesStmt', 'notesStmt', 'sourceDesc', 'biblFull', 'encodingDesc', 'schemaRef', 'projectDesc', 'samplingDecl', 'editorialDecl', 'correction', 'normalization', 'quotation', 'hyphenation', 'segmentation', 'stdVals', 'interpretation', 'punctuation', 'tagsDecl', 'tagUsage', 'namespace', 'rendition', 'styleDefDecl', 'refsDecl', 'citeStructure', 'citeData', 'cRefPattern', 'prefixDef', 'listPrefixDef', 'refState', 'classDecl', 'taxonomy', 'category', 'catDesc', 'geoDecl', 'unitDecl', 'unitDef', 'conversion', 'appInfo', 'application', 'profileDesc', 'handNote', 'abstract', 'creation', 'langUsage', 'language', 'textClass', 'keywords', 'classCode', 'catRef', 'calendarDesc', 'calendar', 'correspDesc', 'correspAction', 'correspContext', 'xenoData', 'revisionDesc', 'change', 'scriptNote', 'listChange' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'teiHeader', 'fileDesc', 'titleStmt', 'sponsor', 'funder', 'principal', 'editionStmt', 'edition', 'extent', 'publicationStmt', 'distributor', 'authority', 'idno', 'availability', 'licence', 'seriesStmt', 'notesStmt', 'sourceDesc', 'biblFull', 'encodingDesc', 'schemaRef', 'projectDesc', 'samplingDecl', 'editorialDecl', 'correction', 'normalization', 'quotation', 'hyphenation', 'segmentation', 'stdVals', 'interpretation', 'punctuation', 'tagsDecl', 'tagUsage', 'namespace', 'rendition', 'styleDefDecl', 'refsDecl', 'citeStructure', 'citeData', 'cRefPattern', 'prefixDef', 'listPrefixDef', 'refState', 'classDecl', 'taxonomy', 'category', 'catDesc', 'geoDecl', 'unitDecl', 'unitDef', 'conversion', 'appInfo', 'application', 'profileDesc', 'handNote', 'abstract', 'creation', 'langUsage', 'language', 'textClass', 'keywords', 'classCode', 'catRef', 'calendarDesc', 'calendar', 'correspDesc', 'correspAction', 'correspContext', 'xenoData', 'revisionDesc', 'change', 'scriptNote', 'listChange' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'core']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'p', 'foreign', 'emph', 'hi', 'distinct', 'said', 'quote', 'q', 'cit', 'mentioned', 'soCalled', 'desc', 'gloss', 'term', 'ruby', 'rb', 'rt', 'sic', 'corr', 'choice', 'reg', 'orig', 'gap', 'ellipsis', 'add', 'del', 'unclear', 'name', 'rs', 'email', 'address', 'addrLine', 'street', 'postCode', 'postBox', 'num', 'measure', 'measureGrp', 'unit', 'date', 'time', 'abbr', 'expan', 'ptr', 'ref', 'list', 'item', 'label', 'head', 'headLabel', 'headItem', 'note', 'noteGrp', 'index', 'media', 'graphic', 'binaryObject', 'milestone', 'gb', 'pb', 'lb', 'cb', 'analytic', 'monogr', 'series', 'author', 'editor', 'respStmt', 'resp', 'title', 'meeting', 'imprint', 'publisher', 'biblScope', 'citedRange', 'pubPlace', 'bibl', 'biblStruct', 'listBibl', 'relatedItem', 'l', 'lg', 'sp', 'speaker', 'stage', 'teiCorpus', 'divGen', 'textLang' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'p', 'foreign', 'emph', 'hi', 'distinct', 'said', 'quote', 'q', 'cit', 'mentioned', 'soCalled', 'desc', 'gloss', 'term', 'ruby', 'rb', 'rt', 'sic', 'corr', 'choice', 'reg', 'orig', 'gap', 'ellipsis', 'add', 'del', 'unclear', 'name', 'rs', 'email', 'address', 'addrLine', 'street', 'postCode', 'postBox', 'num', 'measure', 'measureGrp', 'unit', 'date', 'time', 'abbr', 'expan', 'ptr', 'ref', 'list', 'item', 'label', 'head', 'headLabel', 'headItem', 'note', 'noteGrp', 'index', 'media', 'graphic', 'binaryObject', 'milestone', 'gb', 'pb', 'lb', 'cb', 'analytic', 'monogr', 'series', 'author', 'editor', 'respStmt', 'resp', 'title', 'meeting', 'imprint', 'publisher', 'biblScope', 'citedRange', 'pubPlace', 'bibl', 'biblStruct', 'listBibl', 'relatedItem', 'l', 'lg', 'sp', 'speaker', 'stage', 'teiCorpus', 'divGen', 'textLang' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'textstructure']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'TEI', 'text', 'body', 'group', 'floatingText', 'div', 'div1', 'div2', 'div3', 'div4', 'div5', 'div6', 'div7', 'trailer', 'byline', 'dateline', 'argument', 'epigraph', 'opener', 'closer', 'salute', 'signed', 'postscript', 'titlePage', 'docTitle', 'titlePart', 'docAuthor', 'imprimatur', 'docEdition', 'docImprint', 'docDate', 'front', 'back' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'TEI', 'text', 'body', 'group', 'floatingText', 'div', 'div1', 'div2', 'div3', 'div4', 'div5', 'div6', 'div7', 'trailer', 'byline', 'dateline', 'argument', 'epigraph', 'opener', 'closer', 'salute', 'signed', 'postscript', 'titlePage', 'docTitle', 'titlePart', 'docAuthor', 'imprimatur', 'docEdition', 'docImprint', 'docDate', 'front', 'back' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'gaiji']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'g', 'charDecl', 'char', 'glyph', 'localProp', 'mapping', 'unihanProp', 'unicodeProp' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'g', 'charDecl', 'char', 'glyph', 'localProp', 'mapping', 'unihanProp', 'unicodeProp' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'verse']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'metDecl', 'metSym', 'caesura', 'rhyme' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'metDecl', 'metSym', 'caesura', 'rhyme' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'drama']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'set', 'prologue', 'epilogue', 'performance', 'castList', 'castGroup', 'castItem', 'role', 'roleDesc', 'actor', 'spGrp', 'move', 'view', 'camera', 'sound', 'caption', 'tech' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'set', 'prologue', 'epilogue', 'performance', 'castList', 'castGroup', 'castItem', 'role', 'roleDesc', 'actor', 'spGrp', 'move', 'view', 'camera', 'sound', 'caption', 'tech' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'spoken']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'scriptStmt', 'recordingStmt', 'recording', 'equipment', 'broadcast', 'transcriptionDesc', 'u', 'pause', 'vocal', 'kinesic', 'incident', 'writing', 'shift', 'annotationBlock' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'scriptStmt', 'recordingStmt', 'recording', 'equipment', 'broadcast', 'transcriptionDesc', 'u', 'pause', 'vocal', 'kinesic', 'incident', 'writing', 'shift', 'annotationBlock' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'cmc']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'post' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'post' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'dictionaries']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'superEntry', 'entry', 'entryFree', 'hom', 'sense', 'dictScrap', 'form', 'orth', 'pron', 'hyph', 'syll', 'stress', 'gram', 'gen', 'number', 'case', 'per', 'tns', 'mood', 'iType', 'gramGrp', 'pos', 'subc', 'colloc', 'def', 'etym', 'lang', 'usg', 'lbl', 'xr', 're', 'oRef', 'pRef' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'superEntry', 'entry', 'entryFree', 'hom', 'sense', 'dictScrap', 'form', 'orth', 'pron', 'hyph', 'syll', 'stress', 'gram', 'gen', 'number', 'case', 'per', 'tns', 'mood', 'iType', 'gramGrp', 'pos', 'subc', 'colloc', 'def', 'etym', 'lang', 'usg', 'lbl', 'xr', 're', 'oRef', 'pRef' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'msdescription']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'msDesc', 'catchwords', 'dimensions', 'dim', 'height', 'depth', 'width', 'heraldry', 'locus', 'locusGrp', 'material', 'objectType', 'origDate', 'origPlace', 'secFol', 'signatures', 'stamp', 'watermark', 'msIdentifier', 'institution', 'repository', 'collection', 'altIdentifier', 'msName', 'colophon', 'explicit', 'filiation', 'finalRubric', 'incipit', 'msContents', 'msItem', 'msItemStruct', 'rubric', 'summary', 'physDesc', 'objectDesc', 'supportDesc', 'support', 'collation', 'foliation', 'condition', 'layoutDesc', 'layout', 'handDesc', 'typeDesc', 'typeNote', 'scriptDesc', 'musicNotation', 'decoDesc', 'decoNote', 'additions', 'bindingDesc', 'binding', 'sealDesc', 'seal', 'accMat', 'history', 'origin', 'provenance', 'acquisition', 'additional', 'adminInfo', 'recordHist', 'source', 'custodialHist', 'custEvent', 'surrogates', 'msPart', 'msFrag' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'msDesc', 'catchwords', 'dimensions', 'dim', 'height', 'depth', 'width', 'heraldry', 'locus', 'locusGrp', 'material', 'objectType', 'origDate', 'origPlace', 'secFol', 'signatures', 'stamp', 'watermark', 'msIdentifier', 'institution', 'repository', 'collection', 'altIdentifier', 'msName', 'colophon', 'explicit', 'filiation', 'finalRubric', 'incipit', 'msContents', 'msItem', 'msItemStruct', 'rubric', 'summary', 'physDesc', 'objectDesc', 'supportDesc', 'support', 'collation', 'foliation', 'condition', 'layoutDesc', 'layout', 'handDesc', 'typeDesc', 'typeNote', 'scriptDesc', 'musicNotation', 'decoDesc', 'decoNote', 'additions', 'bindingDesc', 'binding', 'sealDesc', 'seal', 'accMat', 'history', 'origin', 'provenance', 'acquisition', 'additional', 'adminInfo', 'recordHist', 'source', 'custodialHist', 'custEvent', 'surrogates', 'msPart', 'msFrag' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'transcr']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'facsimile', 'sourceDoc', 'surface', 'surfaceGrp', 'zone', 'path', 'addSpan', 'damage', 'damageSpan', 'delSpan', 'ex', 'fw', 'handNotes', 'handShift', 'am', 'restore', 'space', 'subst', 'substJoin', 'supplied', 'surplus', 'secl', 'line', 'listTranspose', 'metamark', 'mod', 'redo', 'retrace', 'transpose', 'undo' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'facsimile', 'sourceDoc', 'surface', 'surfaceGrp', 'zone', 'path', 'addSpan', 'damage', 'damageSpan', 'delSpan', 'ex', 'fw', 'handNotes', 'handShift', 'am', 'restore', 'space', 'subst', 'substJoin', 'supplied', 'surplus', 'secl', 'line', 'listTranspose', 'metamark', 'mod', 'redo', 'retrace', 'transpose', 'undo' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'textcrit']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'app', 'listApp', 'lem', 'rdg', 'rdgGrp', 'witDetail', 'wit', 'listWit', 'witness', 'witStart', 'witEnd', 'lacunaStart', 'lacunaEnd', 'variantEncoding' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'app', 'listApp', 'lem', 'rdg', 'rdgGrp', 'witDetail', 'wit', 'listWit', 'witness', 'witStart', 'witEnd', 'lacunaStart', 'lacunaEnd', 'variantEncoding' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'namesdates']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'orgName', 'persName', 'surname', 'forename', 'genName', 'nameLink', 'addName', 'roleName', 'placeName', 'bloc', 'country', 'region', 'settlement', 'district', 'offset', 'geogName', 'geogFeat', 'eventName', 'affiliation', 'age', 'birth', 'climate', 'death', 'education', 'event', 'faith', 'floruit', 'gender', 'geo', 'langKnowledge', 'langKnown', 'listOrg', 'listEvent', 'listPerson', 'listPlace', 'listRelation', 'location', 'nationality', 'occupation', 'org', 'person', 'persona', 'personGrp', 'persPronouns', 'place', 'population', 'relation', 'residence', 'sex', 'socecStatus', 'state', 'terrain', 'trait', 'objectName', 'object', 'listObject', 'objectIdentifier', 'nym', 'listNym' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'orgName', 'persName', 'surname', 'forename', 'genName', 'nameLink', 'addName', 'roleName', 'placeName', 'bloc', 'country', 'region', 'settlement', 'district', 'offset', 'geogName', 'geogFeat', 'eventName', 'affiliation', 'age', 'birth', 'climate', 'death', 'education', 'event', 'faith', 'floruit', 'gender', 'geo', 'langKnowledge', 'langKnown', 'listOrg', 'listEvent', 'listPerson', 'listPlace', 'listRelation', 'location', 'nationality', 'occupation', 'org', 'person', 'persona', 'personGrp', 'persPronouns', 'place', 'population', 'relation', 'residence', 'sex', 'socecStatus', 'state', 'terrain', 'trait', 'objectName', 'object', 'listObject', 'objectIdentifier', 'nym', 'listNym' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'figures']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'table', 'row', 'cell', 'formula', 'notatedMusic', 'figure', 'figDesc' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'table', 'row', 'cell', 'formula', 'notatedMusic', 'figure', 'figDesc' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'corpus']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'textDesc', 'particDesc', 'settingDesc', 'channel', 'constitution', 'derivation', 'domain', 'factuality', 'interaction', 'preparedness', 'purpose', 'setting', 'locale', 'activity' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'textDesc', 'particDesc', 'settingDesc', 'channel', 'constitution', 'derivation', 'domain', 'factuality', 'interaction', 'preparedness', 'purpose', 'setting', 'locale', 'activity' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'linking']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'link', 'linkGrp', 'ab', 'anchor', 'seg', 'when', 'timeline', 'join', 'joinGrp', 'alt', 'altGrp', 'standOff', 'listAnnotation', 'annotation' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'link', 'linkGrp', 'ab', 'anchor', 'seg', 'when', 'timeline', 'join', 'joinGrp', 'alt', 'altGrp', 'standOff', 'listAnnotation', 'annotation' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'analysis']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 's', 'cl', 'phr', 'w', 'm', 'c', 'pc', 'span', 'spanGrp', 'interp', 'interpGrp' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 's', 'cl', 'phr', 'w', 'm', 'c', 'pc', 'span', 'spanGrp', 'interp', 'interpGrp' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'iso-fs']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'fsdDecl', 'fsDecl', 'fsDescr', 'fsdLink', 'fDecl', 'fDescr', 'vRange', 'vDefault', 'if', 'then', 'fsConstraints', 'cond', 'bicond', 'iff', 'fs', 'f', 'binary', 'symbol', 'numeric', 'string', 'vLabel', 'vColl', 'default', 'vAlt', 'vNot', 'vMerge', 'fLib', 'fvLib' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'fsdDecl', 'fsDecl', 'fsDescr', 'fsdLink', 'fDecl', 'fDescr', 'vRange', 'vDefault', 'if', 'then', 'fsConstraints', 'cond', 'bicond', 'iff', 'fs', 'f', 'binary', 'symbol', 'numeric', 'string', 'vLabel', 'vColl', 'default', 'vAlt', 'vNot', 'vMerge', 'fLib', 'fvLib' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'nets']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'graph', 'node', 'arc', 'tree', 'root', 'iNode', 'leaf', 'eTree', 'triangle', 'eLeaf', 'forest', 'listForest' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'graph', 'node', 'arc', 'tree', 'root', 'iNode', 'leaf', 'eTree', 'triangle', 'eLeaf', 'forest', 'listForest' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'certainty']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'precision', 'certainty', 'respons' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'precision', 'certainty', 'respons' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule> <sch:rule context="tei:moduleRef[@key eq 'tagdocs']"> <sch:let name="include"  value="tokenize( normalize-space(@include),' ')"/> <sch:let name="except"  value="tokenize( normalize-space(@except), ' ')"/> <sch:assert test="every $gi in $include satisfies $gi = ( 'att', 'code', 'eg', 'egXML', 'gi', 'ident', 'tag', 'val', 'specList', 'specDesc', 'classRef', 'elementRef', 'macroRef', 'moduleRef', 'moduleSpec', 'schemaSpec', 'specGrp', 'specGrpRef', 'elementSpec', 'classSpec', 'dataSpec', 'macroSpec', 'remarks', 'listRef', 'exemplum', 'classes', 'memberOf', 'equiv', 'altIdent', 'model', 'modelSequence', 'modelGrp', 'outputRendition', 'paramList', 'paramSpec', 'param', 'content', 'sequence', 'alternate', 'constraintDecl', 'constraint', 'constraintSpec', 'attList', 'attDef', 'attRef', 'datatype', 'dataRef', 'dataFacet', 'defaultVal', 'valDesc', 'valItem', 'valList', 'textNode', 'anyElement', 'empty' )">One or more of the elements included on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> <sch:assert test="every $gi in $except satisfies $gi = ( 'att', 'code', 'eg', 'egXML', 'gi', 'ident', 'tag', 'val', 'specList', 'specDesc', 'classRef', 'elementRef', 'macroRef', 'moduleRef', 'moduleSpec', 'schemaSpec', 'specGrp', 'specGrpRef', 'elementSpec', 'classSpec', 'dataSpec', 'macroSpec', 'remarks', 'listRef', 'exemplum', 'classes', 'memberOf', 'equiv', 'altIdent', 'model', 'modelSequence', 'modelGrp', 'outputRendition', 'paramList', 'paramSpec', 'param', 'content', 'sequence', 'alternate', 'constraintDecl', 'constraint', 'constraintSpec', 'attList', 'attDef', 'attRef', 'datatype', 'dataRef', 'dataFacet', 'defaultVal', 'valDesc', 'valItem', 'valList', 'textNode', 'anyElement', 'empty' )">One or more of the elements excepted on the '<sch:value-of select="@key"/>' <moduleRef> are not actually available in that module</sch:assert> </sch:rule>
Schematron
<sch:rule context="tei:moduleRef"> <sch:report test="* and @key"> Child elements of <sch:name/> are only allowed when an external module is being loaded </sch:report> </sch:rule>
Schematron
<sch:rule context="tei:moduleRef"> <sch:report test="//*[ not( generate-id(.) eq generate-id( current() ) ) ]/@prefix = @prefix">The prefix attribute of <sch:name/> should not match that of any other element (it would defeat the purpose)</sch:report> </sch:rule>
Schematron
<sch:rule context="tei:moduleRef"> <sch:report test="@except and @include">It is an error to supply both the @include and @except attributes</sch:report> </sch:rule>
Content model
<content>
 <elementRef key="content" minOccurs="0"/>
</content>
    ⚓
Schema Declaration
element moduleRef
{
   cust_att.global.attributes,
   attribute include
   {
      list
      {
         (
            "TEI"
          | "ab"
          | "abbr"
          | "abstract"
          | "accMat"
          | "acquisition"
          | "activity"
          | "actor"
          | "add"
          | "addName"
          | "addSpan"
          | "additional"
          | "additions"
          | "addrLine"
          | "address"
          | "adminInfo"
          | "affiliation"
          | "age"
          | "alt"
          | "altGrp"
          | "altIdent"
          | "altIdentifier"
          | "alternate"
          | "am"
          | "analytic"
          | "anchor"
          | "annotation"
          | "annotationBlock"
          | "anyElement"
          | "app"
          | "appInfo"
          | "application"
          | "arc"
          | "argument"
          | "att"
          | "attDef"
          | "attList"
          | "attRef"
          | "author"
          | "authority"
          | "availability"
          | "back"
          | "bibl"
          | "biblFull"
          | "biblScope"
          | "biblStruct"
          | "bicond"
          | "binary"
          | "binaryObject"
          | "binding"
          | "bindingDesc"
          | "birth"
          | "bloc"
          | "body"
          | "broadcast"
          | "byline"
          | "c"
          | "cRefPattern"
          | "caesura"
          | "calendar"
          | "calendarDesc"
          | "camera"
          | "caption"
          | "case"
          | "castGroup"
          | "castItem"
          | "castList"
          | "catDesc"
          | "catRef"
          | "catchwords"
          | "category"
          | "cb"
          | "cell"
          | "certainty"
          | "change"
          | "channel"
          | "char"
          | "charDecl"
          | "choice"
          | "cit"
          | "citeData"
          | "citeStructure"
          | "citedRange"
          | "cl"
          | "classCode"
          | "classDecl"
          | "classRef"
          | "classSpec"
          | "classes"
          | "climate"
          | "closer"
          | "code"
          | "collation"
          | "collection"
          | "colloc"
          | "colophon"
          | "cond"
          | "condition"
          | "constitution"
          | "constraint"
          | "constraintDecl"
          | "constraintSpec"
          | "content"
          | "conversion"
          | "corr"
          | "correction"
          | "correspAction"
          | "correspContext"
          | "correspDesc"
          | "country"
          | "creation"
          | "custEvent"
          | "custodialHist"
          | "damage"
          | "damageSpan"
          | "dataFacet"
          | "dataRef"
          | "dataSpec"
          | "datatype"
          | "date"
          | "dateline"
          | "death"
          | "decoDesc"
          | "decoNote"
          | "def"
          | "default"
          | "defaultVal"
          | "del"
          | "delSpan"
          | "depth"
          | "derivation"
          | "desc"
          | "dictScrap"
          | "dim"
          | "dimensions"
          | "distinct"
          | "distributor"
          | "district"
          | "div"
          | "div1"
          | "div2"
          | "div3"
          | "div4"
          | "div5"
          | "div6"
          | "div7"
          | "divGen"
          | "docAuthor"
          | "docDate"
          | "docEdition"
          | "docImprint"
          | "docTitle"
          | "domain"
          | "eLeaf"
          | "eTree"
          | "edition"
          | "editionStmt"
          | "editor"
          | "editorialDecl"
          | "education"
          | "eg"
          | "egXML"
          | "elementRef"
          | "elementSpec"
          | "ellipsis"
          | "email"
          | "emph"
          | "empty"
          | "encodingDesc"
          | "entry"
          | "entryFree"
          | "epigraph"
          | "epilogue"
          | "equipment"
          | "equiv"
          | "etym"
          | "event"
          | "eventName"
          | "ex"
          | "exemplum"
          | "expan"
          | "explicit"
          | "extent"
          | "f"
          | "fDecl"
          | "fDescr"
          | "fLib"
          | "facsimile"
          | "factuality"
          | "faith"
          | "figDesc"
          | "figure"
          | "fileDesc"
          | "filiation"
          | "finalRubric"
          | "floatingText"
          | "floruit"
          | "foliation"
          | "foreign"
          | "forename"
          | "forest"
          | "form"
          | "formula"
          | "front"
          | "fs"
          | "fsConstraints"
          | "fsDecl"
          | "fsDescr"
          | "fsdDecl"
          | "fsdLink"
          | "funder"
          | "fvLib"
          | "fw"
          | "g"
          | "gap"
          | "gb"
          | "gen"
          | "genName"
          | "gender"
          | "geo"
          | "geoDecl"
          | "geogFeat"
          | "geogName"
          | "gi"
          | "gloss"
          | "glyph"
          | "gram"
          | "gramGrp"
          | "graph"
          | "graphic"
          | "group"
          | "handDesc"
          | "handNote"
          | "handNotes"
          | "handShift"
          | "head"
          | "headItem"
          | "headLabel"
          | "height"
          | "heraldry"
          | "hi"
          | "history"
          | "hom"
          | "hyph"
          | "hyphenation"
          | "iNode"
          | "iType"
          | "ident"
          | "idno"
          | "if"
          | "iff"
          | "imprimatur"
          | "imprint"
          | "incident"
          | "incipit"
          | "index"
          | "institution"
          | "interaction"
          | "interp"
          | "interpGrp"
          | "interpretation"
          | "item"
          | "join"
          | "joinGrp"
          | "keywords"
          | "kinesic"
          | "l"
          | "label"
          | "lacunaEnd"
          | "lacunaStart"
          | "lang"
          | "langKnowledge"
          | "langKnown"
          | "langUsage"
          | "language"
          | "layout"
          | "layoutDesc"
          | "lb"
          | "lbl"
          | "leaf"
          | "lem"
          | "lg"
          | "licence"
          | "line"
          | "link"
          | "linkGrp"
          | "list"
          | "listAnnotation"
          | "listApp"
          | "listBibl"
          | "listChange"
          | "listEvent"
          | "listForest"
          | "listNym"
          | "listObject"
          | "listOrg"
          | "listPerson"
          | "listPlace"
          | "listPrefixDef"
          | "listRef"
          | "listRelation"
          | "listTranspose"
          | "listWit"
          | "localProp"
          | "locale"
          | "location"
          | "locus"
          | "locusGrp"
          | "m"
          | "macroRef"
          | "macroSpec"
          | "mapping"
          | "material"
          | "measure"
          | "measureGrp"
          | "media"
          | "meeting"
          | "memberOf"
          | "mentioned"
          | "metDecl"
          | "metSym"
          | "metamark"
          | "milestone"
          | "mod"
          | "model"
          | "modelGrp"
          | "modelSequence"
          | "moduleRef"
          | "moduleSpec"
          | "monogr"
          | "mood"
          | "move"
          | "msContents"
          | "msDesc"
          | "msFrag"
          | "msIdentifier"
          | "msItem"
          | "msItemStruct"
          | "msName"
          | "msPart"
          | "musicNotation"
          | "name"
          | "nameLink"
          | "namespace"
          | "nationality"
          | "node"
          | "normalization"
          | "notatedMusic"
          | "note"
          | "noteGrp"
          | "notesStmt"
          | "num"
          | "number"
          | "numeric"
          | "nym"
          | "oRef"
          | "object"
          | "objectDesc"
          | "objectIdentifier"
          | "objectName"
          | "objectType"
          | "occupation"
          | "offset"
          | "opener"
          | "org"
          | "orgName"
          | "orig"
          | "origDate"
          | "origPlace"
          | "origin"
          | "orth"
          | "outputRendition"
          | "p"
          | "pRef"
          | "param"
          | "paramList"
          | "paramSpec"
          | "particDesc"
          | "path"
          | "pause"
          | "pb"
          | "pc"
          | "per"
          | "performance"
          | "persName"
          | "persPronouns"
          | "person"
          | "personGrp"
          | "persona"
          | "phr"
          | "physDesc"
          | "place"
          | "placeName"
          | "population"
          | "pos"
          | "post"
          | "postBox"
          | "postCode"
          | "postscript"
          | "precision"
          | "prefixDef"
          | "preparedness"
          | "principal"
          | "profileDesc"
          | "projectDesc"
          | "prologue"
          | "pron"
          | "provenance"
          | "ptr"
          | "pubPlace"
          | "publicationStmt"
          | "publisher"
          | "punctuation"
          | "purpose"
          | "q"
          | "quotation"
          | "quote"
          | "rb"
          | "rdg"
          | "rdgGrp"
          | "re"
          | "recordHist"
          | "recording"
          | "recordingStmt"
          | "redo"
          | "ref"
          | "refState"
          | "refsDecl"
          | "reg"
          | "region"
          | "relatedItem"
          | "relation"
          | "remarks"
          | "rendition"
          | "repository"
          | "residence"
          | "resp"
          | "respStmt"
          | "respons"
          | "restore"
          | "retrace"
          | "revisionDesc"
          | "rhyme"
          | "role"
          | "roleDesc"
          | "roleName"
          | "root"
          | "row"
          | "rs"
          | "rt"
          | "rubric"
          | "ruby"
          | "s"
          | "said"
          | "salute"
          | "samplingDecl"
          | "schemaRef"
          | "schemaSpec"
          | "scriptDesc"
          | "scriptNote"
          | "scriptStmt"
          | "seal"
          | "sealDesc"
          | "secFol"
          | "secl"
          | "seg"
          | "segmentation"
          | "sense"
          | "sequence"
          | "series"
          | "seriesStmt"
          | "set"
          | "setting"
          | "settingDesc"
          | "settlement"
          | "sex"
          | "shift"
          | "sic"
          | "signatures"
          | "signed"
          | "soCalled"
          | "socecStatus"
          | "sound"
          | "source"
          | "sourceDesc"
          | "sourceDoc"
          | "sp"
          | "spGrp"
          | "space"
          | "span"
          | "spanGrp"
          | "speaker"
          | "specDesc"
          | "specGrp"
          | "specGrpRef"
          | "specList"
          | "sponsor"
          | "stage"
          | "stamp"
          | "standOff"
          | "state"
          | "stdVals"
          | "street"
          | "stress"
          | "string"
          | "styleDefDecl"
          | "subc"
          | "subst"
          | "substJoin"
          | "summary"
          | "superEntry"
          | "supplied"
          | "support"
          | "supportDesc"
          | "surface"
          | "surfaceGrp"
          | "surname"
          | "surplus"
          | "surrogates"
          | "syll"
          | "symbol"
          | "table"
          | "tag"
          | "tagUsage"
          | "tagsDecl"
          | "taxonomy"
          | "tech"
          | "teiCorpus"
          | "teiHeader"
          | "term"
          | "terrain"
          | "text"
          | "textClass"
          | "textDesc"
          | "textLang"
          | "textNode"
          | "then"
          | "time"
          | "timeline"
          | "title"
          | "titlePage"
          | "titlePart"
          | "titleStmt"
          | "tns"
          | "trailer"
          | "trait"
          | "transcriptionDesc"
          | "transpose"
          | "tree"
          | "triangle"
          | "typeDesc"
          | "typeNote"
          | "u"
          | "unclear"
          | "undo"
          | "unicodeProp"
          | "unihanProp"
          | "unit"
          | "unitDecl"
          | "unitDef"
          | "usg"
          | "vAlt"
          | "vColl"
          | "vDefault"
          | "vLabel"
          | "vMerge"
          | "vNot"
          | "vRange"
          | "val"
          | "valDesc"
          | "valItem"
          | "valList"
          | "variantEncoding"
          | "view"
          | "vocal"
          | "w"
          | "watermark"
          | "when"
          | "width"
          | "wit"
          | "witDetail"
          | "witEnd"
          | "witStart"
          | "witness"
          | "writing"
          | "xenoData"
          | "xr"
          | "zone"
         )*
      }
   }?,
   attribute except
   {
      list
      {
         (
            "TEI"
          | "ab"
          | "abbr"
          | "abstract"
          | "accMat"
          | "acquisition"
          | "activity"
          | "actor"
          | "add"
          | "addName"
          | "addSpan"
          | "additional"
          | "additions"
          | "addrLine"
          | "address"
          | "adminInfo"
          | "affiliation"
          | "age"
          | "alt"
          | "altGrp"
          | "altIdent"
          | "altIdentifier"
          | "alternate"
          | "am"
          | "analytic"
          | "anchor"
          | "annotation"
          | "annotationBlock"
          | "anyElement"
          | "app"
          | "appInfo"
          | "application"
          | "arc"
          | "argument"
          | "att"
          | "attDef"
          | "attList"
          | "attRef"
          | "author"
          | "authority"
          | "availability"
          | "back"
          | "bibl"
          | "biblFull"
          | "biblScope"
          | "biblStruct"
          | "bicond"
          | "binary"
          | "binaryObject"
          | "binding"
          | "bindingDesc"
          | "birth"
          | "bloc"
          | "body"
          | "broadcast"
          | "byline"
          | "c"
          | "cRefPattern"
          | "caesura"
          | "calendar"
          | "calendarDesc"
          | "camera"
          | "caption"
          | "case"
          | "castGroup"
          | "castItem"
          | "castList"
          | "catDesc"
          | "catRef"
          | "catchwords"
          | "category"
          | "cb"
          | "cell"
          | "certainty"
          | "change"
          | "channel"
          | "char"
          | "charDecl"
          | "choice"
          | "cit"
          | "citeData"
          | "citeStructure"
          | "citedRange"
          | "cl"
          | "classCode"
          | "classDecl"
          | "classRef"
          | "classSpec"
          | "classes"
          | "climate"
          | "closer"
          | "code"
          | "collation"
          | "collection"
          | "colloc"
          | "colophon"
          | "cond"
          | "condition"
          | "constitution"
          | "constraint"
          | "constraintDecl"
          | "constraintSpec"
          | "content"
          | "conversion"
          | "corr"
          | "correction"
          | "correspAction"
          | "correspContext"
          | "correspDesc"
          | "country"
          | "creation"
          | "custEvent"
          | "custodialHist"
          | "damage"
          | "damageSpan"
          | "dataFacet"
          | "dataRef"
          | "dataSpec"
          | "datatype"
          | "date"
          | "dateline"
          | "death"
          | "decoDesc"
          | "decoNote"
          | "def"
          | "default"
          | "defaultVal"
          | "del"
          | "delSpan"
          | "depth"
          | "derivation"
          | "desc"
          | "dictScrap"
          | "dim"
          | "dimensions"
          | "distinct"
          | "distributor"
          | "district"
          | "div"
          | "div1"
          | "div2"
          | "div3"
          | "div4"
          | "div5"
          | "div6"
          | "div7"
          | "divGen"
          | "docAuthor"
          | "docDate"
          | "docEdition"
          | "docImprint"
          | "docTitle"
          | "domain"
          | "eLeaf"
          | "eTree"
          | "edition"
          | "editionStmt"
          | "editor"
          | "editorialDecl"
          | "education"
          | "eg"
          | "egXML"
          | "elementRef"
          | "elementSpec"
          | "ellipsis"
          | "email"
          | "emph"
          | "empty"
          | "encodingDesc"
          | "entry"
          | "entryFree"
          | "epigraph"
          | "epilogue"
          | "equipment"
          | "equiv"
          | "etym"
          | "event"
          | "eventName"
          | "ex"
          | "exemplum"
          | "expan"
          | "explicit"
          | "extent"
          | "f"
          | "fDecl"
          | "fDescr"
          | "fLib"
          | "facsimile"
          | "factuality"
          | "faith"
          | "figDesc"
          | "figure"
          | "fileDesc"
          | "filiation"
          | "finalRubric"
          | "floatingText"
          | "floruit"
          | "foliation"
          | "foreign"
          | "forename"
          | "forest"
          | "form"
          | "formula"
          | "front"
          | "fs"
          | "fsConstraints"
          | "fsDecl"
          | "fsDescr"
          | "fsdDecl"
          | "fsdLink"
          | "funder"
          | "fvLib"
          | "fw"
          | "g"
          | "gap"
          | "gb"
          | "gen"
          | "genName"
          | "gender"
          | "geo"
          | "geoDecl"
          | "geogFeat"
          | "geogName"
          | "gi"
          | "gloss"
          | "glyph"
          | "gram"
          | "gramGrp"
          | "graph"
          | "graphic"
          | "group"
          | "handDesc"
          | "handNote"
          | "handNotes"
          | "handShift"
          | "head"
          | "headItem"
          | "headLabel"
          | "height"
          | "heraldry"
          | "hi"
          | "history"
          | "hom"
          | "hyph"
          | "hyphenation"
          | "iNode"
          | "iType"
          | "ident"
          | "idno"
          | "if"
          | "iff"
          | "imprimatur"
          | "imprint"
          | "incident"
          | "incipit"
          | "index"
          | "institution"
          | "interaction"
          | "interp"
          | "interpGrp"
          | "interpretation"
          | "item"
          | "join"
          | "joinGrp"
          | "keywords"
          | "kinesic"
          | "l"
          | "label"
          | "lacunaEnd"
          | "lacunaStart"
          | "lang"
          | "langKnowledge"
          | "langKnown"
          | "langUsage"
          | "language"
          | "layout"
          | "layoutDesc"
          | "lb"
          | "lbl"
          | "leaf"
          | "lem"
          | "lg"
          | "licence"
          | "line"
          | "link"
          | "linkGrp"
          | "list"
          | "listAnnotation"
          | "listApp"
          | "listBibl"
          | "listChange"
          | "listEvent"
          | "listForest"
          | "listNym"
          | "listObject"
          | "listOrg"
          | "listPerson"
          | "listPlace"
          | "listPrefixDef"
          | "listRef"
          | "listRelation"
          | "listTranspose"
          | "listWit"
          | "localProp"
          | "locale"
          | "location"
          | "locus"
          | "locusGrp"
          | "m"
          | "macroRef"
          | "macroSpec"
          | "mapping"
          | "material"
          | "measure"
          | "measureGrp"
          | "media"
          | "meeting"
          | "memberOf"
          | "mentioned"
          | "metDecl"
          | "metSym"
          | "metamark"
          | "milestone"
          | "mod"
          | "model"
          | "modelGrp"
          | "modelSequence"
          | "moduleRef"
          | "moduleSpec"
          | "monogr"
          | "mood"
          | "move"
          | "msContents"
          | "msDesc"
          | "msFrag"
          | "msIdentifier"
          | "msItem"
          | "msItemStruct"
          | "msName"
          | "msPart"
          | "musicNotation"
          | "name"
          | "nameLink"
          | "namespace"
          | "nationality"
          | "node"
          | "normalization"
          | "notatedMusic"
          | "note"
          | "noteGrp"
          | "notesStmt"
          | "num"
          | "number"
          | "numeric"
          | "nym"
          | "oRef"
          | "object"
          | "objectDesc"
          | "objectIdentifier"
          | "objectName"
          | "objectType"
          | "occupation"
          | "offset"
          | "opener"
          | "org"
          | "orgName"
          | "orig"
          | "origDate"
          | "origPlace"
          | "origin"
          | "orth"
          | "outputRendition"
          | "p"
          | "pRef"
          | "param"
          | "paramList"
          | "paramSpec"
          | "particDesc"
          | "path"
          | "pause"
          | "pb"
          | "pc"
          | "per"
          | "performance"
          | "persName"
          | "persPronouns"
          | "person"
          | "personGrp"
          | "persona"
          | "phr"
          | "physDesc"
          | "place"
          | "placeName"
          | "population"
          | "pos"
          | "post"
          | "postBox"
          | "postCode"
          | "postscript"
          | "precision"
          | "prefixDef"
          | "preparedness"
          | "principal"
          | "profileDesc"
          | "projectDesc"
          | "prologue"
          | "pron"
          | "provenance"
          | "ptr"
          | "pubPlace"
          | "publicationStmt"
          | "publisher"
          | "punctuation"
          | "purpose"
          | "q"
          | "quotation"
          | "quote"
          | "rb"
          | "rdg"
          | "rdgGrp"
          | "re"
          | "recordHist"
          | "recording"
          | "recordingStmt"
          | "redo"
          | "ref"
          | "refState"
          | "refsDecl"
          | "reg"
          | "region"
          | "relatedItem"
          | "relation"
          | "remarks"
          | "rendition"
          | "repository"
          | "residence"
          | "resp"
          | "respStmt"
          | "respons"
          | "restore"
          | "retrace"
          | "revisionDesc"
          | "rhyme"
          | "role"
          | "roleDesc"
          | "roleName"
          | "root"
          | "row"
          | "rs"
          | "rt"
          | "rubric"
          | "ruby"
          | "s"
          | "said"
          | "salute"
          | "samplingDecl"
          | "schemaRef"
          | "schemaSpec"
          | "scriptDesc"
          | "scriptNote"
          | "scriptStmt"
          | "seal"
          | "sealDesc"
          | "secFol"
          | "secl"
          | "seg"
          | "segmentation"
          | "sense"
          | "sequence"
          | "series"
          | "seriesStmt"
          | "set"
          | "setting"
          | "settingDesc"
          | "settlement"
          | "sex"
          | "shift"
          | "sic"
          | "signatures"
          | "signed"
          | "soCalled"
          | "socecStatus"
          | "sound"
          | "source"
          | "sourceDesc"
          | "sourceDoc"
          | "sp"
          | "spGrp"
          | "space"
          | "span"
          | "spanGrp"
          | "speaker"
          | "specDesc"
          | "specGrp"
          | "specGrpRef"
          | "specList"
          | "sponsor"
          | "stage"
          | "stamp"
          | "standOff"
          | "state"
          | "stdVals"
          | "street"
          | "stress"
          | "string"
          | "styleDefDecl"
          | "subc"
          | "subst"
          | "substJoin"
          | "summary"
          | "superEntry"
          | "supplied"
          | "support"
          | "supportDesc"
          | "surface"
          | "surfaceGrp"
          | "surname"
          | "surplus"
          | "surrogates"
          | "syll"
          | "symbol"
          | "table"
          | "tag"
          | "tagUsage"
          | "tagsDecl"
          | "taxonomy"
          | "tech"
          | "teiCorpus"
          | "teiHeader"
          | "term"
          | "terrain"
          | "text"
          | "textClass"
          | "textDesc"
          | "textLang"
          | "textNode"
          | "then"
          | "time"
          | "timeline"
          | "title"
          | "titlePage"
          | "titlePart"
          | "titleStmt"
          | "tns"
          | "trailer"
          | "trait"
          | "transcriptionDesc"
          | "transpose"
          | "tree"
          | "triangle"
          | "typeDesc"
          | "typeNote"
          | "u"
          | "unclear"
          | "undo"
          | "unicodeProp"
          | "unihanProp"
          | "unit"
          | "unitDecl"
          | "unitDef"
          | "usg"
          | "vAlt"
          | "vColl"
          | "vDefault"
          | "vLabel"
          | "vMerge"
          | "vNot"
          | "vRange"
          | "val"
          | "valDesc"
          | "valItem"
          | "valList"
          | "variantEncoding"
          | "view"
          | "vocal"
          | "w"
          | "watermark"
          | "when"
          | "width"
          | "wit"
          | "witDetail"
          | "witEnd"
          | "witStart"
          | "witness"
          | "writing"
          | "xenoData"
          | "xr"
          | "zone"
         )*
      }
   }?,
   attribute key
   {
      "analysis"
    | "certainty"
    | "cmc"
    | "core"
    | "corpus"
    | "dictionaries"
    | "drama"
    | "figures"
    | "gaiji"
    | "header"
    | "iso-fs"
    | "linking"
    | "msdescription"
    | "namesdates"
    | "nets"
    | "spoken"
    | "tagdocs"
    | "tei"
    | "textcrit"
    | "textstructure"
    | "transcr"
    | "verse"
   }?,
   ( attribute url { text }? ),
   attribute prefix { ? }?,
   cust_content?
}⚓

3.1.104. <moduleSpec>

<moduleSpec> (module specification) documents the structure, content, and purpose of a single module, i.e. a named and externally visible group of declarations. [23.2. Modules and Schemas]
Moduletagdocs
Attributes
Member of
Contained by
May contain
core: desc gloss
header: idno
Example
<moduleSpec ident="namesdates">  <idno type="FPI">Names and Dates</idno>  <desc>Additional elements for names and dates</desc> </moduleSpec>
Content model
<content>
 <sequence>
  <alternate minOccurs="0"
   maxOccurs="unbounded">
   <classRef key="model.identEquiv"/>
   <elementRef key="idno"/>
   <classRef key="model.descLike"/>
  </alternate>
  <elementRef key="exemplum" minOccurs="0"
   maxOccurs="unbounded"/>
  <elementRef key="remarks" minOccurs="0"/>
  <elementRef key="listRef" minOccurs="0"
   maxOccurs="unbounded"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element moduleSpec
{
   cust_att.global.attributes,
   cust_att.identified.attributes,
   cust_att.typed.attributes,
   (
      ( cust_model.identEquiv | cust_idno | cust_model.descLike )*,
      cust_exemplum*,
      cust_remarks?,
      cust_listRef*
   )
}⚓

3.1.105. <name>

<name> (name, proper noun) contains a proper noun or noun phrase. [3.6.1. Referring Strings]
Modulecore
Attributes
Member of
Contained by
May contain
Note

Proper nouns referring to people, places, and organizations may be tagged instead with <persName>, <placeName>, or <orgName>, when the TEI module for names and dates is included.

Example
<name type="person">Thomas Hoccleve</name> <name type="place">Villingaholt</name> <name type="org">Vetus Latina Institut</name> <name type="person" ref="#HOC001">Occleve</name>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element name
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.datable.attributes,
   cust_att.editLike.attributes,
   cust_att.personal.attributes,
   cust_att.typed.attributes,
   cust_macro.phraseSeq
}⚓

3.1.106. <note>

<note> (note) contains a note or annotation. [3.9.1. Notes and Simple Annotation 2.2.6. The Notes Statement 3.12.2.8. Notes and Statement of Language 10.3.5.4. Notes within Entries]
Modulecore
Attributes
Member of
Contained by
May contain
ExampleIn the following example, the translator has supplied a footnote containing an explanation of the term translated as "painterly":
And yet it is not only in the great line of Italian renaissance art, but even in the painterly <note place="bottom" type="gloss"  resp="#MDMH">  <term xml:lang="de">Malerisch</term>. This word has, in the German, two distinct meanings, one objective, a quality residing in the object, the other subjective, a mode of apprehension and creation. To avoid confusion, they have been distinguished in English as <mentioned>picturesque</mentioned> and <mentioned>painterly</mentioned> respectively. </note> style of the Dutch genre painters of the seventeenth century that drapery has this psychological significance. <!-- elsewhere in the document --> <respStmt xml:id="MDMH">  <resp>translation from German to English</resp>  <name>Hottinger, Marie Donald Mackie</name> </respStmt>
For this example to be valid, the code MDMH must be defined elsewhere, for example by means of a responsibility statement in the associated TEI header.
ExampleThe global n attribute may be used to supply the symbol or number used to mark the note's point of attachment in the source text, as in the following example:
Mevorakh b. Saadya's mother, the matriarch of the family during the second half of the eleventh century, <note n="126" anchored="true"> The alleged mention of Judah Nagid's mother in a letter from 1071 is, in fact, a reference to Judah's children; cf. above, nn. 111 and 54. </note> is well known from Geniza documents published by Jacob Mann.
However, if notes are numbered in sequence and their numbering can be reconstructed automatically by processing software, it may well be considered unnecessary to record the note numbers.
Content model
<content>
 <macroRef key="macro.specialPara"/>
</content>
    ⚓
Schema Declaration
element note
{
   cust_att.global.attributes,
   cust_att.anchoring.attributes,
   cust_att.cmc.attributes,
   cust_att.placement.attributes,
   cust_att.pointing.attributes,
   cust_att.typed.attributes,
   cust_att.written.attributes,
   cust_macro.specialPara
}⚓

3.1.107. <noteGrp>

<noteGrp> (note group) contains a group of notes. [3.9.1.1. Encoding Grouped Notes]
Modulecore
Attributes
Member of
Contained by
May contain
ExampleIn the following example, there are two notes in different languages, each specifying the content of the annotation relating to the same fragment of text:
<p>(...) tamen reuerendos dominos archiepiscopum et canonicos Leopolienses necnon episcopum in duplicibus Quatuortemporibus <noteGrp>   <note xml:lang="en">Quatuor Tempora, so called dry fast days (Wednesday, Friday, and Saturday)      falling on each of the quarters of the year. In the first quarter they were called Cinerum      (following Ash Wednesday), second Spiritus (following Pentecost), third Crucis      (after the Exaltation of the Holy Cross, September 14th), and Luciae      in the fourth (after the feast of St. Lucia, December 13th).   </note>   <note xml:lang="pl">Quatuor Tempora, tzw. Suche dni postne (środa, piątek i sobota)      przypadające cztery razy w roku. W pierwszym kwartale zwały się Cinerum      (po Popielcu), w drugim Spiritus (po Zielonych Świętach), w trzecim Crucis      (po święcie Podwyższenia Krzyża 14 września), w czwartym Luciae      (po dniu św. Łucji 13 grudnia).   </note>  </noteGrp> totaliter expediui. </p>
Content model
<content>
 <sequence>
  <elementRef key="desc" minOccurs="0"
   maxOccurs="unbounded"/>
  <alternate minOccurs="1"
   maxOccurs="unbounded">
   <elementRef key="note"/>
   <elementRef key="noteGrp"/>
  </alternate>
 </sequence>
</content>
    ⚓
Schema Declaration
element noteGrp
{
   cust_att.global.attributes,
   cust_att.anchoring.attributes,
   cust_att.cmc.attributes,
   cust_att.placement.attributes,
   cust_att.pointing.attributes,
   cust_att.typed.attributes,
   cust_att.written.attributes,
   ( cust_desc*, ( cust_note | cust_noteGrp )+ )
}⚓

3.1.108. <notesStmt>

<notesStmt> (notes statement) collects together any notes providing information about a text additional to that recorded in other parts of the bibliographic description. [2.2.6. The Notes Statement 2.2. The File Description]
Moduleheader
Attributes
Contained by
May contain
Note

Information of different kinds should not be grouped together into the same note.

Example
<notesStmt>  <note>Historical commentary provided by Mark Cohen</note>  <note>OCR scanning done at University of Toronto</note> </notesStmt>
Content model
<content>
 <alternate minOccurs="1"
  maxOccurs="unbounded">
  <classRef key="model.noteLike"/>
  <elementRef key="relatedItem"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element notesStmt
{
   cust_att.global.attributes,
   ( cust_model.noteLike | cust_relatedItem )+
}⚓

3.1.109. <ns>

<ns>
Namespacehttp://purl.oclc.org/dsdl/schematron
Modulederived-module-tei_customization
Attributes
prefix
StatusRequired
Datatypeteidata.enumerated
Legal values are:
dc
uri
StatusRequired
Datatypeteidata.enumerated
Legal values are:
http://purl.org/dc/elements/1.1/
Contained by
May containEmpty element
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element ns
{
   attribute prefix { "dc" },
   attribute uri { "http://purl.org/dc/elements/1.1/" },
   empty
}⚓

3.1.110. <ns>

<ns>
Namespacehttp://purl.oclc.org/dsdl/schematron
Modulederived-module-tei_customization
Attributes
prefix
StatusRequired
Datatypeteidata.enumerated
Legal values are:
mml
uri
StatusRequired
Datatypeteidata.enumerated
Legal values are:
http://www.w3.org/1998/Math/MathML
Contained by
May containEmpty element
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element ns
{
   attribute prefix { "mml" },
   attribute uri { "http://www.w3.org/1998/Math/MathML" },
   empty
}⚓

3.1.111. <ns>

<ns>
Namespacehttp://purl.oclc.org/dsdl/schematron
Modulederived-module-tei_customization
Attributes
prefix
StatusRequired
Datatypeteidata.enumerated
Legal values are:
mods
uri
StatusRequired
Datatypeteidata.enumerated
Legal values are:
http://www.loc.gov/mods/v3
Contained by
May containEmpty element
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element ns
{
   attribute prefix { "mods" },
   attribute uri { "http://www.loc.gov/mods/v3" },
   empty
}⚓

3.1.112. <ns>

<ns>
Namespacehttp://purl.oclc.org/dsdl/schematron
Modulederived-module-tei_customization
Attributes
prefix
StatusRequired
Datatypeteidata.enumerated
Legal values are:
rdf
uri
StatusRequired
Datatypeteidata.enumerated
Legal values are:
http://www.w3.org/1999/02/22-rdf-syntax-ns#
Contained by
May containEmpty element
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element ns
{
   attribute prefix { "rdf" },
   attribute uri { "http://www.w3.org/1999/02/22-rdf-syntax-ns#" },
   empty
}⚓

3.1.113. <ns>

<ns>
Namespacehttp://purl.oclc.org/dsdl/schematron
Modulederived-module-tei_customization
Attributes
prefix
StatusRequired
Datatypeteidata.enumerated
Legal values are:
rng
uri
StatusRequired
Datatypeteidata.enumerated
Legal values are:
http://relaxng.org/ns/structure/1.0
Contained by
May containEmpty element
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element ns
{
   attribute prefix { "rng" },
   attribute uri { "http://relaxng.org/ns/structure/1.0" },
   empty
}⚓

3.1.114. <ns>

<ns>
Namespacehttp://purl.oclc.org/dsdl/schematron
Modulederived-module-tei_customization
Attributes
prefix
StatusRequired
Datatypeteidata.enumerated
Legal values are:
sch
uri
StatusRequired
Datatypeteidata.enumerated
Legal values are:
http://purl.oclc.org/dsdl/schematron
Contained by
May containEmpty element
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element ns
{
   attribute prefix { "sch" },
   attribute uri { "http://purl.oclc.org/dsdl/schematron" },
   empty
}⚓

3.1.115. <ns>

<ns>
Namespacehttp://purl.oclc.org/dsdl/schematron
Modulederived-module-tei_customization
Attributes
prefix
StatusRequired
Datatypeteidata.enumerated
Legal values are:
tei
uri
StatusRequired
Datatypeteidata.enumerated
Legal values are:
http://www.tei-c.org/ns/1.0
Contained by
May containEmpty element
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element ns
{
   attribute prefix { "tei" },
   attribute uri { "http://www.tei-c.org/ns/1.0" },
   empty
}⚓

3.1.116. <ns>

<ns>
Namespacehttp://purl.oclc.org/dsdl/schematron
Modulederived-module-tei_customization
Attributes
prefix
StatusRequired
Datatypeteidata.enumerated
Legal values are:
teix
uri
StatusRequired
Datatypeteidata.enumerated
Legal values are:
http://www.tei-c.org/ns/Examples
Contained by
May containEmpty element
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element ns
{
   attribute prefix { "teix" },
   attribute uri { "http://www.tei-c.org/ns/Examples" },
   empty
}⚓

3.1.117. <ns>

<ns>
Namespacehttp://purl.oclc.org/dsdl/schematron
Modulederived-module-tei_customization
Attributes
prefix
StatusRequired
Datatypeteidata.enumerated
Legal values are:
xi
uri
StatusRequired
Datatypeteidata.enumerated
Legal values are:
http://www.w3.org/2001/XInclude
Contained by
May containEmpty element
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element ns
{
   attribute prefix { "xi" },
   attribute uri { "http://www.w3.org/2001/XInclude" },
   empty
}⚓

3.1.118. <ns>

<ns>
Namespacehttp://purl.oclc.org/dsdl/schematron
Modulederived-module-tei_customization
Attributes
prefix
StatusRequired
Datatypeteidata.enumerated
Legal values are:
xlink
uri
StatusRequired
Datatypeteidata.enumerated
Legal values are:
http://www.w3.org/1999/xlink
Contained by
May containEmpty element
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element ns
{
   attribute prefix { "xlink" },
   attribute uri { "http://www.w3.org/1999/xlink" },
   empty
}⚓

3.1.119. <ns>

<ns>
Namespacehttp://purl.oclc.org/dsdl/schematron
Modulederived-module-tei_customization
Attributes
prefix
StatusRequired
Datatypeteidata.enumerated
Legal values are:
xs
uri
StatusRequired
Datatypeteidata.enumerated
Legal values are:
http://www.w3.org/2001/XMLSchema
Contained by
May containEmpty element
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element ns
{
   attribute prefix { "xs" },
   attribute uri { "http://www.w3.org/2001/XMLSchema" },
   empty
}⚓

3.1.120. <ns>

<ns>
Namespacehttp://purl.oclc.org/dsdl/schematron
Modulederived-module-tei_customization
Attributes
prefix
StatusRequired
Datatypeteidata.enumerated
Legal values are:
xsl
uri
StatusRequired
Datatypeteidata.enumerated
Legal values are:
http://www.w3.org/1999/XSL/Transform
Contained by
May containEmpty element
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element ns
{
   attribute prefix { "xsl" },
   attribute uri { "http://www.w3.org/1999/XSL/Transform" },
   empty
}⚓

3.1.121. <num>

<num> (number) contains a number, written in any form. [3.6.3. Numbers and Measures]
Modulecore
Attributes
typeindicates the type of numeric value.
Derived fromatt.typed
StatusOptional
Datatypeteidata.enumerated
Suggested values include:
cardinal
absolute number, e.g. 21, 21.5
ordinal
ordinal number, e.g. 21st
fraction
fraction, e.g. one half or three-quarters
percentage
a percentage
Note

If a different typology is desired, other values can be used for this attribute.

valuesupplies the value of the number in standard form.
StatusOptional
Datatypeteidata.numeric
Valuesa numeric value.
Note

The standard form used is defined by the TEI datatype teidata.numeric.

Member of
Contained by
May contain
Note

Detailed analyses of quantities and units of measure in historical documents may also use the feature structure mechanism described in chapter 19. Feature Structures. The <num> element is intended for use in simple applications.

Example
<p>I reached <num type="cardinal" value="21">twenty-one</num> on my <num type="ordinal" value="21">twenty-first</num> birthday</p> <p>Light travels at <num value="3E10">3×10<hi rend="sup">10</hi>  </num> cm per second.</p>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element num
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.ranging.attributes,
   cust_att.typed.attribute.subtype,
   attribute type { "cardinal" | "ordinal" | "fraction" | "percentage" }?,
   attribute value { text }?,
   cust_macro.phraseSeq
}⚓

3.1.122. <orgName>

<orgName> (organization name) contains an organizational name. [14.2.2. Organizational Names]
Modulenamesdates
Attributes
Member of
Contained by
May contain
Example
About a year back, a question of considerable interest was agitated in the <orgName key="PAS1" type="voluntary">  <placeName key="PEN">Pennsyla.</placeName> Abolition Society </orgName> [...]
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element orgName
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.datable.attributes,
   cust_att.editLike.attributes,
   cust_att.personal.attributes,
   cust_att.typed.attributes,
   cust_macro.phraseSeq
}⚓

3.1.123. <outputRendition>

<outputRendition> describes the rendering or appearance intended for all occurrences of an element in a specified context for a specified type of output.
Moduletagdocs
Attributes
scopeprovides a way of defining ‘pseudo-elements’, that is, styling rules applicable to specific sub-portions of an element.
StatusOptional
Datatypeteidata.enumerated
Sample values include:
first-line
styling applies to the first line of the target element.
first-letter
styling applies to the first character of the target element.
before
styling should be applied immediately before the content of the target element.
after
styling should be applied immediately after the content of the target element.
Member of
Contained by
May containCharacter data only
Note

This component of an element specification describes the rendering or appearance intended for all occurrences of the element in a specified context for a specified type of output. The <rendition> element, by contrast, describes the actual rendering or appearance of all occurrences of the specified element in a source document. The useSourceRendition attribute may however be used to indicate that formatting information provided by a <rendition> element is to be combined with any provided by an <outputRendition> element.

It is strongly recommended that the W3C Cascading Stylesheet language (CSS2 or later) be used to express the required formatting information.

Example
<model predicate="ancestor::p"  behaviour="inline">  <outputRendition>font-style: italic;</outputRendition> </model> <model behaviour="block">  <outputRendition>left-margin: 2em;</outputRendition> </model>
Content model
<content>
 <textNode/>
</content>
    ⚓
Schema Declaration
element outputRendition
{
   cust_att.global.attributes,
   attribute scope { text }?,
   text
}⚓

3.1.124. <p>

<p> (paragraph) marks paragraphs in prose. [3.1. Paragraphs 7.2.5. Speech Contents]
Modulecore
Attributes
Member of
Contained by
May contain
Example
<p>Hallgerd was outside. <q>There is blood on your axe,</q> she said. <q>What have you    done?</q> </p> <p>  <q>I have now arranged that you can be married a second time,</q> replied Thjostolf. </p> <p>  <q>Then you must mean that Thorvald is dead,</q> she said. </p> <p>  <q>Yes,</q> said Thjostolf. <q>And now you must think up some plan for me.</q> </p>
Schematron
<sch:rule context="tei:p"> <sch:report test="(ancestor::tei:ab or ancestor::tei:p) and not( ancestor::tei:floatingText | parent::tei:exemplum | parent::tei:item | parent::tei:note | parent::tei:q | parent::tei:quote | parent::tei:remarks | parent::tei:said | parent::tei:sp | parent::tei:stage | parent::tei:cell | parent::tei:figure )"> Abstract model violation: Paragraphs may not occur inside other paragraphs or ab elements. </sch:report> </sch:rule>
Schematron
<sch:rule context="tei:l//tei:p"> <sch:assert test="ancestor::tei:floatingText | parent::tei:figure | parent::tei:note"> Abstract model violation: Metrical lines may not contain higher-level structural elements such as div, p, or ab, unless p is a child of figure or note, or is a descendant of floatingText. </sch:assert> </sch:rule>
Content model
<content>
 <macroRef key="macro.paraContent"/>
</content>
    ⚓
Schema Declaration
element p
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.declaring.attributes,
   cust_att.fragmentable.attributes,
   cust_att.written.attributes,
   cust_macro.paraContent
}⚓

3.1.125. <param>

<param> provides a parameter for a model behaviour by supplying its name and an XPath expression identifying the location of its content. [23.5.4.5. Behaviours and their parameters]
Moduletagdocs
Attributes
namea name for the parameter being supplied.
StatusRequired
Datatypeteidata.enumerated
Suggested values include:
alternate
when used with behaviour alternate, a parameter of this name supplies one of the pair of possible values; for example the regularized form rather than the original form within a <choice> element.
default
when used with behaviour alternate, a parameter of this name supplies one of the pair of possible values; for example the original form rather than the regularized form within a <choice> element.
height
when used with behaviour graphic, a parameter of this name supplies a value for the height of the graphic e.g. ‘300px’, ‘50%’.
id
a parameter of this name should supply a unique identifier for the element being processed; as for example with the anchor behaviour
label
a parameter of this name should supply an expression to be used to label something, for example concat('Page ', @n) for a page beginning or @n for a footnote reference; typically used with the note or break behaviours
level
when used with the heading behaviour, a parameter of this name supplies a positive integer indicating the hierarchic level of a heading.
link
when used with the link behaviour, a parameter of this name should supply a URL to be used as the target of a link.
place
when used with the note behaviour, a parameter of this name should provide a string which describes the intended placement of some text; typical values include ‘margin’, ‘footnote’, ‘endnote’, ‘inline’, ‘bottom’
type
a parameter of this name can be used to categorize the specified behaviour in any way; for example the kind of break (when used with the break behaviour) or the kind of index to be generated (if used with the index behaviour) etc.
url
when used with behaviour graphic, a parameter of this name supplies a a URL indicating the graphic intended.
width
when used with behaviour graphic, a parameter of this name supplies a value for the width of the graphic e.g. ‘400px’, ‘70%’.
valuesupplies an XPath expression which when evaluated provides the value for the parameter
StatusRequired
Datatypeteidata.xpath
Contained by
tagdocs: model
May containEmpty element
Note

An implementation may require parameters other than those listed here, and is not required to follow this partial specification.

The names and datatypes of the expected parameters should be documented in the corresponding customization using a <paramSpec> element. Literal strings provided in an XPath expression should be quoted.

ExampleIn this example, which will be processed for a <choice> element which has both <sic> and <corr> child elements, the default parameter will provide the value of the child <corr> element, and the alternate parameter will provide that of the child <sic> elements. If neither <param> element was supplied, both elements would still be available to an application, but the application would need to distinguish them for itself.
<elementSpec ident="choice">  <model predicate="sic and corr"   behaviour="alternate">   <param name="default" value="corr"/>   <param name="alternate" value="sic"/>  </model> </elementSpec>
Example
<elementSpec ident="graphic" mode="change">  <model behaviour="graphic">   <param name="url" value="@url"/>   <param name="width" value="@width"/>   <param name="height" value="@height"/>  </model> </elementSpec>
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element param
{
   cust_att.global.attributes,
   attribute name
   {
      "alternate"
    | "default"
    | "height"
    | "id"
    | "label"
    | "level"
    | "link"
    | "place"
    | "type"
    | "url"
    | "width"
   },
   attribute value { text },
   empty
}⚓

3.1.126. <paramList>

<paramList> list of parameter specifications.
Moduletagdocs
Attributes
Contained by
tagdocs: valItem
May contain
tagdocs: paramSpec
Note

The <paramList> element provides a a mechanism to document parameter specifications using child <paramSpec> elements.

Example
<valItem ident="alternate">  <desc versionDate="2015-08-21"   xml:lang="en">create a specialized display of alternating elements for displaying the preferred version and an alternative, both at once or by some method of toggling between the two.</desc>  <paramList>   <paramSpec ident="default">    <desc>preferred content</desc>   </paramSpec>   <paramSpec ident="alternate">    <desc>alternate content</desc>   </paramSpec>  </paramList> </valItem>
Content model
<content>
 <elementRef minOccurs="0"
  maxOccurs="unbounded" key="paramSpec"/>
</content>
    ⚓
Schema Declaration
element paramList { cust_att.global.attributes, cust_paramSpec* }⚓

3.1.127. <paramSpec>

<paramSpec> supplies specification for one parameter of a model behaviour. [23.5.4.8. Defining a processing model]
Moduletagdocs
Attributes
Contained by
tagdocs: paramList
May contain
core: desc gloss
tagdocs: equiv
Note

Where a model behaviour uses more than one parameter, individual <paramSpec> elements should be grouped together using a <paramList> element, as above. Parameter specifications are provided within the <valItem> used to define a particular behaviour, which forms part of the specification of a <model> element's behaviour attribute. In the example above, the behaviour link has two parameters: content and link.

Using a <desc> element within a <paramSpec> is optional but recommended practice.

Example
<valItem ident="link">  <desc>create a hyperlink</desc>  <paramList>   <paramSpec ident="content">    <desc>supplies the location of some content describing the link</desc>   </paramSpec>   <paramSpec ident="link">    <desc>supplies the location of the intended URL</desc>   </paramSpec>  </paramList> </valItem>
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <classRef key="model.identEquiv"/>
  <classRef key="model.descLike"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element paramSpec
{
   cust_att.global.attributes,
   cust_att.identified.attributes,
   ( cust_model.identEquiv | cust_model.descLike )*
}⚓

3.1.128. <persName>

<persName> (personal name) contains a proper noun or proper-noun phrase referring to a person, possibly including one or more of the person's forenames, surnames, honorifics, added names, etc. [14.2.1. Personal Names]
Modulenamesdates
Attributes
Member of
Contained by
May contain
Example
<persName>  <forename>Edward</forename>  <forename>George</forename>  <surname type="linked">Bulwer-Lytton</surname>, <roleName>Baron Lytton of  <placeName>Knebworth</placeName>  </roleName> </persName>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element persName
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.datable.attributes,
   cust_att.editLike.attributes,
   cust_att.personal.attributes,
   cust_att.typed.attributes,
   cust_macro.phraseSeq
}⚓

3.1.129. <placeName>

<placeName> (place name) contains an absolute or relative place name. [14.2.3. Place Names]
Modulenamesdates
Attributes
Member of
Contained by
May contain
Example
<placeName>  <settlement>Rochester</settlement>  <region>New York</region> </placeName>
Example
<placeName>  <geogName>Arrochar Alps</geogName>  <region>Argylshire</region> </placeName>
Example
<placeName>  <measure>10 miles</measure>  <offset>Northeast of</offset>  <settlement>Attica</settlement> </placeName>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element placeName
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.datable.attributes,
   cust_att.editLike.attributes,
   cust_att.personal.attributes,
   cust_att.typed.attributes,
   cust_macro.phraseSeq
}⚓

3.1.130. <postBox>

<postBox> (postal box or post office box) contains a number or other identifier for some postal delivery point other than a street address. [3.6.2. Addresses]
Modulecore
Attributes
Member of
Contained by
core: address
May containCharacter data only
Note

The position and nature of postal codes is highly country-specific; the conventions appropriate to the country concerned should be used.

Example
<postBox>P.O. Box 280</postBox>
Example
<postBox>Postbus 532</postBox>
Content model
<content>
 <textNode/>
</content>
    ⚓
Schema Declaration
element postBox { cust_att.global.attributes, text }⚓

3.1.131. <postCode>

<postCode> (postal code) contains a numerical or alphanumeric code used as part of a postal address to simplify sorting or delivery of mail. [3.6.2. Addresses]
Modulecore
Attributes
Member of
Contained by
core: address
May containCharacter data only
Note

The position and nature of postal codes is highly country-specific; the conventions appropriate to the country concerned should be used.

Example
<postCode>HR1 3LR</postCode>
Example
<postCode>60142-7</postCode>
Content model
<content>
 <textNode/>
</content>
    ⚓
Schema Declaration
element postCode { cust_att.global.attributes, text }⚓

3.1.132. <prefixDef>

<prefixDef> (prefix definition) defines a prefixing scheme used in teidata.pointer values, showing how abbreviated URIs using the scheme may be expanded into full URIs. [17.2.3. Using Abbreviated Pointers]
Moduleheader
Attributes
identsupplies a name which functions as the prefix for an abbreviated pointing scheme such as a private URI scheme. The prefix constitutes the text preceding the first colon.
StatusRequired
Datatypeteidata.prefix
Note

The value is limited to teidata.prefix so that it may be mapped directly to a URI prefix.

Contained by
May contain
core: p
Note

The abbreviated pointer may be dereferenced to produce either an absolute or a relative URI reference. In the latter case it is combined with the value of xml:base in force at the place where the pointing attribute occurs to form an absolute URI in the usual manner as prescribed by XML Base.

Example
<prefixDef ident="ref"  matchPattern="([a-z]+)"  replacementPattern="../../references/references.xml#$1">  <p> In the context of this project, private URIs with    the prefix "ref" point to <gi>div</gi> elements in    the project's global references.xml file.  </p> </prefixDef>
Content model
<content>
 <classRef key="model.pLike" minOccurs="0"
  maxOccurs="unbounded"/>
</content>
    ⚓
Schema Declaration
element prefixDef
{
   cust_att.global.attributes,
   cust_att.patternReplacement.attributes,
   attribute ident { text },
   cust_model.pLike*
}⚓

3.1.133. <principal>

<principal> (principal researcher) supplies the name of the principal researcher responsible for the creation of an electronic text. [2.2.1. The Title Statement]
Moduleheader
Attributes
Member of
Contained by
May contain
Example
<principal ref="http://viaf.org/viaf/105517912">Gary Taylor</principal>
Content model
<content>
 <macroRef key="macro.phraseSeq.limited"/>
</content>
    ⚓
Schema Declaration
element principal
{
   cust_att.global.attributes,
   cust_att.canonical.attributes,
   cust_att.datable.attributes,
   cust_macro.phraseSeq.limited
}⚓

3.1.134. <projectDesc>

<projectDesc> (project description) describes in detail the aim or purpose for which an electronic file was encoded, together with any other relevant information concerning the process by which it was assembled or collected. [2.3.1. The Project Description 2.3. The Encoding Description 16.3.2. Declarable Elements]
Moduleheader
Attributes
Member of
Contained by
header: encodingDesc
May contain
core: p
Example
<projectDesc>  <p>Texts collected for use in the Claremont Shakespeare Clinic, June 1990</p> </projectDesc>
Content model
<content>
 <classRef key="model.pLike" minOccurs="1"
  maxOccurs="unbounded"/>
</content>
    ⚓
Schema Declaration
element projectDesc
{
   cust_att.global.attributes,
   cust_att.declarable.attributes,
   cust_model.pLike+
}⚓

3.1.135. <ptr>

<ptr> (pointer) defines a pointer to another location. [3.7. Simple Links and Cross-References 17.1. Links]
Modulecore
Attributes
Member of
Contained by
May containEmpty element
Note

The target and cRef attributes are mutually exclusive.

Example
<ptr target="#p143 #p144"/> <ptr target="http://www.tei-c.org"/> <ptr cRef="1.3.4"/>
Schematron
<sch:rule context="tei:ptr"> <sch:report test="@target and @cRef">Only one of the attributes @target and @cRef may be supplied on <sch:name/>.</sch:report> </sch:rule>
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element ptr
{
   cust_att.global.attributes,
   cust_att.cReferencing.attributes,
   cust_att.cmc.attributes,
   cust_att.declaring.attributes,
   cust_att.internetMedia.attributes,
   cust_att.pointing.attributes,
   cust_att.typed.attributes,
   empty
}⚓

3.1.136. <pubPlace>

<pubPlace> (publication place) contains the name of the place where a bibliographic item was published. [3.12.2.4. Imprint, Size of a Document, and Reprint Information]
Modulecore
Attributes
Member of
Contained by
May contain
Example
<publicationStmt>  <publisher>Oxford University Press</publisher>  <pubPlace>Oxford</pubPlace>  <date>1989</date> </publicationStmt>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element pubPlace
{
   cust_att.global.attributes,
   cust_att.naming.attributes,
   cust_macro.phraseSeq
}⚓

3.1.137. <publicationStmt>

<publicationStmt> (publication statement) groups information concerning the publication or distribution of an electronic or other text. [2.2.4. Publication, Distribution, Licensing, etc. 2.2. The File Description]
Moduleheader
Attributes
Contained by
May contain
Note

Where a publication statement contains several members of the model.publicationStmtPart.agency or model.publicationStmtPart.detail classes rather than one or more paragraphs or anonymous blocks, care should be taken to ensure that the repeated elements are presented in a meaningful order. It is a conformance requirement that elements supplying information about publication place, address, identifier, availability, and date be given following the name of the publisher, distributor, or authority concerned, and preferably in that order.

Example
<publicationStmt>  <publisher>C. Muquardt </publisher>  <pubPlace>Bruxelles &amp; Leipzig</pubPlace>  <date when="1846"/> </publicationStmt>
Example
<publicationStmt>  <publisher>Chadwyck Healey</publisher>  <pubPlace>Cambridge</pubPlace>  <availability>   <p>Available under licence only</p>  </availability>  <date when="1992">1992</date> </publicationStmt>
Example
<publicationStmt>  <publisher>Zea Books</publisher>  <pubPlace>Lincoln, NE</pubPlace>  <date>2017</date>  <availability>   <p>This is an open access work licensed under a Creative Commons Attribution 4.0 International license.</p>  </availability>  <ptr target="http://digitalcommons.unl.edu/zeabook/55"/> </publicationStmt>
Content model
<content>
 <alternate>
  <sequence minOccurs="1"
   maxOccurs="unbounded">
   <classRef key="model.publicationStmtPart.agency"/>
   <classRef key="model.publicationStmtPart.detail"
    minOccurs="0" maxOccurs="unbounded"/>
  </sequence>
  <classRef key="model.pLike" minOccurs="1"
   maxOccurs="unbounded"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element publicationStmt
{
   cust_att.global.attributes,
   (
      (
         (
            cust_model.publicationStmtPart.agency,
            cust_model.publicationStmtPart.detail*
         )+
      )
    | cust_model.pLike+
   )
}⚓

3.1.138. <publisher>

<publisher> (publisher) provides the name of the organization responsible for the publication or distribution of a bibliographic item. [3.12.2.4. Imprint, Size of a Document, and Reprint Information 2.2.4. Publication, Distribution, Licensing, etc.]
Modulecore
Attributes
Member of
Contained by
May contain
Note

Use the full form of the name by which a company is usually referred to, rather than any abbreviation of it which may appear on a title page

Example
<imprint>  <pubPlace>Oxford</pubPlace>  <publisher>Clarendon Press</publisher>  <date>1987</date> </imprint>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element publisher
{
   cust_att.global.attributes,
   cust_att.canonical.attributes,
   cust_macro.phraseSeq
}⚓

3.1.139. <punctuation>

<punctuation> specifies editorial practice adopted with respect to punctuation marks in the original. [2.3.3. The Editorial Practices Declaration 3.2. Treatment of Punctuation]
Moduleheader
Attributes
marksindicates whether or not punctation marks have been retained as content within the text.
StatusOptional
Datatypeteidata.enumerated
Legal values are:
none
no punctuation marks have been retained
some
some punctuation marks have been retained
all
all punctuation marks have been retained
placementindicates the positioning of punctuation marks that are associated with marked up text as being encoded within the element surrounding the text or immediately before or after it.
StatusOptional
Datatypeteidata.enumerated
Legal values are:
internal
punctuation marks found at the start or end of a marked up text component are included within its surrounding element;
external
punctuation marks found at the start or end of a marked up text component appear immediately before or after the surrounding element
Contained by
—
May contain
core: p
Example
<punctuation marks="all"  placement="internal">  <p>All punctuation marks in the source text have been retained and represented using the    appropriate Unicode code point. In cases where a punctuation mark and nearby markup convey    the same information (for example, a sentence ends with a question mark and is also tagged    as <gi>s</gi>) the punctuation mark is captured as content within the element.</p> </punctuation>
ExampleExternal placement of punctuation:
<p>I would agree with Saint Augustine that “<quote>An unjust law is no law at all</quote>.”</p>
ExampleInternal placement of punctuation:
<p>I would agree with Saint Augustine that <quote>“An unjust law is no law at all.”</quote> </p>
Content model
<content>
 <classRef key="model.pLike" minOccurs="0"
  maxOccurs="unbounded"/>
</content>
    ⚓
Schema Declaration
element punctuation
{
   cust_att.global.attributes,
   cust_att.declarable.attributes,
   attribute marks { "none" | "some" | "all" }?,
   attribute placement { "internal" | "external" }?,
   cust_model.pLike*
}⚓

3.1.140. <q>

<q> (quoted) contains material which is distinguished from the surrounding text using quotation marks or a similar method, for any one of a variety of reasons including, but not limited to: direct speech or thought, technical terms or jargon, authorial distance, quotations from elsewhere, and passages that are mentioned but not used. [3.3.3. Quotation]
Modulecore
Attributes
type(type) may be used to indicate whether the offset passage is spoken or thought, or to characterize it more finely.
StatusOptional
Datatypeteidata.enumerated
Suggested values include:
spoken
(spoken) representation of speech
thought
(thought) representation of thought, e.g. internal monologue
written
(written) quotation from a written source
soCalled
(so called) authorial distance
foreign
(foreign) foreign words
distinct
(distinct) linguistically distinct
term
technical term
emph
(emph) rhetorically emphasized
mentioned
(mentioned) refering to itself, not its normal referent
Member of
Contained by
May contain
Note

May be used to indicate that a passage is distinguished from the surrounding text for reasons concerning which no claim is made. When used in this manner, <q> may be thought of as syntactic sugar for <hi> with a value of rend that indicates the use of such mechanisms as quotation marks.

Example
It is spelled <q>Tübingen</q> — to enter the letter <q>u</q> with an umlaut hold down the <q>option</q> key and press <q>0 0 f c</q>
Content model
<content>
 <macroRef key="macro.specialPara"/>
</content>
    ⚓
Schema Declaration
element q
{
   cust_att.global.attributes,
   cust_att.ascribed.directed.attributes,
   cust_att.cmc.attributes,
   attribute type
   {
      "spoken"
    | "thought"
    | "written"
    | "soCalled"
    | "foreign"
    | "distinct"
    | "term"
    | "emph"
    | "mentioned"
   }?,
   cust_macro.specialPara
}⚓

3.1.141. <quote>

<quote> (quotation) contains a phrase or passage attributed by the narrator or author to some agency external to the text. [3.3.3. Quotation 4.3.1. Grouped Texts]
Modulecore
Attributes
Member of
Contained by
May contain
Note

If a bibliographic citation is supplied for the source of a quotation, the two may be grouped using the <cit> element.

Example
Lexicography has shown little sign of being affected by the work of followers of J.R. Firth, probably best summarized in his slogan, <quote>You shall know a word by the company it keeps</quote> <ref>(Firth, 1957)</ref>
Content model
<content>
 <macroRef key="macro.specialPara"/>
</content>
    ⚓
Schema Declaration
element quote
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.notated.attributes,
   cust_att.typed.attributes,
   cust_macro.specialPara
}⚓

3.1.142. <rb>

<rb> (ruby base) contains the base text annotated by a ruby gloss. [3.4.2. Ruby Annotations]
Modulecore
Attributes
Contained by
core: ruby
May contain
ExampleThe word 你 好 nǐ hǎo (hello) is glossed in pinyin to provide a pronunciation guide.
<p xml:lang="zh"> <!--...-->  <ruby>   <rb>你</rb>   <rt place="above">nǐ</rt>  </ruby>  <ruby>   <rb>好</rb>   <rt place="above">hǎo</rt>  </ruby> <!--...--> </p>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element rb
{
   cust_att.global.attributes,
   cust_att.typed.attributes,
   cust_macro.phraseSeq
}⚓

3.1.143. <ref>

<ref> (reference) defines a reference to another location, possibly modified by additional text or comment. [3.7. Simple Links and Cross-References 17.1. Links]
Modulecore
Attributes
Member of
Contained by
May contain
Note

The target and cRef attributes are mutually exclusive.

Example
See especially <ref target="http://www.natcorp.ox.ac.uk/Texts/A02.xml#s2">the second sentence</ref>
Example
See also <ref target="#locution">s.v. <term>locution</term> </ref>.
Schematron
<sch:rule context="tei:ref"> <sch:report test="@target and @cRef">Only one of the attributes @target and @cRef may be supplied on <sch:name/>.</sch:report> </sch:rule>
Content model
<content>
 <macroRef key="macro.paraContent"/>
</content>
    ⚓
Schema Declaration
element ref
{
   cust_att.global.attributes,
   cust_att.cReferencing.attributes,
   cust_att.cmc.attributes,
   cust_att.declaring.attributes,
   cust_att.internetMedia.attributes,
   cust_att.pointing.attributes,
   cust_att.typed.attributes,
   cust_macro.paraContent
}⚓

3.1.144. <relatedItem>

<relatedItem> contains or references some other bibliographic item which is related to the present one in some specified manner, for example as a constituent or alternative version of it. [3.12.2.7. Related Items]
Modulecore
Attributes
targetpoints to the related bibliographic element by means of an absolute or relative URI reference.
StatusOptional
Datatypeteidata.pointer
Member of
Contained by
core: bibl
header: notesStmt
May contain
core: bibl ptr ref
header: biblFull
tagdocs: listRef
Note

If the target attribute is used to reference the related bibliographic item, the element must be empty.

Example
<biblStruct>  <monogr>   <author>Shirley, James</author>   <title type="main">The gentlemen of Venice</title>   <imprint>    <pubPlace>New York</pubPlace>    <publisher>Readex Microprint</publisher>    <date>1953</date>   </imprint>   <extent>1 microprint card, 23 x 15 cm.</extent>  </monogr>  <series>   <title>Three centuries of drama: English, 1642–1700</title>  </series>  <relatedItem type="otherForm">   <biblStruct>    <monogr>     <author>Shirley, James</author>     <title type="main">The gentlemen of Venice</title>     <title type="sub">a tragi-comedie presented at the private house in Salisbury          Court by Her Majesties servants</title>     <imprint>      <pubPlace>London</pubPlace>      <publisher>H. Moseley</publisher>      <date>1655</date>     </imprint>     <extent>78 p.</extent>    </monogr>   </biblStruct>  </relatedItem> </biblStruct>
Schematron
<sch:rule context="tei:relatedItem"> <sch:report test="@target and count( child::* ) > 0">If the @target attribute on <sch:name/> is used, the relatedItem element must be empty</sch:report> <sch:assert test="@target or child::*">A relatedItem element should have either a @target attribute or a child element to indicate the related bibliographic item</sch:assert> </sch:rule>
Content model
<content>
 <alternate minOccurs="0">
  <classRef key="model.biblLike"/>
  <classRef key="model.ptrLike"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element relatedItem
{
   cust_att.global.attributes,
   cust_att.typed.attributes,
   attribute target { text }?,
   ( cust_model.biblLike | cust_model.ptrLike )?
}⚓

3.1.145. <remarks>

<remarks> (remarks) contains any commentary or discussion about the usage of an element, attribute, class, or entity not otherwise documented within the containing element. [23.5. Element Specifications 23.5.3. Attribute List Specification 23.6. Class Specifications 23.7. Macro Specifications]
Moduletagdocs
Attributes
identspecifies the remark concerned.
StatusOptional
Datatypeteidata.text
Contained by
May contain
core: p
Note

Contains at least one paragraph, unless it is empty.

As defined in ODD, must contain paragraphs; should be special.para

Example
<remarks>  <p>This element is probably redundant.</p> </remarks>
Content model
<content>
 <classRef key="model.pLike" minOccurs="1"
  maxOccurs="unbounded"/>
</content>
    ⚓
Schema Declaration
element remarks
{
   cust_att.global.attributes,
   cust_att.combinable.attributes,
   cust_att.translatable.attributes,
   attribute ident { text }?,
   cust_model.pLike+
}⚓

3.1.146. <resp>

<resp> (responsibility) contains a phrase describing the nature of a person's intellectual responsibility, or an organization's role in the production or distribution of a work. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement 2.2.2. The Edition Statement 2.2.5. The Series Statement]
Modulecore
Attributes
Contained by
core: respStmt
May contain
Note

The attribute ref, inherited from the class att.canonical may be used to indicate the kind of responsibility in a normalized form by referring directly to a standardized list of responsibility types, such as that maintained by a naming authority, for example the list maintained at http://www.loc.gov/marc/relators/relacode.html for bibliographic usage.

Example
<respStmt>  <resp ref="http://id.loc.gov/vocabulary/relators/com.html">compiler</resp>  <name>Edward Child</name> </respStmt>
Content model
<content>
 <macroRef key="macro.phraseSeq.limited"/>
</content>
    ⚓
Schema Declaration
element resp
{
   cust_att.global.attributes,
   cust_att.canonical.attributes,
   cust_att.datable.attributes,
   cust_macro.phraseSeq.limited
}⚓

3.1.147. <respStmt>

<respStmt> (statement of responsibility) supplies a statement of responsibility for the intellectual content of a text, edition, recording, or series, where the specialized elements for authors, editors, etc. do not suffice or do not apply. May also be used to encode information about individuals or organizations which have played a role in the production or distribution of a bibliographic work. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement 2.2.2. The Edition Statement 2.2.5. The Series Statement]
Modulecore
Attributes
Member of
Contained by
May contain
core: name note resp
namesdates: orgName persName
Example
<respStmt>  <resp>transcribed from original ms</resp>  <persName>Claus Huitfeldt</persName> </respStmt>
Example
<respStmt>  <resp>converted to XML encoding</resp>  <name>Alan Morrison</name> </respStmt>
Content model
<content>
 <sequence>
  <alternate>
   <sequence>
    <elementRef key="resp" minOccurs="1"
     maxOccurs="unbounded"/>
    <classRef key="model.nameLike.agent"
     minOccurs="1" maxOccurs="unbounded"/>
   </sequence>
   <sequence>
    <classRef key="model.nameLike.agent"
     minOccurs="1" maxOccurs="unbounded"/>
    <elementRef key="resp" minOccurs="1"
     maxOccurs="unbounded"/>
   </sequence>
  </alternate>
  <elementRef key="note" minOccurs="0"
   maxOccurs="unbounded"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element respStmt
{
   cust_att.global.attributes,
   cust_att.canonical.attributes,
   (
      (
         ( cust_resp+, cust_model.nameLike.agent+ )
       | ( cust_model.nameLike.agent+, cust_resp+ )
      ),
      cust_note*
   )
}⚓

3.1.148. <revisionDesc>

<revisionDesc> (revision description) summarizes the revision history for a file. [2.6. The Revision Description 2.1.1. The TEI Header and Its Components]
Moduleheader
Attributes
Contained by
header: teiHeader
May contain
core: list
Note

If present on this element, the status attribute should indicate the current status of the document. The same attribute may appear on any <change> to record the status at the time of that change. Conventionally <change> elements should be given in reverse date order, with the most recent change at the start of the list.

Example
<revisionDesc status="embargoed">  <change when="1991-11-11" who="#LB"> deleted chapter 10 </change> </revisionDesc>
Content model
<content>
 <alternate>
  <elementRef key="list" minOccurs="1"
   maxOccurs="unbounded"/>
  <elementRef key="listChange"
   minOccurs="1" maxOccurs="unbounded"/>
  <elementRef key="change" minOccurs="1"
   maxOccurs="unbounded"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element revisionDesc
{
   cust_att.global.attributes,
   cust_att.docStatus.attributes,
   ( cust_list+ | cust_listChange+ | cust_change+ )
}⚓

3.1.149. <row>

<row> (row) contains one row of a table. [15.1.1. TEI Tables]
Modulefigures
Attributes
Contained by
figures: table
May contain
figures: cell
Example
<row role="data">  <cell role="label">Classics</cell>  <cell>Idle listless and unimproving</cell> </row>
Content model
<content>
 <elementRef key="cell" minOccurs="1"
  maxOccurs="unbounded"/>
</content>
    ⚓
Schema Declaration
element row
{
   cust_att.global.attributes,
   cust_att.tableDecoration.attributes,
   cust_cell+
}⚓

3.1.150. <rs>

<rs> (referencing string) contains a general purpose name or referring string. [14.2.1. Personal Names 3.6.1. Referring Strings]
Modulecore
Attributes
Member of
Contained by
May contain
Example
<q>My dear <rs type="person">Mr. Bennet</rs>, </q> said <rs type="person">his lady</rs> to him one day, <q>have you heard that <rs type="place">Netherfield Park</rs> is let at last?</q>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element rs
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.naming.attributes,
   cust_att.typed.attributes,
   cust_macro.phraseSeq
}⚓

3.1.151. <rt>

<rt> (ruby text) contains a ruby text, an annotation closely associated with a passage of the main text. [3.4.2. Ruby Annotations]
Modulecore
Attributes
targetsupplies a pointer to the base being glossed by this ruby text.
StatusOptional
Datatypeteidata.pointer
SchematronEnforce that either target or both from and to (or none) are used, but not target in combination with either from or to.
<sch:rule context="tei:rt/@target"> <sch:report test="../@from | ../@to">When target= is present, neither from= nor to= should be.</sch:report> </sch:rule>
Note

Should point to a single <rb> or an element that is inside an <rb>. To refer to multiple elements or text nodes at once use from and to.

frompoints to the starting point of the span of text being glossed by this ruby text.
StatusOptional
Datatypeteidata.pointer
SchematronEnforce the presence of to iff there is a from.
<sch:rule context="tei:rt/@from"> <sch:assert test="../@to">When from= is present, the to= attribute of <sch:name/> is required.</sch:assert> </sch:rule>
topoints to the ending point of the span of text being glossed.
StatusOptional
Datatypeteidata.pointer
SchematronEnforce the presence of from iff there is a to.
<sch:rule context="tei:rt/@to"> <sch:assert test="../@from">When to= is present, the from= attribute of <sch:name/> is required.</sch:assert> </sch:rule>
Contained by
core: ruby
May contain
Note

Where the place attribute is not provided on the <rt> element, the default assumption is that the ruby gloss is above where the text is horizontal, and to the right of the text where it is vertical.

ExampleThe word 大統領 daitōryō (president) is glossed character by character in hiragana to provide a pronunciation guide.
<p style="writing-mode: vertical-rl"  xml:lang="ja"> <!--...-->  <ruby>   <rb>大</rb>   <rt place="right">だい</rt>  </ruby>  <ruby>   <rb>統</rb>   <rt place="right">とう</rt>  </ruby>  <ruby>   <rb>領</rb>   <rt place="right">りょう</rt>  </ruby> <!--...--> </p>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element rt
{
   cust_att.global.attributes,
   cust_att.transcriptional.attributes,
   cust_att.typed.attributes,
   attribute target { text }?,
   attribute from { text }?,
   attribute to { text }?,
   cust_macro.phraseSeq
}⚓

3.1.152. <ruby>

<ruby> (ruby container) contains a passage of base text along with its associated ruby gloss(es). [3.4.2. Ruby Annotations]
Modulecore
Attributes
Member of
Contained by
May contain
core: rb rt
ExampleThe word 入学試験 nyūgakushiken (university entrance exam) is glossed with a hiragana phonation guide.
<p xml:lang="ja"> <!--...-->  <ruby>   <rb>入学試験</rb>   <rt place="above">にゅうがくしけん</rt>  </ruby> <!--...--> </p>
ExampleThis fictional example shows the initialism TEI glossed letter-by-letter with an IPA transcription.
<ruby>  <rb>T</rb>  <rt>ti:</rt> </ruby> <ruby>  <rb>E</rb>  <rt>i:</rt> </ruby> <ruby>  <rb>I</rb>  <rt>aɪ</rt> </ruby>
Content model
<content>
 <sequence>
  <elementRef key="rb" minOccurs="1"
   maxOccurs="1"/>
  <elementRef key="rt" minOccurs="1"
   maxOccurs="unbounded"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element ruby
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.typed.attributes,
   ( cust_rb, cust_rt+ )
}⚓

3.1.153. <said>

<said> (speech or thought) indicates passages thought or spoken aloud, whether explicitly indicated in the source or not, whether directly or indirectly reported, whether by real people or fictional characters. [3.3.3. Quotation]
Modulecore
Attributes
aloudmay be used to indicate whether the quoted matter is regarded as having been vocalized or signed.
StatusOptional
Datatypeteidata.xTruthValue
<p> Celia thought privately, <said aloud="false">Dorothea quite despises Sir James Chettam;    I believe she would not accept him.</said> Celia felt that this was a pity. <!-- ... --> </p>
Note

The value true indicates the encoded passage was expressed outwardly (whether spoken, signed, sung, screamed, chanted, etc.); the value false indicates that the encoded passage was thought, but not outwardly expressed.

directmay be used to indicate whether the quoted matter is regarded as direct or indirect speech.
StatusOptional
Datatypeteidata.xTruthValue
Defaulttrue
<!-- in the header --><editorialDecl>  <quotation marks="none"/> </editorialDecl> <!-- ... --> <p>Tantripp had brought a card, and said that <said direct="false">there was a gentleman waiting in the lobby</said>. The courier had told him that <said direct="false">only Mrs. Casaubon was at home</said>, but he said <said direct="false">he was a relation of Mr. Casaubon's: would she see him?</said> </p>
Note

The value true indicates the speech or thought is represented directly; the value false that speech or thought is represented indirectly, e.g. by use of a marked verbal aspect.

Member of
Contained by
May contain
Example
<!-- in the header --><editorialDecl>  <quotation marks="all"/> </editorialDecl> <!-- ... --> <p>  <said>"Our minstrel here will warm the old man's heart with song, dazzle him with jewels and    gold"</said>, a troublemaker simpered. <said>"He'll trample on the Duke's camellias, spill    his wine, and blunt his sword, and say his name begins with X, and in the end the Duke    will say, <said>'Take Saralinda, with my blessing, O lordly Prince of Rags and Tags, O      rider of the sun!'</said>"</said> </p>
Example
<p>  <said aloud="true" rend="pre(“) post(”)">Hmmm</said>, said a small voice in his ear. <said aloud="true" rend="pre(“) post(”)">Difficult. Very difficult. Plenty of courage, I see.    Not a bad mind either. there's talent, oh my goodness, yes — and a nice thirst to prove    yourself, now that's interesting. … So where shall I put you?</said> </p> <p>Harry gripped the edges of the stool and thought, <said aloud="false" rend="italic">Not    Slytherin, not Slytherin</said>.</p>
Content model
<content>
 <macroRef key="macro.specialPara"/>
</content>
    ⚓
Schema Declaration
element said
{
   cust_att.global.attributes,
   cust_att.ascribed.directed.attributes,
   cust_att.cmc.attributes,
   attribute aloud { text }?,
   attribute direct { text }?,
   cust_macro.specialPara
}⚓

3.1.154. <schemaRef>

<schemaRef> (schema reference) describes or points to a related customization or schema file. [2.3.10. The Schema Specification]
Moduleheader
Attributes
keythe identifier used for the customization or schema.
StatusOptional
Datatypeteidata.xmlName
Member of
Contained by
header: encodingDesc
May contain
core: desc
Example
<schemaRef type="interchangeODD"  url="http://www.tei-c.org/release/xml/tei/custom/odd/tei_lite.odd"/> <schemaRef type="interchangeRNG"  url="http://www.tei-c.org/release/xml/tei/custom/odd/tei_lite.rng"/> <schemaRef type="projectODD"  url="file:///schema/project.odd"/>
Content model
<content>
 <classRef key="model.descLike"
  minOccurs="0"/>
</content>
    ⚓
Schema Declaration
element schemaRef
{
   cust_att.global.attributes,
   cust_att.resourced.attributes,
   cust_att.typed.attributes,
   attribute key { text }?,
   cust_model.descLike?
}⚓

3.1.155. <schemaSpec>

<schemaSpec> (schema specification) generates a TEI-conformant schema and documentation for it. [2.3. The Encoding Description 23.2. Modules and Schemas 24.5.1. Making a Unified ODD]
Moduletagdocs
Attributes
startspecifies entry points to the schema, i.e. which elements may be used as the root of documents conforming to it.
StatusOptional
Datatype0–∞ occurrences of teidata.enumerated separated by whitespace
Legal values are:
TEI
(TEI document)
ab
(anonymous block)
abbr
(abbreviation)
abstract
accMat
(accompanying material)
acquisition
(acquisition)
activity
(activity)
actor
add
(addition)
addName
(additional name)
addSpan
(added span of text)
additional
(additional)
additions
(additions)
addrLine
(address line)
address
(address)
adminInfo
(administrative information)
affiliation
(affiliation)
age
(age)
alt
(alternation)
altGrp
(alternation group)
altIdent
(alternate identifier)
altIdentifier
(alternative identifier)
alternate
am
(abbreviation marker)
analytic
(analytic level)
anchor
(anchor point)
annotation
annotationBlock
anyElement
app
(apparatus entry)
appInfo
(application information)
application
arc
(arc)
argument
(argument)
att
(attribute)
attDef
(attribute definition)
attList
(attribute list)
attRef
(attribute pointer)
author
(author)
authority
(release authority)
availability
(availability)
back
(back matter)
bibl
(bibliographic citation)
biblFull
(fully-structured bibliographic citation)
biblScope
(scope of bibliographic reference)
biblStruct
(structured bibliographic citation)
bicond
(bi-conditional feature-structure constraint)
binary
(binary value)
binaryObject
binding
(binding)
bindingDesc
(binding description)
birth
(birth)
bloc
(bloc)
body
(text body)
broadcast
(broadcast)
byline
(byline)
c
(character)
cRefPattern
(canonical reference pattern)
caesura
calendar
(calendar)
calendarDesc
(calendar description)
camera
(camera)
caption
(caption)
case
(case)
castGroup
(cast list grouping)
castItem
(cast list item)
castList
(cast list)
catDesc
(category description)
catRef
(category reference)
catchwords
(catchwords)
category
(category)
cb
(column beginning)
cell
(cell)
certainty
change
(change)
channel
(primary channel)
char
(character)
charDecl
(character declarations)
choice
(choice)
cit
(cited quotation)
citeData
(citation data)
citeStructure
(citation structure)
citedRange
(cited range)
cl
(clause)
classCode
(classification code)
classDecl
(classification declarations)
classRef
classSpec
(class specification)
classes
(classes)
climate
(climate)
closer
(closer)
code
collation
(collation)
collection
(collection)
colloc
(collocate)
colophon
(colophon)
cond
(conditional feature-structure constraint)
condition
(condition)
constitution
(constitution)
constraint
(constraint rules)
constraintDecl
(constraint declaration)
constraintSpec
(constraint on schema)
content
(content model)
conversion
corr
(correction)
correction
(correction principles)
correspAction
(correspondence action)
correspContext
(correspondence context)
correspDesc
(correspondence description)
country
(country)
creation
(creation)
custEvent
(custodial event)
custodialHist
(custodial history)
damage
(damage)
damageSpan
(damaged span of text)
dataFacet
dataRef
dataSpec
(datatype specification)
datatype
(datatype)
date
(date)
dateline
(dateline)
death
(death)
decoDesc
(decoration description)
decoNote
(note on decoration)
def
(definition)
default
(default feature value)
defaultVal
(default value)
del
(deletion)
delSpan
(deleted span of text)
depth
(depth)
derivation
(derivation)
desc
(description)
dictScrap
(dictionary scrap)
dim
dimensions
(dimensions)
distinct
distributor
(distributor)
district
(district)
div
(text division)
div1
(level-1 text division)
div2
(level-2 text division)
div3
(level-3 text division)
div4
(level-4 text division)
div5
(level-5 text division)
div6
(level-6 text division)
div7
(level-7 text division)
divGen
(automatically generated text division)
docAuthor
(document author)
docDate
(document date)
docEdition
(document edition)
docImprint
(document imprint)
docTitle
(document title)
domain
(domain of use)
eLeaf
(leaf or terminal node of an embedding tree)
eTree
(embedding tree)
edition
(edition)
editionStmt
(edition statement)
editor
editorialDecl
(editorial practice declaration)
education
(education)
eg
(example)
egXML
(example of XML)
elementRef
elementSpec
(element specification)
ellipsis
(deliberately marked omission)
email
(electronic mail address)
emph
(emphasized)
empty
encodingDesc
(encoding description)
entry
(entry)
entryFree
(unstructured entry)
epigraph
(epigraph)
epilogue
(epilogue)
equipment
(equipment)
equiv
(equivalent)
etym
(etymology)
event
(event)
eventName
(name of an event)
ex
(editorial expansion)
exemplum
(exemplum)
expan
(expansion)
explicit
(explicit)
extent
(extent)
f
(feature)
fDecl
(feature declaration)
fDescr
(feature description (in FSD))
fLib
(feature library)
facsimile
factuality
(factuality)
faith
(faith)
figDesc
(description of figure)
figure
(figure)
fileDesc
(file description)
filiation
(filiation)
finalRubric
(final rubric)
floatingText
(floating text)
floruit
(floruit)
foliation
(foliation)
foreign
(foreign)
forename
(forename)
forest
(forest)
form
(form information group)
formula
(formula)
front
(front matter)
fs
(feature structure)
fsConstraints
(feature-structure constraints)
fsDecl
(feature structure declaration)
fsDescr
(feature system description (in FSD))
fsdDecl
(feature system declaration)
fsdLink
(feature structure declaration link)
funder
(funding body)
fvLib
(feature-value library)
fw
(forme work)
g
(character or glyph)
gap
(gap)
gb
(gathering beginning)
gen
(gender)
genName
(generational name component)
gender
(gender)
geo
(geographical coordinates)
geoDecl
(geographic coordinates declaration)
geogFeat
(geographical feature name)
geogName
(geographical name)
gi
(element name)
gloss
(gloss)
glyph
(character glyph)
gram
(grammatical information)
gramGrp
(grammatical information group)
graph
(graph)
graphic
(graphic)
group
(group)
handDesc
(description of hands)
handNote
(note on hand)
handNotes
handShift
(handwriting shift)
head
(heading)
headItem
(heading for list items)
headLabel
(heading for list labels)
height
(height)
heraldry
(heraldry)
hi
(highlighted)
history
(history)
hom
(homograph)
hyph
(hyphenation)
hyphenation
(hyphenation)
iNode
(intermediate (or internal) node)
iType
(inflectional class)
ident
(identifier)
idno
(identifier)
if
iff
(if and only if)
imprimatur
(imprimatur)
imprint
incident
(incident)
incipit
index
(index entry)
institution
(institution)
interaction
(interaction)
interp
(interpretation)
interpGrp
(interpretation group)
interpretation
(interpretation)
item
(item)
join
(join)
joinGrp
(join group)
keywords
(keywords)
kinesic
(kinesic)
l
(verse line)
label
(label)
lacunaEnd
(lacuna end)
lacunaStart
(lacuna start)
lang
(language name)
langKnowledge
(language knowledge)
langKnown
(language known)
langUsage
(language usage)
language
(language)
layout
(layout)
layoutDesc
(layout description)
lb
(line beginning)
lbl
(label)
leaf
(leaf)
lem
(lemma)
lg
(line group)
licence
line
link
(link)
linkGrp
(link group)
list
(list)
listAnnotation
listApp
(list of apparatus entries)
listBibl
(citation list)
listChange
listEvent
(list of events)
listForest
listNym
(list of canonical names)
listObject
(list of objects)
listOrg
(list of organizations)
listPerson
(list of persons)
listPlace
(list of places)
listPrefixDef
(list of prefix definitions)
listRef
(list of references)
listRelation
listTranspose
listWit
(witness list)
localProp
(locally defined property)
locale
location
(location)
locus
(locus)
locusGrp
(locus group)
m
(morpheme)
macroRef
macroSpec
(macro specification)
mapping
(character mapping)
material
(material)
measure
(measure)
measureGrp
(measure group)
media
meeting
memberOf
mentioned
metDecl
(metrical notation declaration)
metSym
(metrical notation symbol)
metamark
milestone
(milestone)
mod
model
modelGrp
(model group)
modelSequence
moduleRef
(module reference)
moduleSpec
(module specification)
monogr
(monographic level)
mood
(mood)
move
(movement)
msContents
(manuscript contents)
msDesc
(manuscript description)
msFrag
(manuscript fragment)
msIdentifier
(manuscript identifier)
msItem
(manuscript item)
msItemStruct
(structured manuscript item)
msName
(alternative name)
msPart
(manuscript part)
musicNotation
(music notation)
name
(name, proper noun)
nameLink
(name link)
namespace
(namespace)
nationality
(nationality)
node
(node)
normalization
(normalization)
notatedMusic
note
(note)
noteGrp
(note group)
notesStmt
(notes statement)
num
(number)
number
(number)
numeric
(numeric value)
nym
(canonical name)
oRef
(orthographic-form reference)
object
objectDesc
(object description)
objectIdentifier
(object identifier)
objectName
(name of an object)
objectType
(object type)
occupation
(occupation)
offset
(offset)
opener
(opener)
org
(organization)
orgName
(organization name)
orig
(original form)
origDate
(origin date)
origPlace
(origin place)
origin
(origin)
orth
(orthographic form)
outputRendition
p
(paragraph)
pRef
(pronunciation reference)
param
paramList
paramSpec
particDesc
(participation description)
path
(path)
pause
(pause)
pb
(page beginning)
pc
(punctuation character)
per
(person)
performance
(performance)
persName
(personal name)
persPronouns
(personal pronouns)
person
(person)
personGrp
(personal group)
persona
phr
(phrase)
physDesc
(physical description)
place
(place)
placeName
(place name)
population
(population)
pos
(part of speech)
post
postBox
(postal box or post office box)
postCode
(postal code)
postscript
precision
prefixDef
(prefix definition)
preparedness
(preparedness)
principal
(principal researcher)
profileDesc
(text-profile description)
projectDesc
(project description)
prologue
(prologue)
pron
(pronunciation)
provenance
(provenance)
ptr
(pointer)
pubPlace
(publication place)
publicationStmt
(publication statement)
publisher
(publisher)
punctuation
purpose
q
(quoted)
quotation
(quotation)
quote
(quotation)
rb
(ruby base)
rdg
(reading)
rdgGrp
(reading group)
re
(related entry)
recordHist
(recorded history)
recording
(recording event)
recordingStmt
(recording statement)
redo
ref
(reference)
refState
(reference state)
refsDecl
(references declaration)
reg
(regularization)
region
(region)
relatedItem
relation
(relationship)
remarks
(remarks)
rendition
(rendition)
repository
(repository)
residence
(residence)
resp
(responsibility)
respStmt
(statement of responsibility)
respons
(responsibility)
restore
(restore)
retrace
revisionDesc
(revision description)
rhyme
role
(role)
roleDesc
(role description)
roleName
(role name)
root
(root node)
row
(row)
rs
(referencing string)
rt
(ruby text)
rubric
(rubric)
ruby
(ruby container)
s
(s-unit)
said
(speech or thought)
salute
(salutation)
samplingDecl
(sampling declaration)
schemaRef
(schema reference)
schemaSpec
(schema specification)
scriptDesc
(script description)
scriptNote
scriptStmt
(script statement)
seal
(seal)
sealDesc
(seal description)
secFol
(second folio)
secl
(secluded text)
seg
(arbitrary segment)
segmentation
(segmentation)
sense
sequence
series
(series information)
seriesStmt
(series statement)
set
(setting)
setting
settingDesc
(setting description)
settlement
(settlement)
sex
(sex)
shift
(shift)
sic
(Latin for thus or so)
signatures
(signatures)
signed
(signature)
soCalled
(so called)
socecStatus
(socio-economic status)
sound
(sound)
source
(source)
sourceDesc
(source description)
sourceDoc
sp
(speech)
spGrp
(speech group)
space
(space)
span
spanGrp
(span group)
speaker
specDesc
(specification description)
specGrp
(specification group)
specGrpRef
(reference to a specification group)
specList
(specification list)
sponsor
(sponsor)
stage
(stage direction)
stamp
(stamp)
standOff
state
(state)
stdVals
(standard values)
street
stress
(stress)
string
(string value)
styleDefDecl
(style definition language declaration)
subc
(subcategorization)
subst
(substitution)
substJoin
(substitution join)
summary
superEntry
(super entry)
supplied
(supplied)
support
(support)
supportDesc
(support description)
surface
surfaceGrp
(surface group)
surname
(surname)
surplus
(surplus)
surrogates
(surrogates)
syll
(syllabification)
symbol
(symbolic value)
table
(table)
tag
(tag)
tagUsage
(element usage)
tagsDecl
(tagging declaration)
taxonomy
(taxonomy)
tech
(technical stage direction)
teiCorpus
(TEI corpus)
teiHeader
(TEI header)
term
(term)
terrain
(terrain)
text
(text)
textClass
(text classification)
textDesc
(text description)
textLang
(text language)
textNode
then
time
(time)
timeline
(timeline)
title
(title)
titlePage
(title page)
titlePart
(title part)
titleStmt
(title statement)
tns
(tense)
trailer
trait
(trait)
transcriptionDesc
(transcription description)
transpose
tree
(tree)
triangle
(underspecified embedding tree, so called because of its characteristic shape when drawn)
typeDesc
(typeface description)
typeNote
(typographic note)
u
(utterance)
unclear
(unclear)
undo
unicodeProp
(unicode property)
unihanProp
(unihan property)
unit
unitDecl
(unit declarations)
unitDef
(unit definition)
usg
(usage)
vAlt
(value alternation)
vColl
(collection of values)
vDefault
(value default)
vLabel
(value label)
vMerge
(merged collection of values)
vNot
(value negation)
vRange
(value range)
val
(value)
valDesc
(value description)
valItem
valList
(value list)
variantEncoding
(variant encoding)
view
(view)
vocal
(vocal)
w
(word)
watermark
(watermark)
when
width
(width)
wit
(wit)
witDetail
(witness detail)
witEnd
(fragmented witness end)
witStart
(fragmented witness start)
witness
(witness)
writing
(writing)
xenoData
(non-TEI metadata)
xr
(cross-reference phrase)
zone
prefixspecifies a default prefix which will be prepended to all patterns relating to TEI elements, unless otherwise stated.
StatusOptional
Datatype0–1 occurrences of teidata.xmlName separated by whitespace
Note

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.

targetLang(target language) specifies which language to use when creating the objects in a schema if names for elements or attributes are available in more than one language.
StatusOptional
Datatypeteidata.language
docLang(documentation language) specifies which language to use when creating documentation if the description for an element, attribute, class, or macro is available in more than one language
StatusOptional
Datatypeteidata.language
Note

The current TEI ODD processor only handles 1 value as the value of docLang.

defaultExceptions(default namespace exclusions) provides a list of namespaces and/or prefixed element names to be excluded by default from anyName in RELAX NG schemas.
StatusRecommended
Datatype1–∞ occurrences of teidata.namespaceOrName separated by whitespace
Defaulthttp://www.tei-c.org/ns/1.0 teix:egXML
Note

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.

Member of
Contained by
header: encodingDesc
textstructure: back body div front
May contain
Note

The content of the tei_customization <schemaSpec> is somewhat more restrictive than TEI. To wit,

  • neither <altIdent> nor <equiv> are permitted
  • there can be at most one <gloss>, which (if present) must precede the <desc>
  • there must be one and only one <desc>
  • the four core modules must be included
  • the value of start requires values that are valid TEI element names
Example
<schemaSpec prefix="TEI_" ident="testsvg"  start="TEI svg">  <moduleRef source="tei:current"   key="header"/>  <moduleRef key="core"/>  <moduleRef key="drama"/>  <moduleRef url="svg11.rng"/> </schemaSpec>
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.
Example
<schemaSpec ident="Bare-plus"  source="tei_bare.compiled.odd" start="TEI">  <moduleRef key="tei"/>  <moduleRef key="header"/>  <elementRef key="q" source="tei:3.0.0"/>  <moduleRef key="textstructure"/> </schemaSpec>
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
Schematron(required modules)
<sch:rule context="tei:schemaSpec"> <sch:assert test=" ( tei:moduleRef[ @key eq 'tei'] or tei:specGrpRef[ id( substring-after( normalize-space( @target ), '#') )/tei:moduleRef[ @key eq 'tei'] ] ) and ( tei:moduleRef[ @key eq 'core'] or tei:specGrpRef[ id( substring-after( normalize-space( @target ), '#') )/tei:moduleRef[ @key eq 'core'] ] ) and ( tei:moduleRef[ @key eq 'header'] or tei:specGrpRef[ id( substring-after( normalize-space( @target ), '#') )/tei:moduleRef[ @key eq 'header'] ] ) and ( tei:moduleRef[ @key eq 'textstructure'] or tei:specGrpRef[ id( substring-after( normalize-space( @target ), '#') )/tei:moduleRef[ @key eq 'textstructure'] ] ) "> missing one or more of the required modules (tei, core, header, textstructure). </sch:assert> </sch:rule>
SchematronA <*Spec> element should either be within <schemaSpec>, or be in a <specGrp> referred to by a <specGrpRef> wihin <schemaSpec>.
<sch:rule context="tei:classSpec[ not( ancestor::tei:schemaSpec ) ] | tei:elementSpec[ not( ancestor::tei:schemaSpec ) ] | tei:macroSpec[ not( ancestor::tei:schemaSpec ) ]"> <sch:assert test="//tei:schemaSpec//tei:specGrpRef [ substring-after( normalize-space( @target ), '#') eq current()/ancestor::tei:specGrp/@xml:id ]"><<sch:name/>> should be in <schemaSpec> or referred to from within <schemaSpec></sch:assert> </sch:rule>
SchematronTEI permits <schemaSpec> as a repeatable child of a variety of elements (including <front>, <body>, <back>, <encodingDesc>, <div>, or any numbered division element). But roma only processes the first <schemaSpec> found (in document order). So we just limit ourselves to 1 and only 1.
<sch:rule context="/"> <sch:report test="count( //tei:schemaSpec ) eq 0">There's no <schemaSpec>, so this isn't much of a TEI customization</sch:report> <sch:report test="count( //tei:schemaSpec ) gt 1">You have more than one <schemaSpec>; current ODD processors will only look at the first one</sch:report> </sch:rule>
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1">
  <elementRef key="gloss" minOccurs="0"
   maxOccurs="1"/>
  <elementRef key="desc" minOccurs="1"
   maxOccurs="1"/>
  <elementRef key="constraintDecl"
   minOccurs="0" maxOccurs="1"/>
  <alternate minOccurs="0"
   maxOccurs="unbounded">
   <classRef key="model.oddRef"/>
   <classRef key="model.oddDecl"/>
  </alternate>
 </sequence>
</content>
    ⚓
Schema Declaration
element schemaSpec
{
   cust_att.global.attributes,
   cust_att.docStatus.attributes,
   cust_att.identified.attributes,
   cust_att.namespaceable.attributes,
   attribute start
   {
      list
      {
         (
            "TEI"
          | "ab"
          | "abbr"
          | "abstract"
          | "accMat"
          | "acquisition"
          | "activity"
          | "actor"
          | "add"
          | "addName"
          | "addSpan"
          | "additional"
          | "additions"
          | "addrLine"
          | "address"
          | "adminInfo"
          | "affiliation"
          | "age"
          | "alt"
          | "altGrp"
          | "altIdent"
          | "altIdentifier"
          | "alternate"
          | "am"
          | "analytic"
          | "anchor"
          | "annotation"
          | "annotationBlock"
          | "anyElement"
          | "app"
          | "appInfo"
          | "application"
          | "arc"
          | "argument"
          | "att"
          | "attDef"
          | "attList"
          | "attRef"
          | "author"
          | "authority"
          | "availability"
          | "back"
          | "bibl"
          | "biblFull"
          | "biblScope"
          | "biblStruct"
          | "bicond"
          | "binary"
          | "binaryObject"
          | "binding"
          | "bindingDesc"
          | "birth"
          | "bloc"
          | "body"
          | "broadcast"
          | "byline"
          | "c"
          | "cRefPattern"
          | "caesura"
          | "calendar"
          | "calendarDesc"
          | "camera"
          | "caption"
          | "case"
          | "castGroup"
          | "castItem"
          | "castList"
          | "catDesc"
          | "catRef"
          | "catchwords"
          | "category"
          | "cb"
          | "cell"
          | "certainty"
          | "change"
          | "channel"
          | "char"
          | "charDecl"
          | "choice"
          | "cit"
          | "citeData"
          | "citeStructure"
          | "citedRange"
          | "cl"
          | "classCode"
          | "classDecl"
          | "classRef"
          | "classSpec"
          | "classes"
          | "climate"
          | "closer"
          | "code"
          | "collation"
          | "collection"
          | "colloc"
          | "colophon"
          | "cond"
          | "condition"
          | "constitution"
          | "constraint"
          | "constraintDecl"
          | "constraintSpec"
          | "content"
          | "conversion"
          | "corr"
          | "correction"
          | "correspAction"
          | "correspContext"
          | "correspDesc"
          | "country"
          | "creation"
          | "custEvent"
          | "custodialHist"
          | "damage"
          | "damageSpan"
          | "dataFacet"
          | "dataRef"
          | "dataSpec"
          | "datatype"
          | "date"
          | "dateline"
          | "death"
          | "decoDesc"
          | "decoNote"
          | "def"
          | "default"
          | "defaultVal"
          | "del"
          | "delSpan"
          | "depth"
          | "derivation"
          | "desc"
          | "dictScrap"
          | "dim"
          | "dimensions"
          | "distinct"
          | "distributor"
          | "district"
          | "div"
          | "div1"
          | "div2"
          | "div3"
          | "div4"
          | "div5"
          | "div6"
          | "div7"
          | "divGen"
          | "docAuthor"
          | "docDate"
          | "docEdition"
          | "docImprint"
          | "docTitle"
          | "domain"
          | "eLeaf"
          | "eTree"
          | "edition"
          | "editionStmt"
          | "editor"
          | "editorialDecl"
          | "education"
          | "eg"
          | "egXML"
          | "elementRef"
          | "elementSpec"
          | "ellipsis"
          | "email"
          | "emph"
          | "empty"
          | "encodingDesc"
          | "entry"
          | "entryFree"
          | "epigraph"
          | "epilogue"
          | "equipment"
          | "equiv"
          | "etym"
          | "event"
          | "eventName"
          | "ex"
          | "exemplum"
          | "expan"
          | "explicit"
          | "extent"
          | "f"
          | "fDecl"
          | "fDescr"
          | "fLib"
          | "facsimile"
          | "factuality"
          | "faith"
          | "figDesc"
          | "figure"
          | "fileDesc"
          | "filiation"
          | "finalRubric"
          | "floatingText"
          | "floruit"
          | "foliation"
          | "foreign"
          | "forename"
          | "forest"
          | "form"
          | "formula"
          | "front"
          | "fs"
          | "fsConstraints"
          | "fsDecl"
          | "fsDescr"
          | "fsdDecl"
          | "fsdLink"
          | "funder"
          | "fvLib"
          | "fw"
          | "g"
          | "gap"
          | "gb"
          | "gen"
          | "genName"
          | "gender"
          | "geo"
          | "geoDecl"
          | "geogFeat"
          | "geogName"
          | "gi"
          | "gloss"
          | "glyph"
          | "gram"
          | "gramGrp"
          | "graph"
          | "graphic"
          | "group"
          | "handDesc"
          | "handNote"
          | "handNotes"
          | "handShift"
          | "head"
          | "headItem"
          | "headLabel"
          | "height"
          | "heraldry"
          | "hi"
          | "history"
          | "hom"
          | "hyph"
          | "hyphenation"
          | "iNode"
          | "iType"
          | "ident"
          | "idno"
          | "if"
          | "iff"
          | "imprimatur"
          | "imprint"
          | "incident"
          | "incipit"
          | "index"
          | "institution"
          | "interaction"
          | "interp"
          | "interpGrp"
          | "interpretation"
          | "item"
          | "join"
          | "joinGrp"
          | "keywords"
          | "kinesic"
          | "l"
          | "label"
          | "lacunaEnd"
          | "lacunaStart"
          | "lang"
          | "langKnowledge"
          | "langKnown"
          | "langUsage"
          | "language"
          | "layout"
          | "layoutDesc"
          | "lb"
          | "lbl"
          | "leaf"
          | "lem"
          | "lg"
          | "licence"
          | "line"
          | "link"
          | "linkGrp"
          | "list"
          | "listAnnotation"
          | "listApp"
          | "listBibl"
          | "listChange"
          | "listEvent"
          | "listForest"
          | "listNym"
          | "listObject"
          | "listOrg"
          | "listPerson"
          | "listPlace"
          | "listPrefixDef"
          | "listRef"
          | "listRelation"
          | "listTranspose"
          | "listWit"
          | "localProp"
          | "locale"
          | "location"
          | "locus"
          | "locusGrp"
          | "m"
          | "macroRef"
          | "macroSpec"
          | "mapping"
          | "material"
          | "measure"
          | "measureGrp"
          | "media"
          | "meeting"
          | "memberOf"
          | "mentioned"
          | "metDecl"
          | "metSym"
          | "metamark"
          | "milestone"
          | "mod"
          | "model"
          | "modelGrp"
          | "modelSequence"
          | "moduleRef"
          | "moduleSpec"
          | "monogr"
          | "mood"
          | "move"
          | "msContents"
          | "msDesc"
          | "msFrag"
          | "msIdentifier"
          | "msItem"
          | "msItemStruct"
          | "msName"
          | "msPart"
          | "musicNotation"
          | "name"
          | "nameLink"
          | "namespace"
          | "nationality"
          | "node"
          | "normalization"
          | "notatedMusic"
          | "note"
          | "noteGrp"
          | "notesStmt"
          | "num"
          | "number"
          | "numeric"
          | "nym"
          | "oRef"
          | "object"
          | "objectDesc"
          | "objectIdentifier"
          | "objectName"
          | "objectType"
          | "occupation"
          | "offset"
          | "opener"
          | "org"
          | "orgName"
          | "orig"
          | "origDate"
          | "origPlace"
          | "origin"
          | "orth"
          | "outputRendition"
          | "p"
          | "pRef"
          | "param"
          | "paramList"
          | "paramSpec"
          | "particDesc"
          | "path"
          | "pause"
          | "pb"
          | "pc"
          | "per"
          | "performance"
          | "persName"
          | "persPronouns"
          | "person"
          | "personGrp"
          | "persona"
          | "phr"
          | "physDesc"
          | "place"
          | "placeName"
          | "population"
          | "pos"
          | "post"
          | "postBox"
          | "postCode"
          | "postscript"
          | "precision"
          | "prefixDef"
          | "preparedness"
          | "principal"
          | "profileDesc"
          | "projectDesc"
          | "prologue"
          | "pron"
          | "provenance"
          | "ptr"
          | "pubPlace"
          | "publicationStmt"
          | "publisher"
          | "punctuation"
          | "purpose"
          | "q"
          | "quotation"
          | "quote"
          | "rb"
          | "rdg"
          | "rdgGrp"
          | "re"
          | "recordHist"
          | "recording"
          | "recordingStmt"
          | "redo"
          | "ref"
          | "refState"
          | "refsDecl"
          | "reg"
          | "region"
          | "relatedItem"
          | "relation"
          | "remarks"
          | "rendition"
          | "repository"
          | "residence"
          | "resp"
          | "respStmt"
          | "respons"
          | "restore"
          | "retrace"
          | "revisionDesc"
          | "rhyme"
          | "role"
          | "roleDesc"
          | "roleName"
          | "root"
          | "row"
          | "rs"
          | "rt"
          | "rubric"
          | "ruby"
          | "s"
          | "said"
          | "salute"
          | "samplingDecl"
          | "schemaRef"
          | "schemaSpec"
          | "scriptDesc"
          | "scriptNote"
          | "scriptStmt"
          | "seal"
          | "sealDesc"
          | "secFol"
          | "secl"
          | "seg"
          | "segmentation"
          | "sense"
          | "sequence"
          | "series"
          | "seriesStmt"
          | "set"
          | "setting"
          | "settingDesc"
          | "settlement"
          | "sex"
          | "shift"
          | "sic"
          | "signatures"
          | "signed"
          | "soCalled"
          | "socecStatus"
          | "sound"
          | "source"
          | "sourceDesc"
          | "sourceDoc"
          | "sp"
          | "spGrp"
          | "space"
          | "span"
          | "spanGrp"
          | "speaker"
          | "specDesc"
          | "specGrp"
          | "specGrpRef"
          | "specList"
          | "sponsor"
          | "stage"
          | "stamp"
          | "standOff"
          | "state"
          | "stdVals"
          | "street"
          | "stress"
          | "string"
          | "styleDefDecl"
          | "subc"
          | "subst"
          | "substJoin"
          | "summary"
          | "superEntry"
          | "supplied"
          | "support"
          | "supportDesc"
          | "surface"
          | "surfaceGrp"
          | "surname"
          | "surplus"
          | "surrogates"
          | "syll"
          | "symbol"
          | "table"
          | "tag"
          | "tagUsage"
          | "tagsDecl"
          | "taxonomy"
          | "tech"
          | "teiCorpus"
          | "teiHeader"
          | "term"
          | "terrain"
          | "text"
          | "textClass"
          | "textDesc"
          | "textLang"
          | "textNode"
          | "then"
          | "time"
          | "timeline"
          | "title"
          | "titlePage"
          | "titlePart"
          | "titleStmt"
          | "tns"
          | "trailer"
          | "trait"
          | "transcriptionDesc"
          | "transpose"
          | "tree"
          | "triangle"
          | "typeDesc"
          | "typeNote"
          | "u"
          | "unclear"
          | "undo"
          | "unicodeProp"
          | "unihanProp"
          | "unit"
          | "unitDecl"
          | "unitDef"
          | "usg"
          | "vAlt"
          | "vColl"
          | "vDefault"
          | "vLabel"
          | "vMerge"
          | "vNot"
          | "vRange"
          | "val"
          | "valDesc"
          | "valItem"
          | "valList"
          | "variantEncoding"
          | "view"
          | "vocal"
          | "w"
          | "watermark"
          | "when"
          | "width"
          | "wit"
          | "witDetail"
          | "witEnd"
          | "witStart"
          | "witness"
          | "writing"
          | "xenoData"
          | "xr"
          | "zone"
         )*
      }
   }?,
   attribute prefix { ? }?,
   attribute targetLang { text }?,
   attribute docLang { text }?,
   attribute defaultExceptions { list { + } }?,
   (
      cust_gloss?,
      cust_desc,
      cust_constraintDecl?,
      ( cust_model.oddRef | cust_model.oddDecl )*
   )
}⚓

3.1.156. <sequence>

<sequence> indicates that the constructs referenced by its children form a sequence. [23.5.1. Defining Content Models]
Moduletagdocs
Attributes
preserveOrderif false, indicates that component elements of a sequence may occur in any order.
StatusOptional
Datatypeteidata.truthValue
Member of
Contained by
May contain
Example
<content>  <sequence>   <alternate>    <elementRef key="name"/>    <elementRef key="persName"/>   </alternate>   <elementRef key="placeName" minOccurs="0"    maxOccurs="5"/>  </sequence> </content>
This example content model matches a sequence consisting of either a <name> or a <persName> followed by nothing, or by a sequence of up to five <placeName> elements.
Schematron
<sch:rule context="tei:sequence"> <sch:assert test="count(*) gt 1">The sequence element must have at least two child elements</sch:assert> </sch:rule>
Content model
<content>
 <classRef key="model.contentPart"
  maxOccurs="unbounded"/>
</content>
    ⚓
Schema Declaration
element sequence
{
   cust_att.global.attributes,
   cust_att.repeatable.attributes,
   attribute preserveOrder { text }?,
   cust_model.contentPart+
}⚓

3.1.157. <seriesStmt>

<seriesStmt> (series statement) groups information about the series, if any, to which a publication belongs. [2.2.5. The Series Statement 2.2. The File Description]
Moduleheader
Attributes
Contained by
May contain
Example
<seriesStmt>  <title>Machine-Readable Texts for the Study of Indian Literature</title>  <respStmt>   <resp>ed. by</resp>   <name>Jan Gonda</name>  </respStmt>  <biblScope unit="volume">1.2</biblScope>  <idno type="ISSN">0 345 6789</idno> </seriesStmt>
Content model
<content>
 <alternate>
  <classRef key="model.pLike" minOccurs="1"
   maxOccurs="unbounded"/>
  <sequence>
   <elementRef key="title" minOccurs="1"
    maxOccurs="unbounded"/>
   <alternate minOccurs="0"
    maxOccurs="unbounded">
    <elementRef key="editor"/>
    <elementRef key="respStmt"/>
   </alternate>
   <alternate minOccurs="0"
    maxOccurs="unbounded">
    <elementRef key="idno"/>
    <elementRef key="biblScope"/>
   </alternate>
  </sequence>
 </alternate>
</content>
    ⚓
Schema Declaration
element seriesStmt
{
   cust_att.global.attributes,
   cust_att.declarable.attributes,
   (
      cust_model.pLike+
    | (
         cust_title+,
         ( cust_editor | cust_respStmt )*,
         ( cust_idno | cust_biblScope )*
      )
   )
}⚓

3.1.158. <soCalled>

<soCalled> (so called) contains a word or phrase for which the author or narrator indicates a disclaiming of responsibility, for example by the use of scare quotes or italics. [3.3.3. Quotation]
Modulecore
Attributes
Member of
Contained by
May contain
Example
To edge his way along the crowded paths of life, warning all human sympathy to keep its distance, was what the knowing ones call <soCalled>nuts</soCalled> to Scrooge.
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element soCalled
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_macro.phraseSeq
}⚓

3.1.159. <sourceDesc>

<sourceDesc> (source description) describes the source(s) from which an electronic text was derived or generated, typically a bibliographic description in the case of a digitized text, or a phrase such as ‘born digital’ for a text which has no previous existence. [2.2.7. The Source Description]
Moduleheader
Attributes
Contained by
May contain
core: bibl list p
figures: table
header: biblFull
Example
<sourceDesc>  <bibl>   <title level="a">The Interesting story of the Children in the Wood</title>. In  <author>Victor E Neuberg</author>, <title>The Penny Histories</title>.  <publisher>OUP</publisher>   <date>1968</date>. </bibl> </sourceDesc>
Example
<sourceDesc>  <p>Born digital: no previous source exists.</p> </sourceDesc>
Content model
<content>
 <alternate>
  <classRef key="model.pLike" minOccurs="1"
   maxOccurs="unbounded"/>
  <alternate minOccurs="1"
   maxOccurs="unbounded">
   <classRef key="model.biblLike"/>
   <classRef key="model.sourceDescPart"/>
   <classRef key="model.listLike"/>
  </alternate>
 </alternate>
</content>
    ⚓
Schema Declaration
element sourceDesc
{
   cust_att.global.attributes,
   cust_att.declarable.attributes,
   (
      cust_model.pLike+
    | ( cust_model.biblLike | cust_model.sourceDescPart | cust_model.listLike )+
   )
}⚓

3.1.160. <specDesc>

<specDesc> (specification description) indicates that a description of the specified element, class, or macro should be included at this point within a document. [23.1.2. Element and Attribute Descriptions]
Moduletagdocs
Attributes
key(identifier) supplies the identifier of the documentary element or class for which a description is to be obtained.
StatusRequired
Datatypeteidata.name
<specDesc key="emph"/>
Note

The value should match the ident of a documentary element (that is, a member of att.identified).

atts(attributes) supplies attribute names for which descriptions should additionally be obtained.
StatusRecommended
Datatype0–∞ occurrences of teidata.name separated by whitespace
<specDesc key="foreign"  atts="usage xml:lang"/>
Note

The attribute names listed may include both attributes inherited from a class and those defined explicitly for the associated element.

Member of
Contained by
May containEmpty element
Note

The description is usually displayed as a label and an item. The list of attributes may include some which are inherited by virtue of an element's class membership; descriptions for such attributes may also be retrieved using another <specDesc>, this time pointing at the relevant class.

Example
<specDesc key="orth"/>
Example
<specDesc key="emph"/>
Example
<specDesc key="foreign"  atts="usage xml:lang"/>
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element specDesc
{
   cust_att.global.attributes,
   attribute key { text },
   attribute atts { list { * } }?,
   empty
}⚓

3.1.161. <specGrp>

<specGrp> (specification group) contains any convenient grouping of specifications for use within the current module. [23.2. Modules and Schemas]
Moduletagdocs
Attributes
Member of
Contained by
May contain
Note

A specification group is referenced by means of its xml:id attribute. The declarations it contains may be included in a <schemaSpec> or <moduleSpec> element only by reference (using a <specGrpRef> element): it may not be nested within a <moduleSpec> element.

Different ODD processors may generate representations of the specifications contained by a <specGrp> in different concrete syntaxes.

Example
<specGrp xml:id="xDAILC">  <elementSpec ident="s"> <!-- ... -->  </elementSpec>  <elementSpec ident="cl"> <!-- ... -->  </elementSpec>  <elementSpec ident="w"> <!-- ... -->  </elementSpec>  <elementSpec ident="m"> <!-- ... -->  </elementSpec>  <elementSpec ident="c"> <!-- ... -->  </elementSpec> </specGrp>
This specification group with identifier xDAILC contains specifications for the elements <s>,<cl>,<w>, etc.
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <classRef key="model.oddDecl"/>
  <classRef key="model.oddRef"/>
  <classRef key="model.divPart"/>
  <elementRef key="listRef"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element specGrp
{
   cust_att.global.attributes,
   (
      cust_model.oddDecl
    | cust_model.oddRef
    | cust_model.divPart
    | cust_listRef
   )*
}⚓

3.1.162. <specGrpRef>

<specGrpRef> (reference to a specification group) indicates that the declarations contained by the <specGrp> referenced should be inserted at this point. [23.2. Modules and Schemas]
Moduletagdocs
Attributes
targetpoints at the specification group which logically belongs here.
StatusRequired
Datatypeteidata.pointer
Member of
Contained by
May containEmpty element
Note

In ODD documentation processing, a <specGrpRef> usually produces a comment indicating that a set of declarations printed in another section will be inserted at this point in the <specGrp> being discussed. In schema processing, the contents of the specified <specGrp> are made available for inclusion in the generated schema.

The specification group identified by the target attribute will normally be part of the current ODD document.

Example
<p>This part of the module contains declarations for names of persons, places, and organisations: <specGrpRef target="#names.pers"/>  <specGrpRef target="#names.place"/>  <specGrpRef target="#names.org"/> </p> <!-- elsewhere --> <specGrp xml:id="names.pers"> <!--... --> </specGrp> <!-- elsewhere --> <specGrp xml:id="names.place"> <!--... --> </specGrp> <!-- elsewhere --> <specGrp xml:id="names.org"> <!--... --> </specGrp>
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element specGrpRef
{
   cust_att.global.attributes,
   attribute target { text },
   empty
}⚓

3.1.163. <specList>

<specList> (specification list) marks where a list of descriptions is to be inserted into the prose documentation. [23.1.2. Element and Attribute Descriptions]
Moduletagdocs
Attributes
Member of
Contained by
May contain
tagdocs: specDesc
Example
<specList>  <specDesc key="refState"   atts="delim length"/>  <specDesc key="div"/> </specList>
Content model
<content>
 <elementRef key="specDesc" minOccurs="1"
  maxOccurs="unbounded"/>
</content>
    ⚓
Schema Declaration
element specList { cust_att.global.attributes, cust_specDesc+ }⚓

3.1.164. <sponsor>

<sponsor> (sponsor) specifies the name of a sponsoring organization or institution. [2.2.1. The Title Statement]
Moduleheader
Attributes
Member of
Contained by
May contain
Note

Sponsors give their intellectual authority to a project; they are to be distinguished from funders (see element <funder>), who provide the funding but do not necessarily take intellectual responsibility.

Example
<sponsor>Association for Computers and the Humanities</sponsor> <sponsor>Association for Computational Linguistics</sponsor> <sponsor ref="http://www.allc.org/">Association for Literary and Linguistic Computing</sponsor>
Content model
<content>
 <macroRef key="macro.phraseSeq.limited"/>
</content>
    ⚓
Schema Declaration
element sponsor
{
   cust_att.global.attributes,
   cust_att.canonical.attributes,
   cust_att.datable.attributes,
   cust_macro.phraseSeq.limited
}⚓

3.1.165. <street>

<street> contains a full street address including any name or number identifying a building as well as the name of the street or route on which it is located. [3.6.2. Addresses]
Modulecore
Attributes
Member of
Contained by
core: address
May contain
Note

The order and presentation of house names and numbers and street names, etc., may vary considerably in different countries. The encoding should reflect the order which is appropriate in the country concerned.

Example
<street>via della Faggiola, 36</street>
Example
<street>  <name>Duntaggin</name>, 110 Southmoor Road </street>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element street { cust_att.global.attributes, cust_macro.phraseSeq }⚓

3.1.166. <styleDefDecl>

<styleDefDecl> (style definition language declaration) specifies the name of the formal language in which style or renditional information is supplied elsewhere in the document. The specific version of the scheme may also be supplied. [2.3.5. The Default Style Definition Language Declaration]
Moduleheader
Attributes
Member of
Contained by
header: encodingDesc
May contain
core: p
Example
<styleDefDecl scheme="css"  schemeVersion="2.1"/> <!-- ... --> <tagsDecl>  <rendition xml:id="boldface">font-weight: bold;</rendition>  <rendition xml:id="italicstyle">font-style: italic;</rendition> </tagsDecl>
Content model
<content>
 <classRef key="model.pLike" minOccurs="0"
  maxOccurs="unbounded"/>
</content>
    ⚓
Schema Declaration
element styleDefDecl
{
   cust_att.global.attributes,
   cust_att.declarable.attributes,
   cust_att.styleDef.attributes,
   cust_model.pLike*
}⚓

3.1.167. <table>

<table> (table) contains text displayed in tabular form, in rows and columns. [15.1.1. TEI Tables]
Modulefigures
Attributes
rows(rows) indicates the number of rows in the table.
StatusOptional
Datatypeteidata.count
Note

If no number is supplied, an application must calculate the number of rows.

Rows should be presented from top to bottom.

cols(columns) indicates the number of columns in each row of the table.
StatusOptional
Datatypeteidata.count
Note

If no number is supplied, an application must calculate the number of columns.

Within each row, columns should be presented left to right.

Member of
Contained by
May contain
Note

Contains an optional heading and a series of rows.

Any rendition information should be supplied using the global rend attribute, at the table, row, or cell level as appropriate.

Example
<table rows="4" cols="4">  <head>Poor Men's Lodgings in Norfolk (Mayhew, 1843)</head>  <row role="label">   <cell role="data"/>   <cell role="data">Dossing Cribs or Lodging Houses</cell>   <cell role="data">Beds</cell>   <cell role="data">Needys or Nightly Lodgers</cell>  </row>  <row role="data">   <cell role="label">Bury St Edmund's</cell>   <cell role="data">5</cell>   <cell role="data">8</cell>   <cell role="data">128</cell>  </row>  <row role="data">   <cell role="label">Thetford</cell>   <cell role="data">3</cell>   <cell role="data">6</cell>   <cell role="data">36</cell>  </row>  <row role="data">   <cell role="label">Attleboro'</cell>   <cell role="data">3</cell>   <cell role="data">5</cell>   <cell role="data">20</cell>  </row>  <row role="data">   <cell role="label">Wymondham</cell>   <cell role="data">1</cell>   <cell role="data">11</cell>   <cell role="data">22</cell>  </row> </table>
Content model
<content>
 <sequence>
  <alternate minOccurs="0"
   maxOccurs="unbounded">
   <classRef key="model.headLike"/>
   <classRef key="model.global"/>
  </alternate>
  <alternate>
   <sequence minOccurs="1"
    maxOccurs="unbounded">
    <elementRef key="row"/>
    <classRef key="model.global"
     minOccurs="0" maxOccurs="unbounded"/>
   </sequence>
   <sequence minOccurs="1"
    maxOccurs="unbounded">
    <classRef key="model.graphicLike"/>
    <classRef key="model.global"
     minOccurs="0" maxOccurs="unbounded"/>
   </sequence>
  </alternate>
  <sequence minOccurs="0"
   maxOccurs="unbounded">
   <classRef key="model.divBottom"/>
   <classRef key="model.global"
    minOccurs="0" maxOccurs="unbounded"/>
  </sequence>
 </sequence>
</content>
    ⚓
Schema Declaration
element table
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.typed.attributes,
   attribute rows { text }?,
   attribute cols { text }?,
   (
      ( cust_model.headLike | cust_model.global )*,
      (
         ( ( cust_row, cust_model.global* )+ )
       | ( ( cust_model.graphicLike, cust_model.global* )+ )
      ),
      ( ( cust_model.divBottom, cust_model.global* )* )
   )
}⚓

3.1.168. <tag>

<tag> (tag) contains text of a complete start- or end-tag, possibly including attribute specifications, but excluding the opening and closing markup delimiter characters. [23. Documentation Elements]
Moduletagdocs
Attributes
typeindicates the type of XML tag intended.
Derived fromatt.typed
StatusOptional
Datatypeteidata.enumerated
Legal values are:
start
a start-tag, with delimiters < and > is intended
end
an end-tag, with delimiters </ and > is intended
empty
an empty tag, with delimiters < and /> is intended
pi
a pi (processing instruction), with delimiters <? and ?> is intended
comment
a comment, with delimiters <!-- and --> is intended
ms
a marked-section, with delimiters <[CDATA[ and ]]> is intended
schemesupplies the name of the schema in which this tag is defined.
StatusOptional
Datatypeteidata.enumerated
Sample values include:
TEI
(text encoding initiative) This tag is defined as part of the TEI scheme.[Default]
DBK
(docbook) this tag is part of the Docbook scheme.
XX
(unknown) this tag is part of an unknown scheme.
Schematron
HTML
Member of
Contained by
May containCharacter data only
Example
Mark the start of each italicised phrase with a <tag>hi rend="it"</tag> tag, and its end with a <tag type="end">hi</tag> tag. <tag type="comment">Example updated on 2008-04-05</tag>
Content model
<content>
 <textNode/>
</content>
    ⚓
Schema Declaration
element tag
{
   cust_att.global.attributes,
   cust_att.typed.attribute.subtype,
   attribute type { "start" | "end" | "empty" | "pi" | "comment" | "ms" }?,
   attribute scheme { text }?,
   text
}⚓

3.1.169. <teiHeader>

<teiHeader> (TEI header) supplies descriptive and declarative metadata associated with a digital resource or set of resources. [2.1.1. The TEI Header and Its Components 16.1. Varieties of Composite Text]
Moduleheader
Attributes
Contained by
textstructure: TEI
May contain
Note

One of the few elements unconditionally required in any TEI document.

Example
<teiHeader>  <fileDesc>   <titleStmt>    <title>Shakespeare: the first folio (1623) in electronic form</title>    <author>Shakespeare, William (1564–1616)</author>    <respStmt>     <resp>Originally prepared by</resp>     <name>Trevor Howard-Hill</name>    </respStmt>    <respStmt>     <resp>Revised and edited by</resp>     <name>Christine Avern-Carr</name>    </respStmt>   </titleStmt>   <publicationStmt>    <distributor>Oxford Text Archive</distributor>    <address>     <addrLine>13 Banbury Road, Oxford OX2 6NN, UK</addrLine>    </address>    <idno type="OTA">119</idno>    <availability>     <p>Freely available on a non-commercial basis.</p>    </availability>    <date when="1968">1968</date>   </publicationStmt>   <sourceDesc>    <bibl>The first folio of Shakespeare, prepared by Charlton Hinman (The Norton Facsimile,        1968)</bibl>   </sourceDesc>  </fileDesc>  <encodingDesc>   <projectDesc>    <p>Originally prepared for use in the production of a series of old-spelling        concordances in 1968, this text was extensively checked and revised for use during the        editing of the new Oxford Shakespeare (Wells and Taylor, 1989).</p>   </projectDesc>   <editorialDecl>    <correction>     <p>Turned letters are silently corrected.</p>    </correction>    <normalization>     <p>Original spelling and typography is retained, except that long s and ligatured          forms are not encoded.</p>    </normalization>   </editorialDecl>   <refsDecl xml:id="ASLREF">    <cRefPattern matchPattern="(\S+) ([^.]+)\.(.*)"     replacementPattern="#xpath(//div1[@n='$1']/div2/[@n='$2']//lb[@n='$3'])">     <p>A reference is created by assembling the following, in the reverse order as that          listed here: <list>       <item>the <att>n</att> value of the preceding <gi>lb</gi>       </item>       <item>a period</item>       <item>the <att>n</att> value of the ancestor <gi>div2</gi>       </item>       <item>a space</item>       <item>the <att>n</att> value of the parent <gi>div1</gi>       </item>      </list>     </p>    </cRefPattern>   </refsDecl>  </encodingDesc>  <revisionDesc>   <list>    <item>     <date when="1989-04-12">12 Apr 89</date> Last checked by CAC</item>    <item>     <date when="1989-03-01">1 Mar 89</date> LB made new file</item>   </list>  </revisionDesc> </teiHeader>
Content model
<content>
 <sequence>
  <elementRef key="fileDesc"/>
  <classRef key="model.teiHeaderPart"
   minOccurs="0" maxOccurs="unbounded"/>
  <elementRef key="revisionDesc"
   minOccurs="0"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element teiHeader
{
   cust_att.global.attributes,
   ( cust_fileDesc, cust_model.teiHeaderPart*, cust_revisionDesc? )
}⚓

3.1.170. <term>

<term> (term) contains a single-word, multi-word, or symbolic designation which is regarded as a technical term. [3.4.1. Terms and Glosses]
Modulecore
Attributes
Member of
Contained by
May contain
Note

When this element appears within an <index> element, it is understood to supply the form under which an index entry is to be made for that location. Elsewhere, it is understood simply to indicate that its content is to be regarded as a technical or specialised term. It may be associated with a <gloss> element by means of its ref attribute; alternatively a <gloss> element may point to a <term> element by means of its target attribute.

In formal terminological work, there is frequently discussion over whether terms must be atomic or may include multi-word lexical items, symbolic designations, or phraseological units. The <term> element may be used to mark any of these. No position is taken on the philosophical issue of what a term can be; the looser definition simply allows the <term> element to be used by practitioners of any persuasion.

As with other members of the att.canonical class, instances of this element occuring in a text may be associated with a canonical definition, either by means of a URI (using the ref attribute), or by means of some system-specific code value (using the key attribute). Because the mutually exclusive target and cRef attributes overlap with the function of the ref attribute, they are deprecated and may be removed at a subsequent release.

Example
A computational device that infers structure from grammatical strings of words is known as a <term>parser</term>, and much of the history of NLP over the last 20 years has been occupied with the design of parsers.
Example
We may define <term xml:id="TDPV1" rend="sc">discoursal point of view</term> as <gloss target="#TDPV1">the relationship, expressed through discourse structure, between the implied author or some other addresser, and the fiction.</gloss>
Example
We may define <term ref="#TDPV2" rend="sc">discoursal point of view</term> as <gloss xml:id="TDPV2">the relationship, expressed through discourse structure, between the implied author or some other addresser, and the fiction.</gloss>
Example
We discuss Leech's concept of <term ref="myGlossary.xml#TDPV2" rend="sc">discoursal point of view</term> below.
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element term
{
   cust_att.global.attributes,
   cust_att.cReferencing.attributes,
   cust_att.canonical.attributes,
   cust_att.cmc.attributes,
   cust_att.declaring.attributes,
   cust_att.pointing.attributes,
   cust_att.sortable.attributes,
   cust_att.typed.attributes,
   cust_macro.phraseSeq
}⚓

3.1.171. <text>

<text> (text) contains a single text of any kind, whether unitary or composite, for example a poem or drama, a collection of essays, a novel, a dictionary, or a corpus sample. [4. Default Text Structure 16.1. Varieties of Composite Text]
Moduletextstructure
Attributes
Member of
Contained by
textstructure: TEI
May contain
figures: figure
textstructure: back body front
Note

This element should not be used to represent a text which is inserted at an arbitrary point within the structure of another, for example as in an embedded or quoted narrative; the <floatingText> is provided for this purpose.

Example
<text>  <front>   <docTitle>    <titlePart>Autumn Haze</titlePart>   </docTitle>  </front>  <body>   <l>Is it a dragonfly or a maple leaf</l>   <l>That settles softly down upon the water?</l>  </body> </text>
ExampleThe body of a text may be replaced by a group of nested texts, as in the following schematic:
<text>  <front> <!-- front matter for the whole group -->  </front>  <group>   <text> <!-- first text -->   </text>   <text> <!-- second text -->   </text>  </group> </text>
Content model
<content>
 <sequence>
  <classRef key="model.global"
   minOccurs="0" maxOccurs="unbounded"/>
  <sequence minOccurs="0">
   <elementRef key="front"/>
   <classRef key="model.global"
    minOccurs="0" maxOccurs="unbounded"/>
  </sequence>
  <alternate>
   <elementRef key="body"/>
   <elementRef key="group"/>
  </alternate>
  <classRef key="model.global"
   minOccurs="0" maxOccurs="unbounded"/>
  <sequence minOccurs="0">
   <elementRef key="back"/>
   <classRef key="model.global"
    minOccurs="0" maxOccurs="unbounded"/>
  </sequence>
 </sequence>
</content>
    ⚓
Schema Declaration
element text
{
   cust_att.global.attributes,
   cust_att.declaring.attributes,
   cust_att.typed.attributes,
   cust_att.written.attributes,
   (
      cust_model.global*,
      ( ( cust_front, cust_model.global* )? ),
      ( cust_body | group ),
      cust_model.global*,
      ( ( cust_back, cust_model.global* )? )
   )
}⚓

3.1.172. <textLang>

<textLang> (text language) describes the languages and writing systems identified within the bibliographic work being described, rather than its description. [3.12.2.4. Imprint, Size of a Document, and Reprint Information 11.6.6. Languages and Writing Systems]
Modulecore
Attributes
mainLang(main language) supplies a code which identifies the chief language used in the bibliographic work.
StatusOptional
Datatypeteidata.language
otherLangs(other languages) one or more codes identifying any other languages used in the bibliographic work.
StatusOptional
Datatype0–∞ occurrences of teidata.language separated by whitespace
Member of
Contained by
core: bibl
May contain
Note

This element should not be used to document the languages or writing systems used for the bibliographic or manuscript description itself: as for all other TEI elements, such information should be provided by means of the global xml:lang attribute attached to the element containing the description.

In all cases, languages should be identified by means of a standardized ‘language tag’ generated according to BCP 47. Additional documentation for the language may be provided by a <language> element in the TEI header.

Example
<textLang mainLang="en" otherLangs="la"> Predominantly in English with Latin glosses</textLang>
Content model
<content>
 <macroRef key="macro.specialPara"/>
</content>
    ⚓
Schema Declaration
element textLang
{
   cust_att.global.attributes,
   attribute mainLang { text }?,
   attribute otherLangs { list { * } }?,
   cust_macro.specialPara
}⚓

3.1.173. <textNode>

<textNode> indicates the presence of a text node in a content model. [23. Documentation Elements]
Moduletagdocs
Attributes
Member of
Contained by
May containEmpty element
Example
<content>  <alternate minOccurs="0"   maxOccurs="unbounded">   <textNode/>   <elementRef key="hi"/>   <elementRef key="seg"/>  </alternate> </content>
Content model
<content>
 <empty/>
</content>
    ⚓
Schema Declaration
element textNode { cust_att.global.attributes, empty }⚓

3.1.174. <time>

<time> (time) contains a phrase defining a time of day in any format. [3.6.4. Dates and Times]
Modulecore
Attributes
Member of
Contained by
May contain
Example
As he sat smiling, the quarter struck — <time when="11:45:00">the quarter to twelve</time>.
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <textNode/>
  <classRef key="model.gLike"/>
  <classRef key="model.phrase"/>
  <classRef key="model.global"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element time
{
   cust_att.global.attributes,
   cust_att.calendarSystem.attributes,
   cust_att.canonical.attributes,
   cust_att.cmc.attributes,
   cust_att.datable.attributes,
   cust_att.dimensions.attributes,
   cust_att.editLike.attributes,
   cust_att.typed.attributes,
   ( text | cust_model.gLike | cust_model.phrase | cust_model.global )*
}⚓

3.1.175. <title>

<title> (title) contains a title for any kind of work. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement 2.2.5. The Series Statement]
Modulecore
Attributes
typeclassifies the title according to some convenient typology.
Derived fromatt.typed
StatusOptional
Datatypeteidata.enumerated
Sample values include:
main
main title
sub
(subordinate) subtitle, title of part
alt
(alternate) alternate title, often in another language, by which the work is also known
short
abbreviated form of title
desc
(descriptive) descriptive paraphrase of the work functioning as a title
Note

This attribute is provided for convenience in analysing titles and processing them according to their type; where such specialized processing is not necessary, there is no need for such analysis, and the entire title, including subtitles and any parallel titles, may be enclosed within a single <title> element.

levelindicates the bibliographic level for a title, that is, whether it identifies an article, book, journal, series, or unpublished material.
StatusOptional
Datatypeteidata.enumerated
Legal values are:
a
(analytic) the title applies to an analytic item, such as an article, poem, or other work published as part of a larger item.
m
(monographic) the title applies to a monograph such as a book or other item considered to be a distinct publication, including single volumes of multi-volume works
j
(journal) the title applies to any serial or periodical publication such as a journal, magazine, or newspaper
s
(series) the title applies to a series of otherwise distinct publications such as a collection
u
(unpublished) the title applies to any unpublished material (including theses and dissertations unless published by a commercial press)
Note

The level of a title is sometimes implied by its context: for example, a title appearing directly within an <analytic> element is ipso facto of level ‘a’, and one appearing within a <series> element of level ‘s’. For this reason, the level attribute is not required in contexts where its value can be unambiguously inferred. Where it is supplied in such contexts, its value should not contradict the value implied by its parent element.

Member of
Contained by
May contain
Note

The attributes key and ref, inherited from the class att.canonical may be used to indicate the canonical form for the title; the former, by supplying (for example) the identifier of a record in some external library system; the latter by pointing to an XML element somewhere containing the canonical form of the title.

Example
<title>Information Technology and the Research Process: Proceedings of a conference held at Cranfield Institute of Technology, UK, 18–21 July 1989</title>
Example
<title>Hardy's Tess of the D'Urbervilles: a machine readable edition</title>
Example
<title type="full">  <title type="main">Synthèse</title>  <title type="sub">an international journal for    epistemology, methodology and history of    science</title> </title>
Content model
<content>
 <macroRef key="macro.paraContent"/>
</content>
    ⚓
Schema Declaration
element title
{
   cust_att.global.attributes,
   cust_att.canonical.attributes,
   cust_att.cmc.attributes,
   cust_att.datable.attributes,
   cust_att.typed.attribute.subtype,
   attribute type { text }?,
   attribute level { "a" | "m" | "j" | "s" | "u" }?,
   cust_macro.paraContent
}⚓

3.1.176. <titleStmt>

<titleStmt> (title statement) groups information about the title of a work and those responsible for its content. [2.2.1. The Title Statement 2.2. The File Description]
Moduleheader
Attributes
Contained by
May contain
Example
<titleStmt>  <title>Capgrave's Life of St. John Norbert: a machine-readable transcription</title>  <respStmt>   <resp>compiled by</resp>   <name>P.J. Lucas</name>  </respStmt> </titleStmt>
Content model
<content>
 <sequence>
  <elementRef key="title" minOccurs="1"
   maxOccurs="unbounded"/>
  <classRef key="model.respLike"
   minOccurs="0" maxOccurs="unbounded"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element titleStmt
{
   cust_att.global.attributes,
   ( cust_title+, cust_model.respLike* )
}⚓

3.1.177. <unit>

<unit> contains a symbol, a word or a phrase referring to a unit of measurement in any kind of formal or informal system. [3.6.3. Numbers and Measures]
Modulecore
Attributes
Member of
Contained by
May contain
ExampleHere is an example of a <unit> element holding a unitRef attribute that points to a definition of the unit in the TEI header.
<measure>  <num>3</num>  <unit unitRef="#ell">ells</unit> </measure> <!-- In the TEI Header: --> <encodingDesc>  <unitDecl>   <unitDef xml:id="ell">    <label>ell</label>    <placeName ref="#iceland"/>    <desc>A unit of measure for cloth, roughly equivalent to 18 inches, or from an adult male’s elbow to the tip of the middle finger.</desc>   </unitDef>  </unitDecl> </encodingDesc>
Example
<measure>  <num>2</num>  <unit>kg</unit> </measure>
Example
<measure type="value">  <num>3</num>  <unit type="time" unit="min">minute</unit> </measure>
Example
<measure type="interval">  <num atLeast="1.2">1.2</num> to <num atMost="5.6">5.6</num>  <unit type="velocity" unit="km/h">km/h</unit> </measure>
Example
<p>Light travels at <num value="3E10">3×10^10</num>  <unit type="rate" unit="cm/s">   <unit type="space">cm</unit> per <unit type="time">second</unit>  </unit>.</p>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
    ⚓
Schema Declaration
element unit
{
   cust_att.global.attributes,
   cust_att.cmc.attributes,
   cust_att.measurement.attributes,
   cust_att.typed.attributes,
   cust_macro.phraseSeq
}⚓

3.1.178. <unitDecl>

<unitDecl> (unit declarations) provides information about units of measurement that are not members of the International System of Units. [2.3.9. The Unit Declaration]
Moduleheader
Attributes
Member of
Contained by
header: encodingDesc
May contain
header: unitDef
Example
<unitDecl>  <unitDef xml:id="斤" type="weight">   <label xml:lang="ja">斤</label>   <label xml:lang="ja-Latn">kin</label>   <conversion fromUnit="#両" toUnit="#斤"    formula="16"/>  </unitDef>  <unitDef xml:id="両" type="weight">   <label xml:lang="ja">両</label>   <label xml:lang="ja-Latn">ryo</label>   <conversion fromUnit="#分" toUnit="#両"    formula="4"/>  </unitDef>  <unitDef xml:id="分" type="weight">   <label xml:lang="ja">分</label>   <label xml:lang="ja-Latn">Bu</label>   <conversion fromUnit="#銖" toUnit="#分"    formula="6"/>  </unitDef>  <unitDef xml:id="銖" type="weight">   <label xml:lang="ja">銖</label>   <label xml:lang="ja-Latn">Shu</label>  </unitDef> </unitDecl>
Content model
<content>
 <elementRef key="unitDef" minOccurs="1"
  maxOccurs="unbounded"/>
</content>
    ⚓
Schema Declaration
element unitDecl
{
   cust_att.global.attributes,
   cust_att.canonical.attributes,
   cust_att.datable.attributes,
   cust_unitDef+
}⚓

3.1.179. <unitDef>

<unitDef> (unit definition) contains descriptive information related to a specific unit of measurement. [2.3.9. The Unit Declaration]
Moduleheader
Attributes
Contained by
header: unitDecl
May contain
header: conversion
namesdates: placeName
Example
<unitDecl>  <unitDef xml:id="pechys" type="length">   <label>πῆχυς</label>   <placeName ref="#athens"/>   <conversion fromUnit="#daktylos"    toUnit="#pechys" formula="$fromUnit div 24"/>   <desc>Equivalent to a cubit or 24 daktyloi.</desc>  </unitDef>  <unitDef xml:id="daktylos" type="length">   <label>δάκτυλος</label>   <placeName ref="#athens"/>   <desc>A basic unit of length equivalent to one finger (or the size of a thumb) in ancient Greece.</desc>  </unitDef> </unitDecl>
Content model
<content>
 <alternate minOccurs="1"
  maxOccurs="unbounded">
  <classRef key="model.labelLike"
   minOccurs="1"/>
  <classRef key="model.placeNamePart"
   minOccurs="0"/>
  <elementRef key="conversion"
   minOccurs="0"/>
  <elementRef key="unit" minOccurs="0"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element unitDef
{
   cust_att.global.attributes,
   cust_att.canonical.attributes,
   cust_att.datable.attributes,
   cust_att.typed.attributes,
   (
      cust_model.labelLike
    | cust_model.placeNamePart?
    | cust_conversion?
    | cust_unit?
   )+
}⚓

3.1.180. <val>

<val> (value) contains a single attribute value. [23. Documentation Elements 23.5.3. Attribute List Specification]
Moduletagdocs
Attributes
Member of
Contained by
May containCharacter data only
Example
<val>unknown</val>
Content model
<content>
 <textNode/>
</content>
    ⚓
Schema Declaration
element val { cust_att.global.attributes, text }⚓

3.1.181. <valDesc>

<valDesc> (value description) specifies any semantic or syntactic constraint on the value that an attribute may take, additional to the information carried by the <datatype> element. [23.5.3. Attribute List Specification]
Moduletagdocs
Attributes
Contained by
tagdocs: attDef
May contain
Example
<valDesc>must point to another <gi>align</gi> element logically preceding this one.</valDesc>
Content model
<content>
 <macroRef key="macro.phraseSeq.limited"/>
</content>
    ⚓
Schema Declaration
element valDesc
{
   cust_att.global.attributes,
   cust_att.combinable.attributes,
   cust_att.translatable.attributes,
   cust_macro.phraseSeq.limited
}⚓

3.1.182. <valItem>

<valItem> documents a single value in a predefined list of values. [23.5.3. Attribute List Specification]
Moduletagdocs
Attributes
identspecifies the value concerned.
StatusRequired
Datatypeteidata.text
Contained by
tagdocs: valList
May contain
Example
<valItem ident="dub">  <altIdent xml:lang="fr">dou</altIdent>  <equiv name="unknown"/>  <gloss>dubious</gloss>  <desc>used when the application of this element is doubtful or uncertain</desc> </valItem>
ExampleThe <remarks> element is only allowed within <valItem> if the <desc> element is also present:
<valList type="closed">  <valItem ident="border">   <desc>used to signify that there is border around a page.</desc>  </valItem>  <valItem ident="border-rule">   <desc>used to signify that there is a border made of ruled lines.</desc>  </valItem>  <valItem ident="border-ornamental">   <desc>used to signify that there is an ornamental border.</desc>  </valItem>  <valItem ident="catch">   <gloss>catchword</gloss>   <desc>for catch words.</desc>  </valItem>  <valItem ident="lineNum">   <gloss>line number</gloss>   <desc>for printed line numbers (usually in poetry).</desc>  </valItem>  <valItem ident="listHead">   <gloss>list heading</gloss>   <desc>for headings of lists or similar constructs; often used in tables of contents for the   <q>page</q> heading.</desc>  </valItem>  <valItem ident="pageNum">   <gloss>page number</gloss>   <desc>for page numbers.</desc>  </valItem>  <valItem ident="pressFig">   <gloss>press figure</gloss>   <desc>for press figures. These are usually numbers, but are not sequential or regularly      printed like signatures.</desc>  </valItem>  <valItem ident="sig">   <gloss>signature</gloss>   <desc>for printed signatures.</desc>  </valItem>  <valItem ident="unknown">   <desc>for a metawork whose function you do not know.</desc>  </valItem>  <valItem ident="vol">   <gloss>volume number</gloss>   <desc>for printed volume numbers.</desc>  </valItem>  <valItem ident="other">   <desc>anything not covered by the above values.</desc>   <remarks>    <p>Used for an ornament, decorated tool line, or symbol(s) that is not officially a        delimiter (and thus there is no element on which to put <val>pre()</val> or    <val>post()</val>) but is used to fill space at the bottom of a page so that a    <gi>floatingText</gi> or similar can start at the top of the next.</p>   </remarks>  </valItem> </valList>
Content model
<content>
 <sequence minOccurs="1" maxOccurs="1">
  <alternate minOccurs="0"
   maxOccurs="unbounded">
   <classRef key="model.identSynonyms"/>
   <elementRef key="altIdent"/>
  </alternate>
  <sequence minOccurs="0" maxOccurs="1">
   <classRef key="model.descLike"
    minOccurs="1" maxOccurs="unbounded"/>
   <sequence minOccurs="0"
    maxOccurs="unbounded">
    <classRef key="model.identSynonyms"
     minOccurs="1" maxOccurs="1"/>
    <classRef key="model.descLike"
     minOccurs="0" maxOccurs="unbounded"/>
   </sequence>
   <elementRef key="remarks" minOccurs="0"
    maxOccurs="unbounded"/>
  </sequence>
  <elementRef key="paramList" minOccurs="0"
   maxOccurs="1"/>
 </sequence>
</content>
    ⚓
Schema Declaration
element valItem
{
   cust_att.global.attributes,
   cust_att.combinable.attributes,
   attribute ident { text },
   (
      ( cust_model.identSynonyms | cust_altIdent )*,
      (
         (
            cust_model.descLike+,
            ( ( cust_model.identSynonyms, cust_model.descLike* )* ),
            cust_remarks*
         )?
      ),
      cust_paramList?
   )
}⚓

3.1.183. <valList>

<valList> (value list) contains one or more <valItem> elements defining possible values. [23.5.3. Attribute List Specification]
Moduletagdocs
Attributes
typespecifies the extensibility of the list of values specified.
StatusRequired
Datatypeteidata.enumerated
Legal values are:
closed
only the values specified are permitted.
semi
(semi-open) all the values specified should be supported, but other values are legal and software should have appropriate fallback processing for them.
open
the values specified are sample values only.[Default]
Contained by
May contain
tagdocs: valItem
Example
<valList type="closed">  <valItem ident="req">   <gloss>required</gloss>  </valItem>  <valItem ident="rec">   <gloss>recommended</gloss>  </valItem>  <valItem ident="opt">   <gloss>optional</gloss>  </valItem> </valList>
Content model
<content>
 <elementRef key="valItem" minOccurs="0"
  maxOccurs="unbounded"/>
</content>
    ⚓
Schema Declaration
element valList
{
   cust_att.global.attributes,
   cust_att.combinable.attributes,
   attribute type { "closed" | "semi" | "open" },
   cust_valItem*
}⚓

3.1.184. <xenoData>

<xenoData> (non-TEI metadata) provides a container element into which metadata in non-TEI formats may be placed. [2.5. Non-TEI Metadata]
Moduleheader
Attributes
Member of
Contained by
header: teiHeader
May containANY
ExampleThis example presumes that the prefix dc has been bound to the namespace http://purl.org/dc/elements/1.1/ and the prefix rdf is bound to the namespace http://www.w3.org/1999/02/22-rdf-syntax-ns#. Note: The about attribute on the <rdf:Description> in this example gives a URI indicating the resource to which the metadata contained therein refer. The <rdf:Description> in the second <xenoData> block has a blank about, meaning it is pointing at the current document, so the RDF is about the document within which it is contained, i.e. the TEI document containing the <xenoData> block. Similarly, any kind of relative URI may be used, including fragment identifiers (see [[undefined SG-id]]). Do note, however, that if the contents of the <xenoData> block are to be extracted and used elsewhere, any relative URIs will have to be resolved accordingly.
<xenoData    xmlns:dc="http://purl.org/dc/elements/1.1/"    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">  <rdf:RDF>   <rdf:Description rdf:about="http://www.worldcat.org/oclc/606621663">    <dc:title>The description of a new world, called the blazing-world</dc:title>    <dc:creator>The Duchess of Newcastle</dc:creator>    <dc:date>1667</dc:date>    <dc:identifier>British Library, 8407.h.10</dc:identifier>    <dc:subject>utopian fiction</dc:subject>   </rdf:Description>  </rdf:RDF> </xenoData> <xenoData>  <rdf:RDF>   <rdf:Description rdf:about="">    <dc:title>The Description of a New World, Called the Blazing-World, 1668</dc:title>    <dc:creator>Cavendish, Margaret (Lucas), Duchess of Newcastle</dc:creator>    <dc:publisher>Women Writers Project</dc:publisher>    <dc:date>2002-02-12</dc:date>    <dc:subject>utopian fiction</dc:subject>   </rdf:Description>  </rdf:RDF> </xenoData>
ExampleIn this example, the prefix rdf is bound to the namespace http://www.w3.org/1999/02/22-rdf-syntax-ns#, the prefix dc is bound to the namespace http://purl.org/dc/elements/1.1/, and the prefix cc is bound to the namespace http://web.resource.org/cc/.
<xenoData    xmlns:cc="http://web.resource.org/cc/"    xmlns:dc="http://purl.org/dc/elements/1.1/"    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">  <rdf:RDF>   <cc:Work rdf:about="">    <dc:title>Applied Software Project Management - review</dc:title>    <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text"/>    <dc:license rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/uk/"/>   </cc:Work>   <cc:License rdf:about="http://creativecommons.org/licenses/by-sa/2.0/uk/">    <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>    <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>    <cc:requires rdf:resource="http://web.resource.org/cc/Notice"/>    <cc:requires rdf:resource="http://web.resource.org/cc/Attribution"/>    <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>    <cc:requires rdf:resource="http://web.resource.org/cc/ShareAlike"/>   </cc:License>  </rdf:RDF> </xenoData>
ExampleIn this example, the prefix dc is again bound to the namespace http://www.openarchives.org/OAI/2.0/oai_dc/, and the prefix oai_dc is bound to the namespace http://www.openarchives.org/OAI/2.0/oai_dc/.
<xenoData    xmlns:dc="http://purl.org/dc/elements/1.1/"    xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/">  <oai_dc:dc>   <dc:title>The colonial despatches of Vancouver Island and British      Columbia 1846-1871: 11566, CO 60/2, p. 291; received 13 November.      Trevelyan to Merivale (Permanent Under-Secretary)</dc:title>   <dc:date>1858-11-12</dc:date>   <dc:creator>Trevelyan</dc:creator>   <dc:publisher>University of Victoria Humanities Computing and Media      Centre, and UVic Libraries</dc:publisher>   <dc:type>InteractiveResource</dc:type>   <dc:format>application/xhtml+xml</dc:format>   <dc:type>text</dc:type>   <dc:identifier>http://bcgenesis.uvic.ca/getDoc.htm?id=B585TE13.scx</dc:identifier>   <dc:rights>This document is licensed under a Creative Commons …</dc:rights>   <dc:language>(SCHEME=ISO639) en</dc:language>   <dc:source>Transcribed from microfilm and/or original documents, and      marked up in TEI P5 XML. The interactive XHTML resource is generated      from the XHTML using XQuery and XSLT.</dc:source>   <dc:source>repository: CO</dc:source>   <dc:source>coNumber: 60</dc:source>   <dc:source>coVol: 2</dc:source>   <dc:source>page: 291</dc:source>   <dc:source>coRegistration: 11566</dc:source>   <dc:source>received: received 13 November</dc:source>   <dc:subject>Trevelyan, Sir Charles Edward</dc:subject>   <dc:subject>Merivale, Herman</dc:subject>   <dc:subject>Elliot, T. Frederick</dc:subject>   <dc:subject>Moody, Colonel Richard Clement</dc:subject>   <dc:subject>Lytton, Sir Edward George Earle Bulwer</dc:subject>   <dc:subject>Jadis, Vane</dc:subject>   <dc:subject>Carnarvon, Earl</dc:subject>   <dc:subject>British Columbia</dc:subject>   <dc:description>British Columbia correspondence: Public Offices      document (normally correspondence between government      departments)</dc:description>  </oai_dc:dc> </xenoData>
ExampleIn this example, the prefix mods is bound to the namespace http://www.loc.gov/mods/v3.
<xenoData    xmlns:mods="http://www.loc.gov/mods/v3">  <mods:mods>   <mods:titleInfo>    <mods:title>Academic adaptation and cross-cultural        learning experiences of Chinese students at American        universities</mods:title>    <mods:subTitle>a narrative inquiry</mods:subTitle>   </mods:titleInfo>   <mods:name type="personal"    authority="local">    <mods:namePart/>    <mods:role>     <mods:roleTerm authority="marcrelator"      type="text">Author</mods:roleTerm>    </mods:role>    <mods:affiliation>Northeastern University</mods:affiliation>    <mods:namePart type="given">Hong</mods:namePart>    <mods:namePart type="family">Zhang</mods:namePart>   </mods:name>   <mods:name type="personal"    authority="local">    <mods:namePart/>    <mods:role>     <mods:roleTerm authority="local"      type="text">Advisor</mods:roleTerm>    </mods:role>    <mods:namePart type="given">Liliana</mods:namePart>    <mods:namePart type="family">Meneses</mods:namePart>   </mods:name>    <!-- ... -->   <mods:typeOfResource>text</mods:typeOfResource>   <mods:genre>doctoral theses</mods:genre>   <mods:originInfo>    <mods:place>     <mods:placeTerm type="text">Boston (Mass.)</mods:placeTerm>    </mods:place>    <mods:publisher>Northeastern University</mods:publisher>    <mods:copyrightDate encoding="w3cdtf"     keyDate="yes">2013</mods:copyrightDate>   </mods:originInfo>   <mods:language>    <mods:languageTerm authority="iso639-2b"     type="code">eng</mods:languageTerm>   </mods:language>   <mods:physicalDescription>    <mods:form authority="marcform">electronic</mods:form>    <mods:digitalOrigin>born digital</mods:digitalOrigin>   </mods:physicalDescription> <!-- ... -->  </mods:mods> </xenoData>
ExampleThis example shows GeoJSON embedded in <xenoData>. Note that JSON does not permit newlines inside string values. These must be escaped as \n. To avoid the accidental insertion of newlines by software, the use of xml:space is recommended. Blocks of JSON should be wrapped in CDATA sections, as they may contain characters illegal in XML.
<xenoData xml:space="preserve"> <![CDATA[ {     "features": [         {             "geometry": {                 "type": "Point",                 "coordinates": [                     68.388483,                     33.498616                 ]             },             "type": "Feature",             "id": "darmc-location-19727",             "properties": {                 "snippet": "Unknown; 330 BC - AD 300",                 "link": "https://pleiades.stoa.org/places/59694/darmc-location-19727",                 "description": "5M scale point location",                 "location_precision": "precise",                 "title": "DARMC location 19727"             }         }     ],     "id": "59694",     "subject": [         "dare:ancient=1",         "dare:feature=settlement",         "dare:major=0"     ],     "title": "Arachosiorum Oppidum/Alexandria",     "provenance": "Barrington Atlas: BAtlas 6 B3 Arachosiorum Oppidum/Alexandria",     "placeTypeURIs": [         "https://pleiades.stoa.org/vocabularies/place-types/settlement"     ],     "details": "<p>The Barrington Atlas Directory notes: Kalat-e-Ghilzai? AFG</p>",     "@context": {         "snippet": "dcterms:abstract",         "rights": "dcterms:rights",         "description": "dcterms:description",         "title": "dcterms:title",         "dcterms": "http://purl.org/dc/terms/",         "subject": "dcterms:subject",         "uri": "@id",         "created": "dcterms:created"     },     "review_state": "published",     "type": "FeatureCollection",     "description": "An ancient place, cited: BAtlas 6 B3 Arachosiorum Oppidum/Alexandria",     "reprPoint": [         68.388483,         33.498616     ],     "placeTypes": [         "settlement"     ],     "bbox": [         68.388483,         33.498616,         68.388483,         33.498616     ],     "rights": "Copyright © The Contributors. Sharing and remixing permitted under CC-BY.",     "created": "2010-09-23T04:31:55Z",     "uri": "https://pleiades.stoa.org/places/59694",     "creators": [         {             "username": null,             "name": "M.U. Erdosy"         }     ],     "@type": "Place" } ]]> </xenoData>
Note: the example above has been trimmed for legibility. The original may be found linked from Arachosiorum Oppidum/Alexandria. The contributors, listed per the license terms, are R. Talbert, Jeffrey Becker, W. Röllig, Tom Elliott, H. Kopp, DARMC, Sean Gillies, B. Siewert-Mayer, Francis Deblauwe, and Eric Kansa.
Content model
<content>
 <alternate>
  <textNode/>
  <anyElement minOccurs="1"
   maxOccurs="unbounded"/>
 </alternate>
</content>
    ⚓
Schema Declaration
element xenoData
{
   cust_att.global.attributes,
   cust_att.declarable.attributes,
   cust_att.typed.attributes,
   ( text | anyElement_xenoData_1+ )
}⚓

3.2. Model classes

3.2.1. model.addrPart

model.addrPart groups elements such as names or postal codes which may appear as part of a postal address. [3.6.2. Addresses]
Moduletei
Used by
Membersmodel.nameLike[model.nameLike.agent[name orgName persName] model.offsetLike model.persNamePart model.placeStateLike[model.placeNamePart[placeName]] idno rs] addrLine postBox postCode street

3.2.2. model.addressLike

model.addressLike groups elements used to represent a postal or email address. [1. The TEI Infrastructure]
Moduletei
Used by
Membersaddress email

3.2.3. model.attributable

model.attributable groups elements that contain a word or phrase that can be attributed to a source. [3.3.3. Quotation 4.3.2. Floating Texts]
Moduletei
Used by
Membersmodel.quoteLike[cit quote] said

3.2.4. model.availabilityPart

model.availabilityPart groups elements such as licences and paragraphs of text which may appear as part of an availability statement. [2.2.4. Publication, Distribution, Licensing, etc.]
Moduletei
Used by
Memberslicence

3.2.5. model.biblLike

model.biblLike groups elements containing a bibliographic description. [3.12. Bibliographic Citations and References]
Moduletei
Used by
Membersbibl biblFull

3.2.6. model.biblPart

3.2.7. model.choicePart

model.choicePart groups elements (other than <choice> itself) which can be used within a <choice> alternation. [3.5. Simple Editorial Changes]
Moduletei
Used by
Membersabbr expan

3.2.8. model.common

model.common groups common chunk- and inter-level elements. [1.3. The TEI Class System]
Moduletei
Used by
Membersmodel.cmc model.divPart[model.lLike model.pLike[p]] model.inter[model.attributable[model.quoteLike[cit quote] said] model.biblLike[bibl biblFull] model.egLike[eg egXML] model.labelLike[desc label] model.listLike[list table] model.oddDecl[classSpec constraintSpec dataSpec elementSpec macroSpec moduleSpec outputRendition specGrp specGrpRef] model.stageLike] q
Note

This class defines the set of chunk- and inter-level elements; it is used in many content models, including those for textual divisions.

3.2.9. model.contentPart

model.contentPart groups elements which may appear as part of the content element. [23.5.1. Defining Content Models]
Moduletagdocs
Used by
Membersalternate anyElement classRef dataRef elementRef empty macroRef sequence textNode

3.2.10. model.correspActionPart

model.correspActionPart groups elements which define the parts (usually names, dates and places) of one action related to the correspondence.
Moduletei
Used by
Membersmodel.addressLike[address email] model.dateLike[date time] model.nameLike[model.nameLike.agent[name orgName persName] model.offsetLike model.persNamePart model.placeStateLike[model.placeNamePart[placeName]] idno rs] note noteGrp

3.2.11. model.correspContextPart

model.correspContextPart groups elements which may appear as part of the correspContext element.
Moduletei
Used by
Membersmodel.pLike[p] model.ptrLike[listRef ptr ref] note noteGrp

3.2.12. model.correspDescPart

model.correspDescPart groups together metadata elements for describing correspondence.
Moduletei
Used by
MemberscorrespAction correspContext note noteGrp

3.2.13. model.dateLike

model.dateLike groups elements containing temporal expressions. [3.6.4. Dates and Times 14.4. Dates]
Moduletei
Used by
Membersdate time

3.2.14. model.descLike

model.descLike groups elements which contain a description of their function.
Moduletei
Used by
Membersdesc

3.2.15. model.divBottom

model.divBottom groups elements appearing at the end of a text division. [4.2. Elements Common to All Divisions]
Moduletei
Used by
Membersmodel.divBottomPart model.divWrapper[meeting]

3.2.16. model.divGenLike

model.divGenLike groups elements used to represent a structural division which is generated rather than explicitly present in the source.
Moduletei
Used by
MembersdivGen

3.2.17. model.divLike

model.divLike groups elements used to represent un-numbered generic structural divisions.
Moduletei
Used by
Membersdiv

3.2.18. model.divPart

model.divPart groups paragraph-level elements appearing directly within divisions. [1.3. The TEI Class System]
Moduletei
Used by
Membersmodel.lLike model.pLike[p]
Note

Note that this element class does not include members of the model.inter class, which can appear either within or between paragraph-level items.

3.2.19. model.divTop

model.divTop groups elements appearing at the beginning of a text division. [4.2. Elements Common to All Divisions]
Moduletei
Used by
Membersmodel.divTopPart[model.headLike[head]] model.divWrapper[meeting]

3.2.20. model.divTopPart

model.divTopPart groups elements which can occur only at the beginning of a text division. [4.6. Title Pages]
Moduletei
Used by
Membersmodel.headLike[head]

3.2.21. model.divWrapper

model.divWrapper groups elements which can appear at either top or bottom of a textual division. [4.2. Elements Common to All Divisions]
Moduletei
Used by
Membersmeeting

3.2.22. model.egLike

model.egLike groups elements containing examples or illustrations. [23.1.1. Phrase Level Terms]
Moduletei
Used by
Memberseg egXML

3.2.23. model.emphLike

model.emphLike groups phrase-level elements which are typographically distinct and to which a specific function can be attributed. [3.3. Highlighting and Quotation]
Moduletei
Used by
Memberscode emph foreign gloss ident mentioned soCalled term title

3.2.24. model.encodingDescPart

model.encodingDescPart groups elements which may be used inside <encodingDesc> and appear multiple times.
Moduletei
Used by
MembersconstraintDecl listPrefixDef projectDesc schemaRef schemaSpec styleDefDecl unitDecl

3.2.25. model.frontPart

model.frontPart groups elements which appear at the level of divisions within front or back matter. [7.1. Front and Back Matter ]
Moduletei
Used by
Membersmodel.frontPart.drama divGen schemaSpec

3.2.26. model.global

model.global groups elements which may appear at any point within a TEI text. [1.3. The TEI Class System]
Moduletei
Used by
Membersmodel.global.edit[ellipsis] model.global.meta model.milestoneLike model.noteLike[note noteGrp] figure

3.2.27. model.global.edit

model.global.edit groups globally available elements which perform a specifically editorial function. [1.3. The TEI Class System]
Moduletei
Used by
Membersellipsis

3.2.28. model.graphicLike

model.graphicLike groups elements containing images, formulae, and similar objects. [3.10. Graphics and Other Non-textual Components]
Moduletei
Used by
Membersformula graphic media

3.2.29. model.headLike

model.headLike groups elements used to provide a title or heading at the start of a text division.
Moduletei
Used by
Membershead

3.2.30. model.hiLike

model.hiLike groups phrase-level elements which are typographically distinct but to which no specific function can be attributed. [3.3. Highlighting and Quotation]
Moduletei
Used by
Membershi q

3.2.31. model.highlighted

model.highlighted groups phrase-level elements which are typographically distinct. [3.3. Highlighting and Quotation]
Moduletei
Used by
Membersmodel.emphLike[code emph foreign gloss ident mentioned soCalled term title] model.hiLike[hi q]

3.2.32. model.identEquiv

model.identEquiv groups elements which provide an equivalent value to the identity of their parent element, either as a formal construct or in natural language.
Moduletei
Used by
Membersequiv gloss

3.2.33. model.identSynonyms

model.identSynonyms groups elements which provide an explanation, equivalency, or alternative name for a markup construct.
Moduletei
Used by
Membersmodel.identEquiv[equiv gloss]

3.2.34. model.imprintPart

model.imprintPart groups the bibliographic elements which occur inside imprints. [3.12. Bibliographic Citations and References]
Moduletei
Used by
MembersbiblScope distributor pubPlace publisher

3.2.36. model.labelLike

model.labelLike groups elements used to gloss or explain other parts of a document.
Moduletei
Used by
Membersdesc label

3.2.37. model.limitedPhrase

3.2.38. model.listLike

model.listLike groups list-like elements. [3.8. Lists]
Moduletei
Used by
Memberslist table

3.2.39. model.measureLike

model.measureLike groups elements which denote a number, a quantity, a measurement, or similar piece of text that conveys some numerical meaning. [3.6.3. Numbers and Measures]
Moduletei
Used by
Membersnum unit

3.2.40. model.nameLike

model.nameLike groups elements which name or refer to a person, place, or organization.
Moduletei
Used by
Membersmodel.nameLike.agent[name orgName persName] model.offsetLike model.persNamePart model.placeStateLike[model.placeNamePart[placeName]] idno rs
Note

A superset of the naming elements that may appear in datelines, addresses, statements of responsibility, etc.

3.2.41. model.nameLike.agent

model.nameLike.agent groups elements which contain names of individuals or corporate bodies. [3.6. Names, Numbers, Dates, Abbreviations, and Addresses]
Moduletei
Used by
Membersname orgName persName
Note

This class is used in the content model of elements which reference names of people or organizations.

3.2.42. model.noteLike

model.noteLike groups globally-available note-like elements. [3.9. Notes, Annotation, and Indexing]
Moduletei
Used by
Membersnote noteGrp

3.2.43. model.oddDecl

model.oddDecl groups elements which generate declarations in some markup language in ODD documents.
Moduletei
Used by
MembersclassSpec constraintSpec dataSpec elementSpec macroSpec moduleSpec outputRendition specGrp specGrpRef

3.2.44. model.oddRef

model.oddRef groups elements which reference declarations in some markup language in ODD documents.
Moduletei
Used by
MembersclassRef dataRef elementRef macroRef moduleRef

3.2.46. model.pLike.front

model.pLike.front groups paragraph-like elements which can occur as direct constituents of front matter. [4.6. Title Pages]
Moduletei
Used by
Membershead

3.2.47. model.pPart.data

model.pPart.data groups phrase-level elements containing names, dates, numbers, measures, and similar data. [3.6. Names, Numbers, Dates, Abbreviations, and Addresses]
Moduletei
Used by
Membersmodel.addressLike[address email] model.dateLike[date time] model.measureLike[num unit] model.nameLike[model.nameLike.agent[name orgName persName] model.offsetLike model.persNamePart model.placeStateLike[model.placeNamePart[placeName]] idno rs]

3.2.48. model.pPart.edit

model.pPart.edit groups phrase-level elements for simple editorial correction and transcription. [3.5. Simple Editorial Changes]
Moduletei
Used by
Membersmodel.pPart.editorial[abbr choice expan] model.pPart.transcriptional

3.2.49. model.pPart.editorial

model.pPart.editorial groups phrase-level elements for simple editorial interventions that may be useful both in transcribing and in authoring. [3.5. Simple Editorial Changes]
Moduletei
Used by
Membersabbr choice expan

3.2.51. model.phrase

model.phrase groups elements which can occur at the level of individual words or phrases. [1.3. The TEI Class System]
Moduletei
Used by
Membersmodel.graphicLike[formula graphic media] model.highlighted[model.emphLike[code emph foreign gloss ident mentioned soCalled term title] model.hiLike[hi q]] model.lPart model.pPart.data[model.addressLike[address email] model.dateLike[date time] model.measureLike[num unit] model.nameLike[model.nameLike.agent[name orgName persName] model.offsetLike model.persNamePart model.placeStateLike[model.placeNamePart[placeName]] idno rs]] model.pPart.edit[model.pPart.editorial[abbr choice expan] model.pPart.transcriptional] model.pPart.msdesc model.phrase.xml[att gi tag val] model.ptrLike[listRef ptr ref] model.segLike model.specDescLike[specDesc specList] ruby
Note

This class of elements can occur within paragraphs, list items, lines of verse, etc.

3.2.52. model.phrase.xml

model.phrase.xml groups phrase-level elements used to encode XML constructs such as element names, attribute names, and attribute values. [23. Documentation Elements]
Moduletei
Used by
Membersatt gi tag val

3.2.53. model.placeNamePart

model.placeNamePart groups elements which form part of a place name. [14.2.3. Place Names]
Moduletei
Used by
MembersplaceName

3.2.54. model.placeStateLike

model.placeStateLike groups elements which describe changing states of a place.
Moduletei
Used by
Membersmodel.placeNamePart[placeName]

3.2.55. model.ptrLike

model.ptrLike groups elements used for purposes of location and reference. [3.7. Simple Links and Cross-References]
Moduletei
Used by
MemberslistRef ptr ref

3.2.56. model.publicationStmtPart.agency

model.publicationStmtPart.agency groups the child elements of a <publicationStmt> element of the TEI header that indicate an authorising agent. [2.2.4. Publication, Distribution, Licensing, etc.]
Moduletei
Used by
Membersauthority distributor publisher
Note

The ‘agency’ child elements, while not required, are required if one of the ‘detail’ child elements is to be used. It is not valid to have a ‘detail’ child element without a preceding ‘agency’ child element.

See also model.publicationStmtPart.detail.

3.2.57. model.publicationStmtPart.detail

model.publicationStmtPart.detail groups the agency-specific child elements of the <publicationStmt> element of the TEI header. [2.2.4. Publication, Distribution, Licensing, etc.]
Moduletei
Used by
Membersmodel.ptrLike[listRef ptr ref] address availability date idno pubPlace
Note

A ‘detail’ child element may not occur unless an ‘agency’ child element precedes it.

See also model.publicationStmtPart.agency.

3.2.58. model.quoteLike

model.quoteLike groups elements used to directly contain quotations.
Moduletei
Used by
Memberscit quote

3.2.59. model.resource

model.resource groups separate elements which constitute the content of a digital resource, as opposed to its metadata. [1.3. The TEI Class System]
Moduletei
Used by
Memberstext

3.2.60. model.respLike

model.respLike groups elements which are used to indicate intellectual or other significant responsibility, for example within a bibliographic element.
Moduletei
Used by
Membersauthor editor funder meeting principal respStmt sponsor

3.2.61. model.specDescLike

model.specDescLike groups elements for referring to specification elements. [23. Documentation Elements]
Moduletei
Used by
MembersspecDesc specList

3.2.62. model.teiHeaderPart

model.teiHeaderPart groups high level elements which may appear more than once in a TEI header.
Moduletei
Used by
MembersencodingDesc xenoData

3.3. Attribute classes

3.3.1. att.anchoring

att.anchoring (anchoring) provides attributes for use on annotations, e.g. notes and groups of notes describing the existence and position of an anchor for annotations.
Moduletei
Membersnote noteGrp
Attributes
anchored(anchored) indicates whether the copy text shows the exact place of reference for the note.
StatusOptional
Datatypeteidata.truthValue
Defaulttrue
Note

In modern texts, notes are usually anchored by means of explicit footnote or endnote symbols. An explicit indication of the phrase or line annotated may however be used instead (e.g. ‘page 218, lines 3–4’). The anchored attribute indicates whether any explicit location is given, whether by symbol or by prose cross-reference. The value true indicates that such an explicit location is indicated in the copy text; the value false indicates that the copy text does not indicate a specific place of attachment for the note. If the specific symbols used in the copy text at the location the note is anchored are to be recorded, use the n attribute.

targetEnd(target end) points to the end of the span to which the note is attached, if the note is not embedded in the text at that point.
StatusOptional
Datatype1–∞ occurrences of teidata.pointer separated by whitespace
Note

This attribute is retained for backwards compatibility; it may be removed at a subsequent release of the Guidelines. The recommended way of pointing to a span of elements is by means of the range function of XPointer, as further described in 17.2.4.6. range().

Example
<p>(...) tamen reuerendos dominos archiepiscopum et canonicos Leopolienses necnon episcopum in duplicibus Quatuortemporibus<anchor xml:id="A55234"/> totaliter expediui...</p> <!-- elsewhere in the document --> <noteGrp targetEnd="#A55234">  <note xml:lang="en"> Quatuor Tempora, so called dry fast days.  </note>  <note xml:lang="pl"> Quatuor Tempora, tzw. Suche dni postne.  </note> </noteGrp>

3.3.2. att.ascribed

att.ascribed provides attributes for elements representing speech or action that can be ascribed to a specific individual. [3.3.3. Quotation 8.3. Elements Unique to Spoken Texts]
Moduletei
Membersatt.ascribed.directed[q said] change
Attributes
whoindicates the person, or group of people, to whom the element content is ascribed.
StatusOptional
Datatype1–∞ occurrences of teidata.pointer separated by whitespace
In the following example from Hamlet, speeches (<sp>) in the body of the play are linked to <role> elements in the <castList> using the who attribute.
<castItem type="role">  <role xml:id="Barnardo">Bernardo</role> </castItem> <castItem type="role">  <role xml:id="Francisco">Francisco</role>  <roleDesc>a soldier</roleDesc> </castItem> <!-- ... --> <sp who="#Barnardo">  <speaker>Bernardo</speaker>  <l n="1">Who's there?</l> </sp> <sp who="#Francisco">  <speaker>Francisco</speaker>  <l n="2">Nay, answer me: stand, and unfold yourself.</l> </sp>
Note

For transcribed speech, this will typically identify a participant or participant group; in other contexts, it will point to any identified <person> element.

3.3.3. att.ascribed.directed

att.ascribed.directed provides attributes for elements representing speech or action that can be directed at a group or individual. [3.3.3. Quotation 8.3. Elements Unique to Spoken Texts]
Moduletei
Membersq said
Attributes
toWhomindicates the person, or group of people, to whom a speech act or action is directed.
StatusOptional
Datatype1–∞ occurrences of teidata.pointer separated by whitespace
In the following example from Mary Pix's The False Friend, speeches (<sp>) in the body of the play are linked to <castItem> elements in the <castList> using the toWhom attribute, which is used to specify who the speech is directed to. Additionally, the <stage> includes toWhom to indicate the directionality of the action.
<castItem type="role">  <role xml:id="emil">Emilius.</role> </castItem> <castItem type="role">  <role xml:id="lov">Lovisa</role> </castItem> <castItem type="role">  <role xml:id="serv">A servant</role> </castItem> <!-- ... --> <sp who="#emil"  toWhom="#lov">  <speaker>Emil.</speaker>  <l n="1">My love!</l> </sp> <sp who="#lov"  toWhom="#emil">  <speaker>Lov.</speaker>  <l n="2">I have no Witness of my Noble Birth</l>  <stage who="emil"   toWhom="#serv">Pointing to her Woman.</stage>  <l>But that poor helpless wretch——</l> </sp>
Note

To indicate the recipient of written correspondence, use the elements used in section 2.4.6. Correspondence Description, rather than a toWhom attribute.

3.3.4. att.cReferencing

att.cReferencing provides attributes that may be used to supply a canonical reference as a means of identifying the target of a pointer.
Moduletei
Membersgloss ptr ref term
Attributes
cRef(canonical reference) specifies the destination of the pointer by supplying a canonical reference expressed using the scheme defined in a <refsDecl> element in the TEI header.
StatusOptional
Datatypeteidata.text
Note

The value of cRef should be constructed so that when the algorithm for the resolution of canonical references (described in section 17.2.5. Canonical References) is applied to it the result is a valid URI reference to the intended target.

The <refsDecl> to use may be indicated with the decls attribute.

Currently these Guidelines only provide for a single canonical reference to be encoded on any given <ptr> element.

3.3.5. att.calendarSystem

att.calendarSystem provides attributes for indicating calendar systems to which a date belongs. [3.6.4. Dates and Times 14.4. Dates]
Moduletei
Membersdate time
Attributes
calendarindicates one or more systems or calendars to which the date represented by the content of this element belongs.
StatusOptional
Datatype1–∞ occurrences of teidata.pointer separated by whitespace
Schematron
<sch:rule context="tei:*[@calendar]"> <sch:assert test="string-length( normalize-space(.) ) gt 0"> @calendar indicates one or more systems or calendars to which the date represented by the content of this element belongs, but this <sch:name/> element has no textual content.</sch:assert> </sch:rule>
He was born on <date calendar="#gregorian">Feb. 22, 1732</date> (<date calendar="#julian"  when="1732-02-22">Feb. 11, 1731/32, O.S.</date>).
He was born on <date calendar="#gregorian #julian"  when="1732-02-22">Feb. 22, 1732 (Feb. 11, 1731/32, O.S.)</date>.
Note

Note that the calendar attribute declares the calendar system used to interpret the textual content of an element, as it appears on an original source. It does not modify the interpretation of the normalization attributes provided by att.datable.w3c, att.datable.iso, or att.datable.custom. Attributes from those first two classes are always interpreted as Gregorian or proleptic Gregorian dates, as per the respective standards on which they are based. The calender system used to interpret the last (att.datable.custom) may be specified with datingMethod.

3.3.6. att.canonical

att.canonical provides attributes that can be used to associate a representation such as a name or title with canonical information about the object being named or referenced. [14.1.1. Linking Names and Their Referents]
Moduletei
Membersatt.naming[att.personal[name orgName persName placeName] author editor pubPlace rs] authority bibl biblFull correspDesc date distributor funder meeting principal publisher resp respStmt sponsor term time title unitDecl unitDef
Attributes
keyprovides an externally-defined means of identifying the entity (or entities) being named, using a coded value of some kind.
StatusOptional
Datatypeteidata.text
<author>  <name key="Hugo, Victor (1802-1885)"   ref="http://www.idref.fr/026927608">Victor Hugo</name> </author>
Note

The value may be a unique identifier from a database, or any other externally-defined string identifying the referent. No particular syntax is proposed for the values of the key attribute, since its form will depend entirely on practice within a given project.

ref(reference) provides an explicit means of locating a full definition or identity for the entity being named by means of one or more URIs.
StatusOptional
Datatype1–∞ occurrences of teidata.pointer separated by whitespace
<name ref="http://viaf.org/viaf/109557338"  type="person">Seamus Heaney</name>
Note

The value must point directly to one or more XML elements or other resources by means of one or more URIs, separated by whitespace. If more than one is supplied the implication is that the name identifies several distinct entities.

ExampleIn this contrived example, a canonical reference to the same organisation is provided in four different ways.
<author n="1">  <name ref="http://nzetc.victoria.ac.nz/tm/scholarly/name-427308.html"   type="organisation">New Zealand Parliament, Legislative Council</name> </author>   <author n="2">  <name ref="nzvn:427308"   type="organisation">New Zealand Parliament, Legislative Council</name> </author>   <author n="3">  <name ref="./named_entities.xml#o427308"   type="organisation">New Zealand Parliament, Legislative Council</name> </author>   <author n="4">  <name key="name-427308"   type="organisation">New Zealand Parliament, Legislative Council</name> </author>
The first presumes the availability of an internet connection and a processor that can resolve a URI (most can). The second requires, in addition, a <prefixDef> that declares how the nzvm prefix should be interpreted. The third does not require an internet connection, but does require that a file named named_entities.xml be in the same directory as the TEI document. The fourth requires that an entire external system for key resolution be available.
Note

The key attribute is more flexible and general-purpose, but its use in interchange requires that documentation about how the key is to be resolved be sent to the recipient of the TEI document. In contrast values of the ref attribute are resolved using the widely accepted protocols for a URI, and thus less documentation, if any, is likely required by the recipient in data interchange.

These guidelines provide no semantic basis or suggested precedence when both key and ref are provided. For this reason simultaneous use of both is not recommended unless documentation explaining the use is provided, probably in an ODD customizaiton, for interchange.

3.3.7. att.citeStructurePart

att.citeStructurePart provides attributes for selecting particular elements within a document.
Moduleheader
MembersciteData citeStructure
Attributes
use(use) supplies an XPath selection pattern using the syntax defined in [[undefined XSLT3]]. The XPath pattern is relative to the context given in match, which will either be a sibling attribute in the case of <citeStructure> or on the parent <citeStructure> in the case of <citeData>.
StatusRequired
Datatypeteidata.xpath

3.3.8. att.citing

att.citing provides attributes for specifying the specific part of a bibliographic item being cited. [1.3.1. Attribute Classes]
Moduletei
MembersbiblScope citedRange
Attributes
unitidentifies the unit of information conveyed by the element, e.g. columns, pages, volume, entry.
StatusOptional
Datatypeteidata.enumerated
Suggested values include:
volume
(volume) the element contains a volume number.
issue
the element contains an issue number, or volume and issue numbers.
page
(page) the element contains a page number or page range.
line
the element contains a line number or line range.
chapter
(chapter) the element contains a chapter indication (number and/or title)
part
the element identifies a part of a book or collection.
column
the element identifies a column.
entry
the element identifies an entry number or label in a list of entries.
fromspecifies the starting point of the range of units indicated by the unit attribute.
StatusOptional
Datatypeteidata.word
tospecifies the end-point of the range of units indicated by the unit attribute.
StatusOptional
Datatypeteidata.word

3.3.9. att.cmc

att.cmc (computer-mediated communication) provides attributes categorizing how the element content was created in a CMC environment.
Moduletei
Membersabbr address bibl biblFull choice cit date desc email emph expan figure foreign formula gloss graphic head hi idno label list media meeting mentioned name note noteGrp num orgName p persName placeName ptr q quote ref rs ruby said soCalled table term time title unit
Attributes
generatedBy(generated by) categorizes how the content of an element was generated in a CMC environment.
StatusOptional
Datatypeteidata.enumerated
Schematron
<sch:rule context="tei:*[@generatedBy]"> <sch:assert test="ancestor-or-self::tei:post">The @generatedBy attribute is for use within a <post> element.</sch:assert> </sch:rule>
Suggested values include:
human
the content was ‘naturally’ typed or spoken by a human user
template
the content was generated after a human user activated a template for its insertion
system
the content was generated by the system, i.e. the CMC environment
bot
the content was generated by a bot, i.e. a non-human agent, typically one that is not part of the CMC environment itself
unspecified
the content was generated by an unknown or unspecified process
automatic system message in chat: user moves on to another chatroom
<post type="event"  generatedBy="system"  who="#system"  rend="color:blue">  <p>   <name type="nickname"    corresp="#A02">McMike</name> geht    in einen anderen Raum: <name type="roomname">Kreuzfahrt</name>  </p> </post>
automatic system message in chat: user enters a chatroom
<post type="event"  generatedBy="system">  <p>   <name type="nickname"    corresp="#A08">c_bo</name> betritt    den Raum. </p> </post>
automatic system message in chat: user changes his font color
<post type="event"  generatedBy="system"  rend="color:red">  <p>   <name type="nickname"    corresp="#A08">c_bo</name> hat die    Farbe gewechselt.  </p> </post>
An automatic signature of user including an automatic timestamp (Wikipedia discussion, anonymized). The specification of generatedBy at the inner element <signed> is meant to override the specification at the outer element <post>. This is generally possible when the outer generatedBy value is "human".
<post type="standard"  generatedBy="human"  indentLevel="2"  synch="#t00394407"  who="#WU00005582">  <p> Kurze Nachfrage: Die Hieros für den Goldnamen stammen    auch von Beckerath gem. Literatur ? Grüße —</p>  <signed generatedBy="template"   rend="inline">   <gap reason="signatureContent"/>   <time generatedBy="template">18:50, 22. Okt. 2008 (CEST)</time>  </signed> </post>
Wikipedia talk page: user signature
<post type="written"  generatedBy="human"> <!-- ... main content of posting ... -->  <signed generatedBy="template">   <gap reason="signatureContent"/>   <time generatedBy="template">12:01, 12. Jun. 2009 (CEST)</time>  </signed> </post>

3.3.10. att.combinable

att.combinable provides attributes indicating how multiple references to the same object in a schema should be combined.
Moduletagdocs
Membersatt.identified[attDef classSpec constraintSpec dataSpec elementSpec macroSpec moduleSpec paramSpec schemaSpec] defaultVal remarks valDesc valItem valList
Attributes
modespecifies the effect of this declaration on its parent object.
StatusOptional
Datatypeteidata.enumerated
Legal values are:
add
this declaration is part of the current definitions.[Default]
delete
the object with the same identifier (and namespace in the case of an element or attribute) as the current one is no longer part of the current definitions
change
this declaration changes the object of the same identifier (and namespace in the case of an element or attribute) in the current definition
replace
this declaration replaces the object with the same identifier (and namespace in the case of an element or attribute) in the current definition.
Note

An ODD processor should handle the values for mode as follows:

add
the object should be created (processing any children in add mode); raise an error if the object has an identifier and an object with the same identifier (and namespace in the case of an element or attribute) already exists.
replace
use this object in preference to any existing object with the same identifier (and namespace in the case of an element or attribute), and ignore any children of that object; process any new children in replace mode
delete
do not process this object or any existing object with the same identifier (and namespace in the case of an element or attribute); the element carrying this attribute must be empty: raise an error if there are any children
change
process this object and its children, replacing only those components of an existing object of the same type with the same identifier (and namespace in case of an element or attribute) that are explicitly specified. This will change only those existing attribute values and child elements that appear both in the original specification and in the new specification. Other children from the original specification will be preserved.

3.3.11. att.datable

att.datable provides attributes for normalization of elements that contain dates, times, or datable events. [3.6.4. Dates and Times 14.4. Dates]
Moduletei
Membersauthor change conversion date editor funder idno licence meeting name orgName persName placeName principal resp sponsor time title unitDecl unitDef
Attributes
periodsupplies pointers to one or more definitions of named periods of time (typically <category>s, <date>s, or <event>s) within which the datable item is understood to have occurred.
StatusOptional
Datatype1–∞ occurrences of teidata.pointer separated by whitespace
Note

This ‘superclass’ provides attributes that can be used to provide normalized values of temporal information. By default, the attributes from the att.datable.w3c class are provided. If the module for names & dates is loaded, this class also provides attributes from the att.datable.iso and att.datable.custom classes. In general, the possible values of attributes restricted to the W3C datatypes form a subset of those values available via the ISO 8601 standard. However, the greater expressiveness of the ISO datatypes may not be needed, and there exists much greater software support for the W3C datatypes.

3.3.12. att.datable.custom

att.datable.custom provides attributes for normalization of elements that contain datable events to a custom dating system (i.e. other than the Gregorian used by W3 and ISO). [14.4. Dates]
Modulenamesdates
Membersatt.datable[author change conversion date editor funder idno licence meeting name orgName persName placeName principal resp sponsor time title unitDecl unitDef]
Attributes
when-customsupplies the value of a date or time in some custom standard form.
StatusOptional
Datatype1–∞ occurrences of teidata.word separated by whitespace
The following are examples of custom date or time formats that are not valid ISO or W3C format normalizations, normalized to a different dating system
<p>Alhazen died in Cairo on the <date when="1040-03-06"   when-custom="431-06-12"> 12th day of Jumada t-Tania, 430 AH  </date>.</p> <p>The current world will end at the <date when="2012-12-21"   when-custom="13.0.0.0.0">end of B'ak'tun 13</date>.</p> <p>The Battle of Meggidu (<date when-custom="Thutmose_III:23">23rd year of reign of Thutmose III</date>).</p> <p>Esidorus bixit in pace annos LXX plus minus sub <date when-custom="Ind:4-10-11">die XI mensis Octobris indictione IIII</date> </p>
Not all custom date formulations will have Gregorian equivalents.The when-custom attribute and other custom dating are not constrained to a datatype by the TEI, but individual projects are recommended to regularize and document their dating formats.
notBefore-customspecifies the earliest possible date for the event in some custom standard form.
StatusOptional
Datatype1–∞ occurrences of teidata.word separated by whitespace
notAfter-customspecifies the latest possible date for the event in some custom standard form.
StatusOptional
Datatype1–∞ occurrences of teidata.word separated by whitespace
from-customindicates the starting point of the period in some custom standard form.
StatusOptional
Datatype1–∞ occurrences of teidata.word separated by whitespace
<event xml:id="FIRE1"  datingMethod="#julian"  from-custom="1666-09-02"  to-custom="1666-09-05">  <head>The Great Fire of London</head>  <p>The Great Fire of London burned through a large part    of the city of London.</p> </event>
to-customindicates the ending point of the period in some custom standard form.
StatusOptional
Datatype1–∞ occurrences of teidata.word separated by whitespace
datingPointsupplies a pointer to some location defining a named point in time with reference to which the datable item is understood to have occurred.
StatusOptional
Datatypeteidata.pointer
datingMethodsupplies a pointer to a <calendar> element or other means of interpreting the values of the custom dating attributes.
StatusOptional
Datatypeteidata.pointer
Contayning the Originall, Antiquity, Increaſe, Moderne eſtate, and deſcription of that Citie, written in the yeare <date when-custom="1598"  calendar="#julian"  datingMethod="#julian">1598</date>. by Iohn Stow Citizen of London.
In this example, the calendar attribute points to a <calendar> element for the Julian calendar, specifying that the text content of the <date> element is a Julian date, and the datingMethod attribute also points to the Julian calendar to indicate that the content of the when-custom attribute value is Julian too.
<date when="1382-06-28"  when-custom="6890-06-20"  datingMethod="#creationOfWorld"> μηνὶ Ἰουνίου εἰς <num>κ</num> ἔτους <num>ςωϞ</num> </date>
In this example, a date is given in a Mediaeval text measured ‘from the creation of the world’, which is normalized (in when) to the Gregorian date, but is also normalized (in when-custom) to a machine-actionable, numeric version of the date from the Creation.
Note

Note that the datingMethod attribute (unlike calendar defined in att.datable) defines the calendar or dating system to which the date described by the parent element is normalized (i.e. in the when-custom or other X-custom attributes), not the calendar of the original date in the element.

3.3.13. att.datable.iso

att.datable.iso provides attributes for normalization of elements that contain datable events using the ISO 8601:2004 standard. [3.6.4. Dates and Times 14.4. Dates]
Modulenamesdates
Membersatt.datable[author change conversion date editor funder idno licence meeting name orgName persName placeName principal resp sponsor time title unitDecl unitDef]
Attributes
when-isosupplies the value of a date or time in a standard form.
StatusOptional
Datatypeteidata.temporal.iso
The following are examples of ISO date, time, and date & time formats that are not valid W3C format normalizations.
<date when-iso="1996-09-24T07:25+00">Sept. 24th, 1996 at 3:25 in the morning</date> <date when-iso="1996-09-24T03:25-04">Sept. 24th, 1996 at 3:25 in the morning</date> <time when-iso="1999-01-04T20:42-05">4 Jan 1999 at 8:42 pm</time> <time when-iso="1999-W01-1T20,70-05">4 Jan 1999 at 8:42 pm</time> <date when-iso="2006-05-18T10:03">a few minutes after ten in the morning on Thu 18 May</date> <time when-iso="03:00">3 A.M.</time> <time when-iso="14">around two</time> <time when-iso="15,5">half past three</time>
All of the examples of the when attribute in the att.datable.w3c class are also valid with respect to this attribute.
He likes to be punctual. I said <q>  <time when-iso="12">around noon</time> </q>, and he showed up at <time when-iso="12:00:00">12 O'clock</time> on the dot.
The second occurence of <time> could have been encoded with the when attribute, as 12:00:00 is a valid time with respect to the W3C XML Schema Part 2: Datatypes Second Edition specification. The first occurence could not.
notBefore-isospecifies the earliest possible date for the event in standard form, e.g. yyyy-mm-dd.
StatusOptional
Datatypeteidata.temporal.iso
notAfter-isospecifies the latest possible date for the event in standard form, e.g. yyyy-mm-dd.
StatusOptional
Datatypeteidata.temporal.iso
from-isoindicates the starting point of the period in standard form.
StatusOptional
Datatypeteidata.temporal.iso
to-isoindicates the ending point of the period in standard form.
StatusOptional
Datatypeteidata.temporal.iso
Note

The value of these attributes should be a normalized representation of the date, time, or combined date & time intended, in any of the standard formats specified by ISO 8601:2004, using the Gregorian calendar.

If both when-iso and dur-iso are specified, the values should be interpreted as indicating a span of time by its starting time (or date) and duration. That is,
<date when-iso="2007-06-01" dur-iso="P8D"/>
indicates the same time period as
<date when-iso="2007-06-01/P8D"/>

In providing a ‘regularized’ form, no claim is made that the form in the source text is incorrect; the regularized form is simply that chosen as the main form for purposes of unifying variant forms under a single heading.

3.3.14. att.datable.w3c

att.datable.w3c provides attributes for normalization of elements that contain datable events conforming to the W3C XML Schema Part 2: Datatypes Second Edition. [3.6.4. Dates and Times 14.4. Dates]
Moduletei
Membersatt.datable[author change conversion date editor funder idno licence meeting name orgName persName placeName principal resp sponsor time title unitDecl unitDef]
Attributes
whensupplies the value of the date or time in a standard form, e.g. yyyy-mm-dd.
StatusOptional
Datatypeteidata.temporal.w3c
Examples of W3C date, time, and date & time formats.
<p>  <date when="1945-10-24">24 Oct 45</date>  <date when="1996-09-24T07:25:00Z">September 24th, 1996 at 3:25 in the morning</date>  <time when="1999-01-04T20:42:00-05:00">Jan 4 1999 at 8 pm</time>  <time when="14:12:38">fourteen twelve and 38 seconds</time>  <date when="1962-10">October of 1962</date>  <date when="--06-12">June 12th</date>  <date when="---01">the first of the month</date>  <date when="--08">August</date>  <date when="2006">MMVI</date>  <date when="0056">AD 56</date>  <date when="-0056">56 BC</date> </p>
This list begins in the year 1632, more precisely on Trinity Sunday, i.e. the Sunday after Pentecost, in that year the <date calendar="#julian"  when="1632-06-06">27th of May (old style)</date>.
<opener>  <dateline>   <placeName>Dorchester, Village,</placeName>   <date when="1828-03-02">March 2d. 1828.</date>  </dateline>  <salute>To    Mrs. Cornell,</salute> Sunday <time when="12:00:00">noon.</time> </opener>
notBeforespecifies the earliest possible date for the event in standard form, e.g. yyyy-mm-dd.
StatusOptional
Datatypeteidata.temporal.w3c
notAfterspecifies the latest possible date for the event in standard form, e.g. yyyy-mm-dd.
StatusOptional
Datatypeteidata.temporal.w3c
fromindicates the starting point of the period in standard form, e.g. yyyy-mm-dd.
StatusOptional
Datatypeteidata.temporal.w3c
toindicates the ending point of the period in standard form, e.g. yyyy-mm-dd.
StatusOptional
Datatypeteidata.temporal.w3c
Schematron
<sch:rule context="tei:*[@when]"> <sch:report test="@notBefore|@notAfter|@from|@to"  role="nonfatal">The @when attribute cannot be used with any other att.datable.w3c attributes.</sch:report> </sch:rule>
Schematron
<sch:rule context="tei:*[@from]"> <sch:report test="@notBefore"  role="nonfatal">The @from and @notBefore attributes cannot be used together.</sch:report> </sch:rule>
Schematron
<sch:rule context="tei:*[@to]"> <sch:report test="@notAfter"  role="nonfatal">The @to and @notAfter attributes cannot be used together.</sch:report> </sch:rule>
Example
<date from="1863-05-28" to="1863-06-01">28 May through 1 June 1863</date>
Note

The value of these attributes should be a normalized representation of the date, time, or combined date & time intended, in any of the standard formats specified by XML Schema Part 2: Datatypes Second Edition, using the Gregorian calendar.

The most commonly-encountered format for the date portion of a temporal attribute is yyyy-mm-dd, but yyyy, --mm, ---dd, yyyy-mm, or --mm-dd may also be used. For the time part, the form hh:mm:ss is used.

Note that this format does not currently permit use of the value 0000 to represent the year 1 BCE; instead the value -0001 should be used.

3.3.15. att.declarable

att.declarable provides attributes for those elements in the TEI header which may be independently selected by means of the special purpose decls attribute. [16.3. Associating Contextual Information with a Text]
Moduletei
Membersavailability bibl biblFull correspDesc projectDesc punctuation seriesStmt sourceDesc styleDefDecl xenoData
Attributes
defaultindicates whether or not this element is selected by default when its parent is selected.
StatusOptional
Datatypeteidata.truthValue
Legal values are:
true
This element is selected if its parent is selected
false
This element can only be selected explicitly, unless it is the only one of its kind, in which case it is selected if its parent is selected.[Default]
Note

The rules governing the association of declarable elements with individual parts of a TEI text are fully defined in chapter 16.3. Associating Contextual Information with a Text. Only one element of a particular type may have a default attribute with a value of true.

3.3.16. att.declaring

att.declaring provides attributes for elements which may be independently associated with a particular declarable element within the header, thus overriding the inherited default for that element. [16.3. Associating Contextual Information with a Text]
Moduletei
Membersback body div front gloss graphic media p ptr ref term text
Attributes
decls(declarations) identifies one or more declarable elements within the header, which are understood to apply to the element bearing this attribute and its content.
StatusOptional
Datatype1–∞ occurrences of teidata.pointer separated by whitespace
Note

The rules governing the association of declarable elements with individual parts of a TEI text are fully defined in chapter 16.3. Associating Contextual Information with a Text.

3.3.17. att.deprecated

att.deprecated provides attributes indicating how a deprecated feature will be treated in future releases.
Moduletagdocs
Membersatt.combinable[att.identified[attDef classSpec constraintSpec dataSpec elementSpec macroSpec moduleSpec paramSpec schemaSpec] defaultVal remarks valDesc valItem valList]
Attributes
validUntilprovides a date before which the construct being defined will not be removed.
StatusOptional
Datatypedate
Schematron
<sch:rule context="tei:*[@validUntil]"> <sch:let name="advance_warning_period"  value="current-date() + xs:dayTimeDuration('P60D')"/> <sch:let name="me_phrase"  value="if (@ident) then concat('The ', @ident ) else concat('This ', local-name(.), ' of ', ancestor::tei:*[@ident][1]/@ident )"/> <sch:assert test="@validUntil cast as xs:date ge current-date()">  <sch:value-of select="concat( $me_phrase, ' construct is outdated (as of ', @validUntil, '); ODD processors may ignore it, and its use is no longer supported' )"/> </sch:assert> <sch:assert role="warning"  test="@validUntil cast as xs:date ge $advance_warning_period">  <sch:value-of select="concat( $me_phrase, ' construct becomes outdated on ', @validUntil )"/> </sch:assert> </sch:rule>
Schematron
<sch:rule context="tei:*[@validUntil][ not( self::tei:valDesc | self::tei:valList | self::tei:defaultVal | self::tei:remarks )]"> <sch:assert test="child::tei:desc[ @type eq 'deprecationInfo']"> A deprecated construct should include, whenever possible, an explanation, but this <sch:value-of select="name(.)"/> does not have a child <desc type="deprecationInfo"></sch:assert> </sch:rule>
Note

The value of this attribute should represent a date (in standard yyyy-mm-dd format) which is later than the date on which the attribute is added to an ODD. Technically, this attribute asserts only the intent to leave a construct in future releases of the markup language being defined up to at least the specified date, and makes no assertion about what happens past that date. In practice, the expectation is that the construct will be removed from future releases of the markup language being defined sometime shortly after the validUntil date.

An ODD processor will typically not process a specification element which has a validUntil date that is in the past. An ODD processor will typically warn users about constructs which have a validUntil date that is in the future. E.g., the documentation for such a construct might include the phrase warning: deprecated in red.

3.3.18. att.dimensions

att.dimensions provides attributes for describing the size of physical objects.
Moduletei
Membersdate ellipsis time
Attributes
unitnames the unit used for the measurement
StatusOptional
Datatypeteidata.enumerated
Suggested values include:
cm
(centimetres)
mm
(millimetres)
in
(inches)
line
lines of text
char
(characters) characters of text
quantityspecifies the length in the units specified
StatusOptional
Datatypeteidata.numeric
extentindicates the size of the object concerned using a project-specific vocabulary combining quantity and units in a single string of words.
StatusOptional
Datatypeteidata.text
<gap extent="5 words"/>
<height extent="half the page"/>
precisioncharacterizes the precision of the values specified by the other attributes.
StatusOptional
Datatypeteidata.certainty
scopewhere the measurement summarizes more than one observation, specifies the applicability of this measurement.
StatusOptional
Datatypeteidata.enumerated
Sample values include:
all
measurement applies to all instances.
most
measurement applies to most of the instances inspected.
range
measurement applies to only the specified range of instances.

3.3.19. att.divLike

att.divLike provides attributes common to all elements which behave in the same way as divisions. [4. Default Text Structure]
Moduletei
Membersdiv
Attributes
org(organization) specifies how the content of the division is organized.
StatusOptional
Datatypeteidata.enumerated
Legal values are:
composite
no claim is made about the sequence in which the immediate contents of this division are to be processed, or their inter-relationships.
uniform
the immediate contents of this element are regarded as forming a logical unit, to be processed in sequence.[Default]
sampleindicates whether this division is a sample of the original source and if so, from which part.
StatusOptional
Datatypeteidata.enumerated
Legal values are:
initial
division lacks material present at end in source.
medial
division lacks material at start and end.
final
division lacks material at start.
unknown
position of sampled material within original unknown.
complete
division is not a sample.[Default]

3.3.20. att.docStatus

att.docStatus provides attributes for use on metadata elements describing the status of a document.
Moduletei
Membersbibl biblFull change revisionDesc schemaSpec
Attributes
statusdescribes the status of a document either currently or, when associated with a dated element, at the time indicated.
StatusOptional
Datatypeteidata.enumerated
Sample values include:
approved
candidate
cleared
deprecated
draft
[Default]
embargoed
expired
frozen
galley
proposed
published
recommendation
submitted
unfinished
withdrawn
Example
<revisionDesc status="published">  <change when="2010-10-21"   status="published"/>  <change when="2010-10-02" status="cleared"/>  <change when="2010-08-02"   status="embargoed"/>  <change when="2010-05-01" status="frozen"   who="#MSM"/>  <change when="2010-03-01" status="draft"   who="#LB"/> </revisionDesc>

3.3.21. att.editLike

att.editLike provides attributes describing the nature of an encoded scholarly intervention or interpretation of any kind. [3.5. Simple Editorial Changes 11.3.1. Origination 14.3.2. The Person Element 12.3.1.1. Core Elements for Transcriptional Work]
Moduletei
Membersatt.transcriptional[rt] date expan name orgName persName placeName time
Attributes
evidenceindicates the nature of the evidence supporting the reliability or accuracy of the intervention or interpretation.
StatusOptional
Datatype1–∞ occurrences of teidata.enumerated separated by whitespace
Suggested values include:
internal
there is internal evidence to support the intervention.
external
there is external evidence to support the intervention.
conjecture
the intervention or interpretation has been made by the editor, cataloguer, or scholar on the basis of their expertise.
instantindicates whether this is an instant revision or not.
StatusOptional
Datatypeteidata.xTruthValue
Defaultfalse
Note

The members of this attribute class are typically used to represent any kind of editorial intervention in a text, for example a correction or interpretation, or to date or localize manuscripts etc.

Each pointer on the source (if present) corresponding to a witness or witness group should reference a bibliographic citation such as a <witness>, <msDesc>, or <bibl> element, or another external bibliographic citation, documenting the source concerned.

3.3.22. att.formula

att.formula provides attributes for defining a mathematical formula. [2.3.9. The Unit Declaration]
Moduletei
Membersconversion
Attributes
formulaA formula is provided to describe a mathematical calculation such as a conversion between measurement systems.
StatusOptional
Datatypeteidata.xpath
Example
<encodingDesc>  <unitDecl>   <unitDef xml:id="stadium" type="linear">    <label>stadium</label>    <placeName ref="#rome"/>    <conversion fromUnit="#pes"     toUnit="#stadium" formula="$fromUnit * 625"/>    <desc>The stadium was a Roman unit of linear measurement equivalent to 625 pedes, or Roman feet.</desc>   </unitDef>  </unitDecl> </encodingDesc>
Example
<encodingDesc>  <unitDecl>   <unitDef xml:id="wmw" type="power">    <label>whatmeworry</label>    <conversion fromUnit="#hpk"     toUnit="#wmw" formula="$fromUnit * 1"/>    <desc>In the Potrzebie system of measures as introduced by Donald Knuth, the whatmeworry unit of power is equivalent to one hah per kovac.</desc>   </unitDef>   <unitDef xml:id="kwmw" type="power">    <label>kilowhatmeworry</label>    <conversion fromUnit="#wmw"     toUnit="#kwmw" formula="$fromUnit div 1000"/>    <desc>The kilowhatmeworry is equivalent to 1000 whatmeworries.</desc>   </unitDef>   <unitDef xml:id="ap" type="power">    <label>kilowhatmeworry</label>    <conversion fromUnit="#kwmw"     toUnit="#ap" formula="$fromUnit div 100"/>    <desc>One unit of aeolipower (A.P.) is equivalent to 100 kilowhatmeworries.</desc>   </unitDef>  </unitDecl> </encodingDesc>
Example
<conversion fromUnit="#furlongsPerFortnight"  toUnit="#milesPerHour"  formula="$fromUnit cast as xs:decimal * 0.000372"/>
Example
<conversion fromUnit="#deciday"  toUnit="hour"  formula="$fromUnit cast as xs:decimal * 144 div 60"/>
Note

This attribute class provides formula for use in defining a value used in mathematical calculation. It can be used to store a mathematical operation needed to convert from one system of measurement to another. We use the teidata.xpath datatype to express this value in order to communicate mathematical operations on an XML node or nodes. The $fromUnit variable notation simplifies referencing of the fromUnit attribute on the parent <conversion> element. Note that ‘div’ is required to express the division operator in XPath.

3.3.23. att.fragmentable

att.fragmentable provides attributes for representing fragmentation of a structural element, typically as a consequence of some overlapping hierarchy.
Moduletei
Membersatt.divLike[div] p
Attributes
partspecifies whether or not its parent element is fragmented in some way, typically by some other overlapping structure: for example a speech which is divided between two or more verse stanzas, a paragraph which is split across a page division, a verse line which is divided between two speakers.
StatusOptional
Datatypeteidata.enumerated
Legal values are:
Y
(yes) the element is fragmented in some (unspecified) respect
N
(no) the element is not fragmented, or no claim is made as to its completeness[Default]
I
(initial) this is the initial part of a fragmented element
M
(medial) this is a medial part of a fragmented element
F
(final) this is the final part of a fragmented element
Note

The values I, M, or F should be used only where it is clear how the element may be reconstituted.

3.3.24. att.global

att.global provides attributes common to all elements in the TEI encoding scheme. [1.3.1.1. Global Attributes]
Moduletei
MembersTEI abbr abstract addrLine address alternate anyElement att attDef attList attRef author authority availability back bibl biblFull biblScope body calendar calendarDesc cell change choice cit citeData citeStructure citedRange classRef classSpec classes code constraint constraintDecl constraintSpec content conversion correspAction correspContext correspDesc dataFacet dataRef dataSpec datatype date defaultVal desc distributor div divGen edition editionStmt editor eg egXML elementRef elementSpec ellipsis email emph empty encodingDesc equiv exemplum expan extent figDesc figure fileDesc foreign formula front funder gi gloss graphic head headItem headLabel hi ident idno imprint item label licence list listChange listPrefixDef listRef macroRef macroSpec media meeting memberOf mentioned model modelGrp modelSequence moduleRef moduleSpec name note noteGrp notesStmt num orgName outputRendition p param paramList paramSpec persName placeName postBox postCode prefixDef principal projectDesc ptr pubPlace publicationStmt publisher punctuation q quote rb ref relatedItem remarks resp respStmt revisionDesc row rs rt ruby said schemaRef schemaSpec sequence seriesStmt soCalled sourceDesc specDesc specGrp specGrpRef specList sponsor street styleDefDecl table tag teiHeader term text textLang textNode time title titleStmt unit unitDecl unitDef val valDesc valItem valList xenoData
Attributes
xml:id(identifier) provides a unique identifier for the element bearing the attribute.
StatusOptional
DatatypeID
Schematron
<sch:rule context="@xml:id"> <sch:let name="myID"  value="normalize-space(.)"/> <sch:report test="../(ancestor::*|preceding::*)/@xml:id[ normalize-space(.) eq $myID ]">The @xml:id "<sch:value-of select="."/>" on <<sch:value-of select="name(..)"/>> duplicates an @xml:id found earlier in the document</sch:report> </sch:rule>
Note

The xml:id attribute may be used to specify a canonical reference for an element; see section 3.11. Reference Systems.

n(number) gives a number (or other label) for an element, which is not necessarily unique within the document.
StatusOptional
Datatypeteidata.text
Note

The value of this attribute is always understood to be a single token, even if it contains space or other punctuation characters, and need not be composed of numbers only. It is typically used to specify the numbering of chapters, sections, list items, etc.; it may also be used in the specification of a standard reference system for the text.

xml:lang(language) indicates the language of the element content using a ‘tag’ generated according to BCP 47.
StatusOptional
Datatypeteidata.language
<p> … The consequences of this rapid depopulation were the loss of the last <foreign xml:lang="rap">ariki</foreign> or chief (Routledge 1920:205,210) and their connections to ancestral territorial organization.</p>
Note

The xml:lang value will be inherited from the immediately enclosing element, or from its parent, and so on up the document hierarchy. It is generally good practice to specify xml:lang at the highest appropriate level, noticing that a different default may be needed for the <teiHeader> from that needed for the associated resource element or elements, and that a single TEI document may contain texts in many languages.

Only attributes with free text values (rare in these guidelines) will be in the scope of xml:lang.

The authoritative list of registered language subtags is maintained by IANA and is available at https://www.iana.org/assignments/language-subtag-registry. For a good general overview of the construction of language tags, see https://www.w3.org/International/articles/language-tags/, and for a practical step-by-step guide, see https://www.w3.org/International/questions/qa-choosing-language-tags.en.php.

The value used must conform with BCP 47. If the value is a private use code (i.e., starts with x- or contains -x-), a <language> element with a matching value for its ident attribute should be supplied in the TEI header to document this value. Such documentation may also optionally be supplied for non-private-use codes, though these must remain consistent with their (IETF)Internet Engineering Task Force definitions.

xml:baseprovides a base URI reference with which applications can resolve relative URI references into absolute URI references.
StatusOptional
Datatypeteidata.pointer
<div type="bibl">  <head>Selections from <title level="m">The Collected Letters of Robert Southey. Part 1: 1791-1797</title>  </head>  <listBibl xml:base="https://romantic-circles.org/sites/default/files/imported/editions/southey_letters/XML/">   <bibl>    <ref target="letterEEd.26.3.xml">     <title>Robert Southey to Grosvenor Charles Bedford</title>, <date when="1792-04-03">3 April 1792</date>.    </ref>   </bibl>   <bibl>    <ref target="letterEEd.26.57.xml">     <title>Robert Southey to Anna Seward</title>, <date when="1793-09-18">18 September 1793</date>.    </ref>   </bibl>   <bibl>    <ref target="letterEEd.26.85.xml">     <title>Robert Southey to Robert Lovell</title>, <date from="1794-04-05"      to="1794-04-06">5-6 April, 1794</date>.    </ref>   </bibl>  </listBibl> </div>
xml:spacesignals an intention about how white space should be managed by applications.
StatusOptional
Datatypeteidata.enumerated
Legal values are:
default
signals that the application's default white-space processing modes are acceptable
preserve
indicates the intent that applications preserve all white space
Note

The XML specification provides further guidance on the use of this attribute. Note that many parsers may not handle xml:space correctly.

3.3.25. att.global.source

att.global.source provides attributes used by elements to point to an external source. [1.3.1.1.4. Sources, certainty, and responsibility 3.3.3. Quotation 8.3.4. Writing]
Moduletei
Membersatt.global[TEI abbr abstract addrLine address alternate anyElement att attDef attList attRef author authority availability back bibl biblFull biblScope body calendar calendarDesc cell change choice cit citeData citeStructure citedRange classRef classSpec classes code constraint constraintDecl constraintSpec content conversion correspAction correspContext correspDesc dataFacet dataRef dataSpec datatype date defaultVal desc distributor div divGen edition editionStmt editor eg egXML elementRef elementSpec ellipsis email emph empty encodingDesc equiv exemplum expan extent figDesc figure fileDesc foreign formula front funder gi gloss graphic head headItem headLabel hi ident idno imprint item label licence list listChange listPrefixDef listRef macroRef macroSpec media meeting memberOf mentioned model modelGrp modelSequence moduleRef moduleSpec name note noteGrp notesStmt num orgName outputRendition p param paramList paramSpec persName placeName postBox postCode prefixDef principal projectDesc ptr pubPlace publicationStmt publisher punctuation q quote rb ref relatedItem remarks resp respStmt revisionDesc row rs rt ruby said schemaRef schemaSpec sequence seriesStmt soCalled sourceDesc specDesc specGrp specGrpRef specList sponsor street styleDefDecl table tag teiHeader term text textLang textNode time title titleStmt unit unitDecl unitDef val valDesc valItem valList xenoData]
Attributes
sourcespecifies the source from which some aspect of this element is drawn.
StatusOptional
Datatype1–∞ occurrences of teidata.pointer separated by whitespace
Schematron
<sch:rule context="tei:*[@source]"> <sch:let name="srcs"  value="tokenize( normalize-space(@source),' ')"/> <sch:report test="( self::tei:classRef | self::tei:dataRef | self::tei:elementRef | self::tei:macroRef | self::tei:moduleRef | self::tei:schemaSpec ) and $srcs[2]"> When used on a schema description element (like <sch:value-of select="name(.)"/>), the @source attribute should have only 1 value. (This one has <sch:value-of select="count($srcs)"/>.) </sch:report> </sch:rule>
Note

The source attribute points to an external source. When used on an element describing a schema component (<classRef>, <dataRef>, <elementRef>, <macroRef>, <moduleRef>, or <schemaSpec>), it identifies the source from which declarations for the components should be obtained.

On other elements it provides a pointer to the bibliographical source from which a quotation or citation is drawn.

In either case, the location may be provided using any form of URI, for example an absolute URI, a relative URI, a private scheme URI of the form tei:x.y.z, where x.y.z indicates the version number, e.g. tei:4.3.2 for TEI P5 release 4.3.2 or (as a special case) tei:current for whatever is the latest release, or a private scheme URI that is expanded to an absolute URI as documented in a <prefixDef>.

When used on elements describing schema components, source should have only one value; when used on other elements multiple values are permitted.

Example
<p> <!-- ... --> As Willard McCarty (<bibl xml:id="mcc_2012">2012, p.2</bibl>) tells us, <quote source="#mcc_2012">‘Collaboration’ is a problematic and should be a contested    term.</quote> <!-- ... --> </p>
Example
<p> <!-- ... -->  <quote source="#chicago_15_ed">Grammatical theories are in flux, and the more we learn, the    less we seem to know.</quote> <!-- ... --> </p> <!-- ... --> <bibl xml:id="chicago_15_ed">  <title level="m">The Chicago Manual of Style</title>, <edition>15th edition</edition>. <pubPlace>Chicago</pubPlace>: <publisher>University of    Chicago Press</publisher> (<date>2003</date>), <biblScope unit="page">p.147</biblScope>. </bibl>
Example
<elementRef key="p" source="tei:2.0.1"/>
Include in the schema an element named <p> available from the TEI P5 2.0.1 release.
Example
<schemaSpec ident="myODD"  source="mycompiledODD.xml"> <!-- further declarations specifying the components required --> </schemaSpec>
Create a schema using components taken from the file mycompiledODD.xml.

3.3.26. att.identified

att.identified provides identifying attributes for elements which can be subsequently referenced by means of a key attribute.
Moduletagdocs
MembersattDef classSpec constraintSpec dataSpec elementSpec macroSpec moduleSpec paramSpec schemaSpec
Attributes
module
StatusOptional
Datatypeteidata.enumerated
Legal values are:
analysis
certainty
cmc
core
corpus
dictionaries
drama
figures
gaiji
header
iso-fs
linking
msdescription
namesdates
nets
spoken
tagdocs
tei
textcrit
textstructure
transcr
verse
identsupplies the identifier by which this element may be referenced.
StatusRequired
Datatypeteidata.name
predeclaresays whether this object should be predeclared in the tei infrastructure module.
StatusOptional
Datatypeteidata.truthValue
Defaultfalse
Schematron
<sch:rule context="tei:elementSpec[@module]|tei:classSpec[@module]|tei:macroSpec[@module]"> <sch:assert test="(not(ancestor::tei:schemaSpec | ancestor::tei:TEI | ancestor::tei:teiCorpus)) or (not(@module) or (not(//tei:moduleSpec) and not(//tei:moduleRef)) or (//tei:moduleSpec[@ident = current()/@module]) or (//tei:moduleRef[@key = current()/@module]))"> Specification <sch:value-of select="@ident"/>: the value of the module attribute ("<sch:value-of select="@module"/>") should correspond to an existing module, via a moduleSpec or moduleRef</sch:assert> </sch:rule>

3.3.27. att.internetMedia

att.internetMedia provides attributes for specifying the type of a computer resource using a standard taxonomy.
Moduletei
Membersatt.media[graphic media] equiv ptr ref
Attributes
mimeType(MIME media type) specifies the applicable multimedia internet mail extension (MIME) media type.
StatusOptional
Datatype1–∞ occurrences of teidata.word separated by whitespace
ExampleIn this example mimeType is used to indicate that the URL points to a TEI XML file encoded in UTF-8.
<ref mimeType="application/tei+xml; charset=UTF-8"  target="https://raw.githubusercontent.com/TEIC/TEI/dev/P5/Source/guidelines-en.xml"/>
Note

This attribute class provides an attribute for describing a computer resource, typically available over the internet, using a value taken from a standard taxonomy. At present only a single taxonomy is supported, the Multipurpose Internet Mail Extensions (MIME) Media Type system. This typology of media types is defined by the Internet Engineering Task Force in RFC 2046. The list of types is maintained by the Internet Assigned Numbers Authority (IANA). The mimeType attribute must have a value taken from this list.

3.3.28. att.locatable

att.locatable provides attributes for referencing locations by pointing to entries in a canonical list of places. [2.3.9. The Unit Declaration 14.3.4.3. States, Traits, and Events]
Moduletei
Membersconversion
Attributes
whereindicates one or more locations by pointing to a <place> element or other canonical description.
StatusOptional
Datatype1–∞ occurrences of teidata.pointer separated by whitespace

3.3.29. att.measurement

att.measurement provides attributes to represent a regularized or normalized measurement.
Moduletei
Membersunit
Attributes
unit(unit) indicates the units used for the measurement, usually using the standard symbol for the desired units.
StatusOptional
Datatypeteidata.enumerated
Suggested values include:
m
(metre) SI base unit of length
kg
(kilogram) SI base unit of mass
s
(second) SI base unit of time
Hz
(hertz) SI unit of frequency
Pa
(pascal) SI unit of pressure or stress
Ω
(ohm) SI unit of electric resistance
L
(litre) 1 dm³
t
(tonne) 10³ kg
ha
(hectare) 1 hm²
Å
(ångström) 10⁻¹⁰ m
mL
(millilitre)
cm
(centimetre)
dB
(decibel) see remarks, below
kbit
(kilobit) 10³ or 1000 bits
Kibit
(kibibit) 2¹⁰ or 1024 bits
kB
(kilobyte) 10³ or 1000 bytes
KiB
(kibibyte) 2¹⁰ or 1024 bytes
MB
(megabyte) 10⁶ or 1 000 000 bytes
MiB
(mebibyte) 2²⁰ or 1 048 576 bytes
Note

If the measurement being represented is not expressed in a particular unit, but rather is a number of discrete items, the unit count should be used, or the unit attribute may be left unspecified.

Wherever appropriate, a recognized SI unit name should be used (see further http://www.bipm.org/en/publications/si-brochure/; http://physics.nist.gov/cuu/Units/). The list above is indicative rather than exhaustive.

unitRefpoints to a unique identifier stored in the xml:id of a <unitDef> element that defines a unit of measure.
StatusOptional
Datatypeteidata.pointer
quantity(quantity) specifies the number of the specified units that comprise the measurement
StatusOptional
Datatypeteidata.numeric
commodity(commodity) indicates the substance that is being measured
StatusOptional
Datatype1–∞ occurrences of teidata.word separated by whitespace
Note

In general, when the commodity is made of discrete entities, the plural form should be used, even when the measurement is of only one of them.

Schematron
<sch:rule context="tei:*[@unitRef]"> <sch:report test="@unit" role="info">The @unit attribute may be unnecessary when @unitRef is present.</sch:report> </sch:rule>
Note
This attribute class provides a triplet of attributes that may be used either to regularize the values of the measurement being encoded, or to normalize them with respect to a standard measurement system.
<l>So weren't you gonna buy <measure quantity="0.5" unit="gal"   commodity="ice cream">half    a gallon</measure>, baby</l> <l>So won't you go and buy <measure quantity="1.893" unit="L"   commodity="ice cream">half    a gallon</measure>, baby?</l>

The unit should normally be named using the standard symbol for an SI unit (see further http://www.bipm.org/en/publications/si-brochure/; http://physics.nist.gov/cuu/Units/). However, encoders may also specify measurements using informally defined units such as lines or characters.

3.3.30. att.media

att.media provides attributes for specifying display and related properties of external media.
Moduletei
Membersgraphic media
Attributes
widthWhere the media are displayed, indicates the display width.
StatusOptional
Datatypeteidata.outputMeasurement
heightWhere the media are displayed, indicates the display height.
StatusOptional
Datatypeteidata.outputMeasurement
scaleWhere the media are displayed, indicates a scale factor to be applied when generating the desired display size.
StatusOptional
Datatypeteidata.numeric

3.3.31. att.namespaceable

att.namespaceable provides attributes indicating the target namespace for an object being created.
Moduletagdocs
MembersattDef elementSpec schemaSpec
Attributes
ns(namespace) specifies the namespace to which the element(s) being specified belongs.
StatusOptional
Datatype0–1 occurrences of teidata.namespace separated by whitespace
Defaulthttp://www.tei-c.org/ns/1.0
Note

When specified on an <elementSpec>, this attribute specifies the namespace of the element being added, deleted, replaced, or changed. When specified on a <schemaSpec>, this attribute specifies the namespace of every element that is added, deleted, replaced, or changed by <elementSpec> children of the <schemaSpec>, or by <elementSpec>s referred to by <specGrpRef> children of the <schemaSpec>, unless overridden by an ns attribute on the <elementSpec>.

Note that the value of ns of <attDef> is not inherited from its ancestors.

3.3.32. att.naming

att.naming provides attributes common to elements which refer to named persons, places, organizations etc. [3.6.1. Referring Strings 14.3.7. Names and Nyms]
Moduletei
Membersatt.personal[name orgName persName placeName] author editor pubPlace rs
Attributes
rolemay be used to specify further information about the entity referenced by this name in the form of a set of whitespace-separated values, for example the occupation of a person, or the status of a place.
StatusOptional
Datatype1–∞ occurrences of teidata.enumerated separated by whitespace
nymRef(reference to the canonical name) provides a means of locating the canonical form (nym) of the names associated with the object named by the element bearing it.
StatusOptional
Datatype1–∞ occurrences of teidata.pointer separated by whitespace
Note

The value must point directly to one or more XML elements by means of one or more URIs, separated by whitespace. If more than one is supplied, the implication is that the name is associated with several distinct canonical names.

3.3.33. att.notated

att.notated provides attributes to indicate any specialised notation used for element content.
Moduletei
Membersformula quote
Attributes
notationnames the notation used for the content of the element.
StatusOptional
Datatypeteidata.enumerated

3.3.34. att.patternReplacement

att.patternReplacement provides attributes for regular-expression matching and replacement. [17.2.3. Using Abbreviated Pointers 2.3.6.3. Milestone Method 2.3.6. The Reference System Declaration 2.3.6.2. Search-and-Replace Method]
Moduleheader
MembersprefixDef
Attributes
matchPatternspecifies a regular expression against which the values of other attributes can be matched.
StatusRequired
Datatypeteidata.pattern
Note

The syntax used should follow that defined by W3C XPath syntax. Note that parenthesized groups are used not only for establishing order of precedence and atoms for quantification, but also for creating subpatterns to be referenced by the replacementPattern attribute.

replacementPatternspecifies a ‘replacement pattern’, that is, the skeleton of a relative or absolute URI containing references to groups in the matchPattern which, once subpattern substitution has been performed, complete the URI.
StatusRequired
Datatypeteidata.replacement
Note

The strings $1, $2 etc. are references to the corresponding group in the regular expression specified by matchPattern (counting open parenthesis, left to right). Processors are expected to replace them with whatever matched the corresponding group in the regular expression.

If a digit preceded by a dollar sign is needed in the actual replacement pattern (as opposed to being used as a back reference), the dollar sign must be written as %24.

3.3.35. att.personal

att.personal (attributes for components of names usually, but not necessarily, personal names) common attributes for those elements which form part of a name usually, but not necessarily, a personal name. [14.2.1. Personal Names]
Moduletei
Membersname orgName persName placeName
Attributes
fullindicates whether the name component is given in full, as an abbreviation or simply as an initial.
StatusOptional
Datatypeteidata.enumerated
Legal values are:
yes
(yes) the name component is spelled out in full.[Default]
abb
(abbreviated) the name component is given in an abbreviated form.
init
(initial letter) the name component is indicated only by one initial.
sort(sort) specifies the sort order of the name component in relation to others within the name.
StatusOptional
Datatypeteidata.count

3.3.36. att.placement

att.placement provides attributes for describing where on the source page or object a textual element appears. [3.5.3. Additions, Deletions, and Omissions 12.3.1.4. Additions and Deletions]
Moduletei
Membersatt.transcriptional[rt] div figure head label note noteGrp
Attributes
placespecifies where this item is placed.
StatusRecommended
Datatype1–∞ occurrences of teidata.enumerated separated by whitespace
Suggested values include:
top
at the top of the page
bottom
at the foot of the page
margin
in the margin (left, right, or both)
opposite
on the opposite, i.e. facing, page
overleaf
on the other side of the leaf
above
above the line
right
to the right, e.g. to the right of a vertical line of text, or to the right of a figure
below
below the line
left
to the left, e.g. to the left of a vertical line of text, or to the left of a figure
end
at the end of e.g. chapter or volume.
inline
within the body of the text.
inspace
in a predefined space, for example left by an earlier scribe.
<add place="margin">[An addition written in the margin]</add> <add place="bottom opposite">[An addition written at the foot of the current page and also on the facing page]</add>
<note place="bottom">Ibid, p.7</note>

3.3.37. att.pointing

att.pointing provides a set of attributes used by all elements which point to other elements by means of one or more URI references. [1.3.1.1.2. Language Indicators 3.7. Simple Links and Cross-References]
Moduletei
Memberscalendar citedRange gloss licence note noteGrp ptr ref term
Attributes
targetLangspecifies the language of the content to be found at the destination referenced by target, using a ‘language tag’ generated according to BCP 47.
StatusOptional
Datatypeteidata.language
Schematron
<sch:rule context="tei:*[not(self::tei:schemaSpec)][@targetLang]"> <sch:assert test="@target">@targetLang should only be used on <sch:name/> if @target is specified.</sch:assert> </sch:rule>
<linkGrp xml:id="pol-swh_aln_2.1-linkGrp">  <ptr xml:id="pol-swh_aln_2.1.1-ptr"   target="pol/UDHR/text.xml#pol_txt_1-head"   type="tuv"   targetLang="pl"/>  <ptr xml:id="pol-swh_aln_2.1.2-ptr"   target="swh/UDHR/text.xml#swh_txt_1-head"   type="tuv"   targetLang="sw"/> </linkGrp>
In the example above, the <linkGrp> combines pointers at parallel fragments of the Universal Declaration of Human Rights: one of them is in Polish, the other in Swahili.
Note

The value must conform to BCP 47. If the value is a private use code (i.e., starts with x- or contains -x-), a <language> element with a matching value for its ident attribute should be supplied in the TEI header to document this value. Such documentation may also optionally be supplied for non-private-use codes, though these must remain consistent with their (IETF)Internet Engineering Task Force definitions.

targetspecifies the destination of the reference by supplying one or more URI References.
StatusOptional
Datatype1–∞ occurrences of teidata.pointer separated by whitespace
Note

One or more syntactically valid URI references, separated by whitespace. Because whitespace is used to separate URIs, no whitespace is permitted inside a single URI. If a whitespace character is required in a URI, it should be escaped with the normal mechanism, e.g. TEI%20Consortium.

evaluate(evaluate) specifies the intended meaning when the target of a pointer is itself a pointer.
StatusOptional
Datatypeteidata.enumerated
Legal values are:
all
if the element pointed to is itself a pointer, then the target of that pointer will be taken, and so on, until an element is found which is not a pointer.
one
if the element pointed to is itself a pointer, then its target (whether a pointer or not) is taken as the target of this pointer.
none
no further evaluation of targets is carried out beyond that needed to find the element specified in the pointer's target.
Note

If no value is given, the application program is responsible for deciding (possibly on the basis of user input) how far to trace a chain of pointers.

3.3.38. att.predicate

att.predicate provides attributes for filtering by an XPath predicate expression. [23.4. Common Elements 23.5.4.1. The TEI processing model 23.5.4.9. Implementation of Processing Models]
Moduletagdocs
Membersequiv model
Attributes
predicatethe condition under which the element bearing this attribute applies, given as an XPath predicate expression.
StatusOptional
Datatypeteidata.xpath
Note

The XPath predicate expression given as the value of the predicate attribute has to be provided without wrapping square brackets.

Example
<model predicate="parent::person"  behaviour="inline">  <desc versionDate="2015-08-21"   xml:lang="en">If it is a child of a person element, treat as inline</desc> </model>
ExampleThe following example declares that the <name> element can be mapped to, or is equivalent to, the external concepts of ‘PERSON’ and ‘PLACE’ depending on the ‘XPath’ expression given in predicate
<elementSpec ident="name" mode="change">  <equiv name="PERSON"   predicate="@type eq 'person'"   uri="http://www.example.com/entities/person"/>  <equiv name="PLACE"   predicate="@type eq 'place'"   uri="http://www.example.com/entities/place"/> </elementSpec>

3.3.39. att.ranging

att.ranging provides attributes for describing numerical ranges.
Moduletei
Membersatt.dimensions[date ellipsis time] num
Attributes
atLeastgives a minimum estimated value for the approximate measurement.
StatusOptional
Datatypeteidata.numeric
atMostgives a maximum estimated value for the approximate measurement.
StatusOptional
Datatypeteidata.numeric
minwhere the measurement summarizes more than one observation or a range, supplies the minimum value observed.
StatusOptional
Datatypeteidata.numeric
maxwhere the measurement summarizes more than one observation or a range, supplies the maximum value observed.
StatusOptional
Datatypeteidata.numeric
confidencespecifies the degree of statistical confidence (between zero and one) that a value falls within the range specified by min and max, or the proportion of observed values that fall within that range.
StatusOptional
Datatypeteidata.probability
Example
The MS. was lost in transmission by mail from <del rend="overstrike">  <gap reason="illegible"   extent="one or two letters" atLeast="1" atMost="2" unit="chars"/> </del> Philadelphia to the Graphic office, New York.
Example
Americares has been supporting the health sector in Eastern Europe since 1986, and since 1992 has provided <measure atLeast="120000000" unit="USD"  commodity="currency">more than $120m</measure> in aid to Ukrainians.

3.3.40. att.repeatable

att.repeatable provides attributes for the elements which define component parts of a content model.
Moduletagdocs
Membersalternate anyElement classRef datatype elementRef sequence
Attributes
minOccurs(minimum number of occurences) indicates the smallest number of times this component may occur.
StatusOptional
Datatypeteidata.count
Default1
maxOccurs(maximum number of occurences) indicates the largest number of times this component may occur.
StatusOptional
Datatypeteidata.unboundedCount
Default1
Schematron
<sch:rule context="tei:*[ @minOccurs and @maxOccurs ]"> <sch:let name="min"  value="@minOccurs cast as xs:integer"/> <sch:let name="max"  value="if ( normalize-space( @maxOccurs ) eq 'unbounded') then -1 else @maxOccurs cast as xs:integer"/> <sch:assert test="$max eq -1 or $max ge $min">@maxOccurs should be greater than or equal to @minOccurs</sch:assert> </sch:rule> <sch:rule context="tei:*[ @minOccurs and not( @maxOccurs ) ]"> <sch:assert test="@minOccurs cast as xs:integer lt 2">When @maxOccurs is not specified, @minOccurs must be 0 or 1</sch:assert> </sch:rule>
Note

The value of minOccurs must always be less than or equal to that of maxOccurs. Since the default value of maxOccurs is 1, when maxOccurs is not specified minOccurs must always be less than or equal to 1. The default value of minOccurs is also 1, and therefore, when minOccurs is not specified the value of maxOccurs must always be greater than or equal to 1. An ODD processor should raise an error if either of these conditions is not met.

3.3.41. att.resourced

att.resourced provides attributes by which a resource (such as an externally held media file) may be located.
Moduletei
Membersgraphic media schemaRef
Attributes
url(uniform resource locator) specifies the URL from which the media concerned may be obtained.
StatusRequired
Datatypeteidata.pointer

3.3.42. att.sortable

att.sortable provides attributes for elements in lists or groups that are sortable, but whose sorting key cannot be derived mechanically from the element content. [10.1. Dictionary Body and Overall Structure]
Moduletei
Membersbibl biblFull correspAction idno item list listChange term
Attributes
sortKeysupplies the sort key for this element in an index, list or group which contains it.
StatusOptional
Datatypeteidata.word
David's other principal backer, Josiah ha-Kohen <index indexName="NAMES">  <term sortKey="Azarya_Josiah_Kohen">Josiah ha-Kohen b. Azarya</term> </index> b. Azarya, son of one of the last gaons of Sura was David's own first cousin.
Note

The sort key is used to determine the sequence and grouping of entries in an index. It provides a sequence of characters which, when sorted with the other values, will produced the desired order; specifics of sort key construction are application-dependent

Dictionary order often differs from the collation sequence of machine-readable character sets; in English-language dictionaries, an entry for 4-H will often appear alphabetized under ‘fourh’, and McCoy may be alphabetized under ‘maccoy’, while A1, A4, and A5 may all appear in numeric order ‘alphabetized’ between ‘a-’ and ‘AA’. The sort key is required if the orthography of the dictionary entry does not suffice to determine its location.

3.3.43. att.styleDef

att.styleDef provides attributes to specify the name of a formal definition language used to provide formatting or rendition information.
Moduletei
MembersstyleDefDecl
Attributes
schemeidentifies the language used to describe the rendition.
StatusOptional
Datatypeteidata.enumerated
Legal values are:
css
Cascading Stylesheet Language
xslfo
Extensible Stylesheet Language Formatting Objects
free
Informal free text description
other
A user-defined rendition description language
Note

If no value for the @scheme attribute is provided, then the default assumption should be that CSS is in use.

schemeVersionsupplies a version number for the style language provided in scheme.
StatusOptional
Datatypeteidata.versionNumber
Schematron
<sch:rule context="tei:*[@schemeVersion]"> <sch:assert test="@scheme and not(@scheme = 'free')"> @schemeVersion can only be used if @scheme is specified. </sch:assert> </sch:rule>
Note

If schemeVersion is used, then scheme should also appear, with a value other than free.

3.3.44. att.tableDecoration

att.tableDecoration provides attributes used to decorate rows or cells of a table. [15. Tables, Formulæ, Graphics, and Notated Music]
Modulefigures
Memberscell row
Attributes
role(role) indicates the kind of information held in this cell or in each cell of this row.
StatusOptional
Datatypeteidata.enumerated
Suggested values include:
label
labelling or descriptive information only.
data
data values.[Default]
Note

When this attribute is specified on a row, its value is the default for all cells in this row. When specified on a cell, its value overrides any default specified by the role attribute of the parent <row> element.

rows(rows) indicates the number of rows occupied by this cell or row.
StatusOptional
Datatypeteidata.count
Default1
Note

A value greater than one indicates that this cell spans several rows. Where several cells span multiple rows, it may be more convenient to use nested tables.

cols(columns) indicates the number of columns occupied by this cell or row.
StatusOptional
Datatypeteidata.count
Default1
Note

A value greater than one indicates that this cell or row spans several columns. Where an initial cell spans an entire row, it may be better treated as a heading.

3.3.45. att.timed

att.timed provides attributes common to those elements which have a duration in time, expressed either absolutely or by reference to an alignment map. [8.3.5. Temporal Information]
Moduletei
Membersellipsis media
Attributes
startindicates the location within a temporal alignment at which this element begins.
StatusOptional
Datatypeteidata.pointer
Note

If no value is supplied, the element is assumed to follow the immediately preceding element at the same hierarchic level.

endindicates the location within a temporal alignment at which this element ends.
StatusOptional
Datatypeteidata.pointer
Note

If no value is supplied, the element is assumed to precede the immediately following element at the same hierarchic level.

3.3.46. att.transcriptional

att.transcriptional provides attributes specific to elements encoding authorial or scribal intervention in a text when transcribing manuscript or similar sources. [12.3.1.4. Additions and Deletions]
Moduletei
Membersrt
Attributes
statusindicates the effect of the intervention, for example in the case of a deletion, strikeouts which include too much or too little text, or in the case of an addition, an insertion which duplicates some of the text already present.
StatusOptional
Datatypeteidata.enumerated
Sample values include:
duplicate
all of the text indicated as an addition duplicates some text that is in the original, whether the duplication is word-for-word or less exact.
duplicate-partial
part of the text indicated as an addition duplicates some text that is in the original
excessStart
some text at the beginning of the deletion is marked as deleted even though it clearly should not be deleted.
excessEnd
some text at the end of the deletion is marked as deleted even though it clearly should not be deleted.
shortStart
some text at the beginning of the deletion is not marked as deleted even though it clearly should be.
shortEnd
some text at the end of the deletion is not marked as deleted even though it clearly should be.
partial
some text in the deletion is not marked as deleted even though it clearly should be.
unremarkable
the deletion is not faulty.[Default]
Note

Status information on each deletion is needed rather rarely except in critical editions from authorial manuscripts; status information on additions is even less common.

Marking a deletion or addition as faulty is inescapably an interpretive act; the usual test applied in practice is the linguistic acceptability of the text with and without the letters or words in question.

causedocuments the presumed cause for the intervention.
StatusOptional
Datatypeteidata.enumerated
seq(sequence) assigns a sequence number related to the order in which the encoded features carrying this attribute are believed to have occurred.
StatusOptional
Datatypeteidata.count

3.3.47. att.translatable

att.translatable provides attributes used to indicate the status of a translatable portion of an ODD document.
Moduletagdocs
Membersdesc exemplum gloss remarks valDesc
Attributes
versionDatespecifies the date on which the source text was extracted and sent to the translator
StatusOptional
Datatypeteidata.temporal.working
Note

The versionDate attribute can be used to determine whether a translation might need to be revisited, by comparing the modification date on the containing file with the versionDate value on the translation. If the file has changed, changelogs can be checked to see whether the source text has been modified since the translation was made.

3.3.48. att.typed

att.typed provides attributes that can be used to classify or subclassify elements in any way. [1.3.1. Attribute Classes 18.1.1. Words and Above 3.6.1. Referring Strings 3.7. Simple Links and Cross-References 3.6.5. Abbreviations and Their Expansions 3.13.1. Core Tags for Verse 7.2.5. Speech Contents 4.1.1. Un-numbered Divisions 4.1.2. Numbered Divisions 4.2.1. Headings and Trailers 4.4. Virtual Divisions 14.3.2.3. Personal Relationships 12.3.1.1. Core Elements for Transcriptional Work 17.1.1. Pointers and Links 17.3. Blocks, Segments, and Anchors 13.2. Linking the Apparatus to the Text 23.5.1.2. Defining Content Models: RELAX NG 8.3. Elements Unique to Spoken Texts 24.3.1.3. Modification of Attribute and Attribute Value Lists]
Moduletei
MembersTEI abbr bibl calendar change cit classSpec constraintSpec correspAction correspDesc date desc div divGen exemplum figure gloss graphic head ident idno label list listChange listRef media moduleSpec name note noteGrp num orgName persName placeName ptr quote rb ref relatedItem rs rt ruby schemaRef table tag term text time title unit unitDef xenoData
Attributes
typecharacterizes the element in some sense, using any convenient classification scheme or typology.
StatusOptional
Datatypeteidata.enumerated
<div type="verse">  <head>Night in Tarras</head>  <lg type="stanza">   <l>At evening tramping on the hot white road</l>   <l>…</l>  </lg>  <lg type="stanza">   <l>A wind sprang up from nowhere as the sky</l>   <l>…</l>  </lg> </div>
Note

The type attribute is present on a number of elements, not all of which are members of att.typed, usually because these elements restrict the possible values for the attribute in a specific way.

subtype(subtype) provides a sub-categorization of the element, if needed.
StatusOptional
Datatypeteidata.enumerated
Note

The subtype attribute may be used to provide any sub-classification for the element additional to that provided by its type attribute.

Schematron
<sch:rule context="tei:*[@subtype]"> <sch:assert test="@type">The <sch:name/> element should not be categorized in detail with @subtype unless also categorized in general with @type</sch:assert> </sch:rule>
Note

When appropriate, values from an established typology should be used. Alternatively a typology may be defined in the associated TEI header. If values are to be taken from a project-specific list, this should be defined using the <valList> element in the project-specific schema description, as described in 24.3.1.3. Modification of Attribute and Attribute Value Lists .

3.3.49. att.written

att.written provides attributes to indicate the hand in which the content of an element was written in the source being transcribed. [1.3.1. Attribute Classes]
Moduletei
Membersatt.transcriptional[rt] div emph figure head hi label note noteGrp p text
Attributes
handpoints to a <handNote> element describing the hand considered responsible for the content of the element concerned.
StatusOptional
Datatypeteidata.pointer

3.4. Macros

3.4.1. macro.limitedContent

macro.limitedContent (paragraph content) defines the content of prose elements that are not used for transcription of extant materials. [1.3. The TEI Class System]
Moduletei
Used by
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <textNode/>
  <classRef key="model.limitedPhrase"/>
  <classRef key="model.inter"/>
 </alternate>
</content>
    ⚓
Declaration
cust_macro.limitedContent =
   ( text | cust_model.limitedPhrase | cust_model.inter )*⚓

3.4.2. macro.paraContent

macro.paraContent (paragraph content) defines the content of paragraphs and similar elements. [1.3. The TEI Class System]
Moduletei
Used by
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <textNode/>
  <classRef key="model.paraPart"/>
 </alternate>
</content>
    ⚓
Declaration
cust_macro.paraContent = ( text | cust_model.paraPart )*⚓

3.4.3. macro.phraseSeq

macro.phraseSeq (phrase sequence) defines a sequence of character data and phrase-level elements. [1.4.1. Standard Content Models]
Moduletei
Used by
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <textNode/>
  <classRef key="model.gLike"/>
  <classRef key="model.attributable"/>
  <classRef key="model.phrase"/>
  <classRef key="model.global"/>
 </alternate>
</content>
    ⚓
Declaration
cust_macro.phraseSeq =
   (
      text
    | cust_model.gLike
    | cust_model.attributable
    | cust_model.phrase
    | cust_model.global
   )*⚓

3.4.4. macro.phraseSeq.limited

macro.phraseSeq.limited (limited phrase sequence) defines a sequence of character data and those phrase-level elements that are not typically used for transcribing extant documents. [1.4.1. Standard Content Models]
Moduletei
Used by
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <textNode/>
  <classRef key="model.limitedPhrase"/>
  <classRef key="model.global"/>
 </alternate>
</content>
    ⚓
Declaration
cust_macro.phraseSeq.limited =
   ( text | cust_model.limitedPhrase | cust_model.global )*⚓

3.4.5. macro.specialPara

macro.specialPara ('special' paragraph content) defines the content model of elements such as notes or list items, which either contain a series of component-level elements or else have the same structure as a paragraph, containing a series of phrase-level and inter-level elements. [1.3. The TEI Class System]
Moduletei
Used by
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <textNode/>
  <classRef key="model.gLike"/>
  <classRef key="model.phrase"/>
  <classRef key="model.inter"/>
  <classRef key="model.divPart"/>
  <classRef key="model.global"/>
 </alternate>
</content>
    ⚓
Declaration
cust_macro.specialPara =
   (
      text
    | cust_model.gLike
    | cust_model.phrase
    | cust_model.inter
    | cust_model.divPart
    | cust_model.global
   )*⚓

3.4.6. macro.xtext

macro.xtext (extended text) defines a sequence of character data and gaiji elements.
Moduletei
Used by
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">
  <textNode/>
  <classRef key="model.gLike"/>
 </alternate>
</content>
    ⚓
Declaration
cust_macro.xtext = ( text | cust_model.gLike )*⚓

3.5. Datatypes

3.5.1. teidata.certainty

teidata.certainty defines the range of attribute values expressing a degree of certainty.
Moduletei
Used by
Content model
<content>
 <valList type="closed">
  <valItem ident="high"/>
  <valItem ident="medium"/>
  <valItem ident="low"/>
  <valItem ident="unknown"/>
 </valList>
</content>
    ⚓
Declaration
cust_teidata.certainty = "high" | "medium" | "low" | "unknown"⚓
Note

Certainty may be expressed by one of the predefined symbolic values high, medium, or low. The value unknown should be used in cases where the encoder does not wish to assert an opinion about the matter.

3.5.2. teidata.count

teidata.count defines the range of attribute values used for a non-negative integer value used as a count.
Moduletei
Used by
Element:
Content model
<content>
 <dataRef name="nonNegativeInteger"/>
</content>
    ⚓
Declaration
cust_teidata.count = xsd:nonNegativeInteger⚓
Note

Any positive integer value or zero is permitted

3.5.3. teidata.duration.iso

teidata.duration.iso defines the range of attribute values available for representation of a duration in time using ISO 8601 standard formats.
Moduletei
Used by
Content model
<content>
 <dataRef name="token"
  restriction="[0-9.,DHMPRSTWYZ/:+\-]+"/>
</content>
    ⚓
Declaration
cust_teidata.duration.iso = token { pattern = "[0-9.,DHMPRSTWYZ/:+\-]+" }⚓
Example
<time dur-iso="PT0,75H">three-quarters of an hour</time>
Example
<date dur-iso="P1,5D">a day and a half</date>
Example
<date dur-iso="P14D">a fortnight</date>
Example
<time dur-iso="PT0.02S">20 ms</time>
Note

A duration is expressed as a sequence of number-letter pairs, preceded by the letter P; the letter gives the unit and may be Y (year), M (month), D (day), H (hour), M (minute), or S (second), in that order. The numbers are all unsigned integers, except for the last, which may have a decimal component (using either . or , as the decimal point; the latter is preferred). If any number is 0, then that number-letter pair may be omitted. If any of the H (hour), M (minute), or S (second) number-letter pairs are present, then the separator T must precede the first ‘time’ number-letter pair.

For complete details, see ISO 8601 Data elements and interchange formats — Information interchange — Representation of dates and times.

3.5.4. teidata.duration.w3c

teidata.duration.w3c defines the range of attribute values available for representation of a duration in time using W3C datatypes.
Moduletei
Used by
Content model
<content>
 <dataRef name="duration"/>
</content>
    ⚓
Declaration
cust_teidata.duration.w3c = xsd:duration⚓
Example
<time dur="PT45M">forty-five minutes</time>
Example
<date dur="P1DT12H">a day and a half</date>
Example
<date dur="P7D">a week</date>
Example
<time dur="PT0.02S">20 ms</time>
Note

A duration is expressed as a sequence of number-letter pairs, preceded by the letter P; the letter gives the unit and may be Y (year), M (month), D (day), H (hour), M (minute), or S (second), in that order. The numbers are all unsigned integers, except for the S number, which may have a decimal component (using . as the decimal point). If any number is 0, then that number-letter pair may be omitted. If any of the H (hour), M (minute), or S (second) number-letter pairs are present, then the separator T must precede the first ‘time’ number-letter pair.

For complete details, see the W3C specification.

3.5.5. teidata.enumerated

teidata.enumerated defines the range of attribute values expressed as a single XML name taken from a list of documented possibilities.
Moduletei
Used by
Element:
Content model
<content>
 <dataRef key="teidata.word"/>
</content>
    ⚓
Declaration
cust_teidata.enumerated = teidata.word⚓
Note

Attributes using this datatype must contain a single ‘word’ which contains only letters, digits, punctuation characters, or symbols: thus it cannot include whitespace.

Typically, the list of documented possibilities will be provided (or exemplified) by a value list in the associated attribute specification, expressed with a <valList> element.

3.5.6. teidata.language

teidata.language defines the range of attribute values used to identify a particular combination of human language and writing system. [6.1. Language Identification]
Moduletei
Used by
Element:
Content model
<content>
 <alternate>
  <dataRef name="language"/>
  <valList>
   <valItem ident=""/>
  </valList>
 </alternate>
</content>
    ⚓
Declaration
cust_teidata.language = xsd:language | ( "" )⚓
Note

The values for this attribute are language ‘tags’ as defined in BCP 47. Currently BCP 47 comprises RFC 5646 and RFC 4647; over time, other IETF documents may succeed these as the best current practice.

A ‘language tag’, per BCP 47, is assembled from a sequence of components or subtags separated by the hyphen character (-, U+002D). The tag is made of the following subtags, in the following order. Every subtag except the first is optional. If present, each occurs only once, except the fourth and fifth components (variant and extension), which are repeatable.

language
The IANA-registered code for the language. This is almost always the same as the ISO 639 2-letter language code if there is one. The list of available registered language subtags can be found at https://www.iana.org/assignments/language-subtag-registry. It is recommended that this code be written in lower case.
script
The ISO 15924 code for the script. These codes consist of 4 letters, and it is recommended they be written with an initial capital, the other three letters in lower case. The canonical list of codes is maintained by the Unicode Consortium, and is available at https://unicode.org/iso15924/iso15924-codes.html. The IETF recommends this code be omitted unless it is necessary to make a distinction you need.
region
Either an ISO 3166 country code or a UN M.49 region code that is registered with IANA (not all such codes are registered, e.g. UN codes for economic groupings or codes for countries for which there is already an ISO 3166 2-letter code are not registered). The former consist of 2 letters, and it is recommended they be written in upper case; the list of codes can be searched or browsed at https://www.iso.org/obp/ui/#search/code/. The latter consist of 3 digits; the list of codes can be found at http://unstats.un.org/unsd/methods/m49/m49.htm.
variant
An IANA-registered variation. These codes ‘are used to indicate additional, well-recognized variations that define a language or its dialects that are not covered by other available subtags’.
extension
An extension has the format of a single letter followed by a hyphen followed by additional subtags. There are currently only two extensions in use. Extension T indicates that the content was transformed. For example en-t-it could be used for content in English that was translated from Italian. Extension T is described in the informational RFC 6497. Extension U can be used to embed a variety of locale attributes. It is described in the informational RFC 6067.
private use
An extension that uses the initial subtag of the single letter x (i.e., starts with x-) has no meaning except as negotiated among the parties involved. These should be used with great care, since they interfere with the interoperability that use of RFC 4646 is intended to promote. In order for a document that makes use of these subtags to be TEI-conformant, a corresponding <language> element must be present in the TEI header.

There are two exceptions to the above format. First, there are language tags in the IANA registry that do not match the above syntax, but are present because they have been ‘grandfathered’ from previous specifications.

Second, an entire language tag can consist of only a private use subtag. These tags start with x-, and do not need to follow any further rules established by the IETF and endorsed by these Guidelines. Like all language tags that make use of private use subtags, the language in question must be documented in a corresponding <language> element in the TEI header.

Examples include

sn
Shona
zh-TW
Taiwanese
zh-Hant-HK
Chinese written in traditional script as used in Hong Kong
en-SL
English as spoken in Sierra Leone
pl
Polish
es-MX
Spanish as spoken in Mexico
es-419
Spanish as spoken in Latin America

The W3C Internationalization Activity has published a useful introduction to BCP 47, Language tags in HTML and XML.

3.5.7. teidata.name

teidata.name defines the range of attribute values expressed as an XML Name.
Moduletei
Used by
att giElement:
Content model
<content>
 <dataRef name="Name"/>
</content>
    ⚓
Declaration
cust_teidata.name = xsd:Name⚓
Note

Attributes using this datatype must contain a single word which follows the rules defining a legal XML name (see https://www.w3.org/TR/REC-xml/#dt-name): for example they cannot include whitespace or begin with digits.

3.5.8. teidata.namespace

teidata.namespace defines the range of attribute values used to indicate XML namespaces as defined by the W3C Namespaces in XML Technical Recommendation.
Moduletei
Used by
Element:
Content model
<content>
 <dataRef restriction="\S+" name="anyURI"/>
</content>
    ⚓
Declaration
cust_teidata.namespace = xsd:anyURI { pattern = "\S+" }⚓
Note

The range of syntactically valid values is defined by RFC 3986 Uniform Resource Identifier (URI): Generic Syntax

3.5.9. teidata.namespaceOrName

teidata.namespaceOrName defines attribute values which contain either an absolute namespace URI or a qualified XML name.
Moduletei
Used by
Element:
Content model
<content>
 <alternate>
  <dataRef name="anyURI">
   <dataFacet name="pattern"
    value="[^/\s]+:\S*"/>
  </dataRef>
  <dataRef name="Name">
   <dataFacet name="pattern" value=".+:.+"/>
  </dataRef>
 </alternate>
</content>
    ⚓
Declaration
cust_teidata.namespaceOrName = xsd:anyURI | xsd:Name⚓

3.5.10. teidata.numeric

teidata.numeric defines the range of attribute values used for numeric values.
Moduletei
Used by
Element:
Content model
<content>
 <alternate>
  <dataRef name="double"/>
  <dataRef name="token"
   restriction="(\-?[\d]+/\-?[\d]+)"/>
  <dataRef name="decimal"/>
 </alternate>
</content>
    ⚓
Declaration
cust_teidata.numeric =
   xsd:double | token { pattern = "(\-?[\d]+/\-?[\d]+)" } | xsd:decimal⚓
Note

Any numeric value, represented as a decimal number, in floating point format, or as a ratio.

To represent a floating point number, expressed in scientific notation, ‘E notation’, a variant of ‘exponential notation’, may be used. In this format, the value is expressed as two numbers separated by the letter E. The first number, the significand (sometimes called the mantissa) is given in decimal format, while the second is an integer. The value is obtained by multiplying the mantissa by 10 the number of times indicated by the integer. Thus the value represented in decimal notation as 1000.0 might be represented in scientific notation as 10E3.

A value expressed as a ratio is represented by two integer values separated by a solidus (/) character. Thus, the value represented in decimal notation as 0.5 might be represented as a ratio by the string 1/2.

3.5.11. teidata.outputMeasurement

teidata.outputMeasurement defines a range of values for use in specifying the size of an object that is intended for display.
Moduletei
Used by
Content model
<content>
 <dataRef name="token"
  restriction="[\-+]?\d+(\.\d+)?(%|cm|mm|in|pt|pc|px|em|ex|ch|rem|vw|vh|vmin|vmax)"/>
</content>
    ⚓
Declaration
cust_teidata.outputMeasurement =
   token
   {
      pattern = "[\-+]?\d+(\.\d+)?(%|cm|mm|in|pt|pc|px|em|ex|ch|rem|vw|vh|vmin|vmax)"
   }⚓
Example
<figure>  <head>The TEI Logo</head>  <figDesc>Stylized yellow angle brackets with the letters <mentioned>TEI</mentioned> in    between and <mentioned>text encoding initiative</mentioned> underneath, all on a white    background.</figDesc>  <graphic height="600px" width="600px"   url="http://www.tei-c.org/logos/TEI-600.jpg"/> </figure>
Note

These values map directly onto the values used by XSL-FO and CSS. For definitions of the units see those specifications; at the time of this writing the most complete list is in the CSS3 working draft.

3.5.12. teidata.pattern

teidata.pattern defines attribute values which are expressed as a regular expression.
Moduletei
Used by
Element:
Content model
<content>
 <dataRef name="token"/>
</content>
    ⚓
Declaration
cust_teidata.pattern = token⚓
Note
A regular expression, often called a pattern, is an expression that describes a set of strings. They are usually used to give a concise description of a set, without having to list all elements. For example, the set containing the three strings Handel, Händel, and Haendel can be described by the pattern H(ä|ae?)ndel (or alternatively, it is said that the pattern H(ä|ae?)ndel matches each of the three strings)
Wikipedia

This TEI datatype is mapped to the XSD token datatype, and may therefore contain any string of characters. However, it is recommended that the value used conform to the particular flavour of regular expression syntax supported by XSD Schema.

3.5.13. teidata.pointer

teidata.pointer defines the range of attribute values used to provide a single URI, absolute or relative, pointing to some other resource, either within the current document or elsewhere.
Moduletei
Used by
Element:
Content model
<content>
 <dataRef restriction="\S+" name="anyURI"/>
</content>
    ⚓
Declaration
cust_teidata.pointer = xsd:anyURI { pattern = "\S+" }⚓
Note

The range of syntactically valid values is defined by RFC 3986 Uniform Resource Identifier (URI): Generic Syntax. Note that the values themselves are encoded using RFC 3987 Internationalized Resource Identifiers (IRIs) mapping to URIs. For example, https://secure.wikimedia.org/wikipedia/en/wiki/% is encoded as https://secure.wikimedia.org/wikipedia/en/wiki/%25 while http://موقع.وزارة-الاتصالات.مصر/ is encoded as http://xn--4gbrim.xn----rmckbbajlc6dj7bxne2c.xn--wgbh1c/

3.5.14. teidata.prefix

teidata.prefix defines a range of values that may function as a URI scheme name.
Moduletei
Used by
Element:
Content model
<content>
 <dataRef name="token"
  restriction="[a-z][a-z0-9\+\.\-]*"/>
</content>
    ⚓
Declaration
cust_teidata.prefix = token { pattern = "[a-z][a-z0-9\+\.\-]*" }⚓
Note

This datatype is used to constrain a string of characters to one that can be used as a URI scheme name according to RFC 3986, section 3.1. Thus only the 26 lowercase letters a–z, the 10 digits 0–9, the plus sign, the period, and the hyphen are permitted, and the value must start with a letter.

3.5.15. teidata.probCert

teidata.probCert defines a range of attribute values which can be expressed either as a numeric probability or as a coded certainty value.
Moduletei
Used by
Content model
<content>
 <alternate>
  <dataRef key="teidata.probability"/>
  <dataRef key="teidata.certainty"/>
 </alternate>
</content>
    ⚓
Declaration
cust_teidata.probCert = teidata.probability | teidata.certainty⚓

3.5.16. teidata.probability

teidata.probability defines the range of attribute values expressing a probability.
Moduletei
Used by
Content model
<content>
 <dataRef name="double">
  <dataFacet name="minInclusive" value="0"/>
  <dataFacet name="maxInclusive" value="1"/>
 </dataRef>
</content>
    ⚓
Declaration
cust_teidata.probability = xsd:double⚓
Note

Probability is expressed as a real number between 0 and 1; 0 representing certainly false and 1 representing certainly true.

3.5.17. teidata.replacement

teidata.replacement defines attribute values which contain a replacement template.
Moduletei
Used by
Content model
<content>
 <textNode/>
</content>
    ⚓
Declaration
cust_teidata.replacement = text⚓

3.5.18. teidata.temporal.iso

teidata.temporal.iso defines the range of attribute values expressing a temporal expression such as a date, a time, or a combination of them, that conform to the international standard Data elements and interchange formats – Information interchange – Representation of dates and times.
Moduletei
Used by
Content model
<content>
 <alternate>
  <dataRef name="date"/>
  <dataRef name="gYear"/>
  <dataRef name="gMonth"/>
  <dataRef name="gDay"/>
  <dataRef name="gYearMonth"/>
  <dataRef name="gMonthDay"/>
  <dataRef name="time"/>
  <dataRef name="dateTime"/>
  <dataRef name="token"
   restriction="[0-9.,DHMPRSTWYZ/:+\-]+"/>
 </alternate>
</content>
    ⚓
Declaration
cust_teidata.temporal.iso =
   xsd:date
 | xsd:gYear
 | xsd:gMonth
 | xsd:gDay
 | xsd:gYearMonth
 | xsd:gMonthDay
 | xsd:time
 | xsd:dateTime
 | token { pattern = "[0-9.,DHMPRSTWYZ/:+\-]+" }⚓
Note

If it is likely that the value used is to be compared with another, then a time zone indicator should always be included, and only the dateTime representation should be used.

For all representations for which ISO 8601:2004 describes both a basic and an extended format, these Guidelines recommend use of the extended format.

3.5.19. teidata.temporal.w3c

teidata.temporal.w3c defines the range of attribute values expressing a temporal expression such as a date, a time, or a combination of them, that conform to the W3C XML Schema Part 2: Datatypes Second Edition specification.
Moduletei
Used by
Content model
<content>
 <alternate>
  <dataRef name="date"/>
  <dataRef name="gYear"/>
  <dataRef name="gMonth"/>
  <dataRef name="gDay"/>
  <dataRef name="gYearMonth"/>
  <dataRef name="gMonthDay"/>
  <dataRef name="time"/>
  <dataRef name="dateTime"/>
 </alternate>
</content>
    ⚓
Declaration
cust_teidata.temporal.w3c =
   xsd:date
 | xsd:gYear
 | xsd:gMonth
 | xsd:gDay
 | xsd:gYearMonth
 | xsd:gMonthDay
 | xsd:time
 | xsd:dateTime⚓
Note

If it is likely that the value used is to be compared with another, then a time zone indicator should always be included, and only the dateTime representation should be used.

3.5.20. teidata.temporal.working

teidata.temporal.working defines the range of values, conforming to the W3C XML Schema Part 2: Datatypes Second Edition specification, expressing a date or a date and a time within the working life of the document.
Moduletei
Used by
Content model
<content>
 <alternate>
  <dataRef name="date"
   restriction="(19[789][0-9]|[2-9][0-9]{3}).*"/>
  <dataRef name="dateTime"
   restriction="(19[789][0-9]|[2-9][0-9]{3}).*"/>
 </alternate>
</content>
    ⚓
Declaration
cust_teidata.temporal.working =
   xsd:date { pattern = "(19[789][0-9]|[2-9][0-9]{3}).*" }
 | xsd:dateTime { pattern = "(19[789][0-9]|[2-9][0-9]{3}).*" }⚓
Note

If it is likely that the value used is to be compared with another, then a time zone indicator should always be included, and only the dateTime representation should be used.

The earliest time expressable with this datatype is 01 January 1970 (the Unix Epoch), which could be written as either 1970-01-01 or 1970-01-01T00:00:00Z.

3.5.21. teidata.text

teidata.text defines the range of attribute values used to express some kind of identifying string as a single sequence of Unicode characters possibly including whitespace.
Moduletei
Used by
Element:
Content model
<content>
 <dataRef name="string"/>
</content>
    ⚓
Declaration
cust_teidata.text = string⚓
Note

Attributes using this datatype must contain a single ‘token’ in which whitespace and other punctuation characters are permitted.

3.5.22. teidata.truthValue

teidata.truthValue defines the range of attribute values used to express a truth value.
Moduletei
Used by
Element:
Content model
<content>
 <dataRef name="boolean"/>
</content>
    ⚓
Declaration
cust_teidata.truthValue = xsd:boolean⚓
Note

The possible values of this datatype are 1 or true, or 0 or false.

This datatype applies only for cases where uncertainty is inappropriate; if the attribute concerned may have a value other than true or false, e.g. unknown, or inapplicable, it should have the extended version of this datatype: teidata.xTruthValue.

3.5.23. teidata.unboundedCount

teidata.unboundedCount defines the range of values used for a counting number or the string unbounded for infinity.
Moduletei
Used by
Element:
Content model
<content>
 <alternate>
  <dataRef name="nonNegativeInteger"/>
  <valList type="closed">
   <valItem ident="unbounded"/>
  </valList>
 </alternate>
</content>
    ⚓
Declaration
cust_teidata.unboundedCount = xsd:nonNegativeInteger | ( "unbounded" )⚓

3.5.24. teidata.version

teidata.version defines the range of attribute values which may be used to specify a TEI or Unicode version number.
Moduletei
Used by
Element:
Content model
<content>
 <dataRef name="token"
  restriction="[\d]+(\.[\d]+){0,2}"/>
</content>
    ⚓
Declaration
cust_teidata.version = token { pattern = "[\d]+(\.[\d]+){0,2}" }⚓
Note

The value of this attribute follows the pattern specified by the Unicode consortium for its version number (https://unicode.org/versions/). A version number contains digits and fullstop characters only. The first number supplied identifies the major version number. A second and third number, for minor and sub-minor version numbers, may also be supplied.

3.5.25. teidata.versionNumber

teidata.versionNumber defines the range of attribute values used for version numbers.
Moduletei
Used by
Content model
<content>
 <dataRef name="token"
  restriction="[\d]+[a-z]*[\d]*(\.[\d]+[a-z]*[\d]*){0,3}"/>
</content>
    ⚓
Declaration
cust_teidata.versionNumber =
   token { pattern = "[\d]+[a-z]*[\d]*(\.[\d]+[a-z]*[\d]*){0,3}" }⚓

3.5.26. teidata.word

teidata.word defines the range of attribute values expressed as a single word or token.
Moduletei
Used by
teidata.enumeratedElement:
Content model
<content>
 <dataRef name="token"
  restriction="[^\p{C}\p{Z}]+"/>
</content>
    ⚓
Declaration
cust_teidata.word = token { pattern = "[^\p{C}\p{Z}]+" }⚓
Note

Attributes using this datatype must contain a single ‘word’ which contains only letters, digits, punctuation characters, or symbols: thus it cannot include whitespace.

3.5.27. teidata.xTruthValue

teidata.xTruthValue (extended truth value) defines the range of attribute values used to express a truth value which may be unknown.
Moduletei
Used by
Element:
Content model
<content>
 <alternate>
  <dataRef name="boolean"/>
  <valList>
   <valItem ident="unknown"/>
   <valItem ident="inapplicable"/>
  </valList>
 </alternate>
</content>
    ⚓
Declaration
cust_teidata.xTruthValue = xsd:boolean | ( "unknown" | "inapplicable" )⚓
Note

In cases where where uncertainty is inappropriate, use the datatype teidata.TruthValue.

3.5.28. teidata.xmlName

teidata.xmlName defines attribute values which contain an XML name.
Moduletei
Used by
Element:
Content model
<content>
 <dataRef name="NCName"/>
</content>
    ⚓
Declaration
cust_teidata.xmlName = xsd:NCName⚓
Note

The rules defining an XML name form a part of the XML Specification.

3.5.29. teidata.xpath

teidata.xpath defines attribute values which contain an XPath expression.
Moduletei
Used by
Element:
Content model
<content>
 <textNode/>
</content>
    ⚓
Declaration
cust_teidata.xpath = text⚓
Note

Any XPath expression using the syntax defined in 6.2..

When writing programs that evaluate XPath expressions, programmers should be mindful of the possibility of malicious code injection attacks. For further information about XPath injection attacks, see the article at OWASP.

3.6. Constraints

Schematron
<sch:rule context="*[ @mode eq 'delete' ]"> <sch:report test="child::*">The specification element <<sch:name/>> has both a mode= of "delete" and child elements, which is incongruous</sch:report> </sch:rule> <sch:rule context=" tei:valList[ @mode = ('add','change','replace') ] | tei:moduleSpec[ @mode = ('add','change','replace') ] | tei:schemaSpec[ @mode = ('add','change','replace') ] | tei:elementSpec[ @mode = ('add','change','replace') ] | tei:classSpec[ @mode = ('add','change','replace') ] | tei:macroSpec[ @mode = ('add','change','replace') ] | tei:constraintSpec[ @mode = ('add','change','replace') ] | tei:attDef[ @mode = ('add','change','replace') ] | tei:classes[ @mode = ('add','change','replace') ]"> <sch:assert test="child::* | (@* except (@mode, @ident))">The specification element <<sch:name/>> has a mode= of "<sch:value-of select="@mode"/>", but does not have any child elements or schema-changing attributes, which is incongruous</sch:assert> </sch:rule>
SchematronConstrains the source attribute of various tagset documentation elements to those values recommended by TEI
<sch:rule context=" tei:classRef[@source] |tei:dataRef[@source] |tei:elementRef[@source] |tei:macroRef[@source] |tei:moduleRef[@source] |tei:schemaSpec[@source]"> <sch:assert test="matches(normalize-space(@source), '^tei:([0-9]+\.[0-9]+\.[0-9]+|current)$')"  role="information">The @source attribute of <<sch:name/>> is not in the recommended format, which is either "tei:current" or "tei:x.y.z", where x.y.z is a version number.</sch:assert> </sch:rule>
Syd Bauman. Date: 2024-12-31