TEI Minimal
author: James Cummings
availability: Distributed under a Creative Commons Attribution-ShareAlike 3.0 Unported License Copyright 2013 TEI Consortium. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditio (http://creativecommons.org/licenses/by-sa/3.0/)

A Minimal TEI Customization

This TEI ODD defines a TEI customization that is as minimal as possible and the schema generated from it will validate a document that is minimally valid against the TEI scheme. It includes only the ten required elements:

- <teiHeader> from the header module to store required metadata
- <fileDesc> from the header module to record information about this file
- <titleStmt> from the header module to record information about the title
- <publicationStmt> from the header module to detail how it is published
- <sourceDesc> from the header module to record where it is from
- <p> from the core module for use in the header and the body
- <title> from the core module for use in the titleStmt
- <TEI> from the textstructure module because what is a TEI file without that?
- <text> from the textstructure module to hold some text
- <body> from the textstructure module as a place to put that text

Elements

<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 15.1. Varieties of Composite Text]
Module	textstructure
Attributes	- att.global - @xml:id - @n - @xml:lang - @xml:base - @xml:space - att.global.rendition - @rend - @style - @rendition - att.global.responsibility - @cert - @resp - att.global.source - @source - att.typed - @type - @subtype version specifies the version number of the TEI Guidelines against which this document is valid. Status Optional Datatype teidata.version Note Major editions of the Guidelines have long been informally referred to by a name made up of the letter P (for Proposal) followed by a digit. The current release is one of the many releases of the fifth major edition of the Guidelines, known as P5. This attribute may be used to associate a TEI document with a specific release of the P5 Guidelines, in the absence of a more precise association provided by the source attribute on the associated <schemaSpec>.
Contained by	textstructure: TEI
May contain	header: teiHeader textstructure: TEI text
Note	This element is required. It is customary to specify the TEI namespace http://www.tei-c.org/ns/1.0 on it, for example: <TEI version="4.4.0" xml:lang="it" xmlns="http://www.tei-c.org/ns/1.0">.
Example	<TEI version="3.3.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"><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>
Schematron	<sch:ns prefix="tei" uri="http://www.tei-c.org/ns/1.0"/> <sch:ns prefix="xs" uri="http://www.w3.org/2001/XMLSchema"/>
Schematron	<sch:ns prefix="rng" uri="http://relaxng.org/ns/structure/1.0"/> <sch:ns prefix="rna" uri="http://relaxng.org/ns/compatibility/annotations/1.0"/>
Schematron	<sch:ns prefix="sch" uri="http://purl.oclc.org/dsdl/schematron"/> <sch:ns prefix="sch1x" uri="http://www.ascc.net/xml/schematron"/>
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 { att.global.attributes, att.typed.attributes, attribute version { text }?, ( teiHeader, ( ( model.resource+, TEI* ) | TEI+ ) ) }

<body>

<body> (text body) contains the whole body of a single unitary text, excluding any front or back matter. [4. Default Text Structure]
Module	textstructure
Attributes	- att.global - @xml:id - @n - @xml:lang - @xml:base - @xml:space - att.global.rendition - @rend - @style - @rendition - att.global.responsibility - @cert - @resp - att.global.source - @source - att.declaring - @decls
Contained by	textstructure: text
May contain	core: p
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 { att.global.attributes, att.declaring.attributes, ( model.global*, ( model.divTop, ( model.global | model.divTop )* )?, ( model.divGenLike, ( model.global | model.divGenLike )* )?, ( ( model.divLike, ( model.global | model.divGenLike )* )+ | ( model.div1Like, ( model.global | model.divGenLike )* )+ | ( ( ( schemaSpec | model.common ), model.global* )+, ( ( model.divLike, ( model.global | model.divGenLike )* )+ | ( model.div1Like, ( model.global | model.divGenLike )* )+ )? ) ), ( model.divBottom, model.global* )* ) }

<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]
Module	header
Attributes	- att.global - @xml:id - @n - @xml:lang - @xml:base - @xml:space - att.global.rendition - @rend - @style - @rendition - att.global.responsibility - @cert - @resp - att.global.source - @source
Contained by	header: teiHeader
May contain	header: publicationStmt sourceDesc titleStmt
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 { att.global.attributes, ( ( titleStmt, editionStmt?, extent?, publicationStmt, seriesStmt*, notesStmt? ), sourceDesc+ ) }

<p>

<p> (paragraph) marks paragraphs in prose. [3.1. Paragraphs 7.2.5. Speech Contents]
Module	core
Attributes	- att.global - @xml:id - @n - @xml:lang - @xml:base - @xml:space - att.global.rendition - @rend - @style - @rendition - att.global.responsibility - @cert - @resp - att.global.source - @source - att.declaring - @decls - att.fragmentable - @part - att.written - @hand
Member of	model.pLike
Contained by	header: publicationStmt sourceDesc textstructure: body
May contain	core: title character data
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: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>
Schematron	<sch:report test="(ancestor::tei:l or ancestor::tei:lg) and not( ancestor::tei:floatingText |parent::tei:figure |parent::tei:note )"> Abstract model violation: 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:report>
Content model	<content> <macroRef key="macro.paraContent"/> </content>
Schema Declaration	element p { att.global.attributes, att.declaring.attributes, att.fragmentable.attributes, att.written.attributes, macro.paraContent }

<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]
Module	header
Attributes	- att.global - @xml:id - @n - @xml:lang - @xml:base - @xml:space - att.global.rendition - @rend - @style - @rendition - att.global.responsibility - @cert - @resp - att.global.source - @source
Contained by	header: fileDesc
May contain	core: p
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 { att.global.attributes, ( ( model.publicationStmtPart.agency, model.publicationStmtPart.detail* )+ | model.pLike+ ) }

<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]
Module	header
Attributes	- att.global - @xml:id - @n - @xml:lang - @xml:base - @xml:space - att.global.rendition - @rend - @style - @rendition - att.global.responsibility - @cert - @resp - att.global.source - @source - att.declarable - @default
Contained by	header: fileDesc
May contain	core: p
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 { att.global.attributes, att.declarable.attributes, ( model.pLike+ | ( model.biblLike | model.sourceDescPart | model.listLike )+ ) }

<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 15.1. Varieties of Composite Text]
Module	header
Attributes	- att.global - @xml:id - @n - @xml:lang - @xml:base - @xml:space - att.global.rendition - @rend - @style - @rendition - att.global.responsibility - @cert - @resp - att.global.source - @source
Contained by	textstructure: TEI
May contain	header: fileDesc
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 { att.global.attributes, ( fileDesc, model.teiHeaderPart*, revisionDesc? ) }

<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 15.1. Varieties of Composite Text]
Module	textstructure
Attributes	- att.global - @xml:id - @n - @xml:lang - @xml:base - @xml:space - att.global.rendition - @rend - @style - @rendition - att.global.responsibility - @cert - @resp - att.global.source - @source - att.declaring - @decls - att.typed - @type - @subtype - att.written - @hand
Member of	model.resource
Contained by	textstructure: TEI
May contain	textstructure: body
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>
Example	The body of a text may be replaced by a group of nested texts, as in the following schematic: <text><front/><group><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 { att.global.attributes, att.declaring.attributes, att.typed.attributes, att.written.attributes, ( model.global*, ( front, model.global* )?, ( body | group ), model.global*, ( back, model.global* )? ) }

<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]
Module	core
Attributes	- att.global - @xml:id - @n - @xml:lang - @xml:base - @xml:space - att.global.rendition - @rend - @style - @rendition - att.global.responsibility - @cert - @resp - att.global.source - @source - att.canonical - @key - @ref - att.datable - @period - att.datable.w3c - @when - @notBefore - @notAfter - @from - @to - att.typed - type - @subtype type classifies the title according to some convenient typology. Derived from att.typed Status Optional Datatype teidata.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. calendar indicates one or more systems or calendars to which the date represented by the content of this element belongs. Deprecated will be removed on 2024-11-11 Status Optional Datatype 1–∞ 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> level indicates the bibliographic level for a title, that is, whether it identifies an article, book, journal, series, or unpublished material. Status Optional Datatype teidata.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	model.emphLike
Contained by	core: p title header: titleStmt
May contain	core: title character data
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 { att.global.attributes, att.typed.attribute.subtype, att.canonical.attributes, att.datable.attributes, attribute type { text }?, attribute calendar { list { + } }?, attribute level { "a" | "m" | "j" | "s" | "u" }?, macro.paraContent }

<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]
Module	header
Attributes	- att.global - @xml:id - @n - @xml:lang - @xml:base - @xml:space - att.global.rendition - @rend - @style - @rendition - att.global.responsibility - @cert - @resp - att.global.source - @source
Contained by	header: fileDesc
May contain	core: title
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 { att.global.attributes, ( title+, model.respLike* ) }

Model classes

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]
Module	tei
Used by	model.inter
Members	model.quoteLike

model.common

model.common groups common chunk- and inter-level elements. [1.3. The TEI Class System]
Module	tei
Used by	body
Members	model.divPart [model.lLike model.pLike [p] ] model.inter [model.attributable [model.quoteLike] model.biblLike model.egLike model.labelLike model.listLike model.oddDecl model.stageLike]
Note	This class defines the set of chunk- and inter-level elements; it is used in many content models, including those for textual divisions.

model.divBottom

model.divBottom groups elements appearing at the end of a text division. [4.2. Elements Common to All Divisions]
Module	tei
Used by	body
Members	model.divBottomPart model.divWrapper

model.divPart

model.divPart groups paragraph-level elements appearing directly within divisions. [1.3. The TEI Class System]
Module	tei
Used by	model.common
Members	model.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.

model.divTop

model.divTop groups elements appearing at the beginning of a text division. [4.2. Elements Common to All Divisions]
Module	tei
Used by	body
Members	model.divTopPart [model.headLike] model.divWrapper

model.divTopPart

model.divTopPart groups elements which can occur only at the beginning of a text division. [4.6. Title Pages]
Module	tei
Used by	model.divTop
Members	model.headLike

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]
Module	tei
Used by	model.highlighted model.limitedPhrase
Members	title

model.global

model.global groups elements which may appear at any point within a TEI text. [1.3. The TEI Class System]
Module	tei
Used by	body model.paraPart text
Members	model.global.edit model.global.meta model.milestoneLike model.noteLike

model.highlighted

model.highlighted groups phrase-level elements which are typographically distinct. [3.3. Highlighting and Quotation]
Module	tei
Used by	model.phrase
Members	model.emphLike [title] model.hiLike

model.inter

model.inter groups elements which can appear either within or between paragraph-like elements. [1.3. The TEI Class System]
Module	tei
Used by	model.common model.paraPart
Members	model.attributable [model.quoteLike] model.biblLike model.egLike model.labelLike model.listLike model.oddDecl model.stageLike

model.limitedPhrase

model.limitedPhrase groups phrase-level elements excluding those elements primarily intended for transcription of existing sources. [1.3. The TEI Class System]
Module	tei
Used by	
Members	model.emphLike [title] model.hiLike model.pPart.data [model.addressLike model.dateLike model.measureLike model.nameLike [model.nameLike.agent model.offsetLike model.placeStateLike [model.placeNamePart] ] ] model.pPart.editorial model.pPart.msdesc model.phrase.xml model.ptrLike

model.nameLike

model.nameLike groups elements which name or refer to a person, place, or organization.
Module	tei
Used by	model.pPart.data
Members	model.nameLike.agent model.offsetLike model.placeStateLike [model.placeNamePart]
Note	A superset of the naming elements that may appear in datelines, addresses, statements of responsibility, etc.

model.pLike

model.pLike groups paragraph-like elements.
Module	tei
Used by	model.divPart publicationStmt sourceDesc
Members	p

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]
Module	tei
Used by	model.limitedPhrase model.phrase
Members	model.addressLike model.dateLike model.measureLike model.nameLike [model.nameLike.agent model.offsetLike model.placeStateLike [model.placeNamePart] ]

