TEI Tite
author: Perry Trolard
edition published: May 2009
language: en

TEI Tite
A recommendation for off-site text encoding

Perry Trolard, for TEI Consortium
Version 1.0 — May 2009

Introduction

This document specifies how TEI Tite should be applied. Its organizing model is roughly the structure of a TEI document itself, and it proceeds from high-level features to low, starting with general requirements, text structure, directions on when to group texts, considerations about type of text (genre and format), continuing down to instructions on marking phrase-level features, reference systems, and so forth. In its original ODD (one document does-it-all) format, this document can generate everything necessary for working in TEI Tite: both documentation (this Tite-specific prose as well as the full technical documentation for each of its elements) and schemas in either W3C Schema, RELAX NG, or XML DTD. Software utilities, including the Roma web tool, can generate these.

Tite-encoded documents are TEI documents, and TEI Tite, with the exception of convenience elements (<b>, <i>, <ul>, <sup>, <sub>, <smcap>, <cols> and <ornament>, all of which can be converted back to canonical TEI), is a pure subset of the TEI. That is, it was created primarily by removing elements and attributes from the TEI, and not from extensive modification. As a TEI customization, Tite inherits TEI semantics, and ambiguity in this specification should be resolved with reference to the TEI Guidelines. What makes Tite distinct is that where the TEI in general is famously tolerant of multiple methods of encoding a given feature, Tite seeks uniformity of encoding through constraint, via its stripped-down tag set and via this specification.

Tite can be used to encode printed prose, poetry, drama, newspapers, and anything else which can be described with the basic TEI building-blocks of divisions, paragraphs, line groups, and speeches.

In this documentation, document refers generally to the item (book, pamphlet, newspaper, etc.) to be encoded and text to either linguistic (as opposed to graphic) material or a logically distinct literary unit.

General Requirements

What to Capture

All printed material should be captured: all text (that is, printed characters) should be transcribed and the presence of graphical items or other non-transcribable elements should be indicated with markup.

End-of-line Hyphens

A distinction should be maintained in the electronic transcription between end-of-line or soft hyphens (an artifact of page layout) and hard hyphens (a linguistic feature). The former should be transcribed as the SOFT HYPHEN (U+00AD) character; the latter, as the HYPHEN-MINUS (U+002D) character generally available on Western keyboards. In the rare case of coincidence of the two types — where a word that is normally hyphenated is split across a line break at its hyphen — the hyphen should be considered hard, and transcribed as the HYPHEN-MINUS.

Character Encoding

