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.
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
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.
| <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] | |||||||||
| Module | textstructure | ||||||||
| Attributes |
| ||||||||
| Contained by | textstructure: TEI | ||||||||
| May contain | |||||||||
| 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+ ) )
}⚓ | ||||||||
| <abbr> (abbreviation) contains an abbreviation of any sort. [3.6.5. Abbreviations and Their Expansions] | |||||||||||||
| Module | core | ||||||||||||
| Attributes |
| ||||||||||||
| 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
}⚓ | ||||||||||||
| <abstract> contains a summary or formal abstract prefixed to an existing source document by the encoder. [2.4.4. Abstracts] | |
| Module | header |
| Attributes |
|
| Contained by | — |
| May contain | |
| 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 )+
}⚓ |
| <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] | |
| Module | core |
| 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 }⚓ |
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | core: abbr addrLine author bibl biblScope citedRange date desc editor email emph expan foreign gloss head headItem headLabel hi item label meeting mentioned name note num p pubPlace publisher q quote rb ref resp rs rt said soCalled street term textLang time title unit |
| 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. |
| Example | Using 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> |
| Example | When 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* )+ ) )
}⚓ |
| <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] | |
| Module | tagdocs |
| Contained by | tagdocs: attDef elementSpec valItem |
| 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 }⚓ |
| <alternate> indicates that the constructs referenced by its children form an alternation. [23.5.1. Defining Content Models] | |
| Module | tagdocs |
| 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 )+
}⚓ |
| <anyElement> indicates the presence of any elements in a content model. [23. Documentation Elements] | |||||||||||||||
| Module | tagdocs | ||||||||||||||
| Attributes |
| ||||||||||||||
| Member of | |||||||||||||||
| Contained by | |||||||||||||||
| May contain | Empty 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
}⚓ | ||||||||||||||
| <att> (attribute) contains the name of an attribute appearing within running text. [23. Documentation Elements] | |||||||||
| Module | tagdocs | ||||||||
| Attributes |
| ||||||||
| 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
}⚓ | ||||||||
| <attDef> (attribute definition) contains the definition of a single attribute. [23.5.3. Attribute List Specification] | |||||||||
| Module | tagdocs | ||||||||
| Attributes |
| ||||||||
| 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*
)
}⚓ | ||||||||
| <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] | |||||||||
| Module | tagdocs | ||||||||
| Attributes |
| ||||||||
| Contained by | tagdocs: attList classSpec elementSpec | ||||||||
| 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 )+
}⚓ | ||||||||
| <attRef> (attribute pointer) points to the definition of an attribute or group of attributes. [23.2. Modules and Schemas] | |||||||||||||
| Module | tagdocs | ||||||||||||
| Attributes |
| ||||||||||||
| Contained by | tagdocs: attList | ||||||||||||
| May contain | Empty 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
}⚓ | ||||||||||||
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | core: bibl header: editionStmt titleStmt |
| 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 | |
| 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
}⚓ |
| <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.] | |
| Module | header |
| Attributes |
|
| Member of | |
| Contained by | header: publicationStmt |
| May contain | |
| Example | |
| 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
}⚓ |
| <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.] | |||||||||
| Module | header | ||||||||
| Attributes |
| ||||||||
| Member of | |||||||||
| Contained by | core: bibl header: publicationStmt | ||||||||
| May contain | |||||||||
| 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 )+
}⚓ | ||||||||
| <back> (back matter) contains any appendixes, etc. following the main part of a text. [4.7. Back Matter 4. Default Text Structure] | |
| Module | textstructure |
| Attributes |
|
| Contained by | textstructure: text |
| May contain | |
| 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, &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 )*
)?
)
)
}⚓ |
| <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] | |
| Module | core |
| 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
)*
}⚓ |
| <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] | |
| Module | header |
| 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 )
)
}⚓ |
| <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] | |
| Module | core |
| 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 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
}⚓ |
| <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 |
|
| Contained by | textstructure: text |
| May contain | header: biblFull tagdocs: classSpec constraintSpec dataSpec eg egXML elementSpec macroSpec moduleSpec outputRendition schemaSpec specGrp specGrpRef textstructure: div |
| 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* )* )
)
}⚓ |
| <calendar> (calendar) describes a calendar or dating system used in a dating formula in the text. [2.4.5. Calendar Description] | |
| Module | header |
| 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+
}⚓ |
| <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] | |
| Module | header |
| 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+ }⚓ |
| <cell> (cell) contains one cell of a table. [15.1.1. TEI Tables] | |
| Module | figures |
| Attributes |
|
| Contained by | figures: row |
| May contain | core: abbr address bibl choice cit date desc ellipsis email emph expan foreign gloss graphic hi label list media mentioned name note noteGrp num p ptr q quote ref rs ruby said soCalled term time title unit tagdocs: att classSpec code constraintSpec dataSpec eg egXML elementSpec gi ident listRef macroSpec moduleSpec outputRendition specDesc specGrp specGrpRef specList tag val character data |
| 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
}⚓ |
| <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] | |||||||
| Module | header | ||||||
| Attributes |
| ||||||
| Contained by | header: listChange revisionDesc | ||||||
| May contain | core: abbr address bibl choice cit date desc ellipsis email emph expan foreign gloss graphic hi label list media mentioned name note noteGrp num p ptr q quote ref rs ruby said soCalled term time title unit tagdocs: att classSpec code constraintSpec dataSpec eg egXML elementSpec gi ident listRef macroSpec moduleSpec outputRendition specDesc specGrp specGrpRef specList tag val character data | ||||||
| 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
}⚓ | ||||||
| <choice> (choice) groups a number of alternative encodings for the same point in a text. [3.5. Simple Editorial Changes] | |
| Module | core |
| 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. |
| Example | An 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 )*
}⚓ |
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | core: abbr addrLine author biblScope cit citedRange desc editor email emph expan foreign gloss head headItem headLabel hi item label meeting mentioned name note num p pubPlace publisher q quote rb ref rs rt said soCalled street term textLang title unit header: change distributor edition extent licence tagdocs: eg |
| 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
)+
}⚓ |
| <citeData> (citation data) specifies how information may be extracted from citation structures. [3.11.4. Declaring Reference Systems 17.2.5.4. Citation Structures] | |||||||
| Module | header | ||||||
| Attributes |
| ||||||
| Contained by | header: citeStructure | ||||||
| May contain | Empty 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
}⚓ | ||||||
| <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] | |||||||||||||||||||||||||||
| Module | header | ||||||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||||||
| Contained by | header: citeStructure | ||||||||||||||||||||||||||
| May contain | core: desc header: citeData citeStructure | ||||||||||||||||||||||||||
| 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* )
}⚓ | ||||||||||||||||||||||||||
| <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] | |
| Module | core |
| 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 |
| 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
}⚓ |
| <classRef> points to the specification for an attribute or model class which is to be included in a schema. [23.6. Class Specifications] | |||||||||||||||||||||||||||||||||
| Module | tagdocs | ||||||||||||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||||||||||||
| Member of | |||||||||||||||||||||||||||||||||
| Contained by | tagdocs: alternate content schemaSpec sequence specGrp | ||||||||||||||||||||||||||||||||
| May contain | Empty 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 | ||||||||||||||||||||||||||||||||
| 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
}⚓ | ||||||||||||||||||||||||||||||||
| <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] | |||||||||||||||||||||||||||
| Module | tagdocs | ||||||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||||||
| 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*
)
}⚓ | ||||||||||||||||||||||||||
| <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] | |||||||||
| Module | tagdocs | ||||||||
| Attributes |
| ||||||||
| Contained by | tagdocs: classSpec elementSpec | ||||||||
| 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*
}⚓ | ||||||||
| <code> contains literal code from some formal language such as a programming language. [23.1.1. Phrase Level Terms] | |||||||
| Module | tagdocs | ||||||
| Attributes |
| ||||||
| Member of | |||||||
| Contained by | |||||||
| May contain | Character 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 }⚓ | ||||||
| <constraint> (constraint rules) the formal rules of a constraint [23.5. Element Specifications] | |
| Module | tagdocs |
| Attributes |
|
| Contained by | tagdocs: constraintSpec |
| May contain | Empty 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 )+
}⚓ |
| <constraintDecl> (constraint declaration) contains declarations pertaining to formal constraints expressed elsewhere in <constraintSpec> elements [23.5.2. Additional Constraints] | |||||||||||||||||||||
| Module | tagdocs | ||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||
| Member of | |||||||||||||||||||||
| Contained by | header: encodingDesc tagdocs: schemaSpec | ||||||||||||||||||||
| May contain | ANY | ||||||||||||||||||||
| 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
)
}⚓ | ||||||||||||||||||||
| <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] | |||||||||||||||||||||
| Module | tagdocs | ||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||
| Member of | |||||||||||||||||||||
| Contained by | |||||||||||||||||||||
| May contain | 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. | ||||||||||||||||||||
| Example | This 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> | ||||||||||||||||||||
| Example | This 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> | ||||||||||||||||||||
| Schematron | Relationship 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> | ||||||||||||||||||||
| Schematron | Relationship 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? )
}⚓ | ||||||||||||||||||||
| <content> (content model) contains a declaration of the intended content model for the element (or other construct) being specified. [23.5. Element Specifications] | |||||||||
| Module | tagdocs | ||||||||
| Attributes |
| ||||||||
| Contained by | tagdocs: dataSpec elementSpec macroSpec moduleRef | ||||||||
| May contain | ANY | ||||||||
| 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>. | ||||||||
| Example | This sample <content> element indicates that the element being specified has no content: <content>
<empty/>
</content> | ||||||||
| Example | This <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> | ||||||||
| Example | This 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 )
}⚓ | ||||||||
| <conversion> defines how to calculate one unit of measure in terms of another. [2.3.9. The Unit Declaration] | |||||||||||||
| Module | header | ||||||||||||
| Attributes |
| ||||||||||||
| Contained by | header: unitDef | ||||||||||||
| May contain | Empty 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
}⚓ | ||||||||||||
| <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] | |||||||||||
| Module | header | ||||||||||
| Attributes |
| ||||||||||
| 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+ )
}⚓ | ||||||||||
| <correspContext> (correspondence context) provides references to preceding or following correspondence related to this piece of correspondence. [2.4.6. Correspondence Description] | |
| Module | header |
| Attributes |
|
| Member of | |
| Contained by | header: correspDesc |
| May contain | |
| 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+
}⚓ |
| <correspDesc> (correspondence description) contains a description of the actions related to one act of correspondence. [2.4.6. Correspondence Description] | |
| Module | header |
| Attributes |
|
| Contained by | — |
| May contain | header: correspAction correspContext |
| 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+ )
}⚓ |
| <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] | |||||||||||||||
| Module | tagdocs | ||||||||||||||
| Attributes |
| ||||||||||||||
| Contained by | tagdocs: dataRef | ||||||||||||||
| May contain | Empty 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
}⚓ | ||||||||||||||
| <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] | |||||||||||||||||||||||||||
| Module | tagdocs | ||||||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||||||
| 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*
}⚓ | ||||||||||||||||||||||||||
| <dataSpec> (datatype specification) documents a datatype. [23.3. Specification Elements 23.7. Macro Specifications] | |||||||||
| Module | tagdocs | ||||||||
| Attributes |
| ||||||||
| 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*
)
}⚓ | ||||||||
| <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] | |||||||||||||||||||||
| Module | tagdocs | ||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||
| Contained by | tagdocs: attDef | ||||||||||||||||||||
| May contain | ANY | ||||||||||||||||||||
| Note | In the TEI scheme, most datatypes are expressed using pre-defined TEI macros, which map a name in the form | ||||||||||||||||||||
| Example | <datatype>
<dataRef name="token"/>
</datatype> | ||||||||||||||||||||
| Example | <datatype>
<dataRef key="teidata.enumerated"/>
</datatype> | ||||||||||||||||||||
| Example | The 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 )
}⚓ | ||||||||||||||||||||
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | core: abbr addrLine author bibl biblScope citedRange date desc editor email emph expan foreign gloss head headItem headLabel hi imprint item label meeting mentioned name note num p pubPlace publisher q quote rb ref resp rs rt said soCalled street term textLang time title unit |
| 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 )*
}⚓ |
| <defaultVal> (default value) specifies the default declared value for an attribute. [23.5.3. Attribute List Specification] | |
| Module | tagdocs |
| Attributes |
|
| Contained by | tagdocs: attDef |
| May contain | Character 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
}⚓ |
| <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] | |||||||||||||
| Module | core | ||||||||||||
| Attributes |
| ||||||||||||
| Member of | |||||||||||||
| Contained by | |||||||||||||
| May contain | core: abbr address bibl choice cit date desc email emph expan foreign gloss hi label list mentioned name num ptr q quote ref rs said soCalled term time title unit figures: table tagdocs: att classSpec code constraintSpec dataSpec eg egXML elementSpec gi ident listRef macroSpec moduleSpec outputRendition specGrp specGrpRef tag val character data | ||||||||||||
| 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. | ||||||||||||
| Example | Example 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> | ||||||||||||
| Example | Example of a <desc> element in a non-documentation element. <place xml:id="KERG2">
<placeName>Kerguelen Islands</placeName>
<!-- ... -->
<terrain>
<desc>antarctic tundra</desc>
</terrain>
<!-- ... -->
</place> | ||||||||||||
| Schematron | A <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
}⚓ | ||||||||||||
| <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.] | |
| Module | header |
| Attributes |
|
| Member of | |
| Contained by | header: publicationStmt |
| 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
}⚓ |
| <div> (text division) contains a subdivision of the front, body, or back of a text. [4.1. Divisions of the Body] | |||||||||
| Module | textstructure | ||||||||
| Attributes |
| ||||||||
| Member of | |||||||||
| Contained by | |||||||||
| May contain | header: biblFull tagdocs: classSpec constraintSpec dataSpec eg egXML elementSpec macroSpec moduleSpec outputRendition schemaSpec specGrp specGrpRef textstructure: div | ||||||||
| 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* )* )
)?
)
)
}⚓ | ||||||||
| <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] | |||||||||
| Module | core | ||||||||
| Attributes |
| ||||||||
| Member of | |||||||||
| Contained by | |||||||||
| 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. | ||||||||
| Example | One 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> | ||||||||
| Example | Another 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*
}⚓ | ||||||||
| <edition> (edition) describes the particularities of one edition of a text. [2.2.2. The Edition Statement] | |
| Module | header |
| 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 }⚓ |
| <editionStmt> (edition statement) groups information relating to one edition of a text. [2.2.2. The Edition Statement 2.2. The File Description] | |
| Module | header |
| 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* ) )
}⚓ |
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | core: bibl header: editionStmt seriesStmt titleStmt |
| 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
}⚓ |
| <eg> (example) contains any kind of illustrative example. [23.5. Element Specifications 23.5.3. Attribute List Specification] | |
| Module | tagdocs |
| 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 }⚓ |
| <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] | |||||||||
| Namespace | http://www.tei-c.org/ns/Examples | ||||||||
| Module | tagdocs | ||||||||
| Attributes |
| ||||||||
| Member of | |||||||||
| Contained by | |||||||||
| May contain | ANY | ||||||||
| 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 )*
}⚓ | ||||||||
| <elementRef> points to the specification for some element which is to be included in a schema. [23.2. Modules and Schemas] | |||||||||
| Module | tagdocs | ||||||||
| Attributes |
| ||||||||
| Member of | |||||||||
| Contained by | tagdocs: alternate content schemaSpec sequence specGrp | ||||||||
| May contain | Empty 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
}⚓ | ||||||||
| <elementSpec> (element specification) documents the structure, content, and purpose of a single element type. [23.5. Element Specifications 23. Documentation Elements] | |||||||||||||||
| Module | tagdocs | ||||||||||||||
| Attributes |
| ||||||||||||||
| 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*
)
}⚓ | ||||||||||||||
| <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] | |
| Module | core |
| 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? )
}⚓ |
| <email> (electronic mail address) contains an email address identifying a location to which email messages can be delivered. [3.6.2. Addresses] | |
| Module | core |
| 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
}⚓ |
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | |
| May contain | core: abbr address bibl choice cit date desc ellipsis email emph expan foreign gloss graphic hi label list media mentioned name note noteGrp num ptr q quote ref rs ruby said soCalled term time title unit tagdocs: att classSpec code constraintSpec dataSpec eg egXML elementSpec gi ident listRef macroSpec moduleSpec outputRendition specDesc specGrp specGrpRef specList tag val character data |
| 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
}⚓ |
| <empty> indicates the presence of an empty node within a content model. [23. Documentation Elements] | |
| Module | tagdocs |
| Attributes |
|
| Member of | |
| Contained by | |
| May contain | Empty 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 }⚓ |
| <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] | |
| Module | header |
| Attributes |
|
| Member of | |
| Contained by | header: teiHeader |
| May contain | core: p tagdocs: constraintDecl schemaSpec |
| 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 )+
}⚓ |
| <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] | |||||||||||||||||||
| Module | tagdocs | ||||||||||||||||||
| Attributes |
| ||||||||||||||||||
| Member of | |||||||||||||||||||
| Contained by | |||||||||||||||||||
| May contain | Empty element | ||||||||||||||||||
| Note | The mimeType attribute should be used to supply the MIME media type of the filter script specified by the filter attribute. | ||||||||||||||||||
| Example | The 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
}⚓ | ||||||||||||||||||
| <exemplum> (exemplum) groups an example demonstrating the use of an element along with optional paragraphs of commentary. [23.5. Element Specifications] | |
| Module | tagdocs |
| Attributes |
|
| Contained by | tagdocs: attDef classSpec dataSpec elementSpec macroSpec moduleSpec |
| May contain | |
| 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* )
}⚓ |
| <expan> (expansion) contains the expansion of an abbreviation. [3.6.5. Abbreviations and Their Expansions] | |
| Module | core |
| 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
}⚓ |
| <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] | |
| Module | header |
| Attributes |
|
| Member of | |
| Contained by | |
| May contain | |
| Example | <extent>3200 sentences</extent>
<extent>between 10 and 20 Mb</extent>
<extent>ten 3.5 inch high density diskettes</extent> |
| Example | The <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 }⚓ |
| <fallback> | |
| Namespace | http://www.example.org/cannot/really/use/XInclude |
| Module | derived-module-tei_customization |
| Contained by | derived-module-tei_customization: include |
| May contain | ANY |
| Content model |
<content>
<alternate minOccurs="1"
maxOccurs="unbounded">
<textNode/>
<anyElement/>
</alternate>
</content>
⚓ |
| Schema Declaration |
element fallback { ( text | anyElement_fallback_6 )+ }⚓ |
| <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] | |
| Module | figures |
| Attributes |
|
| Contained by | figures: figure |
| May contain | core: abbr address bibl choice cit date desc email emph expan foreign gloss hi label list mentioned name num ptr q quote ref rs said soCalled term time title unit figures: table tagdocs: att classSpec code constraintSpec dataSpec eg egXML elementSpec gi ident listRef macroSpec moduleSpec outputRendition specGrp specGrpRef tag val character data |
| 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 }⚓ |
| <figure> (figure) groups elements representing or containing graphic information such as an illustration, formula, or figure. [15.4. Specific Elements for Graphic Images] | |
| Module | figures |
| 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
)*
}⚓ |
| <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 |
|
| 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+
)
}⚓ |
| <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] | |
| Module | core |
| 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
}⚓ |
| <formula> (formula) contains a mathematical or other formula. [15.2. Formulæ and Mathematical Expressions] | |
| Module | figures |
| Attributes |
|
| Member of | |
| Contained by | core: abbr addrLine author biblScope cit citedRange date editor email emph expan foreign gloss head headItem headLabel hi item label mentioned name note num p pubPlace publisher q quote rb ref rs rt said soCalled street term textLang time title unit header: change distributor edition extent licence tagdocs: eg |
| May contain | |
| 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 )*
}⚓ |
| <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] | |
| Module | textstructure |
| Attributes |
|
| Contained by | textstructure: text |
| May contain | |
| 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 )*
)?
)
)?
)
)
}⚓ |
| <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] | |
| Module | header |
| Attributes |
|
| Member of | |
| Contained by | core: bibl header: editionStmt titleStmt |
| 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
}⚓ |
| <gi> (element name) contains the name (generic identifier) of an element. [23. Documentation Elements 23.5. Element Specifications] | |||||||||
| Module | tagdocs | ||||||||
| Attributes |
| ||||||||
| 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
}⚓ | ||||||||
| <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] | |
| Module | core |
| 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
}⚓ |
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | core: abbr addrLine author biblScope cit citedRange date editor email emph expan foreign gloss head headItem headLabel hi item label mentioned name note num p pubPlace publisher q quote rb ref rs rt said soCalled street term textLang time title unit header: change distributor edition extent licence tagdocs: eg |
| 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*
}⚓ |
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | |
| May contain | core: abbr address bibl choice cit date desc ellipsis email emph expan foreign gloss graphic hi label list media mentioned name note noteGrp num ptr q quote ref rs ruby said soCalled term time title unit tagdocs: att classSpec code constraintSpec dataSpec eg egXML elementSpec gi ident listRef macroSpec moduleSpec outputRendition specDesc specGrp specGrpRef specList tag val character data |
| 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. |
| Example | The 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> |
| Example | When 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> |
| Example | The <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
)*
}⚓ |
| <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] | |
| Module | core |
| 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 }⚓ |
| <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] | |
| Module | core |
| 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 }⚓ |
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | |
| May contain | core: abbr address bibl choice cit date desc ellipsis email emph expan foreign gloss graphic hi label list media mentioned name note noteGrp num ptr q quote ref rs ruby said soCalled term time title unit tagdocs: att classSpec code constraintSpec dataSpec eg egXML elementSpec gi ident listRef macroSpec moduleSpec outputRendition specDesc specGrp specGrpRef specList tag val character data |
| 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
}⚓ |
| <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] | |||||||||
| Module | tagdocs | ||||||||
| Attributes |
| ||||||||
| Member of | |||||||||
| Contained by | |||||||||
| May contain | Character 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
}⚓ | ||||||||
| <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] | |||||||||
| Module | header | ||||||||
| Attributes |
| ||||||||
| Member of | |||||||||
| Contained by | core: abbr addrLine address author bibl biblScope citedRange date desc editor email emph expan foreign gloss head headItem headLabel hi item label meeting mentioned name note num p pubPlace publisher q quote rb ref resp rs rt said soCalled street term textLang time title unit header: authority change correspAction distributor edition extent funder idno licence principal publicationStmt seriesStmt sponsor tagdocs: eg moduleSpec valDesc | ||||||||
| 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 )*
}⚓ | ||||||||
| <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] | |
| Module | core |
| 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*
)+
)
)
}⚓ |
| <include> | |||||||||||||||||||||||||||||||||||||
| Namespace | http://www.example.org/cannot/really/use/XInclude | ||||||||||||||||||||||||||||||||||||
| Module | derived-module-tei_customization | ||||||||||||||||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||||||||||||||||
| 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?
}⚓ | ||||||||||||||||||||||||||||||||||||
| <item> (item) contains one component of a list. [3.8. Lists 2.6. The Revision Description] | |
| Module | core |
| Attributes |
|
| Contained by | core: list |
| May contain | core: abbr address bibl choice cit date desc ellipsis email emph expan foreign gloss graphic hi label list media mentioned name note noteGrp num p ptr q quote ref rs ruby said soCalled term time title unit tagdocs: att classSpec code constraintSpec dataSpec eg egXML elementSpec gi ident listRef macroSpec moduleSpec outputRendition specDesc specGrp specGrpRef specList tag val character data |
| 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
}⚓ |
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | |
| May contain | |
| Example | Labels 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> |
| Example | Labels 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> |
| Example | Labels 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. |
| Example | Labels 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/>& n’entrer en mauuais & 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
}⚓ |
| <licence> contains information about a licence or other legal agreement applicable to the text. [2.2.4. Publication, Distribution, Licensing, etc.] | |
| Module | header |
| Attributes |
|
| Member of | |
| Contained by | header: availability |
| May contain | core: abbr address bibl choice cit date desc ellipsis email emph expan foreign gloss graphic hi label list media mentioned name note noteGrp num p ptr q quote ref rs ruby said soCalled term time title unit tagdocs: att classSpec code constraintSpec dataSpec eg egXML elementSpec gi ident listRef macroSpec moduleSpec outputRendition specDesc specGrp specGrpRef specList tag val character data |
| 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
}⚓ |
| <list> (list) contains any sequence of items organized as a list. [3.8. Lists] | |||||||||||||
| Module | core | ||||||||||||
| Attributes |
| ||||||||||||
| 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> | ||||||||||||
| Example | The 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* )* )
)
}⚓ | ||||||||||||
| <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] | |||||||||
| Module | header | ||||||||
| Attributes |
| ||||||||
| Contained by | header: listChange revisionDesc | ||||||||
| May contain | core: desc header: change listChange | ||||||||
| 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 )+ )
}⚓ | ||||||||
| <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] | |
| Module | header |
| Attributes |
|
| Member of | |
| Contained by | header: encodingDesc listPrefixDef |
| May contain | core: desc header: listPrefixDef prefixDef |
| Example | In 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 )+ )
}⚓ |
| <listRef> (list of references) supplies a list of significant references in the current document or elsewhere. | |
| Module | tagdocs |
| Attributes |
|
| Member of | |
| Contained by | core: abbr addrLine author bibl biblScope cit citedRange date desc editor email emph expan foreign gloss head headItem headLabel hi item label meeting mentioned name note num p pubPlace publisher q quote rb ref relatedItem resp rs rt said soCalled street term textLang time title unit |
| May contain | |
| Note | When <listRef> is used in the context of tagdocs, further restrictons apply: |
| 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+ )
}⚓ |
| <macroRef> points to the specification for some pattern which is to be included in a schema. [23.7. Macro Specifications] | |||||||||
| Module | tagdocs | ||||||||
| Attributes |
| ||||||||
| Member of | |||||||||
| Contained by | tagdocs: alternate content schemaSpec sequence specGrp | ||||||||
| May contain | Empty 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
}⚓ | ||||||||
| <macroSpec> (macro specification) documents the function and implementation of a pattern. [23.3. Specification Elements 23.7. Macro Specifications] | |||||||||
| Module | tagdocs | ||||||||
| Attributes |
| ||||||||
| 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*
)
}⚓ | ||||||||
| <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] | |||||||||
| Module | core | ||||||||
| Attributes |
| ||||||||
| Member of | |||||||||
| Contained by | core: abbr addrLine author biblScope cit citedRange date editor email emph expan foreign gloss head headItem headLabel hi item label mentioned name note num p pubPlace publisher q quote rb ref rs rt said soCalled street term textLang time title unit header: change distributor edition extent licence tagdocs: eg | ||||||||
| 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*
}⚓ | ||||||||
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | |
| May contain | core: abbr address bibl choice cit date desc email emph expan foreign gloss hi label list mentioned name num ptr q quote ref rs said soCalled term time title unit figures: table tagdocs: att classSpec code constraintSpec dataSpec eg egXML elementSpec gi ident listRef macroSpec moduleSpec outputRendition specGrp specGrpRef tag val character data |
| 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
}⚓ |
| <memberOf> specifies class membership of the documented element or class. [23.4.3. Classification of Components] | |||||||||||||||||||||||||||||
| Module | tagdocs | ||||||||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||||||||
| Contained by | tagdocs: classes | ||||||||||||||||||||||||||||
| May contain | Character 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
}⚓ | ||||||||||||||||||||||||||||
| <mentioned> marks words or phrases mentioned, not used. [3.3.3. Quotation] | |
| Module | core |
| 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
}⚓ |
| <model> describes the processing intended for a specified element. [23.5.4.1. The TEI processing model] | |||||||||||||||||||||||||||||||||
| Module | tagdocs | ||||||||||||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||||||||||||
| Contained by | tagdocs: modelGrp modelSequence | ||||||||||||||||||||||||||||||||
| May contain | tagdocs: equiv outputRendition param | ||||||||||||||||||||||||||||||||
| 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> | ||||||||||||||||||||||||||||||||
| Schematron | It 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> | ||||||||||||||||||||||||||||||||
| Schematron | It 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*
)
}⚓ | ||||||||||||||||||||||||||||||||
| <modelGrp> (model group) any grouping of <model> or <modelSequence> elements with a common output method. [23.5.4.4. Model Contexts and Outputs] | |||||||||||||||
| Module | tagdocs | ||||||||||||||
| Attributes |
| ||||||||||||||
| Contained by | — | ||||||||||||||
| May contain | tagdocs: equiv model modelSequence outputRendition | ||||||||||||||
| 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 )+
)
}⚓ | ||||||||||||||
| <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] | |||||||||||||||||||||
| Module | tagdocs | ||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||
| Contained by | tagdocs: modelGrp | ||||||||||||||||||||
| May contain | |||||||||||||||||||||
| 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* )
)
}⚓ | ||||||||||||||||||||
| <moduleRef> (module reference) references a module which is to be incorporated into a schema. [23.2. Modules and Schemas] | |||||||||||||||||||||||||||||||||||||||||||
| Module | tagdocs | ||||||||||||||||||||||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||||||||||||||||||||||
| Member of | |||||||||||||||||||||||||||||||||||||||||||
| Contained by | tagdocs: schemaSpec specGrp | ||||||||||||||||||||||||||||||||||||||||||
| 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. | ||||||||||||||||||||||||||||||||||||||||||
| Schematron | This 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?
}⚓ | ||||||||||||||||||||||||||||||||||||||||||
| <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] | |
| Module | tagdocs |
| Attributes |
|
| Member of | |
| Contained by | |
| May contain | |
| 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*
)
}⚓ |
| <name> (name, proper noun) contains a proper noun or noun phrase. [3.6.1. Referring Strings] | |
| Module | core |
| 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
}⚓ |
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | core: abbr addrLine address author bibl biblScope cit citedRange date editor email emph expan foreign gloss head headItem headLabel hi imprint item label list mentioned name note noteGrp num p pubPlace publisher q quote rb ref resp respStmt rs rt said soCalled street term textLang time title unit |
| May contain | core: abbr address bibl choice cit date desc ellipsis email emph expan foreign gloss graphic hi label list media mentioned name note noteGrp num p ptr q quote ref rs ruby said soCalled term time title unit tagdocs: att classSpec code constraintSpec dataSpec eg egXML elementSpec gi ident listRef macroSpec moduleSpec outputRendition specDesc specGrp specGrpRef specList tag val character data |
| Example | In 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. |
| Example | The 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
}⚓ |
| <noteGrp> (note group) contains a group of notes. [3.9.1.1. Encoding Grouped Notes] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | core: abbr addrLine address author bibl biblScope cit citedRange date editor email emph expan foreign gloss head headItem headLabel hi imprint item label list mentioned name note noteGrp num p pubPlace publisher q quote rb ref resp rs rt said soCalled street term textLang time title unit |
| May contain | |
| Example | In 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 )+ )
}⚓ |
| <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] | |
| Module | header |
| Attributes |
|
| Contained by | |
| May contain | core: note noteGrp relatedItem |
| 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 )+
}⚓ |
| <ns> | |||||||||||||||||
| Namespace | http://purl.oclc.org/dsdl/schematron | ||||||||||||||||
| Module | derived-module-tei_customization | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| Contained by | tagdocs: constraintDecl | ||||||||||||||||
| May contain | Empty element | ||||||||||||||||
| Content model |
<content>
<empty/>
</content>
⚓ | ||||||||||||||||
| Schema Declaration |
element ns
{
attribute prefix { "dc" },
attribute uri { "http://purl.org/dc/elements/1.1/" },
empty
}⚓ | ||||||||||||||||
| <ns> | |||||||||||||||||
| Namespace | http://purl.oclc.org/dsdl/schematron | ||||||||||||||||
| Module | derived-module-tei_customization | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| Contained by | tagdocs: constraintDecl | ||||||||||||||||
| May contain | Empty element | ||||||||||||||||
| Content model |
<content>
<empty/>
</content>
⚓ | ||||||||||||||||
| Schema Declaration |
element ns
{
attribute prefix { "mml" },
attribute uri { "http://www.w3.org/1998/Math/MathML" },
empty
}⚓ | ||||||||||||||||
| <ns> | |||||||||||||||||
| Namespace | http://purl.oclc.org/dsdl/schematron | ||||||||||||||||
| Module | derived-module-tei_customization | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| Contained by | tagdocs: constraintDecl | ||||||||||||||||
| May contain | Empty element | ||||||||||||||||
| Content model |
<content>
<empty/>
</content>
⚓ | ||||||||||||||||
| Schema Declaration |
element ns
{
attribute prefix { "mods" },
attribute uri { "http://www.loc.gov/mods/v3" },
empty
}⚓ | ||||||||||||||||
| <ns> | |||||||||||||||||
| Namespace | http://purl.oclc.org/dsdl/schematron | ||||||||||||||||
| Module | derived-module-tei_customization | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| Contained by | tagdocs: constraintDecl | ||||||||||||||||
| May contain | Empty 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
}⚓ | ||||||||||||||||
| <ns> | |||||||||||||||||
| Namespace | http://purl.oclc.org/dsdl/schematron | ||||||||||||||||
| Module | derived-module-tei_customization | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| Contained by | tagdocs: constraintDecl | ||||||||||||||||
| May contain | Empty element | ||||||||||||||||
| Content model |
<content>
<empty/>
</content>
⚓ | ||||||||||||||||
| Schema Declaration |
element ns
{
attribute prefix { "rng" },
attribute uri { "http://relaxng.org/ns/structure/1.0" },
empty
}⚓ | ||||||||||||||||
| <ns> | |||||||||||||||||
| Namespace | http://purl.oclc.org/dsdl/schematron | ||||||||||||||||
| Module | derived-module-tei_customization | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| Contained by | tagdocs: constraintDecl | ||||||||||||||||
| May contain | Empty element | ||||||||||||||||
| Content model |
<content>
<empty/>
</content>
⚓ | ||||||||||||||||
| Schema Declaration |
element ns
{
attribute prefix { "sch" },
attribute uri { "http://purl.oclc.org/dsdl/schematron" },
empty
}⚓ | ||||||||||||||||
| <ns> | |||||||||||||||||
| Namespace | http://purl.oclc.org/dsdl/schematron | ||||||||||||||||
| Module | derived-module-tei_customization | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| Contained by | tagdocs: constraintDecl | ||||||||||||||||
| May contain | Empty element | ||||||||||||||||
| Content model |
<content>
<empty/>
</content>
⚓ | ||||||||||||||||
| Schema Declaration |
element ns
{
attribute prefix { "tei" },
attribute uri { "http://www.tei-c.org/ns/1.0" },
empty
}⚓ | ||||||||||||||||
| <ns> | |||||||||||||||||
| Namespace | http://purl.oclc.org/dsdl/schematron | ||||||||||||||||
| Module | derived-module-tei_customization | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| Contained by | tagdocs: constraintDecl | ||||||||||||||||
| May contain | Empty element | ||||||||||||||||
| Content model |
<content>
<empty/>
</content>
⚓ | ||||||||||||||||
| Schema Declaration |
element ns
{
attribute prefix { "teix" },
attribute uri { "http://www.tei-c.org/ns/Examples" },
empty
}⚓ | ||||||||||||||||
| <ns> | |||||||||||||||||
| Namespace | http://purl.oclc.org/dsdl/schematron | ||||||||||||||||
| Module | derived-module-tei_customization | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| Contained by | tagdocs: constraintDecl | ||||||||||||||||
| May contain | Empty element | ||||||||||||||||
| Content model |
<content>
<empty/>
</content>
⚓ | ||||||||||||||||
| Schema Declaration |
element ns
{
attribute prefix { "xi" },
attribute uri { "http://www.w3.org/2001/XInclude" },
empty
}⚓ | ||||||||||||||||
| <ns> | |||||||||||||||||
| Namespace | http://purl.oclc.org/dsdl/schematron | ||||||||||||||||
| Module | derived-module-tei_customization | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| Contained by | tagdocs: constraintDecl | ||||||||||||||||
| May contain | Empty element | ||||||||||||||||
| Content model |
<content>
<empty/>
</content>
⚓ | ||||||||||||||||
| Schema Declaration |
element ns
{
attribute prefix { "xlink" },
attribute uri { "http://www.w3.org/1999/xlink" },
empty
}⚓ | ||||||||||||||||
| <ns> | |||||||||||||||||
| Namespace | http://purl.oclc.org/dsdl/schematron | ||||||||||||||||
| Module | derived-module-tei_customization | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| Contained by | tagdocs: constraintDecl | ||||||||||||||||
| May contain | Empty element | ||||||||||||||||
| Content model |
<content>
<empty/>
</content>
⚓ | ||||||||||||||||
| Schema Declaration |
element ns
{
attribute prefix { "xs" },
attribute uri { "http://www.w3.org/2001/XMLSchema" },
empty
}⚓ | ||||||||||||||||
| <ns> | |||||||||||||||||
| Namespace | http://purl.oclc.org/dsdl/schematron | ||||||||||||||||
| Module | derived-module-tei_customization | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| Contained by | tagdocs: constraintDecl | ||||||||||||||||
| May contain | Empty element | ||||||||||||||||
| Content model |
<content>
<empty/>
</content>
⚓ | ||||||||||||||||
| Schema Declaration |
element ns
{
attribute prefix { "xsl" },
attribute uri { "http://www.w3.org/1999/XSL/Transform" },
empty
}⚓ | ||||||||||||||||
| <num> (number) contains a number, written in any form. [3.6.3. Numbers and Measures] | |||||||||||||||||||||||
| Module | core | ||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||
| 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
}⚓ | ||||||||||||||||||||||
| <orgName> (organization name) contains an organizational name. [14.2.2. Organizational Names] | |
| Module | namesdates |
| 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
}⚓ |
| <outputRendition> describes the rendering or appearance intended for all occurrences of an element in a specified context for a specified type of output. | |||||||||
| Module | tagdocs | ||||||||
| Attributes |
| ||||||||
| Member of | |||||||||
| Contained by | |||||||||
| May contain | Character 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
}⚓ | ||||||||
| <p> (paragraph) marks paragraphs in prose. [3.1. Paragraphs 7.2.5. Speech Contents] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | |
| May contain | core: abbr address bibl choice cit date desc ellipsis email emph expan foreign gloss graphic hi label list media mentioned name note noteGrp num ptr q quote ref rs ruby said soCalled term time title unit tagdocs: att classSpec code constraintSpec dataSpec eg egXML elementSpec gi ident listRef macroSpec moduleSpec outputRendition specDesc specGrp specGrpRef specList tag val 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: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
}⚓ |
| <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] | |||||||||||||||
| Module | tagdocs | ||||||||||||||
| Attributes |
| ||||||||||||||
| Contained by | tagdocs: model | ||||||||||||||
| May contain | Empty 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. | ||||||||||||||
| Example | In 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
}⚓ | ||||||||||||||
| <paramList> list of parameter specifications. | |
| Module | tagdocs |
| 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* }⚓ |
| <paramSpec> supplies specification for one parameter of a model behaviour. [23.5.4.8. Defining a processing model] | |
| Module | tagdocs |
| Attributes |
|
| Contained by | tagdocs: paramList |
| May contain | |
| 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 )*
}⚓ |
| <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] | |
| Module | namesdates |
| 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
}⚓ |
| <placeName> (place name) contains an absolute or relative place name. [14.2.3. Place Names] | |
| Module | namesdates |
| Attributes |
|
| Member of | |
| Contained by | core: abbr addrLine address author bibl biblScope citedRange date desc editor email emph expan foreign gloss head headItem headLabel hi item label meeting mentioned name note num p pubPlace publisher q quote rb ref resp rs rt said soCalled street term textLang time title unit |
| 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
}⚓ |
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | core: address |
| May contain | Character 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 }⚓ |
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | core: address |
| May contain | Character 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 }⚓ |
| <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] | |||||||||
| Module | header | ||||||||
| Attributes |
| ||||||||
| Contained by | header: listPrefixDef | ||||||||
| 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*
}⚓ | ||||||||
| <principal> (principal researcher) supplies the name of the principal researcher responsible for the creation of an electronic text. [2.2.1. The Title Statement] | |
| Module | header |
| Attributes |
|
| Member of | |
| Contained by | core: bibl header: editionStmt titleStmt |
| 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
}⚓ |
| <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] | |
| Module | header |
| 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+
}⚓ |
| <ptr> (pointer) defines a pointer to another location. [3.7. Simple Links and Cross-References 17.1. Links] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | core: abbr addrLine author bibl biblScope cit citedRange date desc editor email emph expan foreign gloss head headItem headLabel hi item label meeting mentioned name note num p pubPlace publisher q quote rb ref relatedItem resp rs rt said soCalled street term textLang time title unit |
| May contain | Empty 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
}⚓ |
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | header: publicationStmt |
| 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
}⚓ |
| <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 |
|
| 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 & 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+
)
}⚓ |
| <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.] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | header: publicationStmt |
| 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
}⚓ |
| <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] | |||||||||||||||||
| Module | header | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| 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> | ||||||||||||||||
| Example | External placement of punctuation: <p>I would agree with Saint Augustine that “<quote>An unjust law is no law at all</quote>.”</p> | ||||||||||||||||
| Example | Internal 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*
}⚓ | ||||||||||||||||
| <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] | |||||||||
| Module | core | ||||||||
| Attributes |
| ||||||||
| Member of | |||||||||
| Contained by | |||||||||
| May contain | core: abbr address bibl choice cit date desc ellipsis email emph expan foreign gloss graphic hi label list media mentioned name note noteGrp num p ptr q quote ref rs ruby said soCalled term time title unit tagdocs: att classSpec code constraintSpec dataSpec eg egXML elementSpec gi ident listRef macroSpec moduleSpec outputRendition specDesc specGrp specGrpRef specList tag val character data | ||||||||
| 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
}⚓ | ||||||||
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | core: abbr addrLine author bibl biblScope cit citedRange desc editor email emph expan foreign gloss head headItem headLabel hi item label meeting mentioned name note num p pubPlace publisher q quote rb ref rs rt said soCalled street term textLang title unit header: change distributor edition extent licence tagdocs: eg |
| May contain | core: abbr address bibl choice cit date desc ellipsis email emph expan foreign gloss graphic hi label list media mentioned name note noteGrp num p ptr q quote ref rs ruby said soCalled term time title unit tagdocs: att classSpec code constraintSpec dataSpec eg egXML elementSpec gi ident listRef macroSpec moduleSpec outputRendition specDesc specGrp specGrpRef specList tag val character data |
| 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
}⚓ |
| <rb> (ruby base) contains the base text annotated by a ruby gloss. [3.4.2. Ruby Annotations] | |
| Module | core |
| Attributes |
|
| Contained by | core: ruby |
| May contain | |
| Example | The 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
}⚓ |
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | core: abbr addrLine author bibl biblScope cit citedRange date desc editor email emph expan foreign gloss head headItem headLabel hi item label meeting mentioned name note num p pubPlace publisher q quote rb ref relatedItem resp rs rt said soCalled street term textLang time title unit |
| May contain | core: abbr address bibl choice cit date desc ellipsis email emph expan foreign gloss graphic hi label list media mentioned name note noteGrp num ptr q quote ref rs ruby said soCalled term time title unit tagdocs: att classSpec code constraintSpec dataSpec eg egXML elementSpec gi ident listRef macroSpec moduleSpec outputRendition specDesc specGrp specGrpRef specList tag val character data |
| 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
}⚓ |
| <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] | |||||||
| Module | tagdocs | ||||||
| Attributes |
| ||||||
| Contained by | tagdocs: attDef classSpec dataSpec elementSpec macroSpec moduleSpec valItem | ||||||
| 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+
}⚓ | ||||||
| <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] | |
| Module | core |
| 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
}⚓ |
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | header: editionStmt seriesStmt titleStmt |
| May contain | |
| 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*
)
}⚓ |
| <revisionDesc> (revision description) summarizes the revision history for a file. [2.6. The Revision Description 2.1.1. The TEI Header and Its Components] | |
| Module | header |
| Attributes |
|
| Contained by | header: teiHeader |
| May contain | core: list header: change listChange |
| 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+ )
}⚓ |
| <row> (row) contains one row of a table. [15.1.1. TEI Tables] | |
| Module | figures |
| 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+
}⚓ |
| <rs> (referencing string) contains a general purpose name or referring string. [14.2.1. Personal Names 3.6.1. Referring Strings] | |
| Module | core |
| 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
}⚓ |
| <rt> (ruby text) contains a ruby text, an annotation closely associated with a passage of the main text. [3.4.2. Ruby Annotations] | |||||||||||||||||||||||||||
| Module | core | ||||||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||||||
| 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. | ||||||||||||||||||||||||||
| Example | The 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
}⚓ | ||||||||||||||||||||||||||
| <ruby> (ruby container) contains a passage of base text along with its associated ruby gloss(es). [3.4.2. Ruby Annotations] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | core: abbr addrLine author biblScope citedRange date editor email emph expan foreign gloss head headItem headLabel hi item label mentioned name note num p pubPlace publisher q quote rb ref rs rt said soCalled street term textLang time title unit figures: cell header: change distributor edition extent licence tagdocs: eg |
| May contain | |
| Example | The 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> |
| Example | This 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+ )
}⚓ |
| <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] | |||||||||||||||||||||||
| Module | core | ||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||
| Member of | |||||||||||||||||||||||
| Contained by | core: abbr addrLine author biblScope cit citedRange desc editor email emph expan foreign gloss head headItem headLabel hi item label meeting mentioned name note num p pubPlace publisher q quote rb ref rs rt said soCalled street term textLang title unit header: change distributor edition extent licence tagdocs: eg | ||||||||||||||||||||||
| May contain | core: abbr address bibl choice cit date desc ellipsis email emph expan foreign gloss graphic hi label list media mentioned name note noteGrp num p ptr q quote ref rs ruby said soCalled term time title unit tagdocs: att classSpec code constraintSpec dataSpec eg egXML elementSpec gi ident listRef macroSpec moduleSpec outputRendition specDesc specGrp specGrpRef specList tag val character data | ||||||||||||||||||||||
| 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
}⚓ | ||||||||||||||||||||||
| <schemaRef> (schema reference) describes or points to a related customization or schema file. [2.3.10. The Schema Specification] | |||||||
| Module | header | ||||||
| Attributes |
| ||||||
| 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?
}⚓ | ||||||
| <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] | |||||||||||||||||||||||||||||||||||||||||
| Module | tagdocs | ||||||||||||||||||||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||||||||||||||||||||
| Member of | |||||||||||||||||||||||||||||||||||||||||
| Contained by | header: encodingDesc | ||||||||||||||||||||||||||||||||||||||||
| May contain | |||||||||||||||||||||||||||||||||||||||||
| Note | The content of the tei_customization <schemaSpec> is somewhat more restrictive than TEI. To wit,
| ||||||||||||||||||||||||||||||||||||||||
| 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> | ||||||||||||||||||||||||||||||||||||||||
| Schematron | A <*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> | ||||||||||||||||||||||||||||||||||||||||
| Schematron | TEI 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 )*
)
}⚓ | ||||||||||||||||||||||||||||||||||||||||
| <sequence> indicates that the constructs referenced by its children form a sequence. [23.5.1. Defining Content Models] | |||||||
| Module | tagdocs | ||||||
| Attributes |
| ||||||
| 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+
}⚓ | ||||||
| <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] | |
| Module | header |
| 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 )*
)
)
}⚓ |
| <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] | |
| Module | core |
| 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
}⚓ |
| <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 |
|
| Contained by | |
| May contain | |
| 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 )+
)
}⚓ |
| <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] | |||||||||||||||||||||
| Module | tagdocs | ||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||
| Member of | |||||||||||||||||||||
| Contained by | core: abbr addrLine author biblScope citedRange date editor email emph expan foreign gloss head headItem headLabel hi item label mentioned name note num p pubPlace publisher q quote rb ref rs rt said soCalled street term textLang time title unit figures: cell header: change distributor edition extent licence | ||||||||||||||||||||
| May contain | Empty 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
}⚓ | ||||||||||||||||||||
| <specGrp> (specification group) contains any convenient grouping of specifications for use within the current module. [23.2. Modules and Schemas] | |
| Module | tagdocs |
| 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
)*
}⚓ |
| <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] | |||||||
| Module | tagdocs | ||||||
| Attributes |
| ||||||
| Member of | |||||||
| Contained by | |||||||
| May contain | Empty 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
}⚓ | ||||||
| <specList> (specification list) marks where a list of descriptions is to be inserted into the prose documentation. [23.1.2. Element and Attribute Descriptions] | |
| Module | tagdocs |
| Attributes |
|
| Member of | |
| Contained by | core: abbr addrLine author biblScope citedRange date editor email emph expan foreign gloss head headItem headLabel hi item label mentioned name note num p pubPlace publisher q quote rb ref rs rt said soCalled street term textLang time title unit figures: cell header: change distributor edition extent licence tagdocs: eg |
| 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+ }⚓ |
| <sponsor> (sponsor) specifies the name of a sponsoring organization or institution. [2.2.1. The Title Statement] | |
| Module | header |
| Attributes |
|
| Member of | |
| Contained by | core: bibl header: editionStmt titleStmt |
| 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
}⚓ |
| <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] | |
| Module | core |
| 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 }⚓ |
| <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] | |
| Module | header |
| 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*
}⚓ |
| <table> (table) contains text displayed in tabular form, in rows and columns. [15.1.1. TEI Tables] | |||||||||||||||||
| Module | figures | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| 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* )* )
)
}⚓ | ||||||||||||||||
| <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] | |||||||||||||||||||
| Module | tagdocs | ||||||||||||||||||
| Attributes |
| ||||||||||||||||||
| Member of | |||||||||||||||||||
| Contained by | |||||||||||||||||||
| May contain | Character 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
}⚓ | ||||||||||||||||||
| <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] | |
| Module | header |
| Attributes |
|
| Contained by | textstructure: TEI |
| May contain | header: encodingDesc fileDesc revisionDesc xenoData |
| 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? )
}⚓ |
| <term> (term) contains a single-word, multi-word, or symbolic designation which is regarded as a technical term. [3.4.1. Terms and Glosses] | |
| Module | core |
| 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
}⚓ |
| <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] | |
| Module | textstructure |
| Attributes |
|
| Member of | |
| Contained by | textstructure: TEI |
| May contain | |
| 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>
<!-- 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* )? )
)
}⚓ |
| <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] | |||||||||||||
| Module | core | ||||||||||||
| Attributes |
| ||||||||||||
| Member of | |||||||||||||
| Contained by | core: bibl | ||||||||||||
| May contain | core: abbr address bibl choice cit date desc ellipsis email emph expan foreign gloss graphic hi label list media mentioned name note noteGrp num p ptr q quote ref rs ruby said soCalled term time title unit tagdocs: att classSpec code constraintSpec dataSpec eg egXML elementSpec gi ident listRef macroSpec moduleSpec outputRendition specDesc specGrp specGrpRef specList tag val character data | ||||||||||||
| 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
}⚓ | ||||||||||||
| <textNode> indicates the presence of a text node in a content model. [23. Documentation Elements] | |
| Module | tagdocs |
| Attributes |
|
| Member of | |
| Contained by | |
| May contain | Empty 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 }⚓ |
| <time> (time) contains a phrase defining a time of day in any format. [3.6.4. Dates and Times] | |
| Module | core |
| 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 )*
}⚓ |
| <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 |
| ||||||||||||||||||||||
| Member of | |||||||||||||||||||||||
| Contained by | core: abbr addrLine author bibl biblScope citedRange date desc editor email emph expan foreign gloss head headItem headLabel hi item label meeting mentioned name note num p pubPlace publisher q quote rb ref resp rs rt said soCalled street term textLang time title unit | ||||||||||||||||||||||
| May contain | core: abbr address bibl choice cit date desc ellipsis email emph expan foreign gloss graphic hi label list media mentioned name note noteGrp num ptr q quote ref rs ruby said soCalled term time title unit tagdocs: att classSpec code constraintSpec dataSpec eg egXML elementSpec gi ident listRef macroSpec moduleSpec outputRendition specDesc specGrp specGrpRef specList tag val 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
{
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
}⚓ | ||||||||||||||||||||||
| <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 |
|
| 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* )
}⚓ |
| <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] | |
| Module | core |
| Attributes |
|
| Member of | |
| Contained by | |
| May contain | |
| Example | Here 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
}⚓ |
| <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] | |
| Module | header |
| 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+
}⚓ |
| <unitDef> (unit definition) contains descriptive information related to a specific unit of measurement. [2.3.9. The Unit Declaration] | |
| Module | header |
| Attributes |
|
| Contained by | header: unitDecl |
| May contain | |
| 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?
)+
}⚓ |
| <val> (value) contains a single attribute value. [23. Documentation Elements 23.5.3. Attribute List Specification] | |
| Module | tagdocs |
| Attributes |
|
| Member of | |
| Contained by | |
| May contain | Character data only |
| Example | <val>unknown</val> |
| Content model |
<content>
<textNode/>
</content>
⚓ |
| Schema Declaration |
element val { cust_att.global.attributes, text }⚓ |
| <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] | |
| Module | tagdocs |
| 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
}⚓ |
| <valItem> documents a single value in a predefined list of values. [23.5.3. Attribute List Specification] | |||||||
| Module | tagdocs | ||||||
| Attributes |
| ||||||
| 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> | ||||||
| Example | The <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?
)
}⚓ | ||||||
| <valList> (value list) contains one or more <valItem> elements defining possible values. [23.5.3. Attribute List Specification] | |||||||||
| Module | tagdocs | ||||||||
| Attributes |
| ||||||||
| 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*
}⚓ | ||||||||
| <xenoData> (non-TEI metadata) provides a container element into which metadata in non-TEI formats may be placed. [2.5. Non-TEI Metadata] | |
| Module | header |
| Attributes |
|
| Member of | |
| Contained by | header: teiHeader |
| May contain | ANY |
| Example | This 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> |
| Example | In 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> |
| Example | In 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> |
| Example | In 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> |
| Example | This 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+ )
}⚓ |
| model.addrPart groups elements such as names or postal codes which may appear as part of a postal address. [3.6.2. Addresses] | |
| Module | tei |
| Used by | |
| Members | model.nameLike[model.nameLike.agent[name orgName persName] model.offsetLike model.persNamePart model.placeStateLike[model.placeNamePart[placeName]] idno rs] addrLine postBox postCode street |
| model.addressLike groups elements used to represent a postal or email address. [1. The TEI Infrastructure] | |
| Module | tei |
| Used by | |
| Members | address email |
| 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 | |
| Members | model.quoteLike[cit quote] said |
| 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.] | |
| Module | tei |
| Used by | |
| Members | licence |
| model.biblLike groups elements containing a bibliographic description. [3.12. Bibliographic Citations and References] | |
| Module | tei |
| Used by | |
| Members | bibl biblFull |
| model.biblPart groups elements which represent components of a bibliographic description. [3.12. Bibliographic Citations and References] | |
| Module | tei |
| Used by | |
| Members | model.imprintPart[biblScope distributor pubPlace publisher] model.respLike[author editor funder meeting principal respStmt sponsor] availability bibl citedRange edition extent quote relatedItem textLang |
| model.common groups common chunk- and inter-level elements. [1.3. The TEI Class System] | |
| Module | tei |
| Used by | |
| Members | model.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. |
| model.contentPart groups elements which may appear as part of the content element. [23.5.1. Defining Content Models] | |
| Module | tagdocs |
| Used by | |
| Members | alternate anyElement classRef dataRef elementRef empty macroRef sequence textNode |
| model.correspActionPart groups elements which define the parts (usually names, dates and places) of one action related to the correspondence. | |
| Module | tei |
| Used by | |
| Members | model.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 |
| model.correspContextPart groups elements which may appear as part of the correspContext element. | |
| Module | tei |
| Used by | |
| Members | model.pLike[p] model.ptrLike[listRef ptr ref] note noteGrp |
| model.correspDescPart groups together metadata elements for describing correspondence. | |
| Module | tei |
| Used by | |
| Members | correspAction correspContext note noteGrp |
| model.dateLike groups elements containing temporal expressions. [3.6.4. Dates and Times 14.4. Dates] | |
| Module | tei |
| Used by | |
| Members | date time |
| model.descLike groups elements which contain a description of their function. | |
| Module | tei |
| Used by | |
| Members | desc |
| model.divBottom groups elements appearing at the end of a text division. [4.2. Elements Common to All Divisions] | |
| Module | tei |
| Used by | |
| Members | model.divBottomPart model.divWrapper[meeting] |
| model.divPart groups paragraph-level elements appearing directly within divisions. [1.3. The TEI Class System] | |
| Module | tei |
| Used by | |
| 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 groups elements appearing at the beginning of a text division. [4.2. Elements Common to All Divisions] | |
| Module | tei |
| Used by | |
| Members | model.divTopPart[model.headLike[head]] model.divWrapper[meeting] |
| model.divTopPart groups elements which can occur only at the beginning of a text division. [4.6. Title Pages] | |
| Module | tei |
| Used by | |
| Members | model.headLike[head] |
| model.divWrapper groups elements which can appear at either top or bottom of a textual division. [4.2. Elements Common to All Divisions] | |
| Module | tei |
| Used by | |
| Members | meeting |
| model.egLike groups elements containing examples or illustrations. [23.1.1. Phrase Level Terms] | |
| Module | tei |
| Used by | |
| Members | eg egXML |
| model.encodingDescPart groups elements which may be used inside <encodingDesc> and appear multiple times. | |
| Module | tei |
| Used by | |
| Members | constraintDecl listPrefixDef projectDesc schemaRef schemaSpec styleDefDecl unitDecl |
| model.frontPart groups elements which appear at the level of divisions within front or back matter. [7.1. Front and Back Matter ] | |
| Module | tei |
| Used by | |
| Members | model.frontPart.drama divGen schemaSpec |
| model.global groups elements which may appear at any point within a TEI text. [1.3. The TEI Class System] | |
| Module | tei |
| Used by | |
| Members | model.global.edit[ellipsis] model.global.meta model.milestoneLike model.noteLike[note noteGrp] figure |
| model.global.edit groups globally available elements which perform a specifically editorial function. [1.3. The TEI Class System] | |
| Module | tei |
| Used by | |
| Members | ellipsis |
| model.graphicLike groups elements containing images, formulae, and similar objects. [3.10. Graphics and Other Non-textual Components] | |
| Module | tei |
| Used by | |
| Members | formula graphic media |
| model.headLike groups elements used to provide a title or heading at the start of a text division. | |
| Module | tei |
| Used by | |
| Members | head |
| model.hiLike groups phrase-level elements which are typographically distinct but to which no specific function can be attributed. [3.3. Highlighting and Quotation] | |
| Module | tei |
| Used by | |
| Members | hi q |
| model.highlighted groups phrase-level elements which are typographically distinct. [3.3. Highlighting and Quotation] | |
| Module | tei |
| Used by | |
| Members | model.emphLike[code emph foreign gloss ident mentioned soCalled term title] model.hiLike[hi q] |
| model.identSynonyms groups elements which provide an explanation, equivalency, or alternative name for a markup construct. | |
| Module | tei |
| Used by | |
| Members | model.identEquiv[equiv gloss] |
| model.imprintPart groups the bibliographic elements which occur inside imprints. [3.12. Bibliographic Citations and References] | |
| Module | tei |
| Used by | |
| Members | biblScope distributor pubPlace publisher |
| model.inter groups elements which can appear either within or between paragraph-like elements. [1.3. The TEI Class System] | |
| Module | tei |
| Used by | |
| Members | 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 |
| 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[code emph foreign gloss ident mentioned soCalled term title] model.hiLike[hi q] 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.editorial[abbr choice expan] model.pPart.msdesc model.phrase.xml[att gi tag val] model.ptrLike[listRef ptr ref] |
| model.listLike groups list-like elements. [3.8. Lists] | |
| Module | tei |
| Used by | |
| Members | list table |
| 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] | |
| Module | tei |
| Used by | |
| Members | num unit |
| model.nameLike groups elements which name or refer to a person, place, or organization. | |
| Module | tei |
| Used by | |
| Members | model.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. |
| model.nameLike.agent groups elements which contain names of individuals or corporate bodies. [3.6. Names, Numbers, Dates, Abbreviations, and Addresses] | |
| Module | tei |
| Used by | |
| Members | name orgName persName |
| Note | This class is used in the content model of elements which reference names of people or organizations. |
| model.noteLike groups globally-available note-like elements. [3.9. Notes, Annotation, and Indexing] | |
| Module | tei |
| Used by | |
| Members | note noteGrp |
| model.oddDecl groups elements which generate declarations in some markup language in ODD documents. | |
| Module | tei |
| Used by | |
| Members | classSpec constraintSpec dataSpec elementSpec macroSpec moduleSpec outputRendition specGrp specGrpRef |
| model.oddRef groups elements which reference declarations in some markup language in ODD documents. | |
| Module | tei |
| Used by | |
| Members | classRef dataRef elementRef macroRef moduleRef |
| model.pLike groups paragraph-like elements. | |
| Module | tei |
| Used by | |
| Members | p |
| model.pLike.front groups paragraph-like elements which can occur as direct constituents of front matter. [4.6. Title Pages] | |
| Module | tei |
| Used by | |
| Members | head |
| 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 | |
| Members | 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 groups phrase-level elements for simple editorial correction and transcription. [3.5. Simple Editorial Changes] | |
| Module | tei |
| Used by | |
| Members | model.pPart.editorial[abbr choice expan] model.pPart.transcriptional |
| 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] | |
| Module | tei |
| Used by | |
| Members | abbr choice expan |
| 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 | |
| Members | model.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. |
| model.phrase.xml groups phrase-level elements used to encode XML constructs such as element names, attribute names, and attribute values. [23. Documentation Elements] | |
| Module | tei |
| Used by | |
| Members | att gi tag val |
| model.placeNamePart groups elements which form part of a place name. [14.2.3. Place Names] | |
| Module | tei |
| Used by | |
| Members | placeName |
| model.placeStateLike groups elements which describe changing states of a place. | |
| Module | tei |
| Used by | |
| Members | model.placeNamePart[placeName] |
| model.ptrLike groups elements used for purposes of location and reference. [3.7. Simple Links and Cross-References] | |
| Module | tei |
| Used by | |
| Members | listRef ptr ref |
| 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.] | |
| Module | tei |
| Used by | |
| Members | authority 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. |
| 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 | |
| Members | model.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. |
| 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 | |
| Members | text |
| model.specDescLike groups elements for referring to specification elements. [23. Documentation Elements] | |
| Module | tei |
| Used by | |
| Members | specDesc specList |
| model.teiHeaderPart groups high level elements which may appear more than once in a TEI header. | |
| Module | tei |
| Used by | |
| Members | encodingDesc xenoData |
| 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. | |||||||||||||||||||
| Module | tei | ||||||||||||||||||
| Members | note noteGrp | ||||||||||||||||||
| Attributes |
| ||||||||||||||||||
| 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> | ||||||||||||||||||
| 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] | |||||||||||
| Module | tei | ||||||||||
| Members | att.ascribed.directed[q said] change | ||||||||||
| Attributes |
| ||||||||||
| 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] | |||||||||||
| Module | tei | ||||||||||
| Members | q said | ||||||||||
| Attributes |
| ||||||||||
| att.cReferencing provides attributes that may be used to supply a canonical reference as a means of identifying the target of a pointer. | |||||||||
| Module | tei | ||||||||
| Members | gloss ptr ref term | ||||||||
| Attributes |
| ||||||||
| att.calendarSystem provides attributes for indicating calendar systems to which a date belongs. [3.6.4. Dates and Times 14.4. Dates] | |||||||||||||||
| Module | tei | ||||||||||||||
| Members | date time | ||||||||||||||
| Attributes |
| ||||||||||||||
| 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] | |||||||||||||||||||||
| Module | tei | ||||||||||||||||||||
| Members | att.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 |
| ||||||||||||||||||||
| 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.citeStructurePart provides attributes for selecting particular elements within a document. | |||||||
| Module | header | ||||||
| Members | citeData citeStructure | ||||||
| Attributes |
| ||||||
| att.citing provides attributes for specifying the specific part of a bibliographic item being cited. [1.3.1. Attribute Classes] | |||||||||||||||||||||
| Module | tei | ||||||||||||||||||||
| Members | biblScope citedRange | ||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||
| att.cmc (computer-mediated communication) provides attributes categorizing how the element content was created in a CMC environment. | |||||||||||||||||||||
| Module | tei | ||||||||||||||||||||
| Members | abbr 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 |
| ||||||||||||||||||||
| att.combinable provides attributes indicating how multiple references to the same object in a schema should be combined. | |||||||||
| Module | tagdocs | ||||||||
| Members | att.identified[attDef classSpec constraintSpec dataSpec elementSpec macroSpec moduleSpec paramSpec schemaSpec] defaultVal remarks valDesc valItem valList | ||||||||
| Attributes |
| ||||||||
| Note | An ODD processor should handle the values for mode as follows:
| ||||||||
| att.datable provides attributes for normalization of elements that contain dates, times, or datable events. [3.6.4. Dates and Times 14.4. Dates] | |||||||
| Module | tei | ||||||
| Members | author change conversion date editor funder idno licence meeting name orgName persName placeName principal resp sponsor time title unitDecl unitDef | ||||||
| Attributes |
| ||||||
| 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.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] | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| Module | namesdates | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| Members | att.datable[author change conversion date editor funder idno licence meeting name orgName persName placeName principal resp sponsor time title unitDecl unitDef] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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] | |||||||||||||||||||||||||||||||||||
| Module | namesdates | ||||||||||||||||||||||||||||||||||
| Members | att.datable[author change conversion date editor funder idno licence meeting name orgName persName placeName principal resp sponsor time title unitDecl unitDef] | ||||||||||||||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||||||||||||||
| 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. | ||||||||||||||||||||||||||||||||||
| 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] | |||||||||||||||||||||||||||||||||||||
| Module | tei | ||||||||||||||||||||||||||||||||||||
| Members | att.datable[author change conversion date editor funder idno licence meeting name orgName persName placeName principal resp sponsor time title unitDecl unitDef] | ||||||||||||||||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||||||||||||||||
| 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 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 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] | |||||||||
| Module | tei | ||||||||
| Members | availability bibl biblFull correspDesc projectDesc punctuation seriesStmt sourceDesc styleDefDecl xenoData | ||||||||
| Attributes |
| ||||||||
| 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. | ||||||||
| 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] | |||||||
| Module | tei | ||||||
| Members | back body div front gloss graphic media p ptr ref term text | ||||||
| Attributes |
| ||||||
| 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. | ||||||
| att.deprecated provides attributes indicating how a deprecated feature will be treated in future releases. | |||||||||||||
| Module | tagdocs | ||||||||||||
| Members | att.combinable[att.identified[attDef classSpec constraintSpec dataSpec elementSpec macroSpec moduleSpec paramSpec schemaSpec] defaultVal remarks valDesc valItem valList] | ||||||||||||
| Attributes |
| ||||||||||||
| att.dimensions provides attributes for describing the size of physical objects. | |||||||||||||||||||||||||||||||||||||||
| Module | tei | ||||||||||||||||||||||||||||||||||||||
| Members | date ellipsis time | ||||||||||||||||||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||||||||||||||||||
| att.divLike provides attributes common to all elements which behave in the same way as divisions. [4. Default Text Structure] | |||||||||||||||||
| Module | tei | ||||||||||||||||
| Members | div | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| att.docStatus provides attributes for use on metadata elements describing the status of a document. | |||||||||
| Module | tei | ||||||||
| Members | bibl biblFull change revisionDesc schemaSpec | ||||||||
| Attributes |
| ||||||||
| 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> | ||||||||
| 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] | |||||||||||||||||
| Module | tei | ||||||||||||||||
| Members | att.transcriptional[rt] date expan name orgName persName placeName time | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| 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. | ||||||||||||||||
| att.formula provides attributes for defining a mathematical formula. [2.3.9. The Unit Declaration] | |||||||
| Module | tei | ||||||
| Members | conversion | ||||||
| Attributes |
| ||||||
| 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. | ||||||
| att.fragmentable provides attributes for representing fragmentation of a structural element, typically as a consequence of some overlapping hierarchy. | |||||||||||
| Module | tei | ||||||||||
| Members | att.divLike[div] p | ||||||||||
| Attributes |
| ||||||||||
| att.global provides attributes common to all elements in the TEI encoding scheme. [1.3.1.1. Global Attributes] | |||||||||||||||||||||||||||||||||||||||||||||||
| Module | tei | ||||||||||||||||||||||||||||||||||||||||||||||
| Members | 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 |
| ||||||||||||||||||||||||||||||||||||||||||||||
| 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 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 |
| ||||||||||
| 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. | ||||||||||
| att.identified provides identifying attributes for elements which can be subsequently referenced by means of a key attribute. | |||||||||||||||||||||||
| Module | tagdocs | ||||||||||||||||||||||
| Members | attDef classSpec constraintSpec dataSpec elementSpec macroSpec moduleSpec paramSpec schemaSpec | ||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||
| 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> | ||||||||||||||||||||||
| att.internetMedia provides attributes for specifying the type of a computer resource using a standard taxonomy. | |||||||
| Module | tei | ||||||
| Members | att.media[graphic media] equiv ptr ref | ||||||
| Attributes |
| ||||||
| Example | In 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. | ||||||
| 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] | |||||||
| Module | tei | ||||||
| Members | conversion | ||||||
| Attributes |
| ||||||
| att.measurement provides attributes to represent a regularized or normalized measurement. | |||||||||||||||||||||||||||||||
| Module | tei | ||||||||||||||||||||||||||||||
| Members | unit | ||||||||||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||||||||||
| 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. | ||||||||||||||||||||||||||||||
| att.media provides attributes for specifying display and related properties of external media. | |||||||||||||||||||
| Module | tei | ||||||||||||||||||
| Members | graphic media | ||||||||||||||||||
| Attributes |
| ||||||||||||||||||
| att.namespaceable provides attributes indicating the target namespace for an object being created. | |||||||||||
| Module | tagdocs | ||||||||||
| Members | attDef elementSpec schemaSpec | ||||||||||
| Attributes |
| ||||||||||
| 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] | |||||||||||||||
| Module | tei | ||||||||||||||
| Members | att.personal[name orgName persName placeName] author editor pubPlace rs | ||||||||||||||
| Attributes |
| ||||||||||||||
| att.notated provides attributes to indicate any specialised notation used for element content. | |||||||
| Module | tei | ||||||
| Members | formula quote | ||||||
| Attributes |
| ||||||
| 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] | |||||||||||||||||
| Module | header | ||||||||||||||||
| Members | prefixDef | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| 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] | |||||||||||||||
| Module | tei | ||||||||||||||
| Members | name orgName persName placeName | ||||||||||||||
| Attributes |
| ||||||||||||||
| 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] | |||||||||||||
| Module | tei | ||||||||||||
| Members | att.transcriptional[rt] div figure head label note noteGrp | ||||||||||||
| Attributes |
| ||||||||||||
| 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] | |||||||||||||||||||||||||||||||
| Module | tei | ||||||||||||||||||||||||||||||
| Members | calendar citedRange gloss licence note noteGrp ptr ref term | ||||||||||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||||||||||
| 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] | |||||||||
| Module | tagdocs | ||||||||
| Members | equiv model | ||||||||
| Attributes |
| ||||||||
| 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 | The 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> | ||||||||
| att.ranging provides attributes for describing numerical ranges. | |||||||||||||||||||||||||||||||
| Module | tei | ||||||||||||||||||||||||||||||
| Members | att.dimensions[date ellipsis time] num | ||||||||||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||||||||||
| 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.
| ||||||||||||||||||||||||||||||
| att.repeatable provides attributes for the elements which define component parts of a content model. | |||||||||||||||||
| Module | tagdocs | ||||||||||||||||
| Members | alternate anyElement classRef datatype elementRef sequence | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| 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. | ||||||||||||||||
| att.resourced provides attributes by which a resource (such as an externally held media file) may be located. | |||||||
| Module | tei | ||||||
| Members | graphic media schemaRef | ||||||
| Attributes |
| ||||||
| 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] | |||||||||||
| Module | tei | ||||||||||
| Members | bibl biblFull correspAction idno item list listChange term | ||||||||||
| Attributes |
| ||||||||||
| att.styleDef provides attributes to specify the name of a formal definition language used to provide formatting or rendition information. | |||||||||||||||||||||
| Module | tei | ||||||||||||||||||||
| Members | styleDefDecl | ||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||
| att.tableDecoration provides attributes used to decorate rows or cells of a table. [15. Tables, Formulæ, Graphics, and Notated Music] | |||||||||||||||||||||||||||||||
| Module | figures | ||||||||||||||||||||||||||||||
| Members | cell row | ||||||||||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||||||||||
| 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] | |||||||||||||||||
| Module | tei | ||||||||||||||||
| Members | ellipsis media | ||||||||||||||||
| Attributes |
| ||||||||||||||||
| 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] | |||||||||||||||||||||||
| Module | tei | ||||||||||||||||||||||
| Members | rt | ||||||||||||||||||||||
| Attributes |
| ||||||||||||||||||||||
| att.translatable provides attributes used to indicate the status of a translatable portion of an ODD document. | |||||||||
| Module | tagdocs | ||||||||
| Members | desc exemplum gloss remarks valDesc | ||||||||
| Attributes |
| ||||||||
| 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] | |||||||||||||||||||
| Module | tei | ||||||||||||||||||
| Members | TEI 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 |
| ||||||||||||||||||
| 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 . | ||||||||||||||||||
| 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 | att.transcriptional[rt] div emph figure head hi label note noteGrp p text | ||||||
| Attributes |
| ||||||
| 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] | |
| Module | tei |
| 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 )*⚓ |
| macro.paraContent (paragraph content) defines the content of paragraphs and similar elements. [1.3. The TEI Class System] | |
| Module | tei |
| 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 )*⚓ |
| macro.phraseSeq (phrase sequence) defines a sequence of character data and phrase-level elements. [1.4.1. Standard Content Models] | |
| Module | tei |
| 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
)*⚓ |
| 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] | |
| Module | tei |
| 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 )*⚓ |
| 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] | |
| Module | tei |
| 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
)*⚓ |
| teidata.certainty defines the range of attribute values expressing a degree of certainty. | |
| Module | tei |
| 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. |
| 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 | cust_teidata.count = xsd:nonNegativeInteger⚓ |
| Note | Any positive integer value or zero is permitted |
| 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 |
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 For complete details, see ISO 8601 Data elements and interchange formats — Information interchange — Representation of dates and times. |
| 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 | 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 For complete details, see the W3C specification. |
| 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:
|
| 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. |
| 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 | 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.
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 Examples include
The W3C Internationalization Activity has published a useful introduction to BCP 47, Language tags in HTML and XML. |
| 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 | 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. |
| teidata.namespace defines the range of attribute values used to indicate XML namespaces as defined by the W3C Namespaces in XML Technical Recommendation. | |
| Module | tei |
| 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 |
| teidata.namespaceOrName defines attribute values which contain either an absolute namespace URI or a qualified XML name. | |
| Module | tei |
| 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⚓ |
| 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 |
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. |
| 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 |
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. |
| teidata.pattern defines attribute values which are expressed as a regular expression. | |
| Module | tei |
| 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 WikipediaH(ä|ae?)ndel (or alternatively, it is said that the pattern H(ä|ae?)ndel matches each of the three strings)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 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:
|
| 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, |
| teidata.prefix defines a range of values that may function as a URI scheme name. | |
| Module | tei |
| 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. |
| 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 | cust_teidata.probCert = teidata.probability | teidata.certainty⚓ |
| teidata.probability defines the range of attribute values expressing a probability. | |
| Module | tei |
| 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. |
| 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. | |
| 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"/>
<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. |
| 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 | 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. |
| 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. | |
| Module | tei |
| 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. |
| 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 | cust_teidata.text = string⚓ |
| Note | Attributes using this datatype must contain a single ‘token’ in which whitespace and other punctuation characters are permitted. |
| teidata.truthValue defines the range of attribute values used to express a truth value. | |
| Module | tei |
| 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. |
| teidata.unboundedCount defines the range of values used for a counting number or the string unbounded for infinity. | |
| Module | tei |
| 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" )⚓ |
| 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:
|
| 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. |
| 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 |
cust_teidata.versionNumber =
token { pattern = "[\d]+[a-z]*[\d]*(\.[\d]+[a-z]*[\d]*){0,3}" }⚓ |
| teidata.word defines the range of attribute values expressed as a single word or token. | |
| Module | tei |
| Used by | |
| 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. |
| 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 | cust_teidata.xTruthValue = xsd:boolean | ( "unknown" | "inapplicable" )⚓ |
| Note | In cases where where uncertainty is inappropriate, use the datatype teidata.TruthValue. |
| teidata.xmlName defines attribute values which contain an XML name. | |
| Module | tei |
| 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. |
| teidata.xpath defines attribute values which contain an XPath expression. | |
| Module | tei |
| 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. |
| 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> |
| Schematron | Constrains 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> |