model.pPart.edit

model.pPart.edit groups phrase-level elements for simple editorial correction and transcription. [3.5. Simple Editorial Changes]
Module	tei
Used by	model.phrase
Members	model.pPart.editorial model.pPart.transcriptional

model.paraPart

model.paraPart groups elements that may appear in paragraphs and similar elements [3.1. Paragraphs]
Module	tei
Used by	macro.paraContent
Members	model.gLike model.global [model.global.edit model.global.meta model.milestoneLike model.noteLike] model.inter [model.attributable [model.quoteLike] model.biblLike model.egLike model.labelLike model.listLike model.oddDecl model.stageLike] model.lLike model.phrase [model.graphicLike model.highlighted [model.emphLike [title] model.hiLike] model.lPart model.pPart.data [model.addressLike model.dateLike model.measureLike model.nameLike [model.nameLike.agent model.offsetLike model.placeStateLike [model.placeNamePart] ] ] model.pPart.edit [model.pPart.editorial model.pPart.transcriptional] model.pPart.msdesc model.phrase.xml model.ptrLike model.segLike model.specDescLike]

model.phrase

model.phrase groups elements which can occur at the level of individual words or phrases. [1.3. The TEI Class System]
Module	tei
Used by	model.paraPart
Members	model.graphicLike model.highlighted [model.emphLike [title] model.hiLike] model.lPart model.pPart.data [model.addressLike model.dateLike model.measureLike model.nameLike [model.nameLike.agent model.offsetLike model.placeStateLike [model.placeNamePart] ] ] model.pPart.edit [model.pPart.editorial model.pPart.transcriptional] model.pPart.msdesc model.phrase.xml model.ptrLike model.segLike model.specDescLike
Note	This class of elements can occur within paragraphs, list items, lines of verse, etc.

model.placeStateLike

model.placeStateLike groups elements which describe changing states of a place.
Module	tei
Used by	model.nameLike
Members	model.placeNamePart

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.]
Module	tei
Used by	publicationStmt
Members	model.ptrLike
Note	A detail child element may not occur unless an agency child element precedes it. See also model.publicationStmtPart.agency.

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]
Module	tei
Used by	TEI
Members	text

Attribute classes

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. [13.1.1. Linking Names and Their Referents]
Module	tei
Members	title
Attributes	key provides an externally-defined means of identifying the entity (or entities) being named, using a coded value of some kind. Status Optional Datatype teidata.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. Status Optional Datatype 1–∞ 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.
Example	In 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.

att.datable

att.datable provides attributes for normalization of elements that contain dates, times, or datable events. [3.6.4. Dates and Times 13.4. Dates]
Module	tei
Members	title
Attributes	- att.datable.w3c - @when - @notBefore - @notAfter - @from - @to period supplies 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. Status Optional Datatype 1–∞ 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.

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 13.4. Dates]
Module	tei
Members	att.datable [title]
Attributes	when supplies the value of the date or time in a standard form, e.g. yyyy-mm-dd. Status Optional Datatype teidata.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> notBefore specifies the earliest possible date for the event in standard form, e.g. yyyy-mm-dd. Status Optional Datatype teidata.temporal.w3c notAfter specifies the latest possible date for the event in standard form, e.g. yyyy-mm-dd. Status Optional Datatype teidata.temporal.w3c from indicates the starting point of the period in standard form, e.g. yyyy-mm-dd. Status Optional Datatype teidata.temporal.w3c to indicates the ending point of the period in standard form, e.g. yyyy-mm-dd. Status Optional Datatype teidata.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.

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. [15.3. Associating Contextual Information with a Text]
Module	tei
Members	sourceDesc
Attributes	default indicates whether or not this element is selected by default when its parent is selected. Status Optional Datatype teidata.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 15.3. Associating Contextual Information with a Text. Only one element of a particular type may have a default attribute with a value of true.

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. [15.3. Associating Contextual Information with a Text]
Module	tei
Members	body p 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. Status Optional Datatype 1–∞ 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 15.3. Associating Contextual Information with a Text.

att.fragmentable

att.fragmentable provides attributes for representing fragmentation of a structural element, typically as a consequence of some overlapping hierarchy.
Module	tei
Members	p
Attributes	part specifies 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. Status Optional Datatype teidata.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.

att.global

att.global provides attributes common to all elements in the TEI encoding scheme. [1.3.1.1. Global Attributes]
Module	tei
Members	TEI body fileDesc p publicationStmt sourceDesc teiHeader text title titleStmt
Attributes	- att.global.rendition - @rend - @style - @rendition - att.global.responsibility - @cert - @resp - att.global.source - @source xml:id (identifier) provides a unique identifier for the element bearing the attribute. Status Optional Datatype ID 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. Status Optional Datatype teidata.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. Status Optional Datatype teidata.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 . For a good general overview of the construction of language tags, see , and for a practical step-by-step guide, see . 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 Internet Engineering Task Force definitions. xml:base provides a base URI reference with which applications can resolve relative URI references into absolute URI references. Status Optional Datatype teidata.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:space signals an intention about how white space should be managed by applications. Status Optional Datatype teidata.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.

att.global.rendition

att.global.rendition provides rendering attributes common to all elements in the TEI encoding scheme. [1.3.1.1.3. Rendition Indicators]
Module	tei
Members	att.global [TEI body fileDesc p publicationStmt sourceDesc teiHeader text title titleStmt]
Attributes	rend (rendition) indicates how the element in question was rendered or presented in the source text. Status Optional Datatype 1–∞ occurrences of teidata.word separated by whitespace <head rend="align(center) case(allcaps)"><lb/>To The <lb/>Duchesse <lb/>of <lb/>Newcastle, <lb/>On Her <lb/><hi rend="case(mixed)">New Blazing-World</hi>. </head> Note These Guidelines make no binding recommendations for the values of the rend attribute; the characteristics of visual presentation vary too much from text to text and the decision to record or ignore individual characteristics varies too much from project to project. Some potentially useful conventions are noted from time to time at appropriate points in the Guidelines. The values of the rend attribute are a set of sequence-indeterminate individual tokens separated by whitespace. style contains an expression in some formal style definition language which defines the rendering or presentation used for this element in the source text Status Optional Datatype teidata.text <head style="text-align: center; font-variant: small-caps"><lb/>To The <lb/>Duchesse <lb/>of <lb/>Newcastle, <lb/>On Her <lb/><hi style="font-variant: normal">New Blazing-World</hi>. </head> Note Unlike the attribute values of rend, which uses whitespace as a separator, the style attribute may contain whitespace. This attribute is intended for recording inline stylistic information concerning the source, not any particular output. The formal language in which values for this attribute are expressed may be specified using the <styleDefDecl> element in the TEI header. If style and rendition are both present on an element, then style overrides or complements rendition. style should not be used in conjunction with rend, because the latter does not employ a formal style definition language. rendition points to a description of the rendering or presentation used for this element in the source text. Status Optional Datatype 1–∞ occurrences of teidata.pointer separated by whitespace <head rendition="#ac #sc"><lb/>To The <lb/>Duchesse <lb/>of <lb/>Newcastle, <lb/>On Her <lb/><hi rendition="#normal">New Blazing-World</hi>. </head><rendition xml:id="sc" scheme="css">font-variant: small-caps</rendition><rendition xml:id="normal" scheme="css">font-variant: normal</rendition><rendition xml:id="ac" scheme="css">text-align: center</rendition> Note The rendition attribute is used in a very similar way to the class attribute defined for XHTML but with the important distinction that its function is to describe the appearance of the source text, not necessarily to determine how that text should be presented on screen or paper. If rendition is used to refer to a style definition in a formal language like CSS, it is recommended that it not be used in conjunction with rend. Where both rendition and rend are supplied, the latter is understood to override or complement the former. Each URI provided should indicate a <rendition> element defining the intended rendition in terms of some appropriate style language, as indicated by the scheme attribute.

att.global.responsibility

att.global.responsibility provides attributes indicating the agent responsible for some aspect of the text, the markup or something asserted by the markup, and the degree of certainty associated with it. [1.3.1.1.4. Sources, certainty, and responsibility 3.5. Simple Editorial Changes 11.3.2.2. Hand, Responsibility, and Certainty Attributes 17.3. Spans and Interpretations 13.1.1. Linking Names and Their Referents]
Module	tei
Members	att.global [TEI body fileDesc p publicationStmt sourceDesc teiHeader text title titleStmt]
Attributes	cert (certainty) signifies the degree of certainty associated with the intervention or interpretation. Status Optional Datatype teidata.probCert resp (responsible party) indicates the agency responsible for the intervention or interpretation, for example an editor or transcriber. Status Optional Datatype 1–∞ occurrences of teidata.pointer separated by whitespace Note To reduce the ambiguity of a resp pointing directly to a person or organization, we recommend that resp be used to point not to an agent (<person> or <org>) but to a <respStmt>, <author>, <editor> or similar element which clarifies the exact role played by the agent. Pointing to multiple <respStmt>s allows the encoder to specify clearly each of the roles played in part of a TEI file (creating, transcribing, encoding, editing, proofing etc.).
Example	Blessed are the <choice><sic>cheesemakers</sic><corr resp="#editor" cert="high">peacemakers</corr></choice>: for they shall be called the children of God.
Example	<lg><l>Punkes, Panders, baſe extortionizing sla<choice><sic>n</sic><corr resp="#JENS1_transcriber">u</corr></choice>es,</l></lg><respStmt xml:id="JENS1_transcriber"><resp when="2014">Transcriber</resp><name>Janelle Jenstad</name></respStmt>

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]
Module	tei
Members	att.global [TEI body fileDesc p publicationStmt sourceDesc teiHeader text title titleStmt]
Attributes	source specifies the source from which some aspect of this element is drawn. Status Optional Datatype 1–∞ 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"/>Create a schema using components taken from the file mycompiledODD.xml.

att.typed

att.typed provides attributes that can be used to classify or subclassify elements in any way. [1.3.1. Attribute Classes 17.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 13.3.2.3. Personal Relationships 11.3.1.1. Core Elements for Transcriptional Work 16.1.1. Pointers and Links 16.3. Blocks, Segments, and Anchors 12.2. Linking the Apparatus to the Text 22.5.1.2. Defining Content Models: RELAX NG 8.3. Elements Unique to Spoken Texts 23.3.1.3. Modification of Attribute and Attribute Value Lists]
Module	tei
Members	TEI text title
Attributes	type characterizes the element in some sense, using any convenient classification scheme or typology. Status Optional Datatype teidata.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 Status Optional Datatype teidata.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 23.3.1.3. Modification of Attribute and Attribute Value Lists .

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]
Module	tei
Members	p text
Attributes	hand points to a <handNote> element describing the hand considered responsible for the content of the element concerned. Status Optional Datatype teidata.pointer

Macros

macro.paraContent

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

Datatypes

teidata.certainty

teidata.certainty defines the range of attribute values expressing a degree of certainty.
Module	tei
Used by	teidata.probCert
Content model	<content> <valList type="closed"> <valItem ident="high"/> <valItem ident="medium"/> <valItem ident="low"/> <valItem ident="unknown"/> </valList> </content>
Declaration	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.

teidata.count

teidata.count defines the range of attribute values used for a non-negative integer value used as a count.
Module	tei
Used by	
Content model	<content> <dataRef name="nonNegativeInteger"/> </content>
Declaration	teidata.count = xsd:nonNegativeInteger
Note	Any positive integer value or zero is permitted

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
Module	tei
Used by	
Content model	<content> <dataRef name="token" restriction="[0-9.,DHMPRSTWYZ/:+\-]+"/> </content>
Declaration	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.

teidata.duration.w3c

teidata.duration.w3c defines the range of attribute values available for representation of a duration in time using W3C datatypes.
Module	tei
Used by	
Content model	<content> <dataRef name="duration"/> </content>
Declaration	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.

teidata.enumerated

teidata.enumerated defines the range of attribute values expressed as a single XML name taken from a list of documented possibilities.
Module	tei
Used by	Element: - title/@type - title/@level
Content model	<content> <dataRef key="teidata.word"/> </content>
Declaration	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.

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]
Module	tei
Used by	
Content model	<content> <alternate> <dataRef name="language"/> <valList> <valItem ident=""/> </valList> </alternate> </content>
Declaration	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 . 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 . 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 . The latter consist of 3 digits; the list of codes can be found at . 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. These exist to allow for future extension to BCP 47, but as of this writing no such extensions are in use. 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.

teidata.name

teidata.name defines the range of attribute values expressed as an XML Name.
Module	tei
Used by	
Content model	<content> <dataRef name="Name"/> </content>
Declaration	teidata.name = xsd:Name
Note	Attributes using this datatype must contain a single word which follows the rules defining a legal XML name (see ): for example they cannot include whitespace or begin with digits.

teidata.numeric

teidata.numeric defines the range of attribute values used for numeric values.
Module	tei
Used by	
Content model	<content> <alternate> <dataRef name="double"/> <dataRef name="token" restriction="(\-?[\d]+/\-?[\d]+)"/> <dataRef name="decimal"/> </alternate> </content>
Declaration	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.

teidata.outputMeasurement

teidata.outputMeasurement defines a range of values for use in specifying the size of an object that is intended for display.
Module	tei
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	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.

teidata.pattern

teidata.pattern defines attribute values which are expressed as a regular expression.
Module	tei
Used by	
Content model	<content> <dataRef name="token"/> </content>
Declaration	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.

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.
Module	tei
Used by	Element: - title/@calendar
Content model	<content> <dataRef restriction="\S+" name="anyURI"/> </content>
Declaration	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/

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.
Module	tei
Used by	
Content model	<content> <alternate> <dataRef key="teidata.probability"/> <dataRef key="teidata.certainty"/> </alternate> </content>
Declaration	teidata.probCert = teidata.probability | teidata.certainty

teidata.probability

teidata.probability defines the range of attribute values expressing a probability.
Module	tei
Used by	teidata.probCert
Content model	<content> <dataRef name="double"/> </content>
Declaration	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.

teidata.replacement

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

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.
Module	tei
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	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.

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.
Module	tei
Used by	
Content model	<content> <dataRef name="string"/> </content>
Declaration	teidata.text = string
Note	Attributes using this datatype must contain a single token in which whitespace and other punctuation characters are permitted.

teidata.truthValue

teidata.truthValue defines the range of attribute values used to express a truth value.
Module	tei
Used by	
Content model	<content> <dataRef name="boolean"/> </content>
Declaration	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.

teidata.version

teidata.version defines the range of attribute values which may be used to specify a TEI or Unicode version number.
Module	tei
Used by	Element: - TEI/@version
Content model	<content> <dataRef name="token" restriction="[\d]+(\.[\d]+){0,2}"/> </content>
Declaration	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 (). 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.

teidata.versionNumber

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

teidata.word

teidata.word defines the range of attribute values expressed as a single word or token.
Module	tei
Used by	teidata.enumerated
Content model	<content> <dataRef name="token" restriction="[^\p{C}\p{Z}]+"/> </content>
Declaration	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.

teidata.xTruthValue

teidata.xTruthValue (extended truth value) defines the range of attribute values used to express a truth value which may be unknown.
Module	tei
Used by	
Content model	<content> <alternate> <dataRef name="boolean"/> <valList> <valItem ident="unknown"/> <valItem ident="inapplicable"/> </valList> </alternate> </content>
Declaration	teidata.xTruthValue = xsd:boolean | ( "unknown" | "inapplicable" )
Note	In cases where where uncertainty is inappropriate, use the datatype teidata.TruthValue.

teidata.xpath

teidata.xpath defines attribute values which contain an XPath expression.
Module	tei
Used by	
Content model	<content> <textNode/> </content>
Declaration	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.