Characters should be encoded in UTF-8. For characters not easily input from the keyboard, use hexadecimal numeric entities (e.g. é, the small latin e with acute accent, is represented as &#x00E9;).

Accuracy and Verification

The standard for accuracy of transcription should be at least 99.99% (1 error in 10,000 characters). The sample size for verification will be 5% of the total text.

Documenting the Encoding Process

Almost surely, difficult encoding situations will arise whose resolution may not be covered by this documentation or the TEI Guidelines. In such cases, it is important to document the markup choices that are made. To this end each encoded file should be accompanied by a document with such notes. These notes should reference features of a document that seem remarkable to encoders and how these were handled by encoders.

Global Text Structure

TEI Tite text structure

In TEI Tite, <text> is the root element, containing front matter, the body of the text, and back matter.

<text xml:id="unique-identifier">
 <front/>
 <body/>
 <back/>
</text>

The <text>'s @xml:id attribute should contain a unique identifier for the document being encoded.

Tite omits the <teiHeader> element as a convenience to transcribers. This departs from normal TEI practice, which requires <TEI> as the root element, containing <teiHeader> and <text> elements. In order to bring a document encoded in TEI Tite into adherence with the TEI abstract model, projects should add a teiHeader before engaging in post-transcription processing.

Groups of Texts

A document should be encoded as a group of texts only when each member of the group contains its own front or back matter (most often, a separate title page). In this case the <group> element should be a child of the <text> element, and should contain child <text> elements each containing a <front>, <body>, and <back> (each <text> need not have both front and back matter, but should have at least one). Note that this group of texts will still have its own front and back matter. When dealing with a group of texts, the basic TEI text structure is modified to look like:

<text>
 <front/>
 <group>
  <text>
   <front/>
   <body/>
   <back/>
  </text>
  <text>
   <front/>
   <body/>
   <back/>
  </text>

 </group>
 <back/>
</text>

In cases where a document appears to contain a group of texts but the above condition is not met, encode each unit as a (numbered) <div> with an appropriate @type attribute.

Structural Divisions

Tite uses numbered divisions: <div1> through <div7>, which stand for levels of nesting within a text. <div1>s nest inside or are contained by the <front>, <body>, and <back> elements, <div2>s nest inside or are contained by <div1>s, etc. The document's table of contents is often a good place to find cues about where structural divisions start and end; other cues can be blank pages, recurring typographical or ornamental features, or a numbering system ("Chapter 5" etc.). Also, the presence of a heading will often indicate the beginning of a division.

The @type attribute should be used to express the type of division being marked. Where present, use a name for division type given in the document itself. Though any constrained enumerated list of @type values will have to be determined on a job-by-job basis, some examples of appropriate division types are:

- "act"
- "article"
- "book"
- "chapter"
- "essay"
- "letter"
- "part"
- "scene"
- "section"
- "subsection"

When a heading is present, encode it with the <head> element. If there is more than one heading at the beginning of a given division, encode each heading with its own <head> element, using the @type attribute to distinguish them. Appropriate values are:

- "main"
- "sub" (subtitle)
- "alt" (alternate)
- "desc" (descriptive)

The @n attribute should be used to record sequential labels associated with a structural division (numbers, numerals, letters). When present, these labels should also be transcribed within the content of <head> element. For instance:

<div1 n="III" type="part">
 <head>III: It Awakes</head>

</div1>

False Indicators

A divisional title is a page that resembles a half-title page: it displays the title or heading of a major structural unit on an otherwise blank page. Divisional titles should be encoded not with a separate <div> element, but as a <head> within the appropriate <div>. For half-title pages and similar fly-title pages see the section on Front Matter.

Another potential false indication of a new structural division is an ornament used as an informal division: a printer's ornament of some sort, a string of asterisks or periods, or a horizontal line. Mark these with the special <ornament> element. If the ornament is a horizontal line or printer's device or otherwise not transcribable, make the element empty and include an appropriate @type attribute ("line" or "ornament"); if the ornament is made up of characters, transcribe the characters into the <ornament>'s content.

Front and Back Matter

Front and back matter should be encoded with the <front> and <back> elements, respectively. <div1> elements should contain the major sections and should be characterized by @type attribute values. The exception, however, is the title page, which should be encoded with the <titlePage> element and its children. The <titlePart> element should have a @type attribute with one of the following values:

- "main"
- "sub" (subtitle)
- "desc" (descriptive title)
- "alt" (alternate title)
- "volume" (volume information)

<titlePart type="volume"> should be used to encode volume information wherever it is found on the title page, even if it is separated from the other title information. The elements that make up the <titlePage> content model are: <graphic>, <byline>, <epigraph>, <docTitle>, <titlePart>, <docAuthor>, <docEdition>, <docImprint>, <docDate>, <figure>, <ornament>.

Information on the verso of the title page should be included as well (after a <pb>).

Common items to encode in front and back matter -- and therefore common @type attribute values for <front> and <back> divisions are:

front

- acknowledgements
- advertisement
- castlist
- contents
- dedication
- fly-title
- foreword
- introduction
- preface

back

- appendix
- bibliography
- colophon
- glossary
- index

Half-title and fly-title pages may be encountered in the front matter. A half-title page precedes the title page proper and sometimes includes volume or series information; a fly-title page comes at the very end of the front matter, just before the body. In the case of half-titles, encode these as <div1 type="half-title"> (with <titlePart> elements as appropriate); in the case of fly-titles, encode them likewise with <div1 type="fly-title">, making sure to make the fly-title division the last part of the front matter (and not the first part of the body, as may seem reasonable as well).

Types of Text

Tite is equipped to support basic encoding of several types of text: in terms of genre, it supports prose, verse, and drama, and in terms of format, it supports books, newspapers, pamphlets, and other similar printed material. Tite has special elements for letters, verse, drama, and newspapers.

Letters

<opener> and <closer> are elements designed to encode the beginning and ending sections of letters, prefaces, diary entries, or other personal types of writing. Both elements contain:

- <dateline>: for recording time and place of composition; use <date> with @when value (formatted yyyy-mm-dd) to record date information
- <signed>: for recording a signature
- <salute>: for recording salutation at the beginning ("Dear Roger,") or end ("Yours truly,")

<opener> contains the additional elements <epigraph>, <argument>, and <byline>. <epigraph> will often be useful in the context of a letter. When encoding an epigraph, make sure to encode the content as you would any other feature, marking line groups, bibliographical elements, etc.

<argument> and <byline>, however, are not intended specifically for use with letters:

- <argument>: for a summary that precedes a division
- <byline>: for a statement of responsibility for the document

Verse

All verse should be encoded within at least one <lg> element, even when there are no distinct stanzas or when the verse is interspersed with prose. If it is known, use the @type attribute to express the type of line group. Sometimes within a poem there is a question about what should be tagged as a <lg> or as a separate <div>. As a rough rule of thumb, if there is a title accompanying the division, use the <div> element; otherwise, use <lg>.

Each line of verse should be encoded with the <l> element, and care should be taken to distinguish these logical lines of verse from lines motivated by page layout. The latter should be encoded as <lb>s. Thus

AS virtuous men pass mildly away,
   And whisper to their souls to
go,
Whilst some of their sad friends
do say,
   "Now his breath goes," and
some say, "No."

should be encoded as

<lg type="stanza">
 <l>AS virtuous men pass mildly away,</l>
 <l rend="indent(1)">And whisper to their souls to<lb/> go,</l>
 <l>Whilst some of their sad friends<lb/> do say,</l>
 <l rend="indent(1)">"Now his breath goes," and<lb/> some say, "No."</l>
</lg>

Also, as in the example above, use the @rend attribute to mark when a line is indented more than its siblings. Use numbered indent values (e.g. “indent(1)”, “indent(2)”, etc.) to make clear levels of indentation.

Drama

The standard TEI elements for drama should be used: <sp>, <stage>, <speaker>. If the @who attribute is used on <sp>, also transcribe who is given as the speaker, in whatever form it is written, in the <speaker> element. Short pieces of stage direction that accompany the speaker designation may be included in the <speaker> element.

Scenes and acts should be encoded as appropriately nested <div> elements with @type attributes of "scene" or "act", respectively. Cast lists can likewise be encoded using <div> and type="castlist".

Prologues and epilogues can be treated as <sp>s of their own, unless their structure would be better represented by nested <div> elements.

Newspapers

Tite includes the elements <cols> and <cb> which are well suited for the multi-column layout of newspapers. Additional relevant elements are: <ref>, to encode a pointer to the continuation of a story in a different column or on a different page; and <figure>, to describe illustrations, advertisements, and cartoons.

Block-level Features

Block Quotations

Use the <q> element to encode block quotations. A block quotation is indicated by its being set off from surrounding text either with extra line-spacing or margins or with a different typeface. If the quotation is of an entire text, use the <floatingText> element and its children inside the <q> element:

<div1 type="intro">
 <p/>
 <q>
  <floatingText>
   <body>
    <lg type="poem"/>
   </body>
  </floatingText>
 </q>
 <p/>
</div1>

If present, transcribe all quotation marks or other delimiters inside the <q> element.

Figures

Use the <figure> element to encode figures. If a figure has a heading or caption, encode it with the <head> element. If there is associated text, simply use a <p> to encode it.

Tables and Lists

Tables and lists are encoded as in the TEI Guidelines, but note the following.

If a cell in a table is a heading or a label, set the @role attribute to "label"; if the cell contains data, there is no need to use @role: "data" is the default. If a cell or row spans more than one column or row, use the @rows or @cols attributes set to the number of columns or rows that it spans.

If unsure about whether a structure is best encoded as a list or table, record it as a table only if it would not be properly understood without tabular layout.

Lists should be encoded as either sequences of <items> or <label>-<item> pairs. When items in the list contain a label, as in a gloss list, be sure to use the latter form.

Notes

Both the reference to the note in the running text and the note itself must be encoded. Use <ptr> or <ref> to encode the reference. If there is no reference in the text (often the case for marginal notes), supply a <ptr> element in a reasonable place in the text running beside the note. If there is a reference (number, symbol, etc.), use the <ref> element and include the reference text as the content. In both cases, a @target attribute must be supplied which contains the @xml:id value of the associated <note>.

When encoding the note itself with the <note> element, the @xml:id and @place attributes must be supplied. See the TEI documentation for acceptable values for @place; the most common will be "foot", "end", "margin-left (-right, -top, -bot)".

Transcribe the note directly after it is referenced in the document. In the case of notes without explicit reference (pointed to with <ptr>), set the @anchored attribute to "false".

divWrapper Elements

Elements that can appear at the beginning and end of structural divisions, such as <argument>, <epigraph>, and <opener>, are called divWrapper elements in the TEI class system. An argument is a summary of what is to come; be sure to distinguish this from a heading, which is a title for the division. If an epigraph comes with bibliographic or simple citation material, encode this as well. For example:

<epigraph>
 <cit>
  <q>"I have sworn upon the altar of God eternal hostility against every form of tyranny over
   the mind of man."</q>
  <bibl>
   <author>Thomas Jefferson.</author>
  </bibl>
 </cit>
</epigraph>

Uncertain Blocks

In rare cases where the logical identity of a block-level element is hard to discern, use the TEI element <ab> (anonymous block) instead of applying a <p> or <div> element. In these cases, be sure to document this decision in accompanying notes. Applying this element should be viewed as a last resort.

The <gap> element should be used when for some reason the document being transcribed contains illegible text (smudged, torn, missing, etc.) or something outside the scope of transcription for a given project: characters in an unsupported character set, for instance. <gap> indicates that something is omitted. When using <gap>, set the @reason attribute to an appropriate value. (See <unclear> below.)

Phrase-level Features

Typographical Changes

There are six elements in Tite that capture specific typographical features:

<b>
- for bold-face glyphs
<i>
- for italicized glyphs
<ul>
- for underlined glyphs
<smcap>
- for glyphs in small-caps
<sub>
- for glyphs in subscript
<sup>
- for glyphs in superscript

These mark the physical change, and are agnostic about a logical motivation for it. There are two exceptions to this approach, however: marking foreign words and titles. In the case of foreign words, use the <foreign> element; in the case of titles, use the <title> element only if certain that the word or phrase in question is a title. If a phrase is, say, italicized, but you are uncertain about its being a title, use the <i> element instead. Foreign words should be marked only if they are typographically distinguished from surrounding text.

If there is a typographical feature not covered by the above elements, the TEI <hi> element is still available in Tite. Use it without a @rend attribute.

Phrase-level Quotation

For passages set off by quotation marks or another delimeter, use the <q> element, including the delimeter inside the tag.

Alignment and Indentation

If the alignment of an element seems remarkable, set the element's @rend attribute to an appropriate value (normally "center", "right", "left", etc.). However, when semantic already accounts for its cause, description of alignment is not necessary. Headings, for instance, do not need to be marked as being centered.

To indicate level of indentation (often in verse), use numerical “arguments” to “indent”, as in "indent(1)", "indent(-1)", and so on.

Uncertain Segments

The <seg> element is the phrase-level analogue to the <ab> element. If a phrase-level feature seems to be present but its identity is hard to fathom, use this element. This, again, is a last resort.

Alternately, when a passage of text is for some reason too hard to read, use the <unclear> element, setting the @reason attribute to an appropriate value. When using <unclear>, surround the entire word with the tag if any part of it is unclear (not just the illegible letter, say).

Unknown Glyphs

For cases in which it is unknown which character a given glyph corresponds to, mark the glyph with the <g> element to indicate the uncertainty. By convention in Tite, <g> represents any unknown glyph; no @ref attribute is necessary. Note that unknown glyphs are different from illegible text.

Reference Systems

Encode page breaks (<pb>) at the start of each page, and encode breaks even for blank pages. If the page is numbered, include the page number as the value of the @n attribute and, again, no matter where the page number is printed on the page, place the <pb> element at the “top.”

If marking column breaks, follow the same rules as for page breaks. Column breaks are imagined to appear at the top of the column, at the beginning of the column's text. The <cols> element exists to record a change in columnar layout. If such a change occurs, mark the beginning of the new layout with <cols> and supply the new number of columns as the value for the @n attribute.

If line breaks are to be captured, use the <lb> element.

Appendices

TEI Tite and TEI Text Encoding in Libraries Guidelines

As of May 2009, the TEI Special Interest Group (SIG) on Libraries is in the process of revising its TEI Text Encoding in Libraries: Guidelines for Best Encoding Practices (GBP) document, which creates common definitions of “levels of encoding” based on depth of markup applied. A draft of this document is available at the Libraries SIG's wiki. Because the levels of encoding provide a tremendously useful common set of terms, it's helpful to situate TEI Tite according to them.

Mapped to GBP levels, TEI Tite would sit between three and four: it requires use of all the elements from level three plus additional ones, but requires fewer elements than level four. Relative to level three, “Simple Analysis,” Tite

- encourages the use of the @rend attribute on typographically distinct text (marked with <hi>), implicitly, through the provision of convenience elements (<i>, <b>, etc.), and it provides the <title> and <foreign> elements for semantic markup of typographically distinct phrases; in level 3, the @rend attribute is optional, and <title> and <foreign> are not provided
- provides some genre-specific elements in addition to those for verse that level three also provides (<lg>, <l>): <sp>, <speaker>, and <stage> for drama, the <cols> element especially for newspapers.

Because Tite is closer to it, it's level four (“Basic Content Analysis”) that provides the most useful comparison. The folowing items represent instances where Tite is less ambitious than level four:

- except in the case of the <foreign> and <title> elements, it is preferred in Tite to describe typographical changes physically, rather than semantically; Tite uses <i>, <b>, etc. where level four uses <emph>, <gloss>, <term>
- Tite provides only <q> for quoted material, where level four is more discriminating, using <quote>, <said>, <mentioned>, <soCalled>
- Tite doesn't provide elements for editorial intervention, as level four does: <choice>, <sic>, <corr>
- Tite doesn't provide entity-specific naming elements, like <persName>, <placeName>, <orgName> and their list- (<listPerson>, etc.) forms

As of this point, it seems that bringing Tite-encoded documents up to GBP level four would simply require additional application of markup, not significant reworking of markup, and in that way Tite seems compatible with the GBP.

Not mentioned above is one key but purposeful incompatibility: Tite's lack of a header. A TEI header must be added, and the root <TEI> element used for compatibility with the GBP, and with the TEI abstract model in general.

Formal specification

att.ascribed

att.breaking

att.canonical

att.datable.iso

att.datable.w3c
@period
@notBefore
@notAfter
@from
@to

att.declaring

att.dimensions

att.duration

att.internetMedia

att.naming

att.placement

att.ranging

att.responsibility

att.spanning

att.translatable

att.divLike

att.editLike

att.global
@rendition
@xml:base
@xml:space

att.pointing
@evaluate

att.segLike

att.typed
@subtype

<pb>

<date>
@calendar

<gap>
@hand
@agent

<graphic>
@width
@height
@scale

<l>
@part

<ptr>
@cRef

<ref>
@cRef

<note>
@anchored

<unclear>
@hand
@agent

<num>
@value

<g>
@ref

<formula>
@notation

<abbr>
@type

<stage>
@type

<ab>
@part

<cit>

<b>
(bold) for capturing typographical feature: bold glyphs.

<i>
(italics) for capturing typographical feature: italicized glyphs.

<ul>
(underline) for capturing typographical feature: underlined glyphs.

<sub>
(subscript) for capturing typographical feature: subscript glyphs.

<sup>
(superscript) for capturing typographical feature: superscript glyphs.

<smcap>
(smallcaps) for capturing typographical feature: glyphs in small capitals.

<cols>
(columns) with the “n” attribute (denoting new number of columns) is used to mark where a document changes columnar layout.
@ed
indicates the edition or version in which the change in columnar layout is located at this point

<ornament>
for capturing typographical feature: printer's ornament, horizontal line, strings of asterisks or periods, etc, indicating an informal division that does not call for a new <div> element. If a horizontal rule or printer's ornament, use appropriate @rend attribute and leave the element empy; if the ornament can be represented with characters, include these in the element.

Acknowledgments

The TEI Tite is simply a synthesis of work done at the

- University of Michigan Digital Library Production Service,
- University of Virginia Digital Library Production Service,
- and the California Digital Library

and represented in their documents

- Minimum standards for text capture ,
- Text Encoding Guidelines for Keyboarding Vendors ,
- and CDL TEI Base Encoding Guidelines ,

respectively. Many thanks to the institutions and individuals responsible for sharing their experience and expertise for the benefit of the TEI community at large.

Also, thank you to members of the TEI Special Interest Group on Libraries who provided very valuable corrections and suggestions.