Epsilon TEI Transcription Guidelines

by Michael Hawkins and Elizabeth Smith

Table of Contents

Introduction

This Guide provides a brief summary of how to create letter transcriptions that will work in Epsilon. Our approach is based on the work of the Text Encoding Initiative. To make sense of this Guide, you will need to become familiar with certain key XML concepts, like element, the difference between empty and non-empty elements, attributes, attribute values, entities, and validation. It is also important that you understand the principle of nesting elements. These concepts are not difficult to grasp and are explained in any guide to XML. For a simple introduction, please see A Gentle Introduction to XML.

Elements (often called tags) mark the ‘role’ that a portion of the text plays inside the document. For example, <p> indicates something is a paragraph; <note> indicates that it is a note.

Attributes are used to define the characteristics of the element they are attached to. In <p rend="centre">, ‘p’ (the element) has a ‘rend’ attribute (usually depicted as @rend within documentation) with a value of ‘centre’. In Epsilon, that means that the paragraph will be centred.

Entities are the chief method used to encode certain special characters within a document, like &amp;.

XML Comments are used to provide comments on the transcription code. They look like
<!-- I am unable to read this word. Liz, can you make it out? -->
They are not visible on the public site but are useful when working on the file in your code editor. You will encounter them in the Epsilon letter template file, where they provide an explanation of the information needed for certain mandatory fields.

We recommend that anyone wanting to transcribe a letter create their file using a duplicate of our letter_template.xml. It includes the basic structure that’s required for your transcription along with XML comments reminding you to enter key pieces of content. When using this guide, please note that although there are many optional elements mentioned and TEI is highly customisable, any elements that are necessary for incorporation into Epsilon are marked ‘[REQ]’ Optional elements you might like to incorporate into your files are indicated with ‘[OPT]’.

These guidelines and any templates are based on the data and practices of the Darwin Correspondence Project. In some cases, decisions around that data were based on the need to preserve legacy data, and do not reflect choices that might be made when starting a born-digital project. Epsilon templates are intended to be more universal while still being compatible with pipelines originally designed to reflect the Darwin data. To see the DCP's core data for comparison, all files are available on GibHub

Filenames and Document IDs

Every Epsilon letter file requires a unique document ID to distinguish it from every other letter in the collection. Include a shortened form of the collection's name in the ID. For instance, if transcribing letters of William Henry Fox Talbot, suitable IDs might be: ‘TALBOT-LETTER-1’, ‘TALBOT-LETTER-2’, etc. The files should have the same base name as their ID value, e.g.TALBOT-LETTER-1.xml’, ‘TALBOT-LETTER-2.xml’.

The document's ID is recorded on the <TEI> element’s @xml:id attribute: <TEI xml:id="TALBOT-LETTER-1">.

The Epsilon Schema

The Text Encoding Initiative Guidelines are extensive and contain many elements that are unnecessary or irrelevant for the letter transcriptions used in Epsilon. For this reason, we have created a slimmed down version of their schema that only includes the elements and attributes directly relevant to Epsilon. It also contains extra validation rules to check that all essential data is included in your transcription.

If you create your document from a copy of the letter_template.xml file in this repository, you will automatically be using the Epsilon schema.

If you should happen to create a TEI file on your own, you can add the following two lines immediately before the <TEI> element to tell it to use the Epsilon schema.


<?xml-model href="https://raw.githubusercontent.com/cambridge-collection/epsilon-tei-odd/refs/heads/main/rng/letters.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://raw.githubusercontent.com/cambridge-collection/epsilon-tei-odd/refs/heads/main/rng/letters.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>

The Main Parts of the Letter File

Every Epsilon letter file consists of two sections:

  1. <teiHeader> contains all the metadata about the source document and its electronic version.
  2. <text> contains the textual content of the letter, its translation as well as any editorial footnotes.

teiHeader

<teiHeader> contains three elements that must appear in the following order:

fileDesc

<fileDesc> contains information about the electronic file and the physical letter’s source(s). This includes:

The Title [REQ]

Every TEI document must have a <title> element. However, since Epsilon does not use this element directly, you have flexibility in choosing the title format. You can provide either a descriptive, older-style title, such as:

<titleStmt><title>Letter to Charlotte Murchison, 25 Feb [1829]</title></titleStmt>

or a shorter style version that reflects how the letter actually appears in Epsilon:

<titleStmt><title xml:id="main_title">TALBOT-LETTER-1</title></titleStmt>

Publication information [REQ]

<publicationStmt> contains information about the person or project who contributed the letter transcription.


      <publicationStmt>
        <authority>Correspondence of William Henry Fox Talbot</authority>
        <date when="2025-03-26">2025</date>
      </publicationStmt>
    

or


      <publicationStmt>
        <authority>Jane Bloggs</authority>
        <date when="2025-03-26">2025</date>
      </publicationStmt>
    

Postmarks and datestamps [OPT]

If an item contains a postmark (or a datestamp in the case of a telegram), it should be entered as notes (<note>) in <notesStmt>. They should have a @type value of ‘postmark’ or ‘datestamp’ respectively.


      <notesStmt>
          <note type="postmark">Shrewsbury MA 11 1828 153</note>
      </notesStmt>
    

or


                           <notesStmt>
                               <note type="datestamp">FE 16 80</note>
                           </notesStmt>
                       

Endorsement [OPT]

If a letter has an endorsement, it goes in <notesStmt>, similar to postmarks and datestamps:


      <notesStmt>
        <note type="postmark">JA 17 1825</note>
        <note type="endorsement" subtype="letter">‘/76’</note>
      </notesStmt>
    

The description of the source (<sourceDesc>) [REQ]

Manuscripts

There are two ways that you can record the letter's manuscript source. The preferred method is to use the detailed elements in <msDesc>:


        <msDesc>
          <msIdentifier>
            <repository>The Geological Society</repository>
            <idno>LDGSL/613/2/57</idno>
          </msIdentifier>
        </msDesc>
      
  • <repository> contains the name of the institution that holds the items.
  • <idno> contains that institution's shelfmark or identifying number for the item.

You can also use a simpler form:


        <bibl type="provenance">LDGSL/613/2/57, The Geological Society</bibl>
      

The latter option allows you to write out the full reference in whatever form you want to have appearing on Epsilon

Printed Sources

Currently, the only method to record printed sources is:


                               <bibl type="printedSource"><hi rend="italic">The Times</hi>, 24 April 1882, p. 10</bibl>
      

Write the bibliographic reference for the printed source of the letter out as you would like to see it appear on screen.

Letters taken from multiple sources

Letters sometimes come from multiple physical sources. They could be split into different classmarks, contained within different institutions or published separately. In such cases, provide separate descriptions of each source in order. The following describes a hypothetical letter where the first part is in The Geological Society and the final part is in the Cambridge University Library:


        <msDesc>
          <msIdentifier>
            <repository>The Geological Society</repository>
            <idno>LDGSL/613/2/57</idno>
          </msIdentifier>
        </msDesc>
        <msDesc>
          <msIdentifier>
            <repository>Cambridge University Library</repository>
            <idno>MS Add 999999999</idno>
          </msIdentifier>
        </msDesc>
      

or briefly:


        <bibl type="provenance">LDGSL/613/2/57, The Geological Society</bibl>
        <bibl type="provenance">MS Add 999999999, Cambridge University Library</bibl>
      

profileDesc [REQ]

<profileDesc> describes the correspondents and may, optionally, contain a summary of the letter.

Recording Correspondence Information [REQ]

Information about correspondence is recorded in <correspDesc>, which should contain two <correspAction> elements in the following order:

  • <correspAction type="sent">: Information about the sender.
  • <correspAction type="received">: Information about the recipient.

Example structure:


    <correspAction type="sent">
      <persName>Darwin, C. R.</persName>
      <placeName>Abinger Hall Down</placeName>
      <date when="1875-06-14">14 June [1875]</date>
    </correspAction>
    <correspAction type="received">
      <persName>Schultze, Fritz</persName>
    </correspAction>
  

Each <correspAction> element may contain the following elements:

  • <persName> or <orgName> [REQ]: The name of the individual or organization involved (sender or recipient).
  • <placeName> [OPT]: The place associated with the action (the sender’s or recipient’s location).
  • <date> [REQ] (sender), [OPT] (recipient): The date associated with the action (the sending or receiving date).

Alternative Correspondents

If the correspondent is either one person or another, you should list each possible correspondent name within a single <correspAction>, assigning each an @xml:id and using the @exclude attribute to show mutual exclusivity.

For example, if a letter's recipient could be either W. W. Baxter, William Baxter, or William Warner Baxter (each considered a distinct individual as opposed to three different versions of one individual’s name), your markup should look like this:


    <correspAction type="received" subtype="personGrp">
      <persName xml:id="name1" exclude="#name2 #name3">Baxter, W. W.</persName>
      <persName xml:id="name2" exclude="#name1 #name3">Baxter, William</persName>
      <persName xml:id="name3" exclude="#name1 #name2">Baxter, William Q.</persName>
    </correspAction>
  

To manage mutually exclusive correspondents clearly:

  • Assign a unique @xml:id to each potential correspondent. The IDs only need to be unique within the current document (for example, <xml:id="name1">, <xml:id="name2">, etc.).
  • Use the @exclude attribute to specify mutually exclusive choices. For example,
    <persName xml:id="name1" exclude="#name2 #name3">Baxter, W. W.</persName>
    indicates that selecting "name1" excludes "name2" and "name3". Similarly, the second correspondent,
    <persName xml:id="name2" exclude="#name1 #name3">Baxter, William</persName>
    , excludes "name1" and "name3"; and the third,
    <persName xml:id="name3" exclude="#name1 #name2">Baxter, William Q.</persName>
    , excludes "name1" and "name2".

This markup clearly documents alternative correspondents and ensures accurate identification within Epsilon. A similar approach is used for recording mutually exclusive dates.

Dates [REQ]

Letter dates are recorded using a <date> inside <correspAction>. The date the letter is sent should be in <correspAction type="sent">; the date it was received should be in <correspAction type="received">.

The date contains several key pieces of information:

  1. A natural-language version of the date is contained within the element (e.g.1 Jan 1880”, “after 1 Jan 1880”, “22 June [1874?]”).
  2. One or more attributes: @when, @notBefore, and/or @notAfter that contain ISO versions of the date (‘yyyy-mm-dd’) to facilitate searching and sorting.

Use the attributes as follows:

  • @when for a specific known (or inferred) date:
    <date when="1880-01-06">6 Jan 1880</date>
    or
    <date when="1874-06-22">22 June [1874?]</date>
  • @notBefore when only the earliest possible date is known:
    <date notBefore="1879-02-17">[after 16 Feb 1879]</date>
  • @notAfter when only the latest possible date is known:
    <date notAfter="1879-02-15">[before 16 Feb 1879]</date>
  • You can have both @notBefore and @notAfter on a date:
    <date notBefore="1879-02-01" notAfter="1879-02-10">[early Feb 1879]</date>

It is highly recommended that you establish canonical dates for the earliest and latest possible date a letter could have been written in your collection. They make open-ended ranges containing only a @notBefore or @notAfter work better within Epsilon's larger corpus. The Darwin Correspondence Project used Darwin's birth date (1809-01-01) and the end of the year of his death (1882-12-31) as these values.

  • <date notBefore="1879-02-17" notAfter="1882-12-31">[after 16 Feb 1879]</date>
  • <date notBefore="1809-01-01" notAfter="1879-02-15">[before 16 Feb 1879]</date>

A letter written over multiple known days should use separate <date> elements (this does not define a range, but rather that the letter was written on two separate days):


    <date when="1880-01-01">1 Jan 1880</date>
    <date when="1880-01-09">9 Jan 1880</date>
  

A letter written between two dates would be encoded using a single <date> with @notBefore and @notAfter:


    <date notBefore="1879-12-24" notAfter="1880-01-05">[24 Dec 1879–5 Jan 1880]</date>
  

Be careful when encoding @notBefore and @notAfter. The logic of the attributes might differ slightly from the logic of the natural language text:

  • @notAfter means "on or before" the given date:
    <date notAfter="1880-01-05">[before 6 Jan 1880]</date>
    (i.e., 5 Jan or earlier).
  • @notBefore means "on or after" the given date:
    <date notBefore="1880-01-06">[after 5 Jan 1880]</date>
    (i.e., 6 Jan or later).

For more complex date situations, including exclusive dates, see Appendix I: Dates at the bottom of this document.

Summary of the letter [OPT]

You may supply a summary using <abstract>, which appears immediately after <correspDesc>:


    <abstract>
      <p>Thanks FS for his book [<hi rend="italic">Kant und Darwin</hi>].</p>
      <p>Sends regards to Haeckel.</p>
    </abstract>
  

Putting a Letter Online [REQ]

Your transcribed letter text will only appear online after you have indicated that it has been cleared for release. This is done inside the <revisionDesc> portion of the header.<revisionDesc> lists all editorial actions performed on the file, including the cataloging of the metadata, transcription of the text, its proofreading, and online release. Each action is represented as a <change> element, containing:

Add new <change> elements at the end of the existing list. If a person's @xml:id has already been declared in a previous <change>, subsequent references to this person should use the @sameAs attribute, referencing the existing @xml:id (e.g., <name sameAs="#jbloggs">).

The @status attribute can take one of these four values:

Example of a letter that has just been catalogued:


    <revisionDesc>
      <change when="2015-10-02" status="catalogued" xml:id="jbloggs">Catalogued by Jane Bloggs</change>
    </revisionDesc>
  

Example of a letter that has been catalogued, transcribed and proofed:


                    <revisionDesc>
                        <change when="2015-10-02" status="catalogued">Catalogued by <name xml:id="jbloggs">Jane Bloggs</name></change>
                        <change when="2015-11-02" status="transcribed">Transcribed by <name xml:id="another">A.N. Other</name>.</change>
                        <change when="2015-12-02" status="proofed">Document proofed by <name sameAs="#jbloggs">Jane Bloggs</name>.</change>
                    </revisionDesc>
  

To mark a letter as released, simply add a <change> element with @status equal to ‘released’into <revisionDesc>.


               <change when="2015-12-03" status="released">Document released.</change>
           

This is the only change element that is required for letters. All the others are optional. The textual content of the change elements can be whatever you want; they are not displayed on the Epsilon site.

Editing the Letter Text

The textual content of the letter, including any enclosures, translations, and footnotes, is contained within the <body> element inside <text>. The <body> is divided into three sections, each coded as a separate <div> with a @type attribute indicating its content:

Example structure:


    <text>
      <body>
        <div type="letter">
          <!-- Letter content goes here -->
        </div>

        <div type="translation">
          <!-- Translation content goes here, if applicable. Otherwise omit this div. -->
        </div>

        <div type="footnotes">
          <!-- Footnotes go here, if applicable. Otherwise omit this div. -->
        </div>
      </body>
    </text>
  

Only the <div type="letter"> is mandatory. Include <div type="translation"> and <div type="footnotes"> only if the letter has translations or footnotes, respectively. Otherwise, omit them.

Opener [OPT]

The opener contains the address (<placeName>), date (<date>), salutation (<salute>), and any salutation notes (<seg type="supplemental">).


    <opener>
      <placeName><hi rend="print">Down, | Beckenham, Kent. | Railway Station | Orpington. S.E.R.</hi></placeName>
      <date>Sunday</date>
      <seg type="supplemental">(Home tomorrow)</seg>
      <salute>Dear Dyer.</salute>
    </opener>
  

Please note that there will always be exceptions and that not every letter will have an opener. Where there is one, the opener may contain just one or two of these elements. Simply use any elements that appear in the text being transcribed.

Address [OPT]

The address is encoded using <placeName> and should be coded exactly as it appears in the letter. Use <hi rend="print"> if the address is printed letterhead.


                   <opener>
                   <placeName><hi rend="print">The Forest</hi>.</placeName>
                   <date>Monday Feb<hi rend="superscript">y</hi>. 18<hi rend="superscript">th</hi>.—</date>
                   <salute>My dear Charles,</salute>
               </opener>
               

Date [OPT]

The <date> element within <opener> records the date exactly as it appears in the manuscript or printed source. Dating attributes are not required. Indicate any printed portions of the date with <hi rend="print">, and superscripts with <hi rend="superscript">.

Salutation note/Sendname [OPT]

Supplemental text in the header should now be marked as <seg type="supplemental">. It will be left-justified above the salutation on Epsilon.


      <seg type="supplemental">M<hi rend="superscript">r</hi>. Charles Darwin in Down, Beckenham, Kent, England.</seg>
    

Salutation

The salutation should be encoded as <salute>:


      <salute>Dear Sir,</salute>
    

Letter Body Text

Prose paragraphs should be marked with <p>. Minor variations in paragraph formatting from the original source don't need encoding. However, specific block formatting such as centering, right justification, unusual first-line indentation, hanging indents, or block quotations should be indicated using the @rend attribute.

Note: If text appears centered because it functions as a heading, tag it as a heading rather than a centered paragraph. If the <head> is at the start of a <div> use <head rend="centre">, otherwise use <ab rend="centre" type="head">.

@rend may be one of the following:

Footnote Markers

Footnote markers should be encoded using <ref> as follows:


                   ...Lorem ipsum dolor sit amet, consectetur adipiscing elit.<ref target="#foot.f2"/> Quisque vestibulum urna sed justo gravida...
  

Here, the value “#foot.f2” points to a corresponding note at the bottom of the document, marked with an @xml:id of “foot.f2”.

Footnotes themselves appear as <note> elements within the final <div> in the <body>, tagged as <div type="footnotes">:


<div type="footnotes">
    <note xml:id="foot.f1">Lorem ipse dolor zzrill</note>
    <note xml:id="foot.f2">See letter to William Marshall, 29 May 1875. CD had sent Marshall an ostrich feather that he had received from Thomas François Burgers.</note>
</div>
               

You do not need to duplicate <note> elements for footnotes with identical content in both the original letter and its translation. You can point to the same footnote using <ref>. Only create a new <note> for the translation if no existing <note> matches the desired content.

Ensure each footnote reference within the letter or translation correctly points to the appropriate footnote using the <ref> element, e.g., <ref target="#foot.f12">. You don't need to manually add footnote numbers; Epsilon will automatically number notes and their markers when displayed.

Footnote markers can also be applied to certain metadata elements within the header, such as <note type="postmark">, <note type="endorsement">, and <bibl type="provenance">.

Letter and Person Cross References

Letter cross-references in footnotes should be encoded so they link directly to the referenced letter. Wrap the descriptive text of the referenced letter (e.g., ‘letter from E. A. Darwin, 5 [March 1823]’) in a <ref> element. This element must have a @target attribute containing a relative path that points to another TEI resource in your collection. For example:


    See also the <ref target="./DCP-LETT-5.xml">letter from E. A. Darwin, 5 [March 1823]</ref>.
  

Simply put, this means it shows the location of the document you're linking to in relative to the current document. If you are linking from one letter file (e.g. TALBOT-LETTER-1.xml) to another, say TALBOT-LETTER-2.xml, the @target would be ./TALBOT-LETTER-2.xml.

The example above assumes that you're linking between items of the same type (e.g., letter to letter, person to person). If you're linking between different types of documents (such as from a letter to a person), include the full relative path. For instance, linking from a letter file to a person entry (located in another folder) might look like this:


    ... <ref target="../nameregs/nameregs_1.xml">Charlotte Murchison</ref> ...
  

Lists

Lists should be encoded using <list rend="ordered">, with each item in the list tagged as <item>. If a list is numbered, transcribe the number and its punctuation exactly as they appear in the manuscript, marking them as <label>:


    <list rend="ordered">
      <item>1. “intense cobalt Blue”</item>
      <item>2 “silver yellow”</item>
      <item>4) “deep copper red”.</item>
    </list>
  

Intentionally Blank Whitespace in the Original Document

Instead of using line breaks or strings of spaces to represent intentionally created whitespace in the original letter, use the <space> element. This element has three attributes:

Special Characters

Most special characters that appear in our letters, especially those drawn from Western European alphabets, can be typed directly with the character viewers in Windows or macOS.

XML reserves three characters for its own syntax. Whenever you need an ampersand (&amp;), less than (&lt;), or greater than (&gt;) signs, write them as entities:
&amp;amp;
,
&amp;lt;
, or
&amp;gt;
.

If you meet a character that you cannot type directly, look it up in the Unicode Consortium’s Code Charts to find its numeric reference. For example, the degree sign is &#x00B0;, minutes (prime) &#x2032;, and seconds (double prime) &#x2033;.

Mathematics, Fractions, and Equations

Fractions and equations should be marked up using representational MathML. 12 would be coded:


    <formula>
      <math xmlns="http://www.w3.org/1998/Math/MathML">
        <mfrac><mn>1</mn><mn>2</mn></mfrac>
      </math>
    </formula>
  

Character Formatting

Text that has distinctive character formatting, such as bold, italicised, subscripted, superscripted, Small Capitals, or underlined should be tagged using the <hi> element with a corresponding @rend attribute. Possible values are:

A full list of available values is provided in the Appendix III: Element Set.

Multiple formatting styles can be applied simultaneously. For example, text that is both superscripted and italicised would be encoded as follows:


    <hi rend="superscript italic">superscripted italic text</hi>
  

Formatting is inherited when nested. For example, if you have superscripted text with only a portion in italics, encode it as:


    <hi rend="superscript">superscripted <hi rend="italic">italic</hi> text</hi>
  

Diagrams and Illustrations

All diagrams and illustrations must be coded in a <graphic> contained within <figure type="diagram">


                   <figure type="diagram" rend="blockCentred width45">
                       <graphic url="../images/dcp_lett_11101_2.jpg"/>
                   </figure>
  

Use <figure>'s @rend to specify how the image should appear online by selecting one or more of the following:

Enclosures [OPT]

If a letter includes an enclosure, encode it within a <div type="enclosure"> element that's placed right after the letter's <div type="text">. Each enclosure must include a mandatory @subtype attribute specifying whether the enclosure is a ‘letter’ or ‘other’. Each enclosure must also contain a <div type="transcription"> element for the enclosed text to appear correctly in Epsilon.


                   <div type="letter">
                       <div type="text">
                           <!-- Transcription of letter -->
                       </div>
                       <div type="enclosure" subtype="letter">
                       <opener>
                           <!-- Salutation and other opening elements of enclosed letter -->
                       </opener>
                       <div type="transcription">
                           <!-- Main body text of enclosed letter -->
                       </div>
                   </div>
                   </div>
               

If multiple enclosures are present, create a separate <div type="enclosure"> for each one, assigning each enclosure a unique @xml:id.


                   <div type="letter">
                       <div type="text">
                           <!-- Transcription of letter -->
                       </div>
                       <div type="enclosure" subtype="letter" xml:id="encl.1">
                           <!-- Transcription of a single enclosure (an enclosed letter). -->
                           <opener>
                               <!-- Salutation and other opening elements of enclosed letter -->
                           </opener>
                           <div type="transcription">
                               <!-- Main body text of enclosed letter -->
                           </div>
                       </div>
                       <div type="enclosure" subtype="other" xml:id="encl.2">
                           <!-- Transcription of another type of enclosure (not a letter). -->
                           <div type="transcription">
                               <!-- Main body text of non-letter enclosure -->
                           </div>
                       </div>
                   </div>
               

If there is an enclosure but no main letter text is available, you still need to include the standard empty structure (including the <text> element), even if it is left blank.

Footnotes

Footnotes are placed within a <div type="footnotes"> element. Each footnote should be coded as a <note> element and assigned a unique @xml:id.


                   <note xml:id="foot.f1">The year is established by the relationship between this letter and the letter from John Scott, [1-11] April [1863].</note>
               

The @xml:id values are referenced by the footnote marker's @target attribute. For example, the footnote marker <ref target="#foot.f1"> points to the footnote coded <note xml:id="foot.f1">.

Ensure the <div type="footnotes"> is the last element inside the <body> element.

You should not provide footnote numbers in the text or the notes themselves as these will be automatically generated when displayed online. The important thing is that each <ref> correctly points to the appropriate <note> via the @target attribute (e.g., <ref target="#foot.f1">). We encourage editors to choose semantically meaningful @xml:id values for their notes (like foot.f1, foot.f2, foot.f3). However, the value of the @xml:id doesn't affect final numbering; all that matters is each footnote marker's <ref> points to its corresponding <note>'s @xml:id.

Appendix I: Correspondence Dates

Correspondence dates should be encoded using the <date> element. It has two main parts:

a) Encoding the Natural-Language Date Text

Enter dates exactly as you would normally present them in print (e.g., "1 Jan 1880"; "after 1 Jan 1880"; "before 1 Jan 1880"; "1-10 Jan 1880"; "Oct–Dec 1846"; "22 June 1874–82").

If part of the date is inferred, this is often indicated using square brackets, mark it with the <supplied> element, giving the name of the editor who inferred it using @resp. <supplied> text within the <date> will be output inside square brackets:


<date>22 June <supplied resp="#mjhawkins">1874–82</supplied></date>

Renders as "22 June [1874–82]".

If you want the [supplied] portion of the date to also include a question mark, be sure to include a @cert attribute ("low", "medium", or "high")


<date><supplied resp="#mjhawkins" cert="medium"><hi rend="italic">c.</hi> 31 January 1878</supplied></date>

This renders as "[c. 31 January 1878?]".

b) ISO Date Attributes: @when, @notBefore, @notAfter

  • @when: Used when a letter has a specific known or inferred date:
    
    <date when="1880-01-06">6 January 1880</date>
    
  • @notBefore: Indicates the earliest possible date the letter was written:
    
    <date notBefore="1880-01-07">after 6 January 1880</date>
    
  • @notAfter: Indicates the latest possible date the letter was written:
    
    <date notAfter="1880-01-05">before 6 January 1880</date>
    
  • When used together, @notBefore and @notAfter define a date range:
    
    <date notBefore="1879-12-24" notAfter="1880-01-05">24 December 1879 – 5 January 1880</date>
    

Important: Pay careful attention to the meaning of your natural language and attribute values when encoding date ranges. Don't just convert the natural language date to its ISO equivalent without carefully considering the logic.

If the textual date says "before 6 Jan 1880", the correct ISO date in @notAfter is one day earlier:
<date notAfter="1880-01-05">[before 6 Jan 1880]</date>
. That is, the letter could not have been written "after 5 Jan 1880". If the letter was written "after 6 Jan 1880", you would use @notBefore and set it to one day later:
<date notBefore="1880-01-07">[after 6 Jan 1880]</date>
. That is the letter could not have been written "before 7 Jan 1880".

c) Mutually Exclusive Dates

If there are multiple possible dates that are mutually exclusive (for example, uncertainty between two or more dates), encode each option separately using unique @xml:id attributes and indicate mutual exclusion with @exclude. Example:


<date when="1880-01-16" xml:id="date1" exclude="#date2">16 January 1880</date>
<date when="1880-01-18" xml:id="date2" exclude="#date1">18 January 1880</date>

This means the letter was written on either 16 or 18 January 1880, but not both. For more complex examples (e.g., multiple possible Wednesdays in a month), extend the logic similarly:


<date when="1880-01-07" xml:id="date1" exclude="#date2 #date3 #date4">7 January 1880</date>
<date when="1880-01-14" xml:id="date2" exclude="#date1 #date3 #date4">14 January 1880</date>
<date when="1880-01-21" xml:id="date3" exclude="#date1 #date2 #date4">21 January 1880</date>
<date when="1880-01-28" xml:id="date4" exclude="#date1 #date2 #date3">28 January 1880</date>

If one date is more probable, use the @cert attribute, marking the more likely option with ‘high’ and the others with ‘low’.

Appendix II: Tables

Tables are encoded using the elements <table>, <row>, and <cell>.

The <table> element can optionally have a @rend attribute to define its width relative to the main text area. Valid values range from ‘width05’ up to ‘width100’ in increments of 5, as well as ‘width33’ and ‘width66’.

The <cell> element can also have an optional @rend attribute, with values specifying:

The following example creates a table that occupies 50% of the viewport width. The first two columns each take up 20% of the table's width, and the last column occupies the remaining 60%:


                   <table rend="width50 centre">
                       <row>
                           <cell rend="width20">A: One</cell>
                           <cell rend="width20">A: Two</cell>
                           <cell rend="width60">A: Three</cell>
                       </row>
                       <row>
                           <cell>B: One</cell>
                           <cell>B: Two</cell>
                           <cell>B: Three</cell>
                       </row>
                       <row>
                           <cell>C: One</cell>
                           <cell>C: Two</cell>
                           <cell>C: Three</cell>
                       </row>
                   </table>

It would appear as the following. Borders added for visual reference.

A: One A: Two A: Three
B: One B: Two B: Three
C: One C: Two C: Three

Every <row> in a table must have the same total number of columns, but this doesn’t always mean having the same number of actual <cell> elements. Sometimes, a cell will span across multiple columns or rows. Indicate this with the @cols or @rows attributes. For example, if a table normally has four columns and you use <cell cols="3"> in one of the cells, that row will contain only two <cell> elements: one spanning three columns and one spanning a single column. The total logical number of columns (cells plus their @cols) must still equal the number of columns in any of the other rows (4 in the above example). The @rows attribute works similarly, except it spans cells vertically, taking up space in the specified number of rows beneath it.

A cell spanning three columns is coded as:


                   <table rend="width50 centre">
                       <row>
                           <cell>A: One</cell>
                           <cell rend="width10 borderAll" cols="3">Narrow cell spanning three rows</cell>
                           
                       </row>
                       <row>
                           <cell>B: One</cell>
                           <cell>B: Two</cell>
                           <cell>B: Three</cell>
                           <cell>B: Four</cell>
                       </row>
                       <row>
                           <cell>C: One</cell>
                           <cell>C: Two</cell>
                           <cell>C: Three</cell>
                           <cell>C: Four</cell>
                       </row>
                   </table>

It would appear as the following. Borders added for visual reference.

A: One Narrow cell spanning three rows
B: One B: Two B: Three B: Four
C: One C: Two C: Three C: Four

Similarly, a cell spanning three columns is encoded as:


                   <table rend="width50 centre">
                       <row>
                           <cell>A: One</cell>
                           <cell rend="width10" rows="3">Narrow cell spanning three rows</cell>
                           <cell>A: Three</cell>
                       </row>
                       <row>
                           <cell>B: One</cell>
                           <!-- 'Phantom cell' created by rows="3" above -->
                           <cell>B: Three</cell>
                       </row>
                       <row>
                           <cell>C: One</cell>
                           <!-- 'Phantom cell' created by rows="3" above -->
                           <cell>C: Three</cell>
                       </row>
                       <row>
                           <cell>D: One</cell>
                           <cell>D: Two</cell>
                           <cell>D: Three</cell>
                       </row>
                       <row>
                           <cell cols="3">One wide cell spanning three columns</cell>
                       </row>
                   </table>
               

It would appear as the following. Borders added for visual reference.

A: One Narrow cell spanning three rows A: Three
B: One B: Three
C: One C: Three
D: One D: Two D: Three
One wide cell spanning three columns

Stretchy Brackets in Tables

You can create stretchy brackets in tables using a single character wrapped in <hi> with a @rend of either ‘stretchyVertical’ (for vertical brackets spanning multiple rows) or ‘stretchyHorizontal’ (for horizontal brackets spanning multiple columns).

For vertical brackets:

  • The cell must span more than one row using @rows.
  • Contain only a single <hi rend="stretchyVertical">.
  • The <hi> must contain a bracket from the stretchy brackets list below.

For horizontal brackets:

  • The table must have a specified width.
  • The cell must span more than one column using @cols.
  • Contain only a single <hi rend="stretchyHorizontal">.
  • Use a bracket from the stretchy brackets list below.

                       <table rend="width50 centre">
                           <row> 
                               <cell>N<hi rend="superscript">o</hi>. 26— One moiety—</cell>
                               <cell rend="width05" rows="2"><hi rend="stretchyVertical">}</hi></cell>
                               <cell rend="vAlignMiddle" rows="2">subject to the life interest of my sister only.</cell>
                           </row>
                           <row>
                               <cell rend="left">N<hi rend="superscript">o</hi>. 27. One quarter</cell>
                           </row>
                       </table>
                   

Renders as:

No. 26— One moiety— } subject to the life interest of my sister only.
No. 27. One quarter

                       <table rend="centre">
                           <row><cell/><cell rend="centre">A2</cell><cell/></row>
                           <row>
                               <cell cols="3"><hi rend="stretchyHorizontal">⏞</hi></cell>
                           </row>
                           <row>
                               <cell>C1</cell>
                               <cell>C2</cell>
                               <cell>C3</cell>
                           </row>
                       </table>
                   

Renders as:

A2
C1 C2 C3

Available stretching braces

Brace type Left facing Right facing Upward facing Downward facing
Curly { } ⏞ or &#x23DE; ⏟ or &#x23DF;
Rounded ( ) ⏜ or &#x23DC; ⏝ or &#x23DD;
Square [ ] ⎴ or &#x23B4; ⎵ or &#x23B5;

Borders and Vertical Alignment

Borders can be applied to tables, rows, or cells using @rend attributes (‘borderAll’, ‘borderBottom’, ‘borderTop’, ‘borderLeft’, ‘borderRight’, ‘borderSides’). Adjacent borders automatically collapse into a single border.

Cells spanning multiple rows can have vertical alignment controlled via @rend with values ‘vAlignTop’ (align to the top of the row), ‘vAlignMiddle’ (default), or ‘vAlignBottom’ (align to the bottom of the row).

Schema epsilon: Elements

<ab>

<ab> (anonymous block) contains any component-level unit of text, acting as a container for phrase or inter level elements analogous to, but without the same constraints as, a paragraph. [17.3. Blocks, Segments, and Anchors]
Modulelinking —
Member of
Contained by
May contain
Note

The <ab> element may be used at the encoder's discretion to mark any component-level elements in a text for which no other more specific appropriate markup is defined. Unlike paragraphs, <ab> may nest and may use the @type and @subtype attributes.

Example

                               <ab><ref target="#foot.f10"/></ab>
                           
Schematron <sch:rule context="tei:l//tei:ab"> <sch:assert test="ancestor::tei:floatingText | parent::tei:figure | parent::tei:note"> Abstract model violation: Metrical lines may not contain higher-level divisions such as p or ab, unless ab is a child of figure or note, or is a descendant of floatingText. </sch:assert> </sch:rule>
Content model <macroRef key="macro.abContent"/>
Schema Declaration
element ab
{
   tei_att.cmc.attributes,
   attribute rend
   {
      list
      {
         (
            "right"
          | "left"
          | "centre"
          | "indent0"
          | "indent1"
          | "indent2"
          | "indent3"
          | "blockIndent"
          | "hangingIndent1"
          | "hangingIndent2"
          | "hangingIndent3"
          | "blockquote"
         )+
      }
   }?,
   attribute type { "head" | "p" | "url" }?,
   tei_macro.abContent
}

<abbr>

<abbr> (abbreviation) contains an abbreviation of any sort. [3.6.5. Abbreviations and Their Expansions]
Modulecore —
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 <macroRef key="macro.phraseSeq"/>
Schema Declaration
element abbr { tei_att.cmc.attributes, tei_macro.phraseSeq }

<abstract>

<abstract> contains a summary of the letter. [2.4.4. Abstracts]
Moduleheader —
Member of
Contained by
header: profileDesc
May contain
core: list p
figures: table
linking: ab
textcrit: listApp listWit
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

                               <abstract>
                                   <p>The third and last part of the <hi rend="italic">Geology</hi> [<hi rend="italic">South America</hi>] will be published in a few days. Apologises for not sending JSH the other volumes.</p>
                                   <p>Has attended Southampton [BAAS] meeting.</p>
                               </abstract>
                           
Content model <alternate minOccurs="1" maxOccurs="unbounded"> <classRef key="model.pLike"/> <classRef key="model.listLike"/> <elementRef key="listBibl"/> </alternate>
Schema Declaration
element abstract { ( tei_model.pLike | tei_model.listLike | listBibl )+ }

<add>

<add> (addition) contains letters, words, or phrases inserted in the source text by an author, scribe, or a previous annotator or corrector. [3.5.3. Additions, Deletions, and Omissions]
Modulecore —
Member of
Contained by
May contain
Note

In a diplomatic edition attempting to represent an original source, the <add> element should not be used for additions to the current TEI electronic edition made by editors or encoders. In these cases, either the <corr> or <supplied> element are recommended.

In a TEI edition of a historical text with previous editorial emendations in which such additions or reconstructions are considered part of the source text, the use of <add> may be appropriate, dependent on the editorial philosophy of the project.

Example
The story I am
    going to relate is true as to its main facts, and as to the
    consequences <add place="above">of these facts</add> from which
    this tale takes its title.
Content model <macroRef key="macro.paraContent"/>
Schema Declaration
element add
{
   tei_att.cmc.attributes,
   tei_att.placement.attribute.place,
   attribute hand { teidata.pointer }?,
   tei_macro.paraContent
}

<altIdentifier>

<altIdentifier> (alternative identifier) contains an alternative or former structured identifier used for a manuscript or other object, such as a former catalogue number. [11.4. The Manuscript Identifier]
Modulemsdescription —
Contained by
msdescription: msIdentifier
May contain
core: note
header: idno
Note

An identifying number of some kind must be supplied if known; if it is not known, this should be stated.

Example

      <altIdentifier>
        <settlement>San Marino</settlement>
        <repository>Huntington Library</repository>
        <idno>MS.El.26.C.9</idno>
      </altIdentifier>
    
Content model <sequence minOccurs="1" maxOccurs="1"> <classRef key="model.placeNamePart" expand="sequenceOptional"/> <elementRef key="institution" minOccurs="0"/> <elementRef key="repository" minOccurs="0"/> <elementRef key="collection" minOccurs="0"/> <elementRef key="idno"/> <elementRef key="note" minOccurs="0"/> </sequence>
Schema Declaration
element altIdentifier
{
   tei_placeName?,
   tei_country?,
   tei_settlement?,
   tei_institution?,
   tei_repository?,
   tei_collection?,
   tei_idno,
   tei_note?
}

<analytic>

<analytic> (analytic level) contains bibliographic elements describing an item (e.g. an article or poem) published within a monograph or journal and not as an independent publication. [3.12.2.1. Analytic, Monographic, and Series Levels]
Modulecore —
Contained by
May contain
Note

May contain titles and statements of responsibility (author, editor, or other), in any order.

The <analytic> element may only occur within a <biblStruct>, where its use is mandatory for the description of an analytic level bibliographic item.

Example

      <biblStruct>
        <analytic>
          <author>Chesnutt, David</author>
          <title>Historical Editions in the States</title>
        </analytic>
        <monogr>
          <title level="j">Computers and the Humanities</title>
          <imprint>
            <date when="1991-12">(December, 1991):</date>
          </imprint>
            <biblScope>25.6</biblScope>
            <biblScope>377–380</biblScope>
        </monogr>
      </biblStruct>
    
Content model <alternate minOccurs="0" maxOccurs="unbounded"> <elementRef key="author"/> <elementRef key="editor"/> <elementRef key="respStmt"/> <elementRef key="title"/> <classRef key="model.ptrLike"/> <elementRef key="date"/> <elementRef key="textLang"/> <elementRef key="idno"/> <elementRef key="availability"/> </alternate>
Schema Declaration
element analytic
{
   (
      tei_author
    | editor
    | tei_respStmt
    | tei_title
    | tei_model.ptrLike
    | tei_date
    | textLang
    | tei_idno
    | tei_availability
   )*
}

<app>

<app> (apparatus entry) contains one entry in a critical apparatus, with an optional lemma and usually one or more readings or notes on the relevant passage. [13.1.1. The Apparatus Entry]
Moduletextcrit —
Member of
Contained by
May contain
core: note
Example

      <app>
        <lem wit="#El #Hg">Experience</lem>
        <rdg wit="#La" type="substantive">Experiment</rdg>
        <rdg wit="#Ra2" type="substantive">Eryment</rdg>
      </app>
       
Example

      <app type="substantive">
        <rdgGrp type="subvariants">
          <lem wit="#El #Hg">Experience</lem>
          <rdg wit="#Ha4">Experiens</rdg>
        </rdgGrp>
        <rdgGrp type="subvariants">
          <lem wit="#Cp #Ld1">Experiment</lem>
          <rdg wit="#La">Ex<g ref="#per"/>iment</rdg>
        </rdgGrp>
        <rdgGrp type="subvariants">
          <lem resp="#ed2013">Eriment</lem>
          <rdg wit="#Ra2">Eryment</rdg>
        </rdgGrp>
      </app>
    
Example

      <app loc="1">
        <rdg resp="#SEG">TIMΩΔA</rdg>
      </app>
    
Example

      <app loc="1-6">
        <note>Too badly worn to yield a text</note>
      </app>
    
Example

      <choice xml:id="choice3">
        <reg>σύμπαντα</reg>
        <orig>ΣΙΝΠΑΤΑΝ</orig>
      </choice>
      <!-- ... -->
      <app from="#choice3">
        <note>Mommsen's fanciful normalization, reproduced here, has not been accepted by all recent editions</note>
      </app>
    
Content model <sequence> <elementRef key="lem" minOccurs="0"/> <alternate maxOccurs="unbounded" minOccurs="0"> <classRef key="model.rdgLike"/> <classRef key="model.noteLike"/> <elementRef key="witDetail"/> <elementRef key="wit"/> <elementRef key="rdgGrp"/> </alternate> </sequence>
Schema Declaration
element app
{
   tei_att.global.attributes,
   tei_att.typed.attribute.subtype,
   attribute type { teidata.enumerated }?,
   attribute from { teidata.pointer }?,
   attribute to { teidata.pointer }?,
   attribute loc { list { teidata.word+ } }?,
   (
      tei_lem?,
      (
         tei_model.rdgLike
       | tei_model.noteLike
       | tei_witDetail
       | tei_wit
       | tei_rdgGrp
      )*
   )
}

<author>

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

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

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

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

Example

      <author>British Broadcasting Corporation</author>
      <author>La Fayette, Marie Madeleine Pioche de la Vergne, comtesse de (1634–1693)</author>
      <author>Anonymous</author>
      <author>Bill and Melinda Gates Foundation</author>
      <author>
        <persName>Beaumont, Francis</persName>
        and
        <persName>John Fletcher</persName>
      </author>
      <author><orgName key="BBC">British Broadcasting
      Corporation</orgName>: Radio 3 Network</author>
    
Content model <macroRef key="macro.phraseSeq"/>
Schema Declaration
element author
{
   attribute xml:id { xsd:ID }?,
   attribute role { list { teidata.enumerated+ } }?,
   attribute key { teidata.text }?,
   attribute ref { list { teidata.pointer+ } }?,
   tei_macro.phraseSeq
}

<authority>

<authority> (release authority) supplies the name of a person or other agency responsible for making a work available, other than a publisher or distributor. [2.2.4. Publication, Distribution, Licensing, etc.]
Moduleheader —
Member of
Contained by
core: monogr
May contain
Note

NB: The value in <authority> will be used as your ‘Contributor‘ name in the browsing facets on Epsilon.

Example

                               <authority>Darwin Correspondence Project</authority>
                           
Content model <macroRef key="macro.phraseSeq.limited"/>
Schema Declaration
element authority { tei_macro.phraseSeq.limited }

<availability>

<availability> (availability) supplies information about the availability of a text, for example any restrictions on its use or distribution, its copyright status, any licence applying to it, etc. [2.2.4. Publication, Distribution, Licensing, etc.]
Moduleheader —
Member of
Contained by
May contain
core: p
header: licence
linking: ab
Note

A consistent format should be adopted

Example

                               <availability xml:id="metadataRights" status="restricted">
                                   <licence target="http://creativecommons.org/licenses/by-nc-nd/3.0/">This metadata is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.</licence>
                               </availability>
                           
Schematron <sch:pattern is-a="declarable"> <sch:param name="tde" value="tei:availability"/> </sch:pattern>
Content model <alternate minOccurs="1" maxOccurs="unbounded"> <classRef key="model.availabilityPart"/> <classRef key="model.pLike"/> </alternate>
Schema Declaration
element availability
{
   attribute xml:id
   {
      "displayImageRights" | "downloadImageRights" | "metadataRights"
   }?,
   attribute status { "restricted" | "unrestricted" }?,
   ( tei_model.availabilityPart | tei_model.pLike )+
}

<back>

<back> (back matter) contains any appendixes, etc. following the main part of a text. [4.7. Back Matter 4. Default Text Structure]
Moduletextstructure —
Contained by
textstructure: text
transcr: facsimile
May contain
figures: figure table
linking: ab
textstructure: closer div signed
transcr: space
Note

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

Example

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

<bibl>

<bibl> (bibliographic citation) contains a loosely-structured bibliographic citation. Only supported in Epsilon when in sourceDesc [3.12.1. Methods of Encoding Bibliographic References and Lists of References 2.2.7. The Source Description 16.3.2. Declarable Elements]
Modulecore —
Member of
Contained by
May contain
Note

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

Example

                               <bibl type="provenance">Archives of the Gray Herbarium, Harvard University (121)</bibl>
                           

Although editors will be expected to maintain the information in this element for the time being, this useage is deprated and is expected to be abandoned before the end of 2015 (see the guidelines and tag set documentation on <sourceDesc>.

Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:bibl[@type='provenance']"> <report test="count(//tei:bibl[@type='provenance']) gt 1">ERROR: There must only be one <name/>/@type='provenance' in a letter</report> </rule>
Schematron <sch:pattern is-a="declarable"> <sch:param name="tde" value="tei:bibl"/> </sch:pattern>
Content model <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>
Schema Declaration
element bibl
{
   tei_att.canonical.attribute.ref,
   tei_att.cmc.attributes,
   attribute n { teidata.text }?,
   attribute sameAs { teidata.pointer }?,
   attribute cert { teidata.probCert }?,
   attribute resp { list { teidata.pointer+ } }?,
   attribute key { data.pointer }?,
   attribute type { "provenance" | "printedSource" }?,
   attribute key { data.pointer }?,
   (
      text
    | model.gLike
    | tei_model.highlighted
    | tei_model.pPart.data
    | tei_model.pPart.edit
    | tei_model.segLike
    | tei_model.ptrLike
    | tei_model.biblPart
    | tei_model.global
   )*
}

<biblScope>

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

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

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

Example

      <biblScope>pp 12–34</biblScope>
      <biblScope unit="page" from="12" to="34"/>
      <biblScope unit="volume">II</biblScope>
      <biblScope unit="page">12</biblScope>
    
Content model <macroRef key="macro.phraseSeq"/>
Schema Declaration
element biblScope
{
   attribute n
   {
      "01"
    | "02"
    | "03"
    | "04"
    | "05"
    | "06"
    | "07"
    | "08"
    | "09"
    | "10"
    | "11"
    | "12"
    | "13"
    | "14"
    | "15"
    | "16"
    | "17"
    | "18"
    | "19"
    | "20"
    | "21"
    | "22"
    | "23"
    | "24"
    | "25"
    | "26"
    | "27"
    | "28"
    | "29"
    | "30"
   },
   attribute unit { "vol" },
   tei_macro.phraseSeq
}

<biblStruct>

<biblStruct> (structured bibliographic citation) contains a structured bibliographic citation, in which only bibliographic sub-elements appear and in a specified order. [3.12.1. Methods of Encoding Bibliographic References and Lists of References 2.2.7. The Source Description 16.3.2. Declarable Elements]
Modulecore —
Member of
Contained by
figures: cell figure
linking: ab
msdescription: msItem signatures
textcrit: lem rdg witness
textstructure: body div salute signed
transcr: supplied
May contain
Example

      <biblStruct>
        <monogr>
          <author>Blain, Virginia</author>
          <author>Clements, Patricia</author>
          <author>Grundy, Isobel</author>
          <title>The Feminist Companion to Literature in English: women writers from the middle ages
            to the present</title>
          <edition>first edition</edition>
          <imprint>
            <publisher>Yale University Press</publisher>
            <pubPlace>New Haven and London</pubPlace>
            <date>1990</date>
          </imprint>
        </monogr>
      </biblStruct>
    
Example

      <biblStruct type="newspaper">
        <analytic>
          <author>
            <forename>David</forename>
            <surname>Barstow</surname>
          </author>
          <author>
            <forename>Susanne</forename>
            <surname>Craig</surname>
          </author>
          <author>
            <forename>Russ</forename>
            <surname>Buettner</surname>
          </author>
          <title type="main">Trump Took Part in Suspect Schemes to Evade Tax Bills</title>
          <title type="sub">Behind the Myth of a Self-Made Billionaire, a Vast Inheritance From His Father</title>
        </analytic>
        <monogr>
          <title level="j">The New York Times</title>
          <imprint>
            <pubPlace>New York</pubPlace>
            <publisher>A. G. Sulzberger</publisher>
            <date when="2018-10-03">Wednesday, October 3, 2018</date>
          </imprint>
          <biblScope unit="volume">CLXVIII</biblScope>
          <biblScope unit="issue">58,104</biblScope>
          <biblScope unit="page">1</biblScope>
        </monogr>
      </biblStruct>
    
Schematron <sch:pattern is-a="declarable"> <sch:param name="tde" value="tei:biblStruct"/> </sch:pattern>
Content model <sequence minOccurs="1" maxOccurs="1"> <elementRef key="analytic" minOccurs="0" maxOccurs="unbounded"/> <sequence minOccurs="1" maxOccurs="unbounded"> <elementRef key="monogr"/> <elementRef key="series" minOccurs="0" maxOccurs="unbounded"/> </sequence> <alternate minOccurs="0" maxOccurs="unbounded"> <classRef key="model.noteLike"/> <classRef key="model.ptrLike"/> <elementRef key="relatedItem"/> <elementRef key="citedRange"/> </alternate> </sequence>
Schema Declaration
element biblStruct
{
   tei_att.canonical.attributes,
   tei_att.cmc.attributes,
   attribute xml:id { xsd:ID }?,
   (
      tei_analytic*,
      ( ( tei_monogr, series* )+ ),
      ( tei_model.noteLike | tei_model.ptrLike | tei_relatedItem | citedRange )*
   )
}

<body>

<body> (text body) contains the whole body of a single unitary text, excluding any front or back matter. [4. Default Text Structure]
Moduletextstructure —
Contained by
textstructure: text
May contain
figures: figure table
linking: ab
msdescription: msDesc
textstructure: closer div opener salute signed
transcr: space
Content model <sequence minOccurs="1" maxOccurs="1"> <classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/> <sequence minOccurs="0" maxOccurs="1"> <classRef key="model.divTop"/> <alternate minOccurs="0" maxOccurs="unbounded"> <classRef key="model.global"/> <classRef key="model.divTop"/> </alternate> </sequence> <sequence minOccurs="0" maxOccurs="1"> <classRef key="model.divGenLike"/> <alternate minOccurs="0" maxOccurs="unbounded"> <classRef key="model.global"/> <classRef key="model.divGenLike"/> </alternate> </sequence> <alternate minOccurs="1" maxOccurs="1"> <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 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> <alternate minOccurs="0" maxOccurs="1"> <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>
Schema Declaration
element body
{
   tei_model.global*,
   ( ( tei_model.divTop, ( tei_model.global | tei_model.divTop )* )? ),
   ( ( model.divGenLike, ( tei_model.global | model.divGenLike )* )? ),
   (
      ( ( tei_model.divLike, ( tei_model.global | model.divGenLike )* )+ )
    | ( ( model.div1Like, ( tei_model.global | model.divGenLike )* )+ )
    | (
         ( ( ( schemaSpec | tei_model.common ), tei_model.global* )+ ),
         (
            (
               ( tei_model.divLike, ( tei_model.global | model.divGenLike )* )+
            )
          | ( ( model.div1Like, ( tei_model.global | model.divGenLike )* )+ )
         )?
      )
   ),
   ( ( tei_model.divBottom, tei_model.global* )* )
}

<cb />

<cb /> (column beginning) marks the beginning of a new column of a text on a multi-column page. [3.11.3. Milestone Elements]
Modulecore —
Member of
Contained by
May containEmpty element
Note

On this element, the global @n attribute indicates the number or other value associated with the column which follows the point of insertion of this <cb> element. Encoders should adopt a clear and consistent policy as to whether the numbers associated with column beginnings relate to the physical sequence number of the column in the whole text, or whether columns are numbered within the page. The <cb> element is placed at the head of the column to which it refers.

Example

Markup of an early English dictionary printed in two columns:


      <pb/>
      <cb n="1"/>
      <entryFree><form>Well</form>, <sense>a Pit to hold Spring-Water</sense>:
                <sense>In the Art of <hi rend="italic">War</hi>, a Depth the Miner
                    sinks into the Ground, to find out and disappoint the Enemies Mines,
                    or to prepare one</sense>.</entryFree>
      <entryFree>To <form>Welter</form>, <sense>to wallow</sense>, or
                <sense>lie groveling</sense>.</entryFree>
      <!-- remainder of column -->
      <cb n="2"/>
      <entryFree><form>Wey</form>, <sense>the greatest Measure for dry Things,
                    containing five Chaldron</sense>.</entryFree>
      <entryFree><form>Whale</form>, <sense>the greatest of
                    Sea-Fishes</sense>.</entryFree>
    
Content model <empty/>
Schema Declaration
element cb { tei_att.cmc.attributes, empty }

<cell>

<cell> (cell) contains one cell of a table. [15.1.1. TEI Tables]
Modulefigures —
Contained by
figures: row
May contain
Example

      <row>
        <cell role="label">General conduct</cell>
        <cell role="data">Not satisfactory, on account of his great unpunctuality
                     and inattention to duties</cell>
      </row>
    
Content model <macroRef key="macro.specialPara"/>
Schema Declaration
element cell
{
   attribute rend
   {
      list
      {
         (
            "right"
          | "left"
          | "centre"
          | "borderAll"
          | "borderBottom"
          | "borderLeft"
          | "borderRight"
          | "borderSides"
          | "borderTop"
          | "vAlignTop"
          | "vAlignMiddle"
          | "vAlignBottom"
          | "width05"
          | "width10"
          | "width15"
          | "width20"
          | "width25"
          | "width30"
          | "width33"
          | "width35"
          | "width40"
          | "width45"
          | "width50"
          | "width55"
          | "width60"
          | "width65"
          | "width66"
          | "width70"
          | "width75"
          | "width80"
          | "width85"
          | "width90"
          | "width95"
          | "width100"
         )+
      }
   }?,
   attribute rows { teidata.count }?,
   attribute cols { teidata.count }?,
   tei_macro.specialPara
}

<change>

<change> (change) documents a change or set of changes made during the production of the electronic file. [2.6. The Revision Description 2.4.1. Creation 12.7. Identifying Changes and Revisions]
Moduleheader —
Contained by
header: revisionDesc
May contain
Note

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

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

Example

You should create a new <change> element with required @when attribute giving the date, and content giving a natural-language account of each significant revision. The person who made it goes in a <name> element with an @xml:id value that will be assigned by the senior editors when someone starts work, but is normally based on that person's first initial plus her or his surname, e.g. ‘mhawkins’, ‘lsmith’ or ‘sevans’.

Proofreading a file counts as a <change> even if the proofreader has not in fact made any changes to it since it records that the files has undergone a particular part of our editorial process.

If the @xml:id value of any of the people working on the document has previously been declared, subsequent occurrences of her or his <name> take a @sameAs value of # followed by the relevant string.


                               <change when="2015-10-02" status="draft">Transcribed by <name xml:id="mjhawkins">Michael Hawkins</name></change>
                               <change when="2015-10-12" status="proofed">Proofed by <name xml:id="lsmith">Liz Smith</name></change>
                               <change when="2015-10-15" status="released">Proofed by <name sameAs="#lsmith">Liz Smith</name></change>
                           
Content model <macroRef key="macro.specialPara"/>
Schema Declaration
element change
{
   attribute rend { list { teidata.word+ } }?,
   attribute when { teidata.temporal.w3c }?,
   attribute status
   {
      "approved"
    | "candidate"
    | "cleared"
    | "deprecated"
    | "draft"
    | "embargoed"
    | "expired"
    | "frozen"
    | "galley"
    | "proposed"
    | "published"
    | "recommendation"
    | "submitted"
    | "unfinished"
    | "withdrawn"
    | teidata.enumerated
   }?,
   attribute type { "footnotes" | "letter" | "translation" }?,
   tei_macro.specialPara
}

<choice>

<choice> (choice) groups a number of alternative encodings for the same point in a text. [3.5. Simple Editorial Changes]
Modulecore —
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 <alternate minOccurs="2" maxOccurs="unbounded"> <classRef key="model.choicePart"/> <elementRef key="choice"/> </alternate>
Schema Declaration
element choice
{
   tei_att.cmc.attributes,
   ( tei_model.choicePart | tei_choice ),
   ( tei_model.choicePart | tei_choice ),
   ( tei_model.choicePart | tei_choice )*
}

<closer>

<closer> (closer) groups together salutations, datelines, bylines, and similar phrases appearing as a final group at the end of a division, especially of a letter. [4.2.2. Openers and Closers 4.2. Elements Common to All Divisions]
Moduletextstructure —
Member of
Contained by
core: lg list
figures: figure table
textstructure: back body div
May contain
Example

      <div type="letter">
        <p> perhaps you will favour me with a sight of it when convenient.</p>
        <closer>
          <salute>I remain, &amp;c. &amp;c.</salute>
          <signed>H. Colburn</signed>
        </closer>
      </div>
    
Example

      <div type="chapter">
        <p><!-- ... --> and his heart was going like mad and yes I said yes I will Yes.</p>
        <closer>
          <dateline>
            <name type="place">Trieste-Zürich-Paris,</name>
            <date>1914–1921</date>
          </dateline>
        </closer>
      </div>
    
Content model <alternate minOccurs="0" maxOccurs="unbounded"> <textNode/> <classRef key="model.gLike"/> <elementRef key="byline"/> <elementRef key="signed"/> <elementRef key="dateline"/> <elementRef key="salute"/> <classRef key="model.phrase"/> <classRef key="model.global"/> </alternate>
Schema Declaration
element closer
{
   tei_att.cmc.attributes,
   (
      text
    | model.gLike
    | byline
    | tei_signed
    | dateline
    | tei_salute
    | tei_model.phrase
    | tei_model.global
   )*
}

<collection>

<collection> (collection) contains the name of a collection of manuscripts or other objects, not necessarily located within a single repository. [11.4. The Manuscript Identifier]
Modulemsdescription —
Contained by
May contain
Example

                               <msDesc>
                                   <msIdentifier>
                                       <repository key="../repo/repo_106.xml">CUL</repository>
                                       <collection>DAR</collection>
                                       <idno>204: 186</idno>
                                   </msIdentifier>
                               </msDesc>
                           
Content model <macroRef key="macro.phraseSeq.limited"/>
Schema Declaration
element collection { tei_macro.phraseSeq.limited }

<corr>

<corr> (correction) contains the correct form of a passage apparently erroneous in the copy text. [3.5.1. Apparent Errors]
Modulecore —
Member of
Contained by
May contain
Example

If all that is desired is to call attention to the fact that the copy text has been corrected, <corr> may be used alone:

I don't know,
      Juan. It's so far in the past now — how <corr>can we</corr> prove
      or disprove anyone's theories?
Example

It is also possible, using the <choice> and <sic> elements, to provide an uncorrected reading:

I don't know, Juan. It's so far in the past now —
      how <choice><sic>we can</sic><corr>can we</corr></choice> prove or
      disprove anyone's theories?
Content model <macroRef key="macro.paraContent"/>
Schema Declaration
element corr { tei_att.cmc.attributes, tei_macro.paraContent }

<correspAction>

<correspAction> (correspondence action) contains structured and regularised metadata regarding the correspondent's name, date and place of the sender or recipient of the letter [2.4.6. Correspondence Description]
Moduleheader —
Member of
Contained by
header: correspDesc
May contain
Note

Every record must have one /@type='sent'.

Example

                               <correspAction type="sent">
                                   <persName>Darwin, C. R.</persName>
                                   <placeName>Down</placeName>
                                   <date when="1862-11-24">24 <supplied resp="#mjhawkins">Nov 1862</supplied></date>
                               </correspAction>
                           
Example

                               <correspAction type="received">
                                   <persName>Hooker, J. D.</persName>
                               </correspAction>
                           
Content model <alternate minOccurs="1" maxOccurs="1"> <classRef key="model.correspActionPart" minOccurs="1" maxOccurs="unbounded"/> <classRef key="model.pLike" minOccurs="1" maxOccurs="unbounded"/> </alternate>
Schema Declaration
element correspAction
{
   attribute type { "sent" | "received" },
   attribute subtype { teidata.enumerated }?,
   ( tei_model.correspActionPart+ | tei_model.pLike+ )
}

<correspDesc>

<correspDesc> (correspondence description) contains the regularised metadata regarding the sending and receipt of the letter. [2.4.6. Correspondence Description]
Moduleheader —
Member of
Contained by
header: profileDesc
May contain
core: note p
linking: ab
Example

                               <correspDesc>
                                   <correspAction type="sent">
                                       <persName>Darwin, C. R.</persName>
                                       <placeName>Down</placeName>
                                       <date when="1862-11-24">24 Nov 1862</date>
                                   </correspAction>
                                   <correspAction type="received">
                                       <persName>Hooker, J. D.</persName>
                                   </correspAction>
                               </correspDesc>
                           
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:correspDesc"> <assert test="count(./tei:correspAction[@type='sent']) eq 1">ERROR: There must be a correspAction/@type='sent' in a letter</assert> </rule>
Schematron <sch:pattern is-a="declarable"> <sch:param name="tde" value="tei:correspDesc"/> </sch:pattern>
Content model <alternate minOccurs="1" maxOccurs="1"> <classRef key="model.correspDescPart" minOccurs="1" maxOccurs="unbounded"/> <classRef key="model.pLike" minOccurs="1" maxOccurs="unbounded"/> </alternate>
Schema Declaration
element correspDesc { tei_model.correspDescPart+ | tei_model.pLike+ }

<country>

<country> (country) contains the name of a geo-political unit, such as a nation, country, colony, or commonwealth, larger than or administratively superior to a region and smaller than a bloc. [14.2.3. Place Names]
Modulenamesdates —
Member of
Contained by
May contain
Note

The recommended source for codes to represent coded country names is ISO 3166.

Example

      <country key="DK">Denmark</country>
    
Content model <macroRef key="macro.phraseSeq"/>
Schema Declaration
element country { tei_att.cmc.attributes, tei_macro.phraseSeq }

<date>

<date> (date) records a date or date range. [3.6.4. Dates and Times 2.2.4. Publication, Distribution, Licensing, etc. 2.6. The Revision Description 3.12.2.4. Imprint, Size of a Document, and Reprint Information 16.2.3. The Setting Description 14.4. Dates]
Modulecore —
Member of
Contained by
May contain
Note

Pay careful attention when entering values into @notBefore and/or @notAfter since they will sometimes differ from the natural language date by +/- one day when the natural language form of the date employs exclusive reckoning whereas the TEI attributes @notBefore and @notAfter employ inclusive reckoning. Exclusive reckonings of dates, for example, are 'after 6 July 1870' (i.e. the earliest date it could have been written is 5 July 1870) or 'before 6 July 1870' (the latest date it could have been written is 5 July 1870). In both cases, 6 July 1870 is not a valid date that the document could have been written. Inclusive reckonings include the date mentioned. Therefore, if you say something was written @notBefore ‘06-07-1870’, you are saying that the document was written on 6 July 1870 or later. Similarly, notAfter ‘06-07-1870’ means that the document was written on or before 6 July 1870. The key when coding date ranges is to carefully consider what the earliest and latest possible date the letter could have been written on and to use those values in @notBefore and @notAfter.

For more information on coding dates, see Appendix I: Correspondence Dates.

<date> also appears within <publicationStmt>. There, all that is required is to put the publication year of the Darwin volume into @when.

Note

All Julian dates should be converted to their Gregorian values before placing them into @when, @notBefore, or @notAfter.

Example

                               <date when="1875-12-26">26 Dec 1875</date>
                           
Example

                               <date notBefore="1875-12-26" notAfter="1875-12-29">[27-9] Dec 1875</date>
                           
Example

                               <date notBefore="1875-12-28">after 27 Dec 1875</date>
                           
Example

                               <date notAfter="1875-12-26">before 27 Dec 1875</date>
                           
Example

This example means ‘either 1 or 2 February 1861’.


                               <date when="1861-02-01" xml:id="date1" exclude="#date2"/>
                               <date when="1861-02-02" xml:id="date2" exclude="#date1"/>
                           
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:date"> <let name="current_date" value="."/> <let name="context" value="//ancestor::*[local-name()=('correspDesc','birth','death','event')][1]/local-name()"/> <let name="all_dates" value="$current_date//ancestor::*[local-name()=$context]//tei:date"/> <report test="normalize-space(@exclude) != '' and count(tokenize(@exclude,'\s+')[.=$all_dates[not(@xml:id=$current_date/@xml:id)]/concat('#',@xml:id)]) != count(tokenize(@exclude,'\s+'))">ERROR: <name/>@exclude value(s) (<value-of select="tokenize(@exclude,'\s+')[not(.=$all_dates[not(@xml:id=$current_date/@xml:id)]/concat('#',@xml:id))]"/>) does not point to <value-of select="$context"/>//date/@xml:id</report> </rule>
Schematron <report xmlns="http://purl.oclc.org/dsdl/schematron" test="@exclude and normalize-space(@exclude) != '' and tokenize(@exclude,'\s+')=concat('#',@xml:id)">ERROR: <name/>@exclude value (<value-of select="concat('#',@xml:id)"/>) points to same element as itself</report>
Schematron <report xmlns="http://purl.oclc.org/dsdl/schematron" test="@exclude and normalize-space(@exclude) != '' and not(@xml:id)">ERROR: <name/> needs @xml:id</report>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:date[@xml:id]"> <let name="elem" value="."/> <let name="tei_root" value="ancestor::tei:TEI"/> <assert test="concat('#',$elem/@xml:id) = ($tei_root/tei:teiHeader//tei:date/@sameAs,$tei_root/tei:teiHeader//tei:date/tokenize(@exclude,'\s+'))">ERROR: <name/>@xml:id must be the target of date@exclude or date@sameAs</assert> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:date[@sameAs]"> <let name="elem" value="."/> <let name="tei_root" value="ancestor::tei:TEI"/> <assert test="@sameAs = ($tei_root/tei:teiHeader//tei:date|$tei_root/tei:text//tei:rs[@type='date'])/concat('#',@xml:id)">ERROR: <name/>@sameAs must point to date@xml:id</assert> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:date"> <let name="current_date" value="."/> <let name="context" value="//ancestor::*[local-name()=('correspDesc','birth','death','event')][1]/local-name()"/> <let name="all_dates" value="$current_date//ancestor::*[local-name()=$context]//tei:date"/> <report test="@exclude and not(concat('#',@xml:id) = $all_dates/tokenize(@exclude,'\s+'))">ERROR: <name/> is not the target of any @exclude</report> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:date"> <let name="current_date" value="."/> <let name="context" value="//ancestor::*[local-name()=('correspDesc','birth','death','event')][1]/local-name()"/> <let name="all_dates" value="$current_date//ancestor::*[local-name()=$context]//tei:date"/> <report test="@exclude and normalize-space(@exclude)!='' and count( tokenize(@exclude,'\s+')[.= $all_dates/concat('#',@xml:id)]) != count($all_dates[@xml:id])-1">ERROR: <name/> does not link to (<value-of select="$all_dates[not(@xml:id=$current_date/@xml:id)]/concat('#',@xml:id)[not(.=tokenize($current_date/@exclude,'\s+'))]"/>)</report> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:date"> <let name="current_date" value="."/> <let name="context" value="//ancestor::*[local-name()=('correspDesc','birth','death','event')][1]/local-name()"/> <let name="all_dates" value="$current_date//ancestor::*[local-name()=$context]//tei:date"/> <report test="normalize-space(@xml:id)!='' and count($all_dates[tokenize(@exclude,'\s+') = $current_date/concat('#',@xml:id)]) != count($all_dates[not(@xml:id=$current_date/@xml:id)])">ERROR: <name/> is not the target of all the other <value-of select="$context"/>//date@exclude</report> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:date[@notBefore[. castable as xs:date or . castable as xs:gYearMonth or . castable as xs:gYear] and @notAfter[. castable as xs:date or . castable as xs:gYearMonth or . castable as xs:gYear]]"> <assert test="xs:date(string-join((tokenize(@notAfter,'-'),'01','01')[position() le 3],'-')) gt xs:date(string-join((tokenize(@notBefore,'-'),'01','01')[position() le 3],'-'))">ERROR: <name/>@notBefore must be less than @notAfter</assert> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:date[@to[. castable as xs:date or . castable as xs:gYearMonth or . castable as xs:gYear] and @from[. castable as xs:date or . castable as xs:gYearMonth or . castable as xs:gYear]]"> <assert test="xs:date(string-join((tokenize(@to,'-'),'01','01')[position() le 3],'-')) gt xs:date(string-join((tokenize(@from,'-'),'01','01')[position() le 3],'-'))">ERROR: <name/>@from must be less than @to</assert> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:date[@notBefore-custom|@notAfter-custom|@when-custom]"> <report test="count((@notBefore-custom|@notAfter-custom|@when-custom)[not(. castable as xs:dateTime)])&gt;0">ERROR: <name/>@<value-of select="(@notBefore-custom|@notAfter-custom|@when-custom)[not(. castable as xs:dateTime)]/local-name()"/> is not a valid dateTime value</report> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:date[@when][ancestor::tei:correspDesc]"> <assert test="@when castable as xs:date">ERROR: <name/>@when is not a valid date (yyyy-mm-dd)</assert> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:date[@notBefore][ancestor::tei:correspDesc]"> <assert test="@notBefore castable as xs:date">ERROR: <name/>@notBefore is not a valid date (yyyy-mm-dd)</assert> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:date[@notAfter][ancestor::tei:correspDesc]"> <assert test="@notAfter castable as xs:date">ERROR: <name/>@notAfter is not a valid date (yyyy-mm-dd)</assert> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:date[(@from|@to|@notAfter|@notBefore)]"> <report test="(@from|@to|@notAfter|@notBefore)[normalize-space()][not(matches(.,'^\d\d\d\d(-(0[1-9]|1[012])|-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01]))*$'))]">ERROR: <name/>@<value-of select="(@from|@to|@notAfter|@notBefore)[not(. castable as xs:date)]/local-name()"/> is not a valid date (yyyy-mm-dd, yyyy-mm, yyyy)</report> <report test="(@from|@to|@notAfter|@notBefore)[normalize-space()][matches(.,'^\d\d\d\d-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])*$')][not(. castable as xs:date)]">ERROR: <name/>@<value-of select="(@from|@to|@notAfter|@notBefore)[normalize-space()][matches(.,'^\d\d\d\d-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])*$')][not(. castable as xs:date)]/local-name()"/> is not castable as a valid date (yyyy-mm-dd, yyyy-mm, yyyy)</report> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:date[ancestor::tei:correspDesc]"> <let name="exception_dates" value="()"/> <report test="(@from|@to|@notAfter|@notBefore|@when|@notBefore-custom|@notAfter-custom|@when-custom)[number(tokenize(.,'-')[1]) &lt; 1700 or number(tokenize(.,'-')[1]) &gt;1910][not(local-name() = 'notBefore' and . = $exception_dates)]">ERROR: <name/>@<value-of select="(@from|@to|@notAfter|@notBefore|@when|@notBefore-custom|@notAfter-custom|@when-custom)[number(tokenize(.,'-')[1]) &lt; 1700 or number(tokenize(.,'-')[1]) &gt;1910]/name()"/> is out of range. Expected year values should be 1700-1910</report> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:date[ancestor::tei:correspAction|parent::tei:publicationStmt][not(ancestor::tei:teiHeader//tei:change[@status='cancelled'])]"> <report test="count((@when,@when-custom,@notBefore,@notBefore-custom,@notAfter,@notAfter-custom)) = 0">ERROR: <name/> needs a datable attribute</report> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:date[not(ancestor::tei:correspAction|parent::tei:publicationStmt)]"> <report test="count((@when,@when-custom,@notBefore,@notBefore-custom,@notAfter,@notAfter-custom)) &gt; 0">ERROR: <name/> This date should NOT have any datable attributes</report> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:date[ancestor::tei:correspAction|parent::tei:publicationStmt][not(ancestor::tei:teiHeader//tei:change[@status='cancelled'])][@notBefore|@notAfter]"> <let name="context-elem" value="."/> <report test="(@notBefore and not(@notAfter)) or (@notAfter and not(@notBefore))">ERROR: <name/> with @<value-of select="(@notBefore|@notAfter)/local-name()"/> needs @<value-of select="('notBefore','notAfter')[not(.=$context-elem/(@notBefore|@notAfter)/local-name())]"/> </report> </rule>
Content model <alternate minOccurs="0" maxOccurs="unbounded"> <textNode/> <classRef key="model.gLike"/> <classRef key="model.phrase"/> <classRef key="model.global"/> </alternate>
Schema Declaration
element date
{
   tei_att.cmc.attributes,
   attribute xml:id { xsd:ID }?,
   attribute exclude { list { teidata.pointer+ } }?,
   attribute when { teidata.temporal.w3c }?,
   attribute notBefore { teidata.temporal.w3c }?,
   attribute notAfter { teidata.temporal.w3c }?,
   ( text | model.gLike | tei_model.phrase | tei_model.global )*
}

<del>

<del> (deletion) contains a letter, word, or passage deleted, marked as deleted, or otherwise indicated as superfluous or spurious in the copy text by an author, scribe, or a previous annotator or corrector. [3.5.3. Additions, Deletions, and Omissions]
Modulecore —
Member of
Contained by
May contain
Note

This element should be used for deletion of shorter sequences of text, typically single words or phrases. The <delSpan> element should be used for longer sequences of text, for those containing structural subdivisions, and for those containing overlapping additions and deletions.

The text deleted must be at least partially legible in order for the encoder to be able to transcribe it (unless it is restored in a <supplied> tag). Illegible or lost text within a deletion may be marked using the <gap> tag to signal that text is present but has not been transcribed, or is no longer visible. Attributes on the <gap> element may be used to indicate how much text is omitted, the reason for omitting it, etc. If text is not fully legible, the <unclear> element (available when using the additional tagset for transcription of primary sources) should be used to signal the areas of text which cannot be read with confidence in a similar way.

Degrees of uncertainty over what can still be read, or whether a deletion was intended may be indicated by use of the <certainty> element (see 22. Certainty, Precision, and Responsibility).

There is a clear distinction in the TEI between <del> and <surplus> on the one hand and <gap> or <unclear> on the other. <del> indicates a deletion present in the source being transcribed, which states the author's or a later scribe's intent to cancel or remove text. <surplus> indicates material present in the source being transcribed which should have been so deleted, but which is not in fact. <gap> or <unclear>, by contrast, signal an editor's or encoder's decision to omit something or their inability to read the source text. See sections 12.3.1.7. Text Omitted from or Supplied in the Transcription and 12.3.3.2. Use of the gap, del, damage, unclear, and supplied Elements in Combination for the relationship between these and other related elements used in detailed transcription.

Example

      <l><del rend="overtyped">Mein</del> Frisch <del rend="overstrike" type="primary">schwebt</del>
        weht der Wind</l>
    
Example

      <del rend="overstrike">
        <gap reason="illegible" quantity="5" unit="character"/>
      </del>
    
Content model <macroRef key="macro.paraContent"/>
Schema Declaration
element del
{
   tei_att.cmc.attributes,
   attribute type { teidata.enumerated }?,
   tei_macro.paraContent
}

<div>

<div> (text division) contains either the whole of a text or a subdivision of it. [4.1. Divisions of the Body]
Moduletextstructure —
Member of
Contained by
textcrit: lem rdg
textstructure: back body div
May contain
figures: figure table
linking: ab
msdescription: msDesc
textstructure: closer div opener salute signed
transcr: space
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 <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:div[@type]"> <report test="@type=('footnotes','letter','translation') and not(parent::tei:body)">ERROR: <value-of select="@type"/> div must be a child of body</report> <report test="@type=('cdnotes', 'annotations', 'tnotes') and not(parent::tei:div[@type='letter'])">ERROR: <value-of select="@type"/> div must be a child of div/@type=letter</report> <report test="@type=('enclosure','text') and not(parent::tei:div[@type=('letter','translation')])">ERROR: <value-of select="@type"/> div must be a child of either div/@type=letter or translation</report> <report test="@type=('transcription') and not(parent::tei:div[@type=('text','translation', 'enclosure')])">ERROR: <value-of select="@type"/> div must be a child of either div/@type=text, translation or enclosure</report> </rule>
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 <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>
Schema Declaration
element div
{
   tei_att.placement.attributes,
   attribute xml:id { xsd:ID }?,
   attribute n { teidata.text }?,
   attribute type
   {
      "annotations"
    | "cdnotes"
    | "enclosure"
    | "footnotes"
    | "letter"
    | "text"
    | "tnotes"
    | "transcription"
    | "translation"
   }?,
   attribute subtype { "letter" | "other" | "translation" }?,
   attribute hand { teidata.pointer }?,
   (
      ( tei_model.divTop | tei_model.global )*,
      (
         (
            (
               (
                  (
                     ( tei_model.divLike | model.divGenLike ),
                     tei_model.global*
                  )+
               )
             | (
                  ( ( ( schemaSpec | tei_model.common ), tei_model.global* )+ ),
                  (
                     (
                        ( tei_model.divLike | model.divGenLike ),
                        tei_model.global*
                     )*
                  )
               )
            ),
            ( ( tei_model.divBottom, tei_model.global* )* )
         )?
      )
   )
}

<edition>

<edition> (edition) describes the particularities of one edition of a text. [2.2.2. The Edition Statement]
Moduleheader —
Member of
Contained by
core: bibl monogr
header: editionStmt
May contain
Example

      <edition>First edition <date>Oct 1990</date>
         </edition>
      <edition n="S2">Students' edition</edition>
    
Content model <macroRef key="macro.phraseSeq"/>
Schema Declaration
element edition { tei_att.global.attributes, tei_macro.phraseSeq }

<editionStmt>

<editionStmt> (edition statement) groups information relating to one edition of a text. [2.2.2. The Edition Statement 2.2. The File Description]
Moduleheader —
Contained by
header: fileDesc
May contain
header: edition funder
linking: ab
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 <alternate> <classRef key="model.pLike" minOccurs="1" maxOccurs="unbounded"/> <sequence> <elementRef key="edition"/> <classRef key="model.respLike" minOccurs="0" maxOccurs="unbounded"/> </sequence> </alternate>
Schema Declaration
element editionStmt
{
   tei_att.global.attributes,
   ( tei_model.pLike+ | ( tei_edition, tei_model.respLike* ) )
}

<editorialDecl>

<editorialDecl> (editorial practice declaration) provides details of editorial principles and practices applied during the encoding of a text. [2.3.3. The Editorial Practices Declaration 2.3. The Encoding Description 16.3.2. Declarable Elements]
Moduleheader —
Member of
Contained by
header: encodingDesc
May contain
core: p
linking: ab
Note

A declaration of editorial principles and practices that is visible to the reader.

NB: The contents of this tag appear underneath the letter transcription in Epsilon.

Example

                               <editorialDecl>
                                   <p>This transcript was produced as a side-product of thesis research and may not have been subject to the extensive proofreading of a published critical edition.</p>
                               </editorialDecl>
                           
Schematron <sch:pattern is-a="declarable"> <sch:param name="tde" value="tei:editorialDecl"/> </sch:pattern>
Content model <alternate minOccurs="1" maxOccurs="unbounded"> <classRef key="model.pLike"/> <classRef key="model.editorialDeclPart"/> </alternate>
Schema Declaration
element editorialDecl { ( tei_model.pLike | model.editorialDeclPart )+ }

<encodingDesc>

<encodingDesc> (encoding description) documents the relationship between an electronic text and the source or sources from which it was derived. [2.3. The Encoding Description 2.1.1. The TEI Header and Its Components]
Moduleheader —
Member of
Contained by
header: teiHeader
May contain
core: p
linking: ab
textcrit: variantEncoding
Example

                               <encodingDesc>
                                   <ab type="transcription_quality">Draft transcription</ab>
                                   <editorialDecl>
                                       <p>This transcript was produced as a side-product of the work of the <ref target="https://www.darwinproject.ac.uk/">Darwin Correspondence Project</ref> and may not have been proofread to the DCP’s usual standards.</p>
                                   </editorialDecl>
                               </encodingDesc>
                           
Content model <alternate minOccurs="1" maxOccurs="unbounded"> <classRef key="model.encodingDescPart"/> <classRef key="model.pLike"/> </alternate>
Schema Declaration
element encodingDesc { ( tei_model.encodingDescPart | tei_model.pLike )+ }

<ex>

<ex> (editorial expansion) contains a sequence of letters added by an editor or transcriber when expanding an abbreviation. [12.3.1.2. Abbreviation and Expansion]
Moduletranscr —
Member of
Contained by
May containCharacter data only
Example
The address is Southmoor <choice><expan>R<ex>oa</ex>d</expan><abbr>Rd</abbr></choice>
      
Content model <macroRef key="macro.xtext"/>
Schema Declaration
element ex { tei_macro.xtext }

<expan>

<expan> (expansion) contains the expansion of an abbreviation. [3.6.5. Abbreviations and Their Expansions]
Modulecore —
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 <macroRef key="macro.phraseSeq"/>
Schema Declaration
element expan { tei_att.cmc.attributes, tei_macro.phraseSeq }

<extent>

<extent> (extent) describes the approximate size of a text stored on some carrier medium or of some other object, digital or non-digital, specified in any convenient units. [2.2.3. Type and Extent of File 2.2. The File Description 3.12.2.4. Imprint, Size of a Document, and Reprint Information 11.7.1. Object Description]
Moduleheader —
Member of
Contained by
core: bibl monogr
header: fileDesc
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 <macroRef key="macro.phraseSeq"/>
Schema Declaration
element extent { tei_att.global.attributes, tei_macro.phraseSeq }

<facsimile>

<facsimile> contains a representation of some written source in the form of a set of images rather than as transcribed or encoded text. [12.1. Digital Facsimiles]
Moduletranscr —
Member of
Contained by
textstructure: TEI
transcr: facsimile
May contain
core: graphic
figures: formula
textstructure: back
Example

      <facsimile>
        <graphic url="page1.png"/>
        <surface>
          <graphic url="page2-highRes.png"/>
          <graphic url="page2-lowRes.png"/>
        </surface>
        <graphic url="page3.png"/>
        <graphic url="page4.png"/>
      </facsimile>
    
Example

      <facsimile>
        <surface ulx="0" uly="0" lrx="200" lry="300">
          <graphic url="Bovelles-49r.png"/>
        </surface>
      </facsimile>
    
Schematron <sch:rule context="tei:facsimile//tei:line | tei:facsimile//tei:zone"> <sch:report test="child::text()[ normalize-space(.) ne '']"> A facsimile element represents a text with images, thus transcribed text should not be present within it. </sch:report> </sch:rule>
Content model <sequence> <elementRef key="front" minOccurs="0"/> <alternate> <alternate minOccurs="1" maxOccurs="unbounded"> <classRef key="model.graphicLike"/> <elementRef key="surface"/> <elementRef key="surfaceGrp"/> </alternate> <elementRef key="facsimile" minOccurs="1" maxOccurs="unbounded"/> </alternate> <elementRef key="back" minOccurs="0"/> </sequence>
Schema Declaration
element facsimile
{
   tei_att.global.attributes,
   tei_att.declaring.attributes,
   (
      front?,
      (
         ( tei_model.graphicLike | tei_surface | surfaceGrp )+
       | tei_facsimile+
      ),
      tei_back?
   )
}

<figure>

<figure> (figure) groups elements representing or containing graphic information such as an illustration, formula, or figure. [15.4. Specific Elements for Graphic Images]
Modulefigures —
Member of
Contained by
May contain
linking: ab
msdescription: msDesc
textstructure: closer salute signed
transcr: space
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 <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>
Schema Declaration
element figure
{
   tei_att.cmc.attributes,
   attribute rend
   {
      list
      {
         (
            "floatRight"
          | "floatLeft"
          | "blockCentred"
          | "inline"
          | "width05"
          | "width10"
          | "width15"
          | "width20"
          | "width25"
          | "width30"
          | "width33"
          | "width35"
          | "width40"
          | "width45"
          | "width50"
          | "width55"
          | "width60"
          | "width65"
          | "width66"
          | "width70"
          | "width75"
          | "width80"
          | "width85"
          | "width90"
          | "width95"
          | "width100"
         )+
      }
   }?,
   (
      tei_model.headLike
    | tei_model.common
    | figDesc
    | tei_model.graphicLike
    | tei_model.global
    | tei_model.divBottom
   )*
}

<fileDesc>

<fileDesc> (file description) contains information about the electronic file and the physical letter’s source(s). [2.2. The File Description 2.1.1. The TEI Header and Its Components]
Moduleheader —
Contained by
header: teiHeader
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>From Wilhelm Pfeffer   6 November 1881</title>
                                   </titleStmt>
                                   <publicationStmt>
                                       <!-- -->
                                   </publicationStmt>
                                   <notesStmt>
                                       <!-- -->
                                   </notesStmt>
                                   <sourceDesc>
                                       <!-- -->
                                   </sourceDesc>
                               </fileDesc>
                           
Content model <sequence minOccurs="1" maxOccurs="1"> <sequence minOccurs="1" maxOccurs="1"> <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>
Schema Declaration
element fileDesc
{
   (
      tei_titleStmt,
      tei_editionStmt?,
      tei_extent?,
      tei_publicationStmt,
      tei_seriesStmt*,
      tei_notesStmt?
   ),
   tei_sourceDesc+
}

<foreign>

<foreign> (foreign) identifies a word or phrase as belonging to some language other than that of the surrounding text. [3.3.2.1. Foreign Words or Expressions]
Modulecore —
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 <macroRef key="macro.phraseSeq"/>
Schema Declaration
element foreign
{
   tei_att.cmc.attributes,
   attribute xml:lang { teidata.language }?,
   tei_macro.phraseSeq
}

<forename>

<forename> (forename) contains a forename, given or baptismal name. [14.2.1. Personal Names]
Modulenamesdates —
Member of
Contained by
May contain
Example

      <persName>
        <roleName>Ex-President</roleName>
        <forename>George</forename>
        <surname>Bush</surname>
      </persName>
    
Content model <macroRef key="macro.phraseSeq"/>
Schema Declaration
element forename
{
   tei_att.cmc.attributes,
   attribute full { "yes" | "abb" | "init" }?,
   tei_macro.phraseSeq
}

<formula>

<formula> (formula) contains a mathematical or other formula. [15.2. Formulæ and Mathematical Expressions]
Modulefigures —
Member of
Contained by
May containEmpty element
Example

      <formula notation="tex">$E=mc^2$</formula>
    
Example

      <formula notation="none">E=mc<hi rend="sup">2</hi>
         </formula>
    
Example

      <formula notation="mathml">
        <math xmlns="http://www.w3.org/1998/Math/MathML">
          <mi>E</mi>
          <mo>=</mo>
          <mi>m</mi>
          <msup>
            <mrow>
              <mi>c</mi>
            </mrow>
            <mrow>
              <mn>2</mn>
            </mrow>
          </msup>
        </math>
      </formula>
    
Content model <ref xmlns="http://relaxng.org/ns/structure/1.0" name="mathml.math"/>
Schema Declaration
element formula { tei_att.cmc.attributes, mathml.math }

<funder>

<funder> (funding body) specifies the name of an individual, institution, or organization responsible for the funding of a project or text. [2.2.1. The Title Statement]
Moduleheader —
Member of
Contained by
core: bibl monogr
msdescription: msItem
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 <macroRef key="macro.phraseSeq.limited"/>
Schema Declaration
element funder { tei_macro.phraseSeq.limited }

<gap>

<gap> (gap) indicates a point where material has been omitted in a transcription, whether for editorial reasons described in the TEI header, as part of sampling practice, or because the material is illegible, invisible, or inaudible. [3.5.3. Additions, Deletions, and Omissions]
Modulecore —
Member of
Contained by
May containEmpty element
Note

The <gap>, <unclear>, and <del> core tag elements may be closely allied in use with the <damage> and <supplied> elements, available when using the additional tagset for transcription of primary sources. See section 12.3.3.2. Use of the gap, del, damage, unclear, and supplied Elements in Combination for discussion of which element is appropriate for which circumstance.

The <gap> tag simply signals the editors decision to omit or inability to transcribe a span of text. Other information, such as the interpretation that text was deliberately erased or covered, should be indicated using the relevant tags, such as <del> in the case of deliberate deletion.

Example

      <gap quantity="4" unit="chars" reason="illegible"/>
    
Example

      <gap quantity="1" unit="essay" reason="sampling"/>
    
Example

      <del>
        <gap atLeast="4" atMost="8" unit="chars" reason="illegible"/>
      </del>
    
Example

      <gap extent="several lines" reason="lost"/>
    
Content model <alternate minOccurs="0" maxOccurs="unbounded"> <classRef key="model.descLike"/> <classRef key="model.certLike"/> </alternate>
Schema Declaration
element gap
{
   tei_att.global.attributes,
   tei_att.cmc.attributes,
   tei_att.dimensions.attributes,
   tei_att.editLike.attributes,
   tei_att.timed.attributes,
   attribute reason
   {
      list
      {
         (
            "cancelled"
          | "deleted"
          | "editorial"
          | "illegible"
          | "inaudible"
          | "irrelevant"
          | "sampling"
          | teidata.enumerated
         )+
      }
   }?,
   attribute agent { teidata.enumerated }?,
   ( model.descLike | model.certLike )*
}

<graphic>

<graphic> (graphic) indicates the location of a graphic or illustration. It must be placed within <figure> when used for images within the transcribed text. [3.10. Graphics and Other Non-textual Components 12.1. Digital Facsimiles]
Modulecore —
Member of
Contained by
May containEmpty element
Note

The block alignment and size of the image within the transcribed text are indicated with its parent <figure>.

Example

                               <figure rend="blockCentred width95">
                                   <graphic url="../images/DCP-LETT-9024-1.svg"/>
                               </figure>
                           
Content model <classRef key="model.descLike" minOccurs="0" maxOccurs="unbounded"/>
Schema Declaration
element graphic
{
   tei_att.cmc.attributes,
   attribute width { teidata.outputMeasurement }?,
   attribute height { teidata.outputMeasurement }?,
   attribute url { teidata.pointer },
   model.descLike*
}

<handNotes>

<handNotes> contains one or more <handNote> elements documenting the different hands identified within the source texts. [12.3.2.1. Document Hands]
Moduletranscr —
Member of
Contained by
header: profileDesc
May containEmpty element
Example

      <handNotes>
        <handNote xml:id="H1" script="copperplate" medium="brown-ink">Carefully written with regular descenders</handNote>
        <handNote xml:id="H2" script="print" medium="pencil">Unschooled scrawl</handNote>
      </handNotes>
    
Content model <elementRef key="handNote" minOccurs="1" maxOccurs="unbounded"/>
Schema Declaration
element handNotes { handNote+ }

<handShift />

<handShift /> (handwriting shift) marks the beginning of a sequence of text written in a new hand, or the beginning of a scribal stint. [12.3.2.1. Document Hands]
Moduletranscr —
Member of
Contained by
May containEmpty element
Note

The <handShift> element may be used either to denote a shift in the document hand (as from one scribe to another, on one writing style to another). Or, it may indicate a shift within a document hand, as a change of writing style, character or ink. Like other milestone elements, it should appear at the point of transition from some other state to the state which it describes.

Example

      <l>When wolde the cat dwelle in his ynne</l>
      <handShift medium="greenish-ink"/>
      <l>And if the cattes skynne be slyk <handShift medium="black-ink"/> and gaye</l>
    
Content model <empty/>
Schema Declaration
element handShift
{
   attribute scribe { teidata.name }?,
   attribute new { teidata.pointer }?,
   empty
}
<head> (heading) contains any type of heading, for example the title of a section, or the heading of a list, glossary, manuscript description, etc. [4.2.1. Headings and Trailers]
Modulecore —
Member of
Contained by
core: lg list
figures: figure table
msdescription: msDesc msPart
textcrit: listApp listWit
textstructure: back body div
May contain
Note

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

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 <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>
Schema Declaration
element head
{
   tei_att.cmc.attributes,
   attribute rend { list { ( "right" | "left" | "centre" )+ } }?,
   (
      text
    | tei_lg
    | model.gLike
    | tei_model.phrase
    | tei_model.inter
    | tei_model.lLike
    | tei_model.global
   )*
}

<hi>

<hi> (highlight) marks text that has been distinctively rendered in some way, e.g. underlined, italicised, superscript. [3.3.2.2. Emphatic Words and Phrases 3.3.2. Emphasis, Foreign Words, and Unusual Language]
Modulecore —
Member of
Contained by
May contain
Example

                               … is the enclosed the correct Title of the <hi rend="underline">Insectivorous Plants</hi>? … 
                           
Example

                               … The <hi rend="underline">No<hi rend="superscript">s</hi></hi> given in this list are the correct ones.…
                           
Content model <macroRef key="macro.paraContent"/>
Schema Declaration
element hi
{
   tei_att.cmc.attributes,
   attribute rend
   {
      list
      {
         (
            "superscript"
          | "subscript"
          | "underline"
          | "doubleUnderline"
          | "overline"
          | "italic"
          | "bold"
          | "large"
          | "larger"
          | "largest"
          | "small"
          | "smaller"
          | "smallest"
          | "dropCap"
          | "smallCaps"
          | "print"
          | "typeScript"
          | "stretchyVertical"
          | "stretchyHorizontal"
         )+
      }
   },
   tei_macro.paraContent
}

<idno>

<idno> (identifier) supplies any form of identifier used to identify some object, such as a bibliographic item, a person, a title, an organization, etc. in a standardized way. [14.3.1. Basic Principles 2.2.4. Publication, Distribution, Licensing, etc. 2.2.5. The Series Statement 3.12.2.4. Imprint, Size of a Document, and Reprint Information]
Moduleheader —
Member of
Contained by
May contain
header: idno
character data
Note

When placed within <msIdentifier>, <idno> specifies the shelfmark of the original manuscript/document.

Example

                               <idno>GSL/COM/P/4/2/49</idno>
                           
Content model <alternate minOccurs="0" maxOccurs="unbounded"> <textNode/> <classRef key="model.gLike"/> <elementRef key="idno"/> </alternate>
Schema Declaration
element idno
{
   tei_att.cmc.attributes,
   attribute type
   {
      "ISBN"
    | "ISSN"
    | "DOI"
    | "URI"
    | "VIAF"
    | "ESTC"
    | "OCLC"
    | teidata.enumerated
   }?,
   ( text | model.gLike | tei_idno )*
}

<imprint>

<imprint> groups information relating to the publication or distribution of a bibliographic item. [3.12.2.4. Imprint, Size of a Document, and Reprint Information]
Modulecore —
Contained by
core: monogr
May contain
Example

      <imprint>
        <pubPlace>Oxford</pubPlace>
        <publisher>Clarendon Press</publisher>
        <date>1987</date>
      </imprint>
    
Content model <sequence minOccurs="1" maxOccurs="1"> <alternate minOccurs="0" maxOccurs="unbounded"> <elementRef key="classCode"/> <elementRef key="catRef"/> </alternate> <sequence minOccurs="1" maxOccurs="unbounded"> <alternate minOccurs="1" maxOccurs="1"> <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>
Schema Declaration
element imprint
{
   ( classCode | catRef )*,
   (
      (
         ( tei_model.imprintPart | tei_model.dateLike ),
         tei_respStmt*,
         tei_model.global*
      )+
   )
}

<institution>

<institution> (institution) contains the name of an organization such as a university or library, with which a manuscript or other object is identified, generally its holding institution. [11.4. The Manuscript Identifier]
Modulemsdescription —
Contained by
May contain
Example

      <msIdentifier>
        <settlement>Oxford</settlement>
        <institution>University of Oxford</institution>
        <repository>Bodleian Library</repository>
        <idno>MS. Bodley 406</idno>
      </msIdentifier>
    
Content model <macroRef key="macro.phraseSeq.limited"/>
Schema Declaration
element institution { tei_macro.phraseSeq.limited }

<item>

<item> (item) contains an item within a <list>. [3.8. Lists 2.6. The Revision Description]
Modulecore —
Contained by
core: list
May contain
Note

May contain simple prose or a sequence of chunks.

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

Example

                               <list rend="ordered">
                                   <item>1. Scalpellum trilineatum— Chalk. Marl</item>
                                   <item>2) S. do <hi rend="underline">or</hi> S. fossula, upper Chalk</item>
                                   <item>3 S.——— fossula (?) Upper chalk</item>
                                   <item>Scalpellum maximum Upper Chalk</item>
                                   <item>4 S. lineatum of Lower Chalk <hi rend="underline">or</hi> var of S. arcuatum of Chalk Marl. 7 to</item>
                                   <item>5 many valves of Pollicipes glaber.</item>
                               </list>
                           
Content model <macroRef key="macro.specialPara"/>
Schema Declaration
element item
{
   attribute rend { list { teidata.word+ } }?,
   tei_macro.specialPara
}

<keywords>

<keywords> (keywords) contains a list of keywords or phrases identifying the topic or nature of a text. [2.4.3. The Text Classification]
Moduleheader —
Contained by
header: textClass
May contain
core: list term
Note

Each individual keyword (including compound subject headings) should be supplied as a <term> element directly within the <keywords> element. An alternative usage, in which each <term> appears within an <item> inside a <list> is permitted for backwards compatibility, but is deprecated.

If no control list exists for the keywords used, then no value should be supplied for the @scheme attribute.

Example

      <keywords scheme="http://classificationweb.net">
        <term>Babbage, Charles</term>
        <term>Mathematicians - Great Britain - Biography</term>
      </keywords>
    
Example

      <keywords>
        <term>Fermented beverages</term>
        <term>Central Andes</term>
        <term>Schinus molle</term>
        <term>Molle beer</term>
        <term>Indigenous peoples</term>
        <term>Ethnography</term>
        <term>Archaeology</term>
      </keywords>
    
Content model <alternate> <elementRef key="term" minOccurs="1" maxOccurs="unbounded"/> <elementRef key="list"/> </alternate>
Schema Declaration
element keywords
{
   tei_att.global.attributes,
   attribute scheme { teidata.pointer }?,
   ( tei_term+ | tei_list )
}

<l>

<l> (verse line) contains a single, possibly incomplete, line of verse. [3.13.1. Core Tags for Verse 3.13. Passages of Verse or Drama 7.2.5. Speech Contents]
Modulecore —
Member of
Contained by
figures: cell figure
header: change licence
linking: ab
msdescription: signatures
textcrit: lem rdg
textstructure: body div salute signed
transcr: supplied
May contain
Example

      <l met="x/x/x/x/x/" real="/xx/x/x/x/">Shall I compare thee to a summer's day?</l>
    
Schematron <sch:rule context="tei:l"> <sch:report test="ancestor::tei:l[not(.//tei:note//tei:l[. = current()])]">Abstract model violation: Lines may not contain lines or lg elements.</sch:report> </sch:rule>
Content model <alternate minOccurs="0" maxOccurs="unbounded"> <textNode/> <classRef key="model.gLike"/> <classRef key="model.phrase"/> <classRef key="model.inter"/> <classRef key="model.global"/> </alternate>
Schema Declaration
element l
{
   tei_att.cmc.attributes,
   attribute rend
   {
      list
      {
         (
            "right"
          | "left"
          | "centre"
          | "indent0"
          | "indent1"
          | "indent2"
          | "indent3"
          | "blockIndent"
          | "hangingIndent1"
          | "hangingIndent2"
          | "hangingIndent3"
          | "blockquote"
         )+
      }
   }?,
   (
      text
    | model.gLike
    | tei_model.phrase
    | tei_model.inter
    | tei_model.global
   )*
}

<lacunaEnd />

<lacunaEnd /> (lacuna end) indicates the end of a lacuna in a mostly complete textual witness. [13.1.5. Fragmentary Witnesses]
Moduletextcrit —
Member of
Contained by
textcrit: lem rdg
May containEmpty element
Example

      <rdg wit="#X"><lacunaEnd/>auctorite</rdg>
    
Content model <empty/>
Schema Declaration
element lacunaEnd
{
   tei_att.global.attributes,
   tei_att.rdgPart.attributes,
   empty
}

<lacunaStart />

<lacunaStart /> (lacuna start) indicates the beginning of a lacuna in the text of a mostly complete textual witness. [13.1.5. Fragmentary Witnesses]
Moduletextcrit —
Member of
Contained by
textcrit: lem rdg
May containEmpty element
Example

      <app>
        <lem wit="#El #Hg">Experience</lem>
        <rdg wit="#Ha4">Ex<g ref="#per"/>
               <lacunaStart/>
            </rdg>
      </app>
    
Content model <empty/>
Schema Declaration
element lacunaStart
{
   tei_att.global.attributes,
   tei_att.rdgPart.attributes,
   empty
}

<language>

<language> (language) characterizes a single language or sublanguage used within a text. [2.4.2. Language Usage]
Moduleheader —
Contained by
header: langUsage
May contain
Note

Particularly for sublanguages, an informal prose characterization should be supplied as content for the element.

Example

      <langUsage>
        <language ident="en-US" usage="75">modern American English</language>
        <language ident="az-Arab" usage="20">Azerbaijani in Arabic script</language>
        <language ident="x-lap" usage="05">Pig Latin</language>
      </langUsage>
    
Content model <macroRef key="macro.phraseSeq.limited"/>
Schema Declaration
element language
{
   tei_att.global.attributes,
   tei_att.scope.attributes,
   attribute ident { teidata.language },
   attribute usage { xsd:nonNegativeInteger }?,
   tei_macro.phraseSeq.limited
}

<langUsage>

<langUsage> (language usage) describes the languages, sublanguages, registers, dialects, etc. represented within a text. [2.4.2. Language Usage 2.4. The Profile Description 16.3.2. Declarable Elements]
Moduleheader —
Member of
Contained by
header: profileDesc
May contain
core: p
header: language
linking: ab
Example

      <langUsage>
        <language ident="fr-CA" usage="60">Québecois</language>
        <language ident="en-CA" usage="20">Canadian business English</language>
        <language ident="en-GB" usage="20">British English</language>
      </langUsage>
    
Schematron <sch:pattern is-a="declarable"> <sch:param name="tde" value="tei:langUsage"/> </sch:pattern>
Content model <alternate> <classRef key="model.pLike" minOccurs="1" maxOccurs="unbounded"/> <elementRef key="language" minOccurs="1" maxOccurs="unbounded"/> </alternate>
Schema Declaration
element langUsage
{
   tei_att.global.attributes,
   tei_att.declarable.attributes,
   ( tei_model.pLike+ | tei_language+ )
}

<lb />

<lb /> (line beginning) marks the beginning of a topographic line in some edition or version of a text. [3.11.3. Milestone Elements 7.2.5. Speech Contents]
Modulecore —
Member of
Contained by
May containEmpty element
Note

Where <lb> occurs between two words, one space should be left before it. Where it divides a single word, there should be no space on either side of it.

Example

                               <p>With much respect, I beg to remain <lb/> Your’s faithfully <lb/> Ch. Darwin <lb/> His Excellency <lb/> Sir G. Grey <lb/> &amp;amp;c &amp;amp;c &amp;amp;c</p>
                           
Content model <empty/>
Schema Declaration
element lb
{
   tei_att.cmc.attributes,
   attribute n { teidata.text }?,
   attribute rend
   {
      list
      {
         (
            "right"
          | "left"
          | "centre"
          | "indent0"
          | "indent1"
          | "indent2"
          | "indent3"
          | "blockIndent"
          | "hangingIndent1"
          | "hangingIndent2"
          | "hangingIndent3"
          | "blockquote"
         )+
      }
   }?,
   attribute type { teidata.enumerated }?,
   empty
}

<lem>

<lem> (lemma) contains the lemma, or base text, of a textual variation. [13.1. The Apparatus Entry, Readings, and Witnesses]
Moduletextcrit —
Contained by
textcrit: app rdgGrp
May contain
Note

The term lemma is used in text criticism to describe the reading given in the main text, which may be used as a heading in the apparatus itself. This usage connects it to mathematics (where a lemma is a proven proposition used as a step in a proof, a "given") and natural-language processing (where a lemma is the dictionary headword associated with an inflected form in the running text).

Example

      <app>
        <lem wit="#El #Hg">Experience</lem>
        <rdg wit="#La" type="substantive">Experiment</rdg>
        <rdg wit="#Ra2" type="substantive">Eryment</rdg>
      </app>
    
Content model <alternate minOccurs="0" maxOccurs="unbounded"> <textNode/> <classRef key="model.divLike"/> <classRef key="model.divPart"/> <elementRef key="titlePage"/> <elementRef key="argument"/> <elementRef key="byline"/> <elementRef key="docAuthor"/> <elementRef key="docDate"/> <elementRef key="docEdition"/> <elementRef key="docImprint"/> <elementRef key="docTitle"/> <elementRef key="epigraph"/> <elementRef key="imprimatur"/> <elementRef key="titlePart"/> <elementRef key="epilogue"/> <elementRef key="performance"/> <elementRef key="prologue"/> <elementRef key="set"/> <classRef key="model.gLike"/> <classRef key="model.phrase"/> <classRef key="model.inter"/> <classRef key="model.global"/> <classRef key="model.rdgPart"/> </alternate>
Schema Declaration
element lem
{
   tei_att.global.attributes,
   tei_att.textCritical.attributes,
   tei_att.witnessed.attributes,
   (
      text
    | tei_model.divLike
    | tei_model.divPart
    | titlePage
    | argument
    | byline
    | docAuthor
    | docDate
    | docEdition
    | docImprint
    | docTitle
    | epigraph
    | imprimatur
    | titlePart
    | epilogue
    | performance
    | prologue
    | set
    | model.gLike
    | tei_model.phrase
    | tei_model.inter
    | tei_model.global
    | tei_model.rdgPart
   )*
}

<lg>

<lg> (line group) contains one or more verse lines functioning as a formal unit, e.g. a stanza, refrain, verse paragraph, etc. [3.13.1. Core Tags for Verse 3.13. Passages of Verse or Drama 7.2.5. Speech Contents]
Modulecore —
Member of
Contained by
figures: cell figure
header: change licence
linking: ab
msdescription: signatures
textcrit: lem rdg
textstructure: body div salute signed
transcr: supplied
May contain
Note

contains verse lines or nested line groups only, possibly prefixed by a heading.

Example

                               <lg>
                                   <l>Now that his new book has come out,</l>
                                   <l>I find that dreadful man</l>
                                   <l>Is trying to heap on us</l>
                                   <l>Every insult that he can.</l>
                               </lg>
                           
Schematron <sch:rule context="tei:lg"> <sch:assert test="count(descendant::tei:lg|descendant::tei:l|descendant::tei:gap) &gt; 0">An lg element must contain at least one child l, lg, or gap element.</sch:assert> </sch:rule>
Schematron <sch:rule context="tei:lg"> <sch:report test="ancestor::tei:l[not(.//tei:note//tei:lg[. = current()])]">Abstract model violation: Lines may not contain line groups.</sch:report> </sch:rule>
Content model <sequence minOccurs="1" maxOccurs="1"> <alternate minOccurs="0" maxOccurs="unbounded"> <classRef key="model.divTop"/> <classRef key="model.global"/> </alternate> <alternate minOccurs="1" maxOccurs="1"> <classRef key="model.lLike"/> <classRef key="model.stageLike"/> <classRef key="model.labelLike"/> <classRef key="model.pPart.transcriptional"/> <elementRef key="lg"/> </alternate> <alternate minOccurs="0" maxOccurs="unbounded"> <classRef key="model.lLike"/> <classRef key="model.stageLike"/> <classRef key="model.labelLike"/> <classRef key="model.pPart.transcriptional"/> <classRef key="model.global"/> <elementRef key="lg"/> </alternate> <sequence minOccurs="0" maxOccurs="unbounded"> <classRef key="model.divBottom"/> <classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/> </sequence> </sequence>
Schema Declaration
element lg
{
   tei_att.cmc.attributes,
   (
      ( tei_model.divTop | tei_model.global )*,
      (
         tei_model.lLike
       | model.stageLike
       | model.labelLike
       | tei_model.pPart.transcriptional
       | tei_lg
      ),
      (
         tei_model.lLike
       | model.stageLike
       | model.labelLike
       | tei_model.pPart.transcriptional
       | tei_model.global
       | tei_lg
      )*,
      ( ( tei_model.divBottom, tei_model.global* )* )
   )
}

<licence>

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

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

Example

                               <licence target="http://creativecommons.org/licenses/by-nc/4.0/">This work is licensed under CC BY-NC 4.0. To view a copy of this license, visit <ref target="http://creativecommons.org/licenses/by-nc/4.0/">http://creativecommons.org/licenses/by-nc/4.0/</ref></licence>
                           
Content model <macroRef key="macro.specialPara"/>
Schema Declaration
element licence
{
   attribute target { list { teidata.pointer+ } }?,
   tei_macro.specialPara
}

<list>

<list> (list) contains any number of items organised as a list. [3.8. Lists]
Modulecore —
Member of
Contained by
May contain
figures: figure
textcrit: app witDetail
textstructure: closer opener salute signed
transcr: space
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 type="simple">
                                   <item>“intense cobalt Blue”</item>
                                   <item>“silver yellow”</item>
                                   <item>“deep copper red”</item>
                               </list>
                           
Example

                               <list rend="block">
                                   <item>1. Scalpellum trilineatum— Chalk. Marl</item>
                                   <item>2) S. do <hi rend="underline">or</hi> S. fossula, upper Chalk</item>
                                   <item>3 S.——— fossula (?) Upper chalk</item>
                                   <item>Scalpellum maximum Upper Chalk</item>
                                   <item>4 S. lineatum of Lower Chalk <hi rend="underline">or</hi> var of S. arcuatum of Chalk Marl. 7 to</item>
                                   <item>5 many valves of Pollicipes glaber.</item>
                               </list>
                           
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 <sequence minOccurs="1" maxOccurs="1"> <alternate minOccurs="0" maxOccurs="unbounded"> <classRef key="model.divTop"/> <classRef key="model.global"/> <elementRef key="desc" minOccurs="0" maxOccurs="unbounded"/> </alternate> <alternate minOccurs="1" maxOccurs="1"> <sequence minOccurs="1" maxOccurs="unbounded"> <elementRef key="item"/> <classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/> </sequence> <sequence minOccurs="1" maxOccurs="1"> <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>
Schema Declaration
element list
{
   tei_att.cmc.attributes,
   attribute rend { list { ( "bulleted" | "ordered" | "simple" )+ } }?,
   attribute type
   {
      "gloss"
    | "index"
    | "instructions"
    | "litany"
    | "syllogism"
    | teidata.enumerated
   }?,
   (
      ( tei_model.divTop | tei_model.global | desc* )*,
      (
         ( ( tei_item, tei_model.global* )+ )
       | (
            headLabel?,
            headItem?,
            ( ( label, tei_model.global*, tei_item, tei_model.global* )+ )
         )
      ),
      ( ( tei_model.divBottom, tei_model.global* )* )
   )
}

<listApp>

<listApp> (list of apparatus entries) contains a list of apparatus entries. [13.2. Linking the Apparatus to the Text]
Moduletextcrit —
Member of
Contained by
figures: cell figure
linking: ab
msdescription: signatures
textstructure: back body div salute signed
transcr: supplied
May contain
core: head
textcrit: app listApp
Note

<listApp> elements would normally be located in the <back> part of a document, but they may appear elsewhere.

Example

In the following example from the exegetical Yasna, the base text is encoded in the <body> of the document, and two separate <listApp> elements are used in the <back>, containing variant readings written in different scripts.


      <body>
        <div>
          <lg type="stanza" xml:id="Y-36.01" xml:lang="pal-Avst" rend="italic">
            <l xml:id="Y-36.01_L-1">
              <w xml:id="Y-36.01_L1_W-01">ahiiā</w>
              <w xml:id="Y-36.01_L1_W-02">ϑβā</w>
              <w xml:id="Y-36.01_L1_W-03">āϑrō</w>
              <w xml:id="Y-36.01_L1_W-04">vərəzə̄nā</w>
              <w xml:id="Y-36.01_L1_W-05">paouruiiē</w>
              <w xml:id="Y-36.01_L1_W-06">pairijasāmaiδē</w>
              <w xml:id="Y-36.01_L1_W-07">mazdā</w>
              <w xml:id="Y-36.01_L1_W-08">ahurā</w>
            </l>
            <!-- ... -->
          </lg>
        </div>
      </body>
      <!-- ... -->
      <back>
        <div>
          <listApp xml:id="CA_Y-36" xml:lang="pal-Avst">
            <head>Variants from witnesses in Avestan script</head>
            <app from="#Y-36.01_L1_W-01">
              <rdg wit="#Pt4 #F2 #J2 #M1">ahiiā</rdg>
            </app>
            <app from="#Y-36.01_L1_W-02">
              <rdg wit="#Pt4 #F2 #J2 #M1">ϑβā</rdg>
            </app>
            <app from="#Y-36.01_L1_W-03">
              <rdg wit="#Pt4 #J2 #M1">āϑrō</rdg>
              <rdg wit="#F2">āϑrōi</rdg>
            </app>
            <!-- ... -->
          </listApp>
          <listApp xml:id="CA_PY-36" xml:lang="pal-Phlv">
            <head>Variants from witnesses written in Pahlavi script</head>
            <app from="#PY-36.01_L1_W-01">
              <rdg wit="#Pt4 #F2 #J2 #M1">ʾytwnˈ</rdg>
            </app>
            <app from="#PY-36.01_L1_W-02">
              <rdg wit="#Pt4 #F2 #J2 #M1">ʾwˈ</rdg>
            </app>
            <app from="#PY-36.01_L1_W-03">
              <rdg wit="#Pt4 #F2 #J2 #M1">ḤNʾ</rdg>
            </app>
            <!-- ... -->
          </listApp>
        </div>
      </back>
    
Schematron <sch:pattern is-a="declarable"> <sch:param name="tde" value="tei:listApp"/> </sch:pattern>
Content model <sequence> <classRef key="model.headLike" minOccurs="0" maxOccurs="unbounded"/> <elementRef key="desc" minOccurs="0" maxOccurs="unbounded"/> <alternate minOccurs="1" maxOccurs="unbounded"> <elementRef key="app"/> <elementRef key="listApp"/> </alternate> </sequence>
Schema Declaration
element listApp
{
   tei_att.global.attributes,
   tei_att.declarable.attributes,
   tei_att.sortable.attributes,
   tei_att.typed.attributes,
   ( tei_model.headLike*, desc*, ( tei_app | tei_listApp )+ )
}

<listWit>

<listWit> (witness list) lists definitions for all the witnesses referred to by a critical apparatus, optionally grouped hierarchically. [13.1. The Apparatus Entry, Readings, and Witnesses]
Moduletextcrit —
Member of
Contained by
figures: cell figure
linking: ab
msdescription: signatures
textstructure: back body div salute signed
transcr: supplied
May contain
core: head
textcrit: listWit witness
Note

May contain a series of <witness> or <listWit> elements.

The provision of a <listWit> element simplifies the automatic processing of the apparatus, e.g. the reconstruction of the readings for all witnesses from an exhaustive apparatus.

Situations commonly arise where there are many more or less fragmentary witnesses, such that there may be quite distinct groups of witnesses for different parts of a text or collection of texts. Such groups may be given separately, or nested within a single <listWit> element at the beginning of the file listing all the witnesses, partial and complete, for the text, with the attestation of fragmentary witnesses indicated within the apparatus by use of the <witStart> and <witEnd> elements described in section 13.1.5. Fragmentary Witnesses.

Note however that a given witness can only be defined once, and can therefore only appear within a single <listWit> element.

Example

      <listWit>
        <witness xml:id="HL26">Ellesmere, Huntingdon Library 26.C.9</witness>
        <witness xml:id="PN392">Hengwrt, National Library of Wales,
   Aberystwyth, Peniarth 392D</witness>
        <witness xml:id="RP149">Bodleian Library Rawlinson Poetic 149
   (see further <ptr target="#MSRP149"/>)</witness>
      </listWit>
    
Content model <sequence> <classRef key="model.headLike" minOccurs="0"/> <elementRef key="desc" minOccurs="0" maxOccurs="unbounded"/> <alternate minOccurs="1" maxOccurs="unbounded"> <elementRef key="witness"/> <elementRef key="listWit"/> </alternate> </sequence>
Schema Declaration
element listWit
{
   tei_att.global.attributes,
   tei_att.sortable.attributes,
   ( tei_model.headLike?, desc*, ( tei_witness | tei_listWit )+ )
}

<monogr>

<monogr> (monographic level) contains bibliographic elements describing an item (e.g. a book or journal) published as an independent item (i.e. as a separate physical object). [3.12.2.1. Analytic, Monographic, and Series Levels]
Modulecore —
Contained by
May contain
Note

May contain specialized bibliographic elements, in a prescribed order.

The <monogr> element may only occur only within a <biblStruct>, where its use is mandatory for the description of a monographic-level bibliographic item.

Example

      <biblStruct>
        <analytic>
          <author>Chesnutt, David</author>
          <title>Historical Editions in the States</title>
        </analytic>
        <monogr>
          <title level="j">Computers and the Humanities</title>
          <imprint>
            <date when="1991-12">(December, 1991):</date>
          </imprint>
          <biblScope>25.6</biblScope>
          <biblScope unit="page" from="377" to="380">377–380</biblScope>
        </monogr>
      </biblStruct>
    
Example

      <biblStruct type="book">
        <monogr>
          <author>
            <persName>
              <forename>Leo Joachim</forename>
              <surname>Frachtenberg</surname>
            </persName>
          </author>
          <title type="main" level="m">Lower Umpqua Texts</title>
          <imprint>
            <pubPlace>New York</pubPlace>
            <publisher>Columbia University Press</publisher>
            <date>1914</date>
          </imprint>
        </monogr>
        <series>
          <title type="main" level="s">Columbia University Contributions to
                              Anthropology</title>
          <biblScope unit="volume">4</biblScope>
        </series>
      </biblStruct>
    
Content model <sequence minOccurs="1" maxOccurs="1"> <alternate minOccurs="0" maxOccurs="1"> <sequence minOccurs="1" maxOccurs="1"> <alternate minOccurs="1" maxOccurs="1"> <elementRef key="author"/> <elementRef key="editor"/> <elementRef key="meeting"/> <elementRef key="respStmt"/> </alternate> <alternate minOccurs="0" maxOccurs="unbounded"> <elementRef key="author"/> <elementRef key="editor"/> <elementRef key="meeting"/> <elementRef key="respStmt"/> </alternate> <elementRef key="title" minOccurs="1" maxOccurs="unbounded"/> <alternate minOccurs="0" maxOccurs="unbounded"> <classRef key="model.ptrLike"/> <elementRef key="idno"/> <elementRef key="textLang"/> <elementRef key="editor"/> <elementRef key="respStmt"/> </alternate> </sequence> <sequence minOccurs="1" maxOccurs="1"> <alternate minOccurs="1" maxOccurs="unbounded"> <elementRef key="title"/> <classRef key="model.ptrLike"/> <elementRef key="idno"/> </alternate> <alternate minOccurs="0" maxOccurs="unbounded"> <elementRef key="textLang"/> <elementRef key="author"/> <elementRef key="editor"/> <elementRef key="meeting"/> <elementRef key="respStmt"/> </alternate> </sequence> <sequence minOccurs="1" maxOccurs="1"> <elementRef key="authority"/> <elementRef key="idno"/> </sequence> </alternate> <elementRef key="availability" minOccurs="0" maxOccurs="unbounded"/> <classRef key="model.noteLike" minOccurs="0" maxOccurs="unbounded"/> <sequence minOccurs="0" maxOccurs="unbounded"> <elementRef key="edition"/> <alternate minOccurs="0" maxOccurs="unbounded"> <elementRef key="idno"/> <classRef key="model.ptrLike"/> <elementRef key="editor"/> <elementRef key="sponsor"/> <elementRef key="funder"/> <elementRef key="respStmt"/> </alternate> </sequence> <elementRef key="imprint"/> <alternate minOccurs="0" maxOccurs="unbounded"> <elementRef key="imprint"/> <elementRef key="extent"/> <elementRef key="biblScope"/> </alternate> </sequence>
Schema Declaration
element monogr
{
   (
      (
         ( tei_author | editor | meeting | tei_respStmt ),
         ( tei_author | editor | meeting | tei_respStmt )*,
         tei_title+,
         ( tei_model.ptrLike | tei_idno | textLang | editor | tei_respStmt )*
      )
    | (
         ( tei_title | tei_model.ptrLike | tei_idno )+,
         ( textLang | tei_author | editor | meeting | tei_respStmt )*
      )
    | ( tei_authority, tei_idno )
   )?,
   tei_availability*,
   tei_model.noteLike*,
   (
      (
         tei_edition,
         (
            tei_idno
          | tei_model.ptrLike
          | editor
          | sponsor
          | tei_funder
          | tei_respStmt
         )*
      )*
   ),
   tei_imprint,
   ( tei_imprint | tei_extent | tei_biblScope )*
}

<msContents>

<msContents> (manuscript contents) describes the intellectual content of a manuscript, manuscript part, or other object either as a series of paragraphs or as a series of structured manuscript items. [11.6. Intellectual Content]
Modulemsdescription —
Contained by
msdescription: msDesc msPart
May contain
core: p
linking: ab
msdescription: msItem
Note

Unless it contains a simple prose description, this element should contain at least one of the elements <summary>, <msItem>, or <msItemStruct>. This constraint is not currently enforced by the schema.

Example

      <msContents class="#sermons">
        <p>A collection of Lollard sermons</p>
      </msContents>
    
Example

      <msContents>
        <msItem n="1">
          <locus>fols. 5r-7v</locus>
          <title>An ABC</title>
          <bibl>
            <title>IMEV</title>
            <biblScope>239</biblScope>
          </bibl>
        </msItem>
        <msItem n="2">
          <locus>fols. 7v-8v</locus>
          <title xml:lang="frm">Lenvoy de Chaucer a Scogan</title>
          <bibl>
            <title>IMEV</title>
            <biblScope>3747</biblScope>
          </bibl>
        </msItem>
        <msItem n="3">
          <locus>fol. 8v</locus>
          <title>Truth</title>
          <bibl>
            <title>IMEV</title>
            <biblScope>809</biblScope>
          </bibl>
        </msItem>
        <msItem n="4">
          <locus>fols. 8v-10v</locus>
          <title>Birds Praise of Love</title>
          <bibl>
            <title>IMEV</title>
            <biblScope>1506</biblScope>
          </bibl>
        </msItem>
        <msItem n="5">
          <locus>fols. 10v-11v</locus>
          <title xml:lang="la">De amico ad amicam</title>
          <title xml:lang="la">Responcio</title>
          <bibl>
            <title>IMEV</title>
            <biblScope>16 &amp; 19</biblScope>
          </bibl>
        </msItem>
        <msItem n="6">
          <locus>fols. 14r-126v</locus>
          <title>Troilus and Criseyde</title>
          <note>Bk. 1:71-Bk. 5:1701, with additional losses due to mutilation throughout</note>
        </msItem>
      </msContents>
    
Content model <alternate minOccurs="1" maxOccurs="1"> <classRef key="model.pLike" minOccurs="1" maxOccurs="unbounded"/> <sequence minOccurs="1" maxOccurs="1"> <elementRef key="summary" minOccurs="0"/> <elementRef key="textLang" minOccurs="0"/> <elementRef key="titlePage" minOccurs="0"/> <alternate minOccurs="0" maxOccurs="unbounded"> <elementRef key="msItem"/> <elementRef key="msItemStruct"/> </alternate> </sequence> </alternate>
Schema Declaration
element msContents
{
   tei_model.pLike+
 | ( summary?, textLang?, titlePage?, ( tei_msItem | msItemStruct )* )
}

<msDesc>

<msDesc> (manuscript description) contains a description of a single identifiable manuscript or other text-bearing object such as an early printed book. [11.1. Overview]
Modulemsdescription —
Member of
Contained by
figures: cell figure
linking: ab
msdescription: msItem signatures
textcrit: lem rdg witness
textstructure: body div salute signed
transcr: supplied
May contain
core: head p
linking: ab
Note

Although the <msDesc> has primarily been designed with a view to encoding manuscript descriptions, it may also be used for other objects such as early printed books, fascicles, epigraphs, or any text-bearing objects that require substantial description. If an object is not text-bearing or the reasons for describing the object is not primarily the textual content, the more general <object> may be more suitable.

Example

                               <msDesc>
                                   <msIdentifier>
                                       <repository key="../repo/repo_106.xml">CUL</repository>
                                       <collection>DAR</collection>
                                       <idno>174: 39</idno>
                                   </msIdentifier>
                               </msDesc>
                           
Schematron <sch:rule context="tei:msContents|tei:physDesc|tei:history|tei:additional"> <!-- Note: This rule applies to <msContents>, <physDesc>, <history>, and <additional> wherever they occur. Luckily they are only allowed in places where they are constrained to 0 or 1 occurrence. If that changes someday, this constraint may will likely need to be updated, too. --> <!-- Also worth noting that a) if & when we can use abstract patterns, this would be better handled as a single abstract rule somewhere, and concrete rules in the individual <elementSpec>s; and b) I did not test for the existence of "../*[name(.) eq $gi][2]" because then an error would be generated for each of the multiple occurrences of $gi. --> <sch:let name="gi" value="name(.)"/> <sch:report test="preceding-sibling::*[ name(.) eq $gi ] and not( following-sibling::*[ name(.) eq $gi ] )"> Only one <sch:name/> is allowed as a child of <sch:value-of select="name(..)"/>. </sch:report> </sch:rule>
Content model <sequence minOccurs="1" maxOccurs="1"> <elementRef key="msIdentifier"/> <classRef key="model.headLike" minOccurs="0" maxOccurs="unbounded"/> <alternate minOccurs="1" maxOccurs="1"> <classRef key="model.pLike" minOccurs="1" maxOccurs="unbounded"/> <alternate minOccurs="0" maxOccurs="unbounded"> <elementRef key="msContents"/> <elementRef key="physDesc"/> <elementRef key="history"/> <elementRef key="additional"/> <elementRef key="msPart"/> <elementRef key="msFrag"/> </alternate> </alternate> </sequence>
Schema Declaration
element msDesc
{
   attribute type { teidata.enumerated }?,
   (
      tei_msIdentifier,
      tei_model.headLike*,
      (
         tei_model.pLike+
       | (
            tei_msContents
          | tei_physDesc
          | history
          | additional
          | tei_msPart
          | msFrag
         )*
      )
   )
}

<msIdentifier>

<msIdentifier> (manuscript identifier) contains the information required to identify the manuscript or similar object being described. [11.4. The Manuscript Identifier]
Modulemsdescription —
Member of
Contained by
core: bibl
msdescription: msDesc msPart
May contain
Example

      <msIdentifier>
        <settlement>San Marino</settlement>
        <repository>Huntington Library</repository>
        <idno>MS.El.26.C.9</idno>
      </msIdentifier>
    
Schematron <report xmlns="http://purl.oclc.org/dsdl/schematron" test="not(ancestor::tei:teiHeader//tei:change[@status='cancelled']) and (not(parent::tei:msPart) and (local-name(*[1])='idno' or local-name(*[1])='altIdentifier' or normalize-space(.)=''))">An msIdentifier must contain either a repository or location.</report>
Content model <sequence minOccurs="1" maxOccurs="1"> <sequence minOccurs="1" maxOccurs="1"> <classRef key="model.placeNamePart" expand="sequenceOptional"/> <elementRef key="institution" minOccurs="0"/> <elementRef key="repository" minOccurs="0"/> <elementRef key="collection" minOccurs="0" maxOccurs="unbounded"/> <elementRef key="idno" minOccurs="0" maxOccurs="unbounded"/> </sequence> <alternate minOccurs="0" maxOccurs="unbounded"> <elementRef key="msName"/> <elementRef key="objectName"/> <elementRef key="altIdentifier"/> </alternate> </sequence>
Schema Declaration
element msIdentifier
{
   attribute xml:id { xsd:ID }?,
   (
      (
         tei_placeName?,
         tei_country?,
         tei_settlement?,
         tei_institution?,
         tei_repository?,
         tei_collection*,
         tei_idno*
      ),
      ( tei_msName | objectName | tei_altIdentifier )*
   )
}

<msItem>

<msItem> (manuscript item) describes an individual work or item within the intellectual content of a manuscript, manuscript part, or other object. [11.6.1. The msItem and msItemStruct Elements]
Modulemsdescription —
Member of
Contained by
msdescription: msContents msItem
May contain
figures: figure
header: funder idno
linking: ab
msdescription: msDesc msItem
textcrit: app witDetail
transcr: space
Example

      <msItem class="#saga">
        <locus>ff. 1r-24v</locus>
        <title>Agrip af Noregs konunga sögum</title>
        <incipit>regi oc h<ex>ann</ex> setiho
<gap reason="illegible" extent="7"/>sc 
heim se<ex>m</ex> þio</incipit>
        <explicit>h<ex>on</ex> hev<ex>er</ex> 
               <ex>oc</ex>þa buit hesta .ij. aNan viþ 
fé enh<ex>on</ex>o<ex>m</ex> aNan til
reiþ<ex>ar</ex>
            </explicit>
        <textLang mainLang="non">Old Norse/Icelandic</textLang>
      </msItem>
    
Content model <sequence minOccurs="1" maxOccurs="1"> <alternate minOccurs="0" maxOccurs="unbounded"> <elementRef key="locus"/> <elementRef key="locusGrp"/> </alternate> <alternate minOccurs="1" maxOccurs="1"> <classRef key="model.pLike" minOccurs="1" maxOccurs="unbounded"/> <alternate minOccurs="1" maxOccurs="unbounded"> <classRef key="model.titlepagePart"/> <classRef key="model.msItemPart"/> <classRef key="model.global"/> </alternate> </alternate> </sequence>
Schema Declaration
element msItem
{
   ( locus | locusGrp )*,
   (
      tei_model.pLike+
    | ( tei_model.titlepagePart | tei_model.msItemPart | tei_model.global )+
   )
}

<msName>

<msName> (manuscript name) contains a proper noun or noun phrase used for a manuscript, or other object, as opposed to a formal identification number or classmark. [11.4. The Manuscript Identifier]
Modulemsdescription —
Contained by
msdescription: msIdentifier
May contain
core: name
character data
Example

      <msName>The Vercelli Book</msName>
    
Content model <alternate minOccurs="0" maxOccurs="unbounded"> <textNode/> <classRef key="model.gLike"/> <elementRef key="rs"/> <elementRef key="name"/> </alternate>
Schema Declaration
element msName
{
   attribute xml:id { xsd:ID }?,
   ( text | model.gLike | rs | tei_name )*
}

<msPart>

<msPart> (manuscript part) contains information about an originally distinct manuscript or part of a manuscript, which is now part of a composite manuscript. [11.10. Manuscript Parts]
Modulemsdescription —
Contained by
msdescription: msDesc msPart
May contain
core: head p
linking: ab
Note

As this last example shows, for compatibility reasons the identifier of a manuscript part may be supplied as a simple <altIdentifier> rather than using the more structured <msIdentifier> element. This usage is however deprecated.

Example

      <msPart>
        <msIdentifier>
          <idno>A</idno>
          <altIdentifier type="catalog">
            <collection>Becker</collection>
            <idno>48, Nr. 145</idno>
          </altIdentifier>
          <altIdentifier type="catalog">
            <collection>Wiener Liste</collection>
            <idno>4°5</idno>
          </altIdentifier>
        </msIdentifier>
        <head>
          <title xml:lang="la">Gregorius: Homiliae in Ezechielem</title>
          <origPlace key="tgn_7008085">Weissenburg (?)</origPlace>
          <origDate notBefore="0801" notAfter="0815">IX. Jh., Anfang</origDate>
        </head>
      </msPart>
    
Example

      <msDesc>
        <msIdentifier>
          <settlement>Amiens</settlement>
          <repository>Bibliothèque Municipale</repository>
          <idno>MS 3</idno>
          <msName>Maurdramnus Bible</msName>
        </msIdentifier>
        <msContents>
          <summary>
            <list>
              <item xml:lang="en">Miscellany of various texts;</item>
              <item xml:lang="la">Prudentius, Psychomachia;</item>
              <item xml:lang="la">Physiologus de natura animantium</item>
            </list>
          </summary>
          <textLang mainLang="la">Latin</textLang>
        </msContents>
        <physDesc>
          <objectDesc form="composite_manuscript"/>
        </physDesc>
        <msPart>
          <msIdentifier><idno>ms. 10066-77 ff. 140r-156v</idno></msIdentifier>
          <msContents>
            <summary xml:lang="la">Physiologus</summary>
            <textLang mainLang="la">Latin</textLang>
          </msContents>
        </msPart>        
        <msPart>
          <msIdentifier>
            <altIdentifier>
              <idno>MS 6</idno>
            </altIdentifier>
          </msIdentifier>
          <!-- other information specific to this part here -->
        </msPart>
        <!-- more parts here -->
      </msDesc>
    
Content model <sequence minOccurs="1" maxOccurs="1"> <elementRef key="msIdentifier"/> <classRef key="model.headLike" minOccurs="0" maxOccurs="unbounded"/> <alternate minOccurs="1" maxOccurs="1"> <classRef key="model.pLike" minOccurs="1" maxOccurs="unbounded"/> <alternate minOccurs="0" maxOccurs="unbounded"> <elementRef key="msContents"/> <elementRef key="physDesc"/> <elementRef key="history"/> <elementRef key="additional"/> <elementRef key="msPart"/> </alternate> </alternate> </sequence>
Schema Declaration
element msPart
{
   attribute xml:id { xsd:ID }?,
   attribute n { teidata.text }?,
   attribute type { teidata.enumerated }?,
   (
      tei_msIdentifier,
      tei_model.headLike*,
      (
         tei_model.pLike+
       | ( tei_msContents | tei_physDesc | history | additional | tei_msPart )*
      )
   )
}

<name>

<name> (name) is used for editors’ names in the <revisionDesc> in the <teiHeader>. The first appearance of the name in a file requires @xml:id and each subsequent appearance requires @sameAs with a valid pointer pointing to the first instance [3.6.1. Referring Strings]
Modulecore —
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

                               <change when="2015-08-02">Converted to TEI P5 by <name xml:id="elsmith">Liz Smith</name></change>
                           
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:name[@sameAs][ancestor::tei:change]"> <assert test="@sameAs = ancestor::tei:revisionDesc//tei:change//tei:name[@xml:id]/concat('#',@xml:id)">ERROR: <name/>@sameAs does not seem to point to a valid name@xml:id in change.</assert> </rule>
Content model <macroRef key="macro.phraseSeq"/>
Schema Declaration
element name
{
   tei_att.cmc.attributes,
   attribute xml:id { xsd:ID }?,
   attribute sameAs { teidata.pointer }?,
   tei_macro.phraseSeq
}

<note>

<note> (note) records either an editorial note in the header, footnotes. [3.9.1. Notes and Simple Annotation 2.2.6. The Notes Statement 3.12.2.8. Notes and Statement of Language 10.3.5.4. Notes within Entries]
Modulecore —
Member of
Contained by
May contain
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.

Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:note[ancestor::tei:text]"> <report test="@type">ERROR: <name/>@type should not be specified on footnotes.</report> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:note[@type]"> <report test="not(@type=('physdesc','description', 'postmark', 'endorsement','datestamp', 'copyType'))">ERROR: <name/>@type must equal 'physdesc', 'description', 'postmark', 'endorsement' or 'datestamp'</report> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:note[@xml:id][parent::tei:div[@type='footnotes']]"> <report test="not(concat('#',@xml:id) = ancestor::tei:TEI/(tei:teiHeader|tei:text/tei:body/tei:div[@type=('letter','translation')])//tei:ref/@target)">ERROR: <name/> '<value-of select="@xml:id"/>' is not the target of a ref/@target in the letter transcription or header</report> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:note[@type]"> <report test="@type and not(ancestor::tei:teiHeader/tei:fileDesc/tei:notesStmt)">ERROR: <name/>@type='<value-of select="@type"/>' must be placed within notesStmt.</report> </rule>
Content model <macroRef key="macro.specialPara"/>
Schema Declaration
element note
{
   tei_att.anchoring.attribute.targetEnd,
   tei_att.cmc.attributes,
   attribute xml:id { xsd:ID }?,
   attribute type
   {
      "datestamp"
    | "description"
    | "endorsement"
    | "physdesc"
    | "postmark"
    | teidata.enumerated
   }?,
   tei_macro.specialPara
}

<notesStmt>

<notesStmt> (notes statement) functions as a container for one or more metadata notes on the document. [2.2.6. The Notes Statement 2.2. The File Description]
Moduleheader —
Contained by
header: fileDesc
May contain
Note

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

Example

                               <notesStmt>
                                   <note type="endorsement" subtype="letter">Charles Darwin Aug<hi rend="superscript">st</hi> 4 1828 WDF</note>
                                   <!--<note type="physdesc" n="ALS">4pp</note>
                                   <relatedItem type="copy" subtype="CUL"><bibl>CUL DAR 144: 137</bibl></relatedItem>
                                   <relatedItem type="publication">
                                       <bibl><hi rend="italic">Correspondence</hi> 1: 62</bibl>
                                   </relatedItem>-->
                               </notesStmt>
                           
Content model <alternate minOccurs="1" maxOccurs="unbounded"> <classRef key="model.noteLike"/> <elementRef key="relatedItem"/> </alternate>
Schema Declaration
element notesStmt { ( tei_model.noteLike | tei_relatedItem )+ }

<opener>

<opener> (opener) contains a transcription of the opening information from the letter, namely the place the letter was written (<placeName>), its date (<date>) and salutation (<salute>) [4.2. Elements Common to All Divisions]
Moduletextstructure —
Member of
Contained by
core: lg list
textstructure: body div
May contain
Note

The regularised metadata versions of this information belong in <correspDesc>.

Example

                               <opener>
                                   <placeName>Cambridge</placeName>
                                   <date>Wednesday</date>
                                   <salute>My dear Fox</salute>
                               </opener>
                           
Example

<opener> contain faithful transcriptions of the opening information as they appear in the letter, so be sure to include all the relevant formatting.


                               <opener>
                                   <placeName>[Down House]</placeName>
                                   <date>24<hi rend="superscript">th</hi>. August 1875</date>
                                   <salute>My dear Sir</salute>
                               </opener>
                           
Example

If a certain piece of information, such as <placeName>, is not included or inferable, then its corresponding element should be omitted.


                               <opener>
                                   <salute>My dear M<hi rend="superscript">r</hi>. Charles</salute>
                               </opener>
                           
Content model <alternate minOccurs="0" maxOccurs="unbounded"> <textNode/> <classRef key="model.gLike"/> <classRef key="model.phrase"/> <elementRef key="argument"/> <elementRef key="byline"/> <elementRef key="dateline"/> <elementRef key="epigraph"/> <elementRef key="salute"/> <elementRef key="signed"/> <classRef key="model.global"/> </alternate>
Schema Declaration
element opener
{
   tei_att.cmc.attributes,
   (
      text
    | model.gLike
    | tei_model.phrase
    | argument
    | byline
    | dateline
    | epigraph
    | tei_salute
    | tei_signed
    | tei_model.global
   )*
}

<orgName>

<orgName> (organization name) contains an organizational name. [14.2.2. Organizational Names]
Modulenamesdates —
Member of
Contained by
May contain
Example

                               <orgName key="../nameregs/nameregs_979.xml">William Clowes &amp;amp; Sons</orgName>
                           
Content model <macroRef key="macro.phraseSeq"/>
Schema Declaration
element orgName
{
   tei_att.cmc.attributes,
   attribute resp { list { teidata.pointer+ } }?,
   attribute key { teidata.text }?,
   attribute ref { list { teidata.pointer+ } }?,
   tei_macro.phraseSeq
}

<p>

<p> (paragraph) marks paragraphs in prose. [3.1. Paragraphs 7.2.5. Speech Contents]
Modulecore —
Member of
Contained by
May contain
Example

                               <p>P.S. Upon the whole the Cirripedia show more affinity, <hi rend="underline">I think</hi>, to the Upper Chalk, than to any other stage— <hi rend="underline">pray</hi> tell me whether Upper Chalk fossils are generally more or less abundant than those of the Lower Chalk &amp;amp; Chalk Marl</p>
                           
Example

                               <p rend="centre">From the Insects to their friend, Charles Darwin.</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 <macroRef key="macro.paraContent"/>
Schema Declaration
element p
{
   tei_att.cmc.attributes,
   attribute xml:id { xsd:ID }?,
   attribute xml:lang { teidata.language }?,
   attribute rend
   {
      list
      {
         (
            "right"
          | "left"
          | "centre"
          | "indent0"
          | "indent1"
          | "indent2"
          | "indent3"
          | "blockIndent"
          | "hangingIndent1"
          | "hangingIndent2"
          | "hangingIndent3"
          | "blockquote"
         )+
      }
   }?,
   tei_macro.paraContent
}

<pb />

<pb /> (page beginning) marks the beginning of a new page in a paginated document. [3.11.3. Milestone Elements]
Modulecore —
Member of
Contained by
May containEmpty element
Note

A <pb> element should appear at the start of the page which it identifies. The global @n attribute indicates the number or other value associated with this page. This will normally be the page number or signature printed on it, since the physical sequence number is implicit in the presence of the <pb> element itself.

The @type attribute may be used to characterize the page beginning in any respect. The more specialized attributes @break, @ed, or @edRef should be preferred when the intent is to indicate whether or not the page beginning is word-breaking, or to note the source from which it derives.

Example

Page numbers may vary in different editions of a text.


      <p> ... <pb n="145" ed="ed2"/>
            <!-- Page 145 in edition "ed2" starts here --> ... <pb n="283" ed="ed1"/>
            <!-- Page 283 in edition "ed1" starts here--> ... </p>
    
Example

A page beginning may be associated with a facsimile image of the page it introduces by means of the @facs attribute


      <body>
        <pb n="1" facs="page1.png"/>
        <!-- page1.png contains an image of the page;
                        the text it contains is encoded here -->
        <p>
          <!-- ... -->
        </p>
        <pb n="2" facs="page2.png"/>
        <!-- similarly, for page 2 -->
        <p>
          <!-- ... -->
        </p>
      </body>
    
Content model <empty/>
Schema Declaration
element pb
{
   tei_att.cmc.attributes,
   attribute xml:id { xsd:ID }?,
   attribute n { teidata.text }?,
   empty
}

<persName>

<persName> (personal name) contains a proper noun or proper-noun phrase referring to a person, possibly including one or more of the person's forenames, surnames, honorifics, added names, etc. [14.2.1. Personal Names]
Modulenamesdates —
Member of
Contained by
May contain
Example

                               <persName key="../nameregs/nameregs_1.xml">Darwin, C. R.</persName>
                           
Content model <macroRef key="macro.phraseSeq"/>
Schema Declaration
element persName
{
   tei_att.cmc.attributes,
   attribute xml:id { xsd:ID }?,
   attribute n { teidata.text }?,
   attribute xml:lang { teidata.language }?,
   attribute exclude { list { teidata.pointer+ } }?,
   attribute rend { list { teidata.word+ } }?,
   attribute cert { teidata.probCert }?,
   attribute resp { list { teidata.pointer+ } }?,
   attribute key { teidata.text }?,
   attribute ref { list { teidata.pointer+ } }?,
   attribute type { teidata.enumerated }?,
   attribute subtype { teidata.enumerated }?,
   tei_macro.phraseSeq
}

<physDesc>

<physDesc> (physical description) contains a full physical description of a manuscript, manuscript part, or other object optionally subdivided using more specialized elements from the model.physDescPart class. [11.7. Physical Description]
Modulemsdescription —
Contained by
msdescription: msDesc msPart
May contain
core: p
linking: ab
Example

      <physDesc>
        <objectDesc form="codex">
          <supportDesc material="perg">
            <support>Parchment.</support>
            <extent>i + 55 leaves
                 <dimensions scope="all" type="leaf" unit="inch"><height>7¼</height><width>5⅜</width></dimensions>
                  </extent>
          </supportDesc>
          <layoutDesc>
            <layout columns="2">In double columns.</layout>
          </layoutDesc>
        </objectDesc>
        <handDesc>
          <p>Written in more than one hand.</p>
        </handDesc>
        <decoDesc>
          <p>With a few coloured capitals.</p>
        </decoDesc>
      </physDesc>
    
Content model <sequence minOccurs="1" maxOccurs="1"> <classRef key="model.pLike" minOccurs="0" maxOccurs="unbounded"/> <classRef key="model.physDescPart" expand="sequenceOptional"/> </sequence>
Schema Declaration
element physDesc { tei_model.pLike* }

<placeName>

<placeName> (place name) contains an absolute or relative place name. [14.2.3. Place Names]
Modulenamesdates —
Member of
Contained by
May contain
Example

                               <correspAction type="sent">
                                   <persName key="../nameregs/nameregs_1211.xml">Darwin, E. A.</persName>
                                   <placeName>London, Chapel St West, 4</placeName>
                                   <date when="1826-09-29">[29 Sept 1826]</date>
                               </correspAction>
                           
Example

                               <opener>
                                   <placeName>4 Chapel St West. Curzon St.</placeName>
                                   <salute>My Dear Bobby,</salute>
                               </opener>
                           
Content model <macroRef key="macro.phraseSeq"/>
Schema Declaration
element placeName
{
   tei_att.cmc.attributes,
   attribute key { teidata.text }?,
   attribute ref { list { teidata.pointer+ } }?,
   tei_macro.phraseSeq
}

<profileDesc>

<profileDesc> (text-profile description) contains the correspondents, the summary of the letter and any associated keywords. [2.4. The Profile Description 2.1.1. The TEI Header and Its Components]
Moduleheader —
Member of
Contained by
header: teiHeader
May contain
Note

Although the content model permits it, it is rarely meaningful to supply multiple occurrences for any of the child elements of <profileDesc> unless these are documenting multiple texts.

Example

                               <profileDesc>
                                   <correspDesc>
                                       <correspAction type="sent">
                                           <persName>Darwin, C. R.</persName>
                                           <placeName>Down</placeName>
                                           <date when="1881-12-28">28 Dec 1881</date>
                                       </correspAction>
                                       <correspAction type="received">
                                           <persName>Baily, Walter</persName>
                                       </correspAction>
                                   </correspDesc>
                                   <abstract>
                                       <p>Statement about a beetle-hunting worm is new to CD.</p>
                                   </abstract>
                               </profileDesc>
                           
Content model <classRef key="model.profileDescPart" minOccurs="0" maxOccurs="unbounded"/>
Schema Declaration
element profileDesc { tei_model.profileDescPart* }

<ptr />

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

The @target and @cRef attributes are mutually exclusive.

Example

      <ptr target="#p143 #p144"/>
      <ptr target="http://www.tei-c.org"/>
      <ptr cRef="1.3.4"/>
    
Schematron <sch:rule context="tei:ptr"> <sch:report test="@target and @cRef">Only one of the attributes @target and @cRef may be supplied on <sch:name/>.</sch:report> </sch:rule>
Content model <empty/>
Schema Declaration
element ptr
{
   tei_att.cmc.attributes,
   attribute target { list { teidata.pointer+ } },
   attribute type { teidata.enumerated },
   empty
}

<publicationStmt>

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

Information on the publication of the text, whether on Epsilon or elsewhere.

Example

                               <publicationStmt>
                                   <authority>Darwin Correspondence Project</authority>
                                   <publisher>Cambridge University Press</publisher>
                                   <pubPlace>Cambridge</pubPlace>
                                   <availability status="restricted">
                                       <p>Available under license only</p>
                                   </availability>
                                   <!-- ... -->
                               </publicationStmt>
                           
Content model <alternate minOccurs="1" maxOccurs="1"> <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>
Schema Declaration
element publicationStmt
{
   (
      (
         tei_model.publicationStmtPart.agency,
         tei_model.publicationStmtPart.detail*
      )+
   )
 | tei_model.pLike+
}

<publisher>

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

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

Example

                               <publicationStmt>
                                   <authority>Epsilon Project</authority>
                                   <pubPlace>Cambridge</pubPlace>
                                   <date when="2015">2015</date>
                               </publicationStmt>
                           
Content model <macroRef key="macro.phraseSeq"/>
Schema Declaration
element publisher { tei_macro.phraseSeq }

<pubPlace>

<pubPlace> (publication place) contains the name of the place where a bibliographic item was published. [3.12.2.4. Imprint, Size of a Document, and Reprint Information]
Modulecore —
Member of
Contained by
May contain
Example

                               <publicationStmt>
                                   <authority>Epsilon Project</authority>
                                   <pubPlace>Cambridge</pubPlace>
                                   <date when="2015">2015</date>
                               </publicationStmt>
                           
Content model <macroRef key="macro.phraseSeq"/>
Schema Declaration
element pubPlace { tei_macro.phraseSeq }

<rdg>

<rdg> (reading) contains a single reading within a textual variation. [13.1. The Apparatus Entry, Readings, and Witnesses]
Moduletextcrit —
Member of
Contained by
textcrit: app rdgGrp
May contain
Example

      <rdg wit="#Ra2">Eryment</rdg>
    
Content model <alternate minOccurs="0" maxOccurs="unbounded"> <textNode/> <classRef key="model.divLike"/> <classRef key="model.divPart"/> <elementRef key="titlePage"/> <elementRef key="argument"/> <elementRef key="byline"/> <elementRef key="docAuthor"/> <elementRef key="docDate"/> <elementRef key="docEdition"/> <elementRef key="docImprint"/> <elementRef key="docTitle"/> <elementRef key="epigraph"/> <elementRef key="imprimatur"/> <elementRef key="titlePart"/> <elementRef key="epilogue"/> <elementRef key="performance"/> <elementRef key="prologue"/> <elementRef key="set"/> <classRef key="model.gLike"/> <classRef key="model.phrase"/> <classRef key="model.inter"/> <classRef key="model.global"/> <classRef key="model.rdgPart"/> </alternate>
Schema Declaration
element rdg
{
   tei_att.global.attributes,
   tei_att.textCritical.attributes,
   tei_att.witnessed.attributes,
   (
      text
    | tei_model.divLike
    | tei_model.divPart
    | titlePage
    | argument
    | byline
    | docAuthor
    | docDate
    | docEdition
    | docImprint
    | docTitle
    | epigraph
    | imprimatur
    | titlePart
    | epilogue
    | performance
    | prologue
    | set
    | model.gLike
    | tei_model.phrase
    | tei_model.inter
    | tei_model.global
    | tei_model.rdgPart
   )*
}

<rdgGrp>

<rdgGrp> (reading group) within a textual variation, groups two or more readings perceived to have a genetic relationship or other affinity. [13.1. The Apparatus Entry, Readings, and Witnesses]
Moduletextcrit —
Contained by
textcrit: app rdgGrp
May contain
core: note
Note

May contain readings and nested reading groups.

Usually, only one <lem> element should appear within a single apparatus entry, whether it appears outside a <rdgGrp> element or within it.

Example

      <app>
        <lem wit="#El #Ra2">though</lem>
        <rdgGrp type="orthographic">
          <rdg wit="#Hg">thogh</rdg>
          <rdg wit="#La">thouhe</rdg>
        </rdgGrp>
      </app>
    
Schematron <sch:rule context="tei:rdgGrp"> <sch:assert test="count(tei:lem) lt 2">Only one &lt;lem&gt; element may appear within a &lt;rdgGrp&gt;</sch:assert> </sch:rule>
Content model <sequence> <elementRef key="lem" minOccurs="0"/> <alternate maxOccurs="unbounded" minOccurs="0"> <classRef key="model.rdgLike"/> <classRef key="model.noteLike"/> <elementRef key="witDetail"/> <elementRef key="wit"/> <elementRef key="rdgGrp"/> </alternate> </sequence>
Schema Declaration
element rdgGrp
{
   tei_att.global.attributes,
   tei_att.textCritical.attributes,
   (
      tei_lem?,
      (
         tei_model.rdgLike
       | tei_model.noteLike
       | tei_witDetail
       | tei_wit
       | tei_rdgGrp
      )*
   )
}

<ref>

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

The @target and @cRef attributes are mutually exclusive.

Example

                               <ref target="#foot-10000.f1"/>
                           
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:ref[not(matches(@target,'^#tnote'))][matches(@target,'^#')]"> <let name="notes" value="./ancestor::tei:TEI//tei:div[@type='footnotes']//tei:note"/> <assert test="@target = $notes/concat('#',@xml:id)">ERROR: <name/>@target must be a valid pointer to a note/@xml:id</assert> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:ref"> <report test="descendant::tei:ref">ERROR: <name/> contains another <name/> </report> <report test="ancestor::tei:ref">ERROR: <name/> inside another <name/> </report> </rule>
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:ref[normalize-space(@target)][not(matches(normalize-space(@target),'\s+'))][matches(@target,'^.+\.xml$')]"> <let name="document_uri" value="string-join(tokenize(document-uri(/),'/')[position() != last()],'/')"/> <assert test="doc-available(concat($document_uri,'/',@target))">ERROR: <name/> points to a non-existent file (<value-of select="@target"/>)</assert> </rule>
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 <macroRef key="macro.paraContent"/>
Schema Declaration
element ref
{
   tei_att.cmc.attributes,
   attribute rend { list { teidata.word+ } }?,
   attribute cert { teidata.probCert }?,
   attribute resp { list { teidata.pointer+ } }?,
   attribute target
   {
      string { pattern = "(#.+|https*://.+|.+\.xml(#\S+)*|)" }
   },
   attribute type { teidata.enumerated }?,
   tei_macro.paraContent
}

<relatedItem>

<relatedItem> contains or references some other bibliographic item which is related to the present one in some specified manner, for example as a constituent or alternative version of it. [3.12.2.7. Related Items]
Modulecore —
Member of
Contained by
May contain
msdescription: msDesc
Note

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

Example

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

<repository>

<repository> (repository) contains the name of a repository within which manuscripts or other objects are stored, possibly forming part of an institution. [11.4. The Manuscript Identifier]
Modulemsdescription —
Contained by
May contain
Example

      <msIdentifier>
        <settlement>Oxford</settlement>
        <institution>University of Oxford</institution>
        <repository>Bodleian Library</repository>
        <idno>MS. Bodley 406</idno>
      </msIdentifier>
    
Content model <macroRef key="macro.phraseSeq.limited"/>
Schema Declaration
element repository
{
   attribute key { teidata.text }?,
   tei_macro.phraseSeq.limited
}

<resp>

<resp> (responsibility) contains a phrase describing the nature of a person's intellectual responsibility, or an organization's role in the production or distribution of a work. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement 2.2.2. The Edition Statement 2.2.5. The Series Statement]
Modulecore —
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 <macroRef key="macro.phraseSeq.limited"/>
Schema Declaration
element resp
{
   tei_att.global.attributes,
   tei_att.canonical.attributes,
   tei_att.datable.attributes,
   tei_macro.phraseSeq.limited
}

<respStmt>

<respStmt> (statement of responsibility) supplies a statement of responsibility for the intellectual content of a text, edition, recording, or series, where the specialized elements for authors, editors, etc. do not suffice or do not apply. May also be used to encode information about individuals or organizations which have played a role in the production or distribution of a bibliographic work. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement 2.2.2. The Edition Statement 2.2.5. The Series Statement]
Modulecore —
Member of
Contained by
May contain
core: name note resp
namesdates: orgName persName
Example

      <respStmt>
        <resp>transcribed from original ms</resp>
        <persName>Claus Huitfeldt</persName>
      </respStmt>
    
Example

      <respStmt>
        <resp>converted to XML encoding</resp>
        <name>Alan Morrison</name>
      </respStmt>
    
Content model <sequence minOccurs="1" maxOccurs="1"> <alternate minOccurs="1" maxOccurs="1"> <sequence minOccurs="1" maxOccurs="1"> <elementRef key="resp" minOccurs="1" maxOccurs="unbounded"/> <classRef key="model.nameLike.agent" minOccurs="1" maxOccurs="unbounded"/> </sequence> <sequence minOccurs="1" maxOccurs="1"> <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>
Schema Declaration
element respStmt
{
   attribute xml:id { xsd:ID }?,
   (
      (
         ( tei_resp+, tei_model.nameLike.agent+ )
       | ( tei_model.nameLike.agent+, tei_resp+ )
      ),
      tei_note*
   )
}

<revisionDesc>

<revisionDesc> (revision description) records significant work done on the electronic file. [2.6. The Revision Description 2.1.1. The TEI Header and Its Components]
Moduleheader —
Contained by
header: teiHeader
May contain
core: list
header: change
Note

<revisionDesc> is not intended to provide a detailed log of all the work done on the file. If you desire something like that, we recommend using a version control system, like GitHub. <revisionDesc> is intended to record the significant milestones or phases of work, usually marked with <change>’s @status.

Example

                               <revisionDesc>
                                   <change when="2015-10-02" status="draft">Transcribed by <name xml:id="jdoe">Jane Doe</name></change>
                                   <change when="2015-10-12" status="proofed">Proofed by <name xml:id="another">A.N. Other</name></change>
                                   <change when="2015-10-15" status="released">Proofed by <name sameAs="#another">A.N. Other</name></change>
                               </revisionDesc>
                           
Content model <alternate minOccurs="1" maxOccurs="1"> <elementRef key="list" minOccurs="1" maxOccurs="unbounded"/> <elementRef key="listChange" minOccurs="1" maxOccurs="unbounded"/> <elementRef key="change" minOccurs="1" maxOccurs="unbounded"/> </alternate>
Schema Declaration
element revisionDesc { tei_list+ | listChange+ | tei_change+ }

<roleName>

<roleName> (role name) contains a name component which indicates that the referent has a particular role or position in society, such as an official title or rank. [14.2.1. Personal Names]
Modulenamesdates —
Member of
Contained by
May contain
Note

A <roleName> may be distinguished from an <addName> by virtue of the fact that, like a title, it typically exists independently of its holder.

Example

      <persName>
        <forename>William</forename>
        <surname>Poulteny</surname>
        <roleName>Earl of Bath</roleName>
      </persName>
    
Example

      <p>The <roleName role="solicitor_general">S.G.</roleName> is the only national public official,
      including the Supreme Court justices, required by statute to be “learned in the law.”</p>
    
Example

      <p><persName ref="#NJF"><roleName role="solicitor_general">Solicitor General</roleName> Noel J. Francisco</persName>,
      representing the administration, asserted in rebuttal that there was nothing to disavow (...)
      <persName ref="#NJF">Francisco</persName> had violated the scrupulous standard of candor about the facts and
      the law that <roleName role="solicitor_general">S.G.s</roleName>, in Republican and Democratic administrations
      alike, have repeatedly said they must honor.</p>
    
Content model <macroRef key="macro.phraseSeq"/>
Schema Declaration
element roleName { tei_att.cmc.attributes, tei_macro.phraseSeq }

<row>

<row> (row) contains one row of a table. [15.1.1. TEI Tables]
Modulefigures —
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 <elementRef key="cell" minOccurs="1" maxOccurs="unbounded"/>
Schema Declaration
element row
{
   attribute rend
   {
      list
      {
         (
            "borderAll"
          | "borderBottom"
          | "borderLeft"
          | "borderRight"
          | "borderSides"
          | "borderTop"
          | "vAlignTop"
          | "vAlignMiddle"
          | "vAlignBottom"
         )+
      }
   }?,
   tei_cell+
}

<salute>

<salute> (salutation) contains a salutation or greeting prefixed to a foreword, dedicatory epistle, or other division of a text, or the salutation in the closing of a letter, preface, etc. [4.2.2. Openers and Closers]
Moduletextstructure —
Member of
Contained by
core: lg list
figures: figure table
textstructure: body closer div opener
May contain
Example

                               <salute>My dear Hooker.</salute>
                           
Content model <macroRef key="macro.paraContent"/>
Schema Declaration
element salute
{
   tei_att.cmc.attributes,
   attribute rend { list { teidata.word+ } }?,
   tei_macro.paraContent
}

<seriesStmt>

<seriesStmt> (series statement) groups information about the series, if any, to which a publication belongs. [2.2.5. The Series Statement 2.2. The File Description]
Moduleheader —
Contained by
header: fileDesc
May contain
header: idno
linking: ab
Example

                               <seriesStmt>
                                   <title level="s">The Correspondence of Charles Darwin</title>
                                   <biblScope unit="vol" n="01">1</biblScope>
                               </seriesStmt>
                           
Schematron <sch:pattern is-a="declarable"> <sch:param name="tde" value="tei:seriesStmt"/> </sch:pattern>
Content model <alternate minOccurs="1" maxOccurs="1"> <classRef key="model.pLike" minOccurs="1" maxOccurs="unbounded"/> <sequence minOccurs="1" maxOccurs="1"> <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>
Schema Declaration
element seriesStmt
{
   tei_model.pLike+
 | ( tei_title+, ( editor | tei_respStmt )*, ( tei_idno | tei_biblScope )* )
}

<settlement>

<settlement> (settlement) contains the name of a settlement such as a city, town, or village identified as a single geo-political or administrative unit. [14.2.3. Place Names]
Modulenamesdates —
Member of
Contained by
May contain
Example

      <placeName>
        <settlement type="town">Glasgow</settlement>
        <region>Scotland</region>
      </placeName>
    
Content model <macroRef key="macro.phraseSeq"/>
Schema Declaration
element settlement { tei_att.cmc.attributes, tei_macro.phraseSeq }

<sic>

<sic> (Latin for thus or so) contains text reproduced although apparently incorrect or inaccurate. [3.5.1. Apparent Errors]
Modulecore —
Member of
Contained by
May contain
Example
for his nose was as sharp as
      a pen, and <sic>a Table</sic> of green fields.
Example

If all that is desired is to call attention to the apparent problem in the copy text, <sic> may be used alone:

I don't know, Juan. It's so far in the past now
      — how <sic>we can</sic> prove or disprove anyone's theories?
Example

It is also possible, using the <choice> and <corr> elements, to provide a corrected reading:

I don't know, Juan. It's so far in the past now
      — how <choice><sic>we can</sic><corr>can we</corr></choice> prove or disprove anyone's theories?
Example
for his nose was as sharp as
      a pen, and <choice><sic>a Table</sic><corr>a' babbld</corr></choice> of green fields.
Content model <macroRef key="macro.paraContent"/>
Schema Declaration
element sic
{
   tei_att.cmc.attributes,
   attribute cert { teidata.probCert }?,
   attribute resp { list { teidata.pointer+ } }?,
   tei_macro.paraContent
}

<signatures>

<signatures> (signatures) contains discussion of the leaf or quire signatures found within a codex or similar object. [11.3.7. Catchwords, Signatures, Secundo Folio]
Modulemsdescription —
Member of
Contained by
May contain
Example

      <signatures>Quire and leaf signatures in letters, [b]-v, and roman
numerals; those in quires 10 (1) and 17 (s) in red ink and different
from others; every third quire also signed with red crayon in arabic
numerals in the center lower margin of the first leaf recto: "2" for
quire 4 (f. 19), "3" for quire 7 (f. 43); "4," barely visible, for
quire 10 (f.  65), "5," in a later hand, for quire 13 (f. 89), "6," in
a later hand, for quire 16 (f. 113).</signatures>
    
Schematron <sch:rule context="tei:signatures"> <sch:assert test="ancestor::tei:msDesc or ancestor::tei:egXML">The <sch:name/> element should not be used outside of msDesc.</sch:assert> </sch:rule>
Content model <macroRef key="macro.specialPara"/>
Schema Declaration
element signatures { tei_macro.specialPara }

<signed>

<signed> (signature) contains the closing salutation, etc., appended to a foreword, dedicatory epistle, or other division of a text. [4.2.2. Openers and Closers]
Moduletextstructure —
Member of
Contained by
core: lg list
figures: figure table
textstructure: back body closer div opener
May contain
Example

      <signed>Thine to command <name>Humph. Moseley</name>
         </signed>
    
Example

      <closer>
        <signed>Sign'd and Seal'd,
	<list><item>John Bull,</item><item>Nic. Frog.</item></list>
	           </signed>
      </closer>
    
Content model <macroRef key="macro.paraContent"/>
Schema Declaration
element signed { tei_att.cmc.attributes, tei_macro.paraContent }

<sourceDesc>

<sourceDesc> (source description) describes the source(s) from which an electronic text was derived or generated, typically a bibliographic description in the case of a digitized text, or a phrase such as ‘born digital’ for a text which has no previous existence. [2.2.7. The Source Description]
Moduleheader —
Contained by
header: fileDesc
May contain
figures: table
linking: ab
msdescription: msDesc
textcrit: listApp listWit
Example

                               <sourceDesc>
                                   <msDesc>
                                       <msIdentifier>
                                           <repository>CUL</repository>
                                           <collection>DAR</collection>
                                           <idno>115: 121, 124a, 126a</idno>
                                       </msIdentifier>
                                   </msDesc>
                               </sourceDesc>
                           
Schematron <sch:pattern is-a="declarable"> <sch:param name="tde" value="tei:sourceDesc"/> </sch:pattern>
Content model <alternate minOccurs="1" maxOccurs="1"> <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>
Schema Declaration
element sourceDesc
{
   tei_model.pLike+
 | ( tei_model.biblLike | model.sourceDescPart | tei_model.listLike )+
}

<space>

<space> (space) indicates the location of a significant space in the text. [12.4.1. Space]
Moduletranscr —
Member of
Contained by
May containEmpty element
Note

This element should be used wherever it is desired to record an unusual space in the source text, e.g. space left for a word to be filled in later, for later rubrication, etc. It is not intended to be used to mark normal inter-word space or the like.

Example
By god if wommen had writen storyes
      As <space quantity="7" unit="minims"/> han within her oratoryes
Example
στρατηλάτ<space quantity="1" unit="chars"/>ου
Content model <alternate minOccurs="0" maxOccurs="unbounded"> <classRef key="model.descLike"/> <classRef key="model.certLike"/> </alternate>
Schema Declaration
element space
{
   attribute unit { "cm" | "mm" | "in" | "line" | "char" | teidata.enumerated }?,
   attribute quantity { teidata.numeric }?,
   attribute extent { teidata.text }?,
   attribute dim { "horizontal" | "vertical" }?,
   ( model.descLike | model.certLike )*
}

<subst>

<subst> (substitution) groups one or more deletions (or surplus text) with one or more additions when the combination is to be regarded as a single intervention in the text. [12.3.1.5. Substitutions]
Moduletranscr —
Member of
Contained by
May contain
core: add cb del lb pb
Example

... are all included. <del hand="#RG">It is</del>
         <subst><add>T</add><del>t</del></subst>he expressed
    
Example

      that he and his Sister Miſs D — <lb/>who always lived with him, wd. be <subst><del>very</del><lb/><add>principally</add></subst> remembered in her Will.
    
Example

      <ab>τ<subst><add place="above">ῶν</add><del>α</del></subst>
        συνκυρόντ<subst><add place="above">ων</add><del>α</del></subst>
        ἐργαστηρί<subst><add place="above">ων</add><del>α</del></subst>
         </ab>
    
Example

      <subst>
        <del>
          <gap reason="illegible" quantity="5" unit="character"/>
        </del>
        <add>apple</add>
      </subst>
    
Schematron <sch:rule context="tei:subst"> <sch:assert test="child::tei:add and (child::tei:del or child::tei:surplus)"> <sch:name/> must have at least one child add and at least one child del or surplus</sch:assert> </sch:rule>
Content model <alternate minOccurs="1" maxOccurs="unbounded"> <elementRef key="add"/> <elementRef key="surplus"/> <elementRef key="del"/> <classRef key="model.milestoneLike"/> </alternate>
Schema Declaration
element subst { ( tei_add | surplus | tei_del | tei_model.milestoneLike )+ }

<supplied>

<supplied> (supplied) signifies text supplied by the transcriber or editor for any reason; for example because the original cannot be read due to physical damage, or because of an obvious omission by the author or scribe. [12.3.3.1. Damage, Illegibility, and Supplied Text]
Moduletranscr —
Member of
Contained by
May contain
Note

The <damage>, <gap>, <del>, <unclear> and <supplied> elements may be closely allied in use. See section 12.3.3.2. Use of the gap, del, damage, unclear, and supplied Elements in Combination for discussion of which element is appropriate for which circumstance.

Example

                               <opener>
                                   <placeName>
                                       <hi rend="print">Down | Beckenham, Kent.</hi>
                                       <supplied reason="editorial">Abinger</supplied>
                                   </placeName> 
                                   …</opener>
                           

Renders as: “Down | Beckenham, Kent. [Abinger]”.

Example
and into the barrel, the <supplied reason="damaged">grain</supplied> thus becoming saturated

Renders as: “and into the barrel, the 〈grain〉 thus becoming saturated”.

Content model <macroRef key="macro.paraContent"/>
Schema Declaration
element supplied
{
   attribute resp { list { teidata.pointer+ } }?,
   attribute reason { list { ( "damage" | "editorial" )+ } }?,
   tei_macro.paraContent
}

<surface>

<surface> defines a written surface as a two-dimensional coordinate space, optionally grouping one or more graphic representations of that space, zones of interest within that space, and, when using an embedded transcription approach, transcriptions of the writing within them. [12.1. Digital Facsimiles 12.2.2. Embedded Transcription]
Moduletranscr —
Contained by
May contain
figures: figure formula
textcrit: app witDetail
transcr: space surface
Note

The <surface> element represents any two-dimensional space on some physical surface forming part of the source material, such as a piece of paper, a face of a monument, a billboard, a scroll, a leaf etc.

The coordinate space defined by this element may be thought of as a grid @lrx - @ulx units wide and @uly - @lry units high.

The <surface> element may contain graphic representations or transcriptions of written zones, or both. The coordinate values used by every <zone> element contained by this element are to be understood with reference to the same grid.

Where it is useful or meaningful to do so, any grouping of multiple <surface> elements may be indicated using the <surfaceGrp> element.

Example

      <facsimile>
        <surface ulx="0" uly="0" lrx="200" lry="300">
          <graphic url="Bovelles-49r.png"/>
        </surface>
      </facsimile>
    
Content model <sequence> <alternate minOccurs="0" maxOccurs="unbounded"> <classRef key="model.global"/> <classRef key="model.labelLike"/> <classRef key="model.graphicLike"/> </alternate> <sequence minOccurs="0" maxOccurs="unbounded"> <alternate> <elementRef key="zone"/> <elementRef key="line"/> <elementRef key="path"/> <elementRef key="surface"/> <elementRef key="surfaceGrp"/> </alternate> <classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/> </sequence> </sequence>
Schema Declaration
element surface
{
   tei_att.global.attributes,
   tei_att.coordinated.attributes,
   tei_att.declaring.attributes,
   tei_att.typed.attributes,
   attribute attachment { teidata.enumerated }?,
   attribute flipping { teidata.truthValue }?,
   (
      ( tei_model.global | model.labelLike | tei_model.graphicLike )*,
      (
         (
            ( zone | line | path | tei_surface | surfaceGrp ),
            tei_model.global*
         )*
      )
   )
}

<surname>

<surname> (surname) contains a family (inherited) name, as opposed to a given, baptismal, or nick name. [14.2.1. Personal Names]
Modulenamesdates —
Member of
Contained by
May contain
Example

      <surname type="combine">St John Stevas</surname>
    
Content model <macroRef key="macro.phraseSeq"/>
Schema Declaration
element surname { tei_att.cmc.attributes, tei_macro.phraseSeq }

<table>

<table> (table) contains text displayed in tabular form, in rows and columns. [15.1.1. TEI Tables]
Modulefigures —
Member of
Contained by
figures: cell figure
linking: ab
msdescription: signatures
textcrit: lem rdg witness
textstructure: back body div salute signed
transcr: supplied
May contain
figures: figure formula row
textcrit: app witDetail
textstructure: closer salute signed
transcr: space
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 <sequence minOccurs="1" maxOccurs="1"> <alternate minOccurs="0" maxOccurs="unbounded"> <classRef key="model.headLike"/> <classRef key="model.global"/> </alternate> <alternate minOccurs="1" maxOccurs="1"> <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>
Schema Declaration
element table
{
   tei_att.cmc.attributes,
   attribute rend
   {
      list
      {
         (
            "inlineBlock"
          | "left"
          | "right"
          | "centre"
          | "borderAll"
          | "borderBottom"
          | "borderLeft"
          | "borderRight"
          | "borderSides"
          | "borderTop"
          | "vAlignTop"
          | "vAlignMiddle"
          | "vAlignBottom"
          | "width05"
          | "width10"
          | "width15"
          | "width20"
          | "width25"
          | "width30"
          | "width33"
          | "width35"
          | "width40"
          | "width45"
          | "width50"
          | "width55"
          | "width60"
          | "width65"
          | "width66"
          | "width70"
          | "width75"
          | "width80"
          | "width85"
          | "width90"
          | "width95"
          | "width100"
         )+
      }
   }?,
   (
      ( tei_model.headLike | tei_model.global )*,
      (
         ( ( tei_row, tei_model.global* )+ )
       | ( ( tei_model.graphicLike, tei_model.global* )+ )
      ),
      ( ( tei_model.divBottom, tei_model.global* )* )
   )
}

<TEI>

<TEI> (TEI document) is the parent element containing the whole of the electronic file, both metadata and transcription. [4. Default Text Structure 16.1. Varieties of Composite Text]
Moduletextstructure —
Contained by
textstructure: TEI
May contain
header: teiHeader
textstructure: TEI text
transcr: facsimile
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 xml:id="DCP-LETT-10000">
                                   <teiHeader>
                                       <fileDesc>
                                           <!-- fileDesc contains information about the file, its source and
                                           its published versions -->
                                           <titleStmt/>
                                           <publicationStmt/>
                                           <seriesStmt/>
                                           <sourceDesc/>
                                       </fileDesc>
                                       
                                       <profileDesc>
                                           <!-- profileDesc contains the bulk of the metadata transcriptions -->
                                           <correspDesc>
                                               <!-- contains information about the correspondence exchange -->
                                           </correspDesc>
                                           <abstract>
                                               <!-- contains a summary of the item -->
                                           </abstract>
                                           <textClass>
                                               <!-- contains the categories assigned to a letter -->
                                           </textClass>
                                       </profileDesc>
                                       
                                       <revisionDesc>
                                           <!-- contains information about the changes made to the XML file -->
                                       </revisionDesc>
                                   </teiHeader>
                                   
                                   <text>
                                       <body>
                                           <div type="letter">
                                               <div type="text">
                                                   <opener>
                                                       <!-- contains the information printed at the top of the letter -->
                                                   </opener>
                                                   <div type="transcription">
                                                       <!-- the letter content goes here -->
                                                   </div>
                                               </div>
                                               
                                               <div type="enclosure">
                                                   <!-- contains a transcription of a single enclosure. This div is optional 
                                                   and should only be included when the file letter has an enclosure -->
                                               </div>
                                               
                                               <div type="enclosure" subtype="other">
                                                   <!-- If there are multiple enclosures, multiple just create an additional
                                                   sibling div/@type="enclosure" for each one -->
                                                   <!--  @subtype is required to indicate the type of content the
                                                   enclosure contains: 'letter', 'translation' or 'other'
                                                   If you need to translate enclosures, just create a
                                                   div/@type="enclosure" for each one to be translated.
                                                   -->
                                               </div>
                                               
                                               <div type="cdnotes">
                                                   <!-- This div is optional and only to be used if the file contains contains 
                                                   one or more 'cdnotes' -->
                                                   <note type="annotation"><!-- contents of first CD Note goes here--></note>
                                                   <note type="annotation"><!-- contents of second CD Note goes here--></note>
                                               </div>
                                               
                                               <div type="annotations">
                                                   <!-- This div is optional and only to be used if the file contains contains 
                                                   one or more 'annotations' -->
                                                   <note type="annotation"><!-- contents of first annotation goes here--></note>
                                                   <note type="annotation"><!-- contents of second annotation goes here--></note>
                                               </div>
                                           </div>
                                           
                                           <div type="translation">
                                               <!-- div/@type='translation' is optional and need only be included
                                               when a translation is being provided -->
                                               <div type="text">
                                                   <opener>
                                                       <!-- contains a translation of the information printed at the
                                                       top of the letter -->
                                                   </opener>
                                                   <div type="transcription">
                                                       <!-- the translated letter content goes here -->
                                                   </div>
                                               </div>
                                               <div type="enclosure">
                                                   <!-- This element is optional. It is ONLY needed if you need to 
                                                   translate an enclosure.
                                                   If you need to translate enclosures, just create a
                                                   div/@type="enclosure" for each one to be translated.
                                                   -->
                                               </div>
                                           </div>
                                           
                                           <div type="footnotes">
                                               <!-- This div is optional and should only be included if the edited letter 
                                               contains one or more notes -->
                                               <note type="footnote" xml:id="foot-10000.f1"><!-- note content goes here --></note>
                                               <note type="footnote" xml:id="foot-10000.f2"><!-- note content goes here --></note>
                                           </div>
                                       </body>
                                   </text>
                               </TEI>
                           
Schematron <rule xmlns="http://purl.oclc.org/dsdl/schematron" context="tei:TEI"> <assert test="count(//tei:correspDesc) eq 1">ERROR: <name/> is required for describing correspondence details</assert> </rule>
Content model <sequence minOccurs="1" maxOccurs="1"> <elementRef key="teiHeader"/> <alternate minOccurs="1" maxOccurs="1"> <sequence minOccurs="1" maxOccurs="1"> <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>
Schema Declaration
element TEI
{
   attribute xml:id { xsd:ID },
   attribute xml:lang { teidata.language }?,
   ( tei_teiHeader, ( ( tei_model.resource+, tei_TEI* ) | tei_TEI+ ) )
}

<teiHeader>

<teiHeader> (TEI header) contains all the metadata pertaining to the electronic document and its original source . [2.1.1. The TEI Header and Its Components 16.1. Varieties of Composite Text]
Moduleheader —
Contained by
textstructure: TEI
May contain
Note

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

Example

                               <teiHeader>
                                   <fileDesc>
                                       <!-- fileDesc contains information about the file, its source and
                                           its published versions -->
                                       <titleStmt/>
                                       <publicationStmt/>
                                       <seriesStmt/>
                                       <sourceDesc/>
                                   </fileDesc>
                                   <profileDesc>
                                       <!-- profileDesc contains the bulk of the metadata in DCP transcriptions -->
                                       <correspDesc>
                                           <!-- contains information about the correspondence exchange -->
                                       </correspDesc>
                                       <abstract>
                                           <!-- contains a summary of the item -->
                                       </abstract>
                                       <textClass>
                                           <!-- contains the categories assigned to a letter -->
                                       </textClass>
                                   </profileDesc>
                                   <revisionDesc>
                                       <!-- contains information about the changes made to the XML file -->
                                   </revisionDesc>
                               </teiHeader>
                           
Content model <sequence minOccurs="1" maxOccurs="1"> <elementRef key="fileDesc"/> <classRef key="model.teiHeaderPart" minOccurs="0" maxOccurs="unbounded"/> <elementRef key="revisionDesc" minOccurs="0"/> </sequence>
Schema Declaration
element teiHeader { tei_fileDesc, tei_model.teiHeaderPart*, tei_revisionDesc? }

<term>

<term> (term) contains a single-word, multi-word, or symbolic designation which is regarded as a technical term. [3.4.1. Terms and Glosses]
Modulecore —
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 <macroRef key="macro.phraseSeq"/>
Schema Declaration
element term
{
   tei_att.global.attributes,
   tei_att.cReferencing.attributes,
   tei_att.canonical.attributes,
   tei_att.cmc.attributes,
   tei_att.declaring.attributes,
   tei_att.pointing.attributes,
   tei_att.sortable.attributes,
   tei_att.typed.attributes,
   tei_macro.phraseSeq
}

<text>

<text> (text) contains a single text of any kind, whether unitary or composite, for example a poem or drama, a collection of essays, a novel, a dictionary, or a corpus sample. [4. Default Text Structure 16.1. Varieties of Composite Text]
Moduletextstructure —
Member of
Contained by
textstructure: TEI
May contain
core: cb gap lb note pb
figures: figure
textcrit: app witDetail
textstructure: back body
transcr: space
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 <sequence minOccurs="1" maxOccurs="1"> <classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/> <sequence minOccurs="0" maxOccurs="1"> <elementRef key="front"/> <classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/> </sequence> <alternate minOccurs="1" maxOccurs="1"> <elementRef key="body"/> <elementRef key="group"/> </alternate> <classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/> <sequence minOccurs="0" maxOccurs="1"> <elementRef key="back"/> <classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/> </sequence> </sequence>
Schema Declaration
element text
{
   attribute xml:lang { teidata.language }?,
   attribute decls { list { teidata.pointer+ } }?,
   attribute type { teidata.enumerated }?,
   (
      tei_model.global*,
      ( ( front, tei_model.global* )? ),
      ( tei_body | group ),
      tei_model.global*,
      ( ( tei_back, tei_model.global* )? )
   )
}

<textClass>

<textClass> (text classification) groups information which describes the nature or topic of a text in terms of a standard classification scheme, thesaurus, etc. [2.4.3. The Text Classification]
Moduleheader —
Member of
Contained by
header: profileDesc
May contain
header: keywords
Example

      <taxonomy>
        <category xml:id="acprose">
          <catDesc>Academic prose</catDesc>
        </category>
        <!-- other categories here -->
      </taxonomy>
      <!-- ... -->
      <textClass>
        <catRef target="#acprose"/>
        <classCode scheme="http://www.udcc.org">001.9</classCode>
        <keywords scheme="http://authorities.loc.gov">
          <list>
            <item>End of the world</item>
            <item>History - philosophy</item>
          </list>
        </keywords>
      </textClass>
    
Schematron <sch:pattern is-a="declarable"> <sch:param name="tde" value="tei:textClass"/> </sch:pattern>
Content model <alternate minOccurs="0" maxOccurs="unbounded"> <elementRef key="classCode"/> <elementRef key="catRef"/> <elementRef key="keywords"/> </alternate>
Schema Declaration
element textClass
{
   tei_att.global.attributes,
   tei_att.declarable.attributes,
   ( classCode | catRef | tei_keywords )*
}

<title>

<title> (title) contains the title (letter header) of the electronic document. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement 2.2.5. The Series Statement]
Modulecore —
Member of
Contained by
May contain
Note

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

Example

                               <title>From R. F. Cooke  29 May 1875</title>
                           
Content model <macroRef key="macro.paraContent"/>
Schema Declaration
element title
{
   tei_att.cmc.attributes,
   attribute xml:id { xsd:ID }?,
   attribute xml:lang { teidata.language }?,
   attribute copyOf { teidata.pointer }?,
   attribute type { teidata.enumerated }?,
   attribute level { "a" | "m" | "j" | "s" | "u" }?,
   tei_macro.paraContent
}

<titleStmt>

<titleStmt> (title statement) container for the <title> of the letter [2.2.1. The Title Statement 2.2. The File Description]
Moduleheader —
Contained by
header: fileDesc
May contain
Example

                               <titleStmt>
                                   <title>From H. C. Watson   [after 24 July 1861]<ref target="#foot.f1"/></title>
                               </titleStmt>
                           
Content model <sequence minOccurs="1" maxOccurs="1"> <elementRef key="title" minOccurs="1" maxOccurs="unbounded"/> <classRef key="model.respLike" minOccurs="0" maxOccurs="unbounded"/> </sequence>
Schema Declaration
element titleStmt { tei_title+, tei_model.respLike* }

<unclear>

<unclear> (unclear) contains a word, phrase, or passage which cannot be transcribed with certainty because it is illegible or inaudible in the source. [12.3.3.1. Damage, Illegibility, and Supplied Text 3.5.3. Additions, Deletions, and Omissions]
Modulecore —
Member of
Contained by
May contain
Note

The same element is used for all cases of uncertainty in the transcription of element content, whether for written or spoken material. For other aspects of certainty, uncertainty, and reliability of tagging and transcription, see chapter 22. Certainty, Precision, and Responsibility.

The <damage>, <gap>, <del>, <unclear> and <supplied> elements may be closely allied in use. See section 12.3.3.2. Use of the gap, del, damage, unclear, and supplied Elements in Combination for discussion of which element is appropriate for which circumstance.

The @hand attribute points to a definition of the hand concerned, as further discussed in section 12.3.2.1. Document Hands.

Example

      <u> ...and then <unclear reason="background-noise">Nathalie</unclear> said ... </u>
    
Content model <macroRef key="macro.paraContent"/>
Schema Declaration
element unclear { tei_att.cmc.attributes, tei_macro.paraContent }

<variantEncoding />

<variantEncoding /> (variant encoding) declares the method used to encode text-critical variants. [13.1.1. The Apparatus Entry]
Moduletextcrit —
Member of
Contained by
header: encodingDesc
May containEmpty element
Example

      <variantEncoding method="location-referenced" location="external"/>
    
Content model <empty/>
Schema Declaration
element variantEncoding
{
   tei_att.global.attributes,
   attribute method
   {
      "location-referenced" | "double-end-point" | "parallel-segmentation"
   },
   attribute location { "internal" | "external" },
   empty
}

<wit>

<wit> (wit) contains a list of one or more sigla of witnesses attesting a given reading, in a textual variation. [13.1.4. Witness Information]
Moduletextcrit —
Member of
Contained by
textcrit: app lem rdg rdgGrp
May contain
Note

This element represents the same information as that provided by the @wit attribute of the reading; it may be used to record the exact form of the sigla given in the source edition, when that is of interest.

Example

      <rdg wit="#El #Hg">Experience</rdg>
      <wit>Ellesmere,  Hengwryt</wit>
    
Content model <macroRef key="macro.phraseSeq"/>
Schema Declaration
element wit
{
   tei_att.global.attributes,
   tei_att.rdgPart.attributes,
   tei_macro.phraseSeq
}

<witDetail>

<witDetail> (witness detail) gives further information about a particular witness, or witnesses, to a particular reading. [13.1. The Apparatus Entry, Readings, and Witnesses]
Moduletextcrit —
Member of
Contained by
May contain
Note

The <witDetail> element was formerly permitted anywhere that <note> could appear, but since it should only be used in association with <lem> and <rdg>, it is recommended that it be placed immediately following the reading that it modifies, in the same <app>. A <witDetail> without a @target attribute should be assumed to refer to the closest preceding <lem> or <rdg>.

Example

      <app type="substantive">
        <lem xml:id="W026x" wit="#El #HG">Experience</lem>
        <rdg wit="#Ha4">Experiens</rdg>
        <witDetail target="#W026x" resp="#PR" wit="#El" type="presentation">Ornamental capital.</witDetail>
      </app>
    
Content model <alternate minOccurs="0" maxOccurs="unbounded"> <textNode/> <classRef key="model.gLike"/> <classRef key="model.phrase"/> <classRef key="model.global"/> <elementRef key="bibl"/> </alternate>
Schema Declaration
element witDetail
{
   tei_att.global.attributes,
   tei_att.placement.attributes,
   tei_att.pointing.attributes,
   tei_att.typed.attribute.subtype,
   attribute type { teidata.enumerated }?,
   attribute wit { list { teidata.pointer+ } },
   ( text | model.gLike | tei_model.phrase | tei_model.global | tei_bibl )*
}

<witEnd />

<witEnd /> (fragmented witness end) indicates the end, or suspension, of the text of a fragmentary witness. [13.1.5. Fragmentary Witnesses]
Moduletextcrit —
Member of
Contained by
textcrit: lem rdg
May containEmpty element
Example

      <app>
        <lem wit="#El #Hg">Experience</lem>
        <rdg wit="#Ha4">Ex<g ref="#per"/>
               <witEnd/>
            </rdg>
      </app>
    
Content model <empty/>
Schema Declaration
element witEnd { tei_att.global.attributes, tei_att.rdgPart.attributes, empty }

<witness>

<witness> (witness) contains either a description of a single witness referred to within the critical apparatus, or a list of witnesses which is to be referred to by a single sigil. [13.1. The Apparatus Entry, Readings, and Witnesses]
Moduletextcrit —
Contained by
textcrit: listWit
May contain
Note

The content of the <witness> element may give bibliographic information about the witness or witness group, or it may be empty.

Example

      <listWit>
        <witness xml:id="EL">Ellesmere, Huntingdon Library 26.C.9</witness>
        <witness xml:id="HG">Hengwrt, National Library of Wales,
   Aberystwyth, Peniarth 392D</witness>
        <witness xml:id="RA2">Bodleian Library Rawlinson Poetic 149
   (see further <ptr target="http://www.examples.com/MSdescs#MSRP149"/>)</witness>
      </listWit>
    
Content model <alternate minOccurs="0" maxOccurs="unbounded"> <textNode/> <classRef key="model.limitedPhrase"/> <classRef key="model.inter"/> <elementRef key="note"/> <elementRef key="object"/> </alternate>
Schema Declaration
element witness
{
   tei_att.global.attributes,
   tei_att.sortable.attributes,
   ( text | tei_model.limitedPhrase | tei_model.inter | tei_note | object )*
}

<witStart />

<witStart /> (fragmented witness start) indicates the beginning, or resumption, of the text of a fragmentary witness. [13.1.5. Fragmentary Witnesses]
Moduletextcrit —
Member of
Contained by
textcrit: lem rdg
May containEmpty element
Example

      <app>
        <lem wit="#El #Hg">Auctoritee</lem>
        <rdg wit="#La #Ra2">auctorite</rdg>
        <rdg wit="#X"><witStart/>auctorite</rdg>
      </app>
    
Content model <empty/>
Schema Declaration
element witStart
{
   tei_att.global.attributes,
   tei_att.rdgPart.attributes,
   empty
}

Schema epsilon: Model classes

model.attributable

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

model.availabilityPart

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

model.biblLike

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

model.biblPart

model.biblPart groups elements which represent components of a bibliographic description. [3.12. Bibliographic Citations and References]
Moduletei —
Used by
Membersmodel.imprintPart [biblScope pubPlace publisher] model.respLike [author funder respStmt] availability bibl edition extent msIdentifier relatedItem

model.choicePart

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

model.common

model.common groups common chunk- and inter-level elements. [1.3. The TEI Class System]
Moduletei —
Used by
Membersmodel.cmc model.divPart [model.lLike [l] model.pLike [ab p] lg] model.inter [model.attributable [model.quoteLike] model.biblLike [bibl biblStruct msDesc] model.listLike [list listApp listWit table] ]
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.correspActionPart

model.correspActionPart groups elements which define the parts (usually names, dates and places) of one action related to the correspondence.
Moduletei —
Used by
Membersmodel.addressLike model.dateLike [date] model.nameLike [model.nameLike.agent [name orgName persName] model.persNamePart [forename roleName surname] model.placeStateLike [model.placeNamePart [country placeName settlement] ] idno] note

model.correspDescPart

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

model.dateLike

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

model.divBottom

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

model.divBottomPart

model.divBottomPart groups elements which can occur only at the end of a text division. [4.6. Title Pages]
Moduletei —
Used by
Memberscloser signed

model.divLike

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

model.divPart

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

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

model.divTop

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

model.divTopPart

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

model.divWrapper

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

model.emphLike

model.emphLike groups phrase-level elements which are typographically distinct and to which a specific function can be attributed. [3.3. Highlighting and Quotation]
Moduletei —
Used by
Membersforeign term title

model.encodingDescPart

model.encodingDescPart groups elements which may be used inside <encodingDesc> and appear multiple times.
Moduletei —
Used by
MemberseditorialDecl variantEncoding

model.global

model.global groups elements which may appear at any point within a TEI text. [1.3. The TEI Class System]
Moduletei —
Used by
Membersmodel.global.edit [app gap space witDetail] model.milestoneLike [cb lb pb] model.noteLike [note] figure

model.global.edit

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

model.graphicLike

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

model.headLike

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

model.highlighted

model.highlighted groups phrase-level elements which are typographically distinct. [3.3. Highlighting and Quotation]
Moduletei —
Used by
Membersmodel.emphLike [foreign term title] model.hiLike [hi]

model.hiLike

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

model.imprintPart

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

model.inter

model.inter groups elements which can appear either within or between paragraph-like elements. [1.3. The TEI Class System]
Moduletei —
Used by
Membersmodel.attributable [model.quoteLike] model.biblLike [bibl biblStruct msDesc] model.listLike [list listApp listWit table]

model.limitedPhrase

model.limitedPhrase groups phrase-level elements excluding those elements primarily intended for transcription of existing sources. [1.3. The TEI Class System]
Moduletei —
Used by
Membersmodel.emphLike [foreign term title] model.hiLike [hi] model.pPart.data [model.addressLike model.dateLike [date] model.measureLike model.nameLike [model.nameLike.agent [name orgName persName] model.persNamePart [forename roleName surname] model.placeStateLike [model.placeNamePart [country placeName settlement] ] idno] ] model.pPart.editorial [abbr choice ex expan subst] model.pPart.msdesc [signatures] model.ptrLike [ptr ref]

model.listLike

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

model.lLike

model.lLike groups elements representing metrical components such as verse lines.
Moduletei —
Used by
Membersl

model.milestoneLike

model.milestoneLike groups milestone-style elements used to represent reference systems. [1.3. The TEI Class System 3.11.3. Milestone Elements]
Moduletei —
Used by
Memberscb lb pb

model.msItemPart

model.msItemPart groups elements which can appear within a manuscript item description.
Moduletei —
Used by
Membersmodel.biblLike [bibl biblStruct msDesc] model.msQuoteLike [title] model.quoteLike model.respLike [author funder respStmt] idno msItem

model.msQuoteLike

model.msQuoteLike groups elements which represent passages such as titles quoted from a manuscript as a part of its description.
Moduletei —
Used by
Memberstitle

model.nameLike

model.nameLike groups elements which name or refer to a person, place, or organization.
Moduletei —
Used by
Membersmodel.nameLike.agent [name orgName persName] model.persNamePart [forename roleName surname] model.placeStateLike [model.placeNamePart [country placeName settlement] ] idno
Note

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

model.nameLike.agent

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

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

model.noteLike

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

model.paraPart

model.paraPart groups elements that may appear in paragraphs and similar elements. [3.1. Paragraphs]
Moduletei —
Used by
Membersmodel.global [model.global.edit [app gap space witDetail] model.milestoneLike [cb lb pb] model.noteLike [note] figure] model.inter [model.attributable [model.quoteLike] model.biblLike [bibl biblStruct msDesc] model.listLike [list listApp listWit table] ] model.lLike [l] model.phrase [model.graphicLike [formula graphic] model.highlighted [model.emphLike [foreign term title] model.hiLike [hi] ] model.pPart.data [model.addressLike model.dateLike [date] model.measureLike model.nameLike [model.nameLike.agent [name orgName persName] model.persNamePart [forename roleName surname] model.placeStateLike [model.placeNamePart [country placeName settlement] ] idno] ] model.pPart.edit [model.pPart.editorial [abbr choice ex expan subst] model.pPart.transcriptional [add corr del handShift sic supplied unclear] ] model.pPart.msdesc [signatures] model.ptrLike [ptr ref] model.segLike] lg

model.persNamePart

model.persNamePart groups elements which form part of a personal name. [14.2.1. Personal Names]
Modulenamesdates —
Used by
Membersforename roleName surname

model.phrase

model.phrase groups elements which can occur at the level of individual words or phrases. [1.3. The TEI Class System]
Moduletei —
Used by
Membersmodel.graphicLike [formula graphic] model.highlighted [model.emphLike [foreign term title] model.hiLike [hi] ] model.pPart.data [model.addressLike model.dateLike [date] model.measureLike model.nameLike [model.nameLike.agent [name orgName persName] model.persNamePart [forename roleName surname] model.placeStateLike [model.placeNamePart [country placeName settlement] ] idno] ] model.pPart.edit [model.pPart.editorial [abbr choice ex expan subst] model.pPart.transcriptional [add corr del handShift sic supplied unclear] ] model.pPart.msdesc [signatures] model.ptrLike [ptr ref] model.segLike
Note

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

model.placeNamePart

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

model.placeStateLike

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

model.pLike

model.pLike groups paragraph-like elements.
Moduletei —
Used by
Membersab p

model.pLike.front

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

model.pPart.data

model.pPart.data groups phrase-level elements containing names, dates, numbers, measures, and similar data. [3.6. Names, Numbers, Dates, Abbreviations, and Addresses]
Moduletei —
Used by
Membersmodel.addressLike model.dateLike [date] model.measureLike model.nameLike [model.nameLike.agent [name orgName persName] model.persNamePart [forename roleName surname] model.placeStateLike [model.placeNamePart [country placeName settlement] ] idno]

model.pPart.edit

model.pPart.edit groups phrase-level elements for simple editorial correction and transcription. [3.5. Simple Editorial Changes]
Moduletei —
Used by
Membersmodel.pPart.editorial [abbr choice ex expan subst] model.pPart.transcriptional [add corr del handShift sic supplied unclear]

model.pPart.editorial

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

model.pPart.msdesc

model.pPart.msdesc groups phrase-level elements used in manuscript description. [11. Manuscript Description]
Moduletei —
Used by
Memberssignatures

model.pPart.transcriptional

model.pPart.transcriptional groups phrase-level elements used for editorial transcription of pre-existing source materials. [3.5. Simple Editorial Changes]
Moduletei —
Used by
Membersadd corr del handShift sic supplied unclear

model.profileDescPart

model.profileDescPart groups elements which may be used inside <profileDesc> and appear multiple times.
Moduletei —
Used by
Membersabstract correspDesc handNotes langUsage textClass

model.ptrLike

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

model.publicationStmtPart.agency

model.publicationStmtPart.agency groups the child elements of a <publicationStmt> element of the TEI header that indicate an authorising agent. [2.2.4. Publication, Distribution, Licensing, etc.]
Moduletei —
Used by
Membersauthority 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

model.publicationStmtPart.detail groups the agency-specific child elements of the <publicationStmt> element of the TEI header. [2.2.4. Publication, Distribution, Licensing, etc.]
Moduletei —
Used by
Membersmodel.ptrLike [ptr ref] 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.rdgLike

model.rdgLike groups elements which contain a single reading, other than the lemma, within a textual variation. [13.1. The Apparatus Entry, Readings, and Witnesses]
Moduletextcrit —
Used by
Membersrdg
Note

This class allows for variants of the <rdg> element to be easily created via TEI customizations.

model.rdgPart

model.rdgPart groups elements which mark the beginning or ending of a fragmentary manuscript or other witness. [13.1.5. Fragmentary Witnesses]
Moduletextcrit —
Used by
MemberslacunaEnd lacunaStart wit witEnd witStart
Note

These elements may appear anywhere within the elements <lem> and <rdg>, and also within any of their constituent elements.

model.resource

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

model.respLike

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

model.teiHeaderPart

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

model.titlepagePart

model.titlepagePart groups elements which can occur as direct constituents of a title page, such as <docTitle>, <docAuthor>, <docImprint>, or <epigraph>. [4.6. Title Pages]
Moduletei —
Used by
Membersgraphic

Schema epsilon: Attribute classes

att.canonical

att.canonical provides attributes that can be used to associate a representation such as a name or title with canonical information about the object being named or referenced. [14.1.1. Linking Names and Their Referents]
Moduletei —
Membersatt.naming [att.personal [forename orgName persName placeName] author repository] bibl biblStruct resp term
Attributes
keyprovides an externally-defined means of identifying the entity (or entities) being named, using a coded value of some kind.
Status Optional
Datatype teidata.text

          <author>
            <name key="Hugo, Victor (1802-1885)" ref="http://www.idref.fr/026927608">Victor Hugo</name>
          </author>
        
Note

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

ref(reference) provides an explicit means of locating a full definition or identity for the entity being named by means of one or more URIs.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace

          <name ref="http://viaf.org/viaf/109557338" type="person">Seamus Heaney</name>
        
Note

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

Example

In this contrived example, a canonical reference to the same organisation is provided in four different ways.


      <author n="1">
        <name ref="http://nzetc.victoria.ac.nz/tm/scholarly/name-427308.html" type="organisation">New Zealand Parliament, Legislative Council</name>
      </author>
       
      <author n="2">
        <name ref="nzvn:427308" type="organisation">New Zealand Parliament, Legislative Council</name>
      </author>
          
      <author n="3">
        <name ref="./named_entities.xml#o427308" type="organisation">New Zealand Parliament, Legislative Council</name>
      </author>
       
      <author n="4">
        <name key="name-427308" type="organisation">New Zealand Parliament, Legislative Council</name>
      </author>
    

The first presumes the availability of an internet connection and a processor that can resolve a URI (most can). The second requires, in addition, a <prefixDef> that declares how the nzvm prefix should be interpreted. The third does not require an internet connection, but does require that a file named named_entities.xml be in the same directory as the TEI document. The fourth requires that an entire external system for key resolution be available.

Note

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

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

att.cmc

att.cmc (computer-mediated communication) provides attributes categorizing how the element content was created in a CMC environment.
Moduletei —
Membersab abbr add bibl biblStruct cb choice closer corr country date del expan figure foreign forename formula gap graphic head hi idno l lb lg list name note opener orgName p pb persName placeName ptr ref roleName salute settlement sic signed surname table term title unclear
Attributes
generatedBy(generated by) categorizes how the content of an element was generated in a CMC environment.
Status Optional
Datatype teidata.enumerated
Schematron <sch:rule context="tei:*[@generatedBy]"> <sch:assert test="ancestor-or-self::tei:post">The @generatedBy attribute is for use within a &lt;post&gt; element.</sch:assert> </sch:rule>
Suggested values include:
human
the content was ‘naturally’ typed or spoken by a human user
template
the content was generated after a human user activated a template for its insertion
system
the content was generated by the system, i.e. the CMC environment
bot
the content was generated by a bot, i.e. a non-human agent, typically one that is not part of the CMC environment itself
unspecified
the content was generated by an unknown or unspecified process

automatic system message in chat: user moves on to another chatroom


          <post type="event" generatedBy="system" who="#system" rend="color:blue">
            <p>
              <name type="nickname" corresp="#A02">McMike</name> geht
              in einen anderen Raum: <name type="roomname">Kreuzfahrt</name>
            </p>
          </post>
        

automatic system message in chat: user enters a chatroom


          <post type="event" generatedBy="system">
            <p>
              <name type="nickname" corresp="#A08">c_bo</name> betritt
            den Raum. </p>
          </post>
        

automatic system message in chat: user changes his font color


          <post type="event" generatedBy="system" rend="color:red">
            <p>
              <name type="nickname" corresp="#A08">c_bo</name> hat die
              Farbe gewechselt.
            </p>
          </post>
        

An automatic signature of user including an automatic timestamp (Wikipedia discussion, anonymized). The specification of @generatedBy at the inner element <signed> is meant to override the specification at the outer element <post>. This is generally possible when the outer @generatedBy value is "human".


          <post type="standard" generatedBy="human" indentLevel="2" synch="#t00394407" who="#WU00005582">
            <p> Kurze Nachfrage: Die Hieros für den Goldnamen stammen
              auch von Beckerath gem. Literatur ? Grüße --</p><signed generatedBy="template" rend="inline"><gap reason="signatureContent"/><time generatedBy="template">18:50, 22. Okt. 2008 (CEST)</time></signed>
          </post>
        

Wikipedia talk page: user signature


          <post type="written" generatedBy="human"> 
            <!-- ... main content of posting ... -->
            <signed generatedBy="template">
              <gap reason="signatureContent"/>
              <time generatedBy="template">12:01, 12. Jun. 2009 (CEST)</time>
            </signed>
          </post>
        

att.coordinated

att.coordinated provides attributes that can be used to position their parent element within a two dimensional coordinate system.
Moduletranscr —
Memberssurface
Attributes
startindicates the element within a transcription of the text containing at least the start of the writing represented by this zone or surface.
Status Optional
Datatype teidata.pointer
ulxgives the x coordinate value for the upper left corner of a rectangular space.
Status Optional
Datatype teidata.numeric
ulygives the y coordinate value for the upper left corner of a rectangular space.
Status Optional
Datatype teidata.numeric
lrxgives the x coordinate value for the lower right corner of a rectangular space.
Status Optional
Datatype teidata.numeric
lrygives the y coordinate value for the lower right corner of a rectangular space.
Status Optional
Datatype teidata.numeric
pointsidentifies a two dimensional area by means of a series of pairs of numbers, each of which gives the x,y coordinates of a point on a line enclosing the area.
Status Optional
Datatype 3–∞ occurrences of teidata.point separated by whitespace

att.cReferencing

att.cReferencing provides attributes that may be used to supply a canonical reference as a means of identifying the target of a pointer.
Moduletei —
Membersterm
Attributes
cRef(canonical reference) specifies the destination of the pointer by supplying a canonical reference expressed using the scheme defined in a <refsDecl> element in the TEI header.
Status Optional
Datatype teidata.text
Note

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

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

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

att.datable

att.datable provides attributes for normalization of elements that contain dates, times, or datable events. [3.6.4. Dates and Times 14.4. Dates]
Moduletei —
Memberschange date resp
Attributes
periodsupplies pointers to one or more definitions of named periods of time (typically <category>s, <date>s, or <event>s) within which the datable item is understood to have occurred.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace
Note

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

att.datable.custom

att.datable.custom provides attributes for normalization of elements that contain datable events to a custom dating system (i.e. other than the Gregorian used by W3 and ISO). [14.4. Dates]
Modulenamesdates —
Membersatt.datable [change date resp]
Attributes
when-customsupplies the value of a date or time in some custom standard form.
Status Optional
Datatype 1–∞ occurrences of teidata.word separated by whitespace

The following are examples of custom date or time formats that are not valid ISO or W3C format normalizations, normalized to a different dating system


          <p>Alhazen died in Cairo on the 
            <date when="1040-03-06" when-custom="431-06-12">
              12th day of Jumada t-Tania, 430 AH
            </date>.</p>
          <p>The current world will end at the 
            <date when="2012-12-21" when-custom="13.0.0.0.0">end of B'ak'tun 13</date>.</p>
          <p>The Battle of Meggidu
            (<date when-custom="Thutmose_III:23">23rd year of reign of Thutmose III</date>).</p>
          <p>Esidorus bixit in pace annos LXX plus minus sub
            <date when-custom="Ind:4-10-11">die XI mensis Octobris indictione IIII</date>
               </p>
        

Not all custom date formulations will have Gregorian equivalents.

The @when-custom attribute and other custom dating are not constrained to a datatype by the TEI, but individual projects are recommended to regularize and document their dating formats.

notBefore-customspecifies the earliest possible date for the event in some custom standard form.
Status Optional
Datatype 1–∞ occurrences of teidata.word separated by whitespace
notAfter-customspecifies the latest possible date for the event in some custom standard form.
Status Optional
Datatype 1–∞ occurrences of teidata.word separated by whitespace
from-customindicates the starting point of the period in some custom standard form.
Status Optional
Datatype 1–∞ occurrences of teidata.word separated by whitespace

          <event xml:id="FIRE1" datingMethod="#julian" from-custom="1666-09-02" to-custom="1666-09-05">
            <head>The Great Fire of London</head>
            <p>The Great Fire of London burned through a large part 
          of the city of London.</p>
          </event>
        
to-customindicates the ending point of the period in some custom standard form.
Status Optional
Datatype 1–∞ occurrences of teidata.word separated by whitespace
datingPointsupplies a pointer to some location defining a named point in time with reference to which the datable item is understood to have occurred.
Status Optional
Datatype teidata.pointer
datingMethodsupplies a pointer to a <calendar> element or other means of interpreting the values of the custom dating attributes.
Status Optional
Datatype teidata.pointer
Contayning the Originall, Antiquity, Increaſe, Moderne 
            eſtate, and deſcription of that Citie, written in the yeare 
            <date when-custom="1598" calendar="#julian" datingMethod="#julian">1598</date>. by Iohn Stow 
            Citizen of London.

In this example, the @calendar attribute points to a <calendar> element for the Julian calendar, specifying that the text content of the <date> element is a Julian date, and the @datingMethod attribute also points to the Julian calendar to indicate that the content of the @when-custom attribute value is Julian too.


          <date when="1382-06-28" when-custom="6890-06-20" datingMethod="#creationOfWorld">
            μηνὶ Ἰουνίου εἰς <num>κ</num> ἔτους <num>ςωϞ</num>
          </date>
        

In this example, a date is given in a Mediaeval text measured ‘from the creation of the world’, which is normalized (in @when) to the Gregorian date, but is also normalized (in @when-custom) to a machine-actionable, numeric version of the date from the Creation.

Note

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

att.datable.iso

att.datable.iso provides attributes for normalization of elements that contain datable events using the ISO 8601:2004 standard. [3.6.4. Dates and Times 14.4. Dates]
Modulenamesdates —
Membersatt.datable [change date resp]
Attributes
when-isosupplies the value of a date or time in a standard form.
Status Optional
Datatype teidata.temporal.iso

The following are examples of ISO date, time, and date & time formats that are not valid W3C format normalizations.


          <date when-iso="1996-09-24T07:25+00">Sept. 24th, 1996 at 3:25 in the morning</date>
          <date when-iso="1996-09-24T03:25-04">Sept. 24th, 1996 at 3:25 in the morning</date>
          <time when-iso="1999-01-04T20:42-05">4 Jan 1999 at 8:42 pm</time>
          <time when-iso="1999-W01-1T20,70-05">4 Jan 1999 at 8:42 pm</time>
          <date when-iso="2006-05-18T10:03">a few minutes after ten in the morning on Thu 18 May</date>
          <time when-iso="03:00">3 A.M.</time>
          <time when-iso="14">around two</time>
          <time when-iso="15,5">half past three</time>
        

All of the examples of the @when attribute in the att.datable.w3c class are also valid with respect to this attribute.

He likes to be punctual. I said <q><time when-iso="12">around noon</time></q>, and he showed up at <time when-iso="12:00:00">12 O'clock</time> on the dot.

The second occurrence of <time> could have been encoded with the @when attribute, as 12:00:00 is a valid time with respect to the W3C XML Schema Part 2: Datatypes Second Edition specification. The first occurrence could not.

notBefore-isospecifies the earliest possible date for the event in standard form, e.g. yyyy-mm-dd.
Status Optional
Datatype teidata.temporal.iso
notAfter-isospecifies the latest possible date for the event in standard form, e.g. yyyy-mm-dd.
Status Optional
Datatype teidata.temporal.iso
from-isoindicates the starting point of the period in standard form.
Status Optional
Datatype teidata.temporal.iso
to-isoindicates the ending point of the period in standard form.
Status Optional
Datatype teidata.temporal.iso
Note

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

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

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

att.datable.w3c

att.datable.w3c provides attributes for normalization of elements that contain datable events conforming to the W3C XML Schema Part 2: Datatypes Second Edition. [3.6.4. Dates and Times 14.4. Dates]
Moduletei —
Membersatt.datable [change date resp]
Attributes
whensupplies the value of the date or time in a standard form, e.g. yyyy-mm-dd.
Status Optional
Datatype teidata.temporal.w3c

Examples of W3C date, time, and date & time formats.


          <p>
            <date when="1945-10-24">24 Oct 45</date>
            <date when="1996-09-24T07:25:00Z">September 24th, 1996 at 3:25 in the morning</date>
            <time when="1999-01-04T20:42:00-05:00">Jan 4 1999 at 8 pm</time>
            <time when="14:12:38">fourteen twelve and 38 seconds</time>
            <date when="1962-10">October of 1962</date>
            <date when="--06-12">June 12th</date>
            <date when="---01">the first of the month</date>
            <date when="--08">August</date>
            <date when="2006">MMVI</date>
            <date when="0056">AD 56</date>
            <date when="-0056">56 BC</date>
          </p>
        
This list begins in
          the year 1632, more precisely on Trinity Sunday, i.e. the Sunday after
          Pentecost, in that year the
	  <date calendar="#julian" when="1632-06-06">27th of May (old style)</date>.

          <opener><dateline><placeName>Dorchester, Village,</placeName><date when="1828-03-02">March 2d.  1828.</date></dateline><salute>To
            Mrs. Cornell,</salute> Sunday <time when="12:00:00">noon.</time>
          </opener>
        
notBeforespecifies the earliest possible date for the event in standard form, e.g. yyyy-mm-dd.
Status Optional
Datatype teidata.temporal.w3c
notAfterspecifies the latest possible date for the event in standard form, e.g. yyyy-mm-dd.
Status Optional
Datatype teidata.temporal.w3c
fromindicates the starting point of the period in standard form, e.g. yyyy-mm-dd.
Status Optional
Datatype teidata.temporal.w3c
toindicates the ending point of the period in standard form, e.g. yyyy-mm-dd.
Status Optional
Datatype teidata.temporal.w3c
Schematron <sch:rule context="tei:*[@when]"> <sch:report test="@notBefore|@notAfter|@from|@to" role="nonfatal">The @when attribute cannot be used with any other att.datable.w3c attributes.</sch:report> </sch:rule>
Schematron <sch:rule context="tei:*[@from]"> <sch:report test="@notBefore" role="nonfatal">The @from and @notBefore attributes cannot be used together.</sch:report> </sch:rule>
Schematron <sch:rule context="tei:*[@to]"> <sch:report test="@notAfter" role="nonfatal">The @to and @notAfter attributes cannot be used together.</sch:report> </sch:rule>
Example

      <date from="1863-05-28" to="1863-06-01">28 May through 1 June 1863</date>
    
Note

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

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

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

att.declarable

att.declarable provides attributes for those elements in the TEI header which may be independently selected by means of the special purpose @decls attribute. [16.3. Associating Contextual Information with a Text]
Moduletei —
MemberslangUsage listApp textClass
Attributes
defaultindicates whether or not this element is selected by default when its parent is selected.
Status Optional
Datatype teidata.truthValue
Legal values are:
true
This element is selected if its parent is selected
false
This element can only be selected explicitly, unless it is the only one of its kind, in which case it is selected if its parent is selected. [Default]
Note

The rules governing the association of declarable elements with individual parts of a TEI text are fully defined in chapter 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

att.declaring provides attributes for elements which may be independently associated with a particular declarable element within the header, thus overriding the inherited default for that element. [16.3. Associating Contextual Information with a Text]
Moduletei —
Membersfacsimile graphic surface term text
Attributes
decls(declarations) identifies one or more declarable elements within the header, which are understood to apply to the element bearing this attribute and its content.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace
Note

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

att.dimensions

att.dimensions provides attributes for describing the size of physical objects.
Moduletei —
Membersgap space
Attributes
unitnames the unit used for the measurement
Status Optional
Datatype teidata.enumerated
Suggested values include:
cm
(centimetres)
mm
(millimetres)
in
(inches)
line
lines of text
char
(characters) characters of text
quantityspecifies the length in the units specified
Status Optional
Datatype teidata.numeric
extentindicates the size of the object concerned using a project-specific vocabulary combining quantity and units in a single string of words.
Status Optional
Datatype teidata.text

          <gap extent="5 words"/>
        

          <height extent="half the page"/>
        
precisioncharacterizes the precision of the values specified by the other attributes.
Status Optional
Datatype teidata.certainty
scopewhere the measurement summarizes more than one observation, specifies the applicability of this measurement.
Status Optional
Datatype teidata.enumerated
Sample values include:
all
measurement applies to all instances.
most
measurement applies to most of the instances inspected.
range
measurement applies to only the specified range of instances.

att.editLike

att.editLike provides attributes describing the nature of an encoded scholarly intervention or interpretation of any kind. [3.5. Simple Editorial Changes 11.3.1. Origination 14.3.2. The Person Element 12.3.1.1. Core Elements for Transcriptional Work]
Moduletei —
Membersatt.transcriptional [add] gap
Attributes
evidenceindicates the nature of the evidence supporting the reliability or accuracy of the intervention or interpretation.
Status Optional
Datatype 1–∞ occurrences of teidata.enumerated separated by whitespace
Suggested values include:
internal
there is internal evidence to support the intervention.
external
there is external evidence to support the intervention.
conjecture
the intervention or interpretation has been made by the editor, cataloguer, or scholar on the basis of their expertise.
instantindicates whether this is an instant revision or not.
Status Optional
Datatype teidata.xTruthValue
Default false
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.global

att.global provides attributes common to all elements in the TEI encoding scheme. [1.3.1.1. Global Attributes]
Moduletei —
MembersTEI ab app author availability bibl biblScope biblStruct cell change date div edition editionStmt extent facsimile figure foreign formula gap graphic head hi item keywords l lacunaEnd lacunaStart langUsage language lb lem list listApp listWit msIdentifier msName msPart name note orgName p pb persName rdg rdgGrp ref relatedItem resp respStmt row salute sic supplied surface table term text textClass title variantEncoding wit witDetail witEnd witStart witness
Attributes
xml:id(identifier) provides a unique identifier for the element bearing the attribute.
Status Optional
Datatype ID
Note

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

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

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

xml:lang(language) indicates the language of the element content using a ‘tag’ generated according to BCP 47.
Status Optional
Datatype teidata.language

          <p> … The consequences of
	  this rapid depopulation were the loss of the last
	  <foreign xml:lang="rap">ariki</foreign> or chief
	  (Routledge 1920:205,210) and their connections to
	  ancestral territorial organization.</p>
        
Note

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

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

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

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

xml:baseprovides a base URI reference with which applications can resolve relative URI references into absolute URI references.
Status Optional
Datatype teidata.pointer

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

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

att.global.change

att.global.change provides attributes allowing its member elements to specify one or more states or revision campaigns with which they are associated.
Moduletranscr —
Membersatt.global [TEI ab app author availability bibl biblScope biblStruct cell change date div edition editionStmt extent facsimile figure foreign formula gap graphic head hi item keywords l lacunaEnd lacunaStart langUsage language lb lem list listApp listWit msIdentifier msName msPart name note orgName p pb persName rdg rdgGrp ref relatedItem resp respStmt row salute sic supplied surface table term text textClass title variantEncoding wit witDetail witEnd witStart witness]
Attributes
changepoints to one or more <change> elements documenting a state or revision campaign to which the element bearing this attribute and its children have been assigned by the encoder.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace

att.global.facs

att.global.facs provides attributes used to express correspondence between an element and all or part of a facsimile image or surface. [12.1. Digital Facsimiles]
Moduletranscr —
Membersatt.global [TEI ab app author availability bibl biblScope biblStruct cell change date div edition editionStmt extent facsimile figure foreign formula gap graphic head hi item keywords l lacunaEnd lacunaStart langUsage language lb lem list listApp listWit msIdentifier msName msPart name note orgName p pb persName rdg rdgGrp ref relatedItem resp respStmt row salute sic supplied surface table term text textClass title variantEncoding wit witDetail witEnd witStart witness]
Attributes
facs(facsimile) points to one or more images, portions of an image, or surfaces which correspond to the current element.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace

att.global.linking

att.global.linking provides a set of attributes for hypertextual linking. [17. Linking, Segmentation, and Alignment]
Modulelinking —
Membersatt.global [TEI ab app author availability bibl biblScope biblStruct cell change date div edition editionStmt extent facsimile figure foreign formula gap graphic head hi item keywords l lacunaEnd lacunaStart langUsage language lb lem list listApp listWit msIdentifier msName msPart name note orgName p pb persName rdg rdgGrp ref relatedItem resp respStmt row salute sic supplied surface table term text textClass title variantEncoding wit witDetail witEnd witStart witness]
Attributes
corresp(corresponds) points to elements that correspond to the current element in some way.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace

          <group>
            <text xml:id="t1-g1-t1" xml:lang="mi">
              <body xml:id="t1-g1-t1-body1">
                <div type="chapter">
                  <head>He Whakamaramatanga mo te Ture Hoko, Riihi hoki, i nga Whenua Maori, 1876.</head>
                  <p>…</p>
                </div>
              </body>
            </text>
            <text xml:id="t1-g1-t2" xml:lang="en">
              <body xml:id="t1-g1-t2-body1" corresp="#t1-g1-t1-body1">
                <div type="chapter">
                  <head>An Act to regulate the Sale, Letting, and Disposal of Native Lands, 1876.</head>
                  <p>…</p>
                </div>
              </body>
            </text>
          </group>
        

In this example a <group> contains two <text>s, each containing the same document in a different language. The correspondence is indicated using @corresp. The language is indicated using @xml:lang, whose value is inherited; both the tag with the @corresp and the tag pointed to by the @corresp inherit the value from their immediate parent.


          
        <!-- In a placeography called "places.xml" -->
        <place xml:id="LOND1" corresp="people.xml#LOND2 people.xml#GENI1">
          <placeName>London</placeName>
          <desc>The city of London...</desc>
        </place>
        
        <!-- In a literary personography called "people.xml" -->
        <person xml:id="LOND2" corresp="places.xml#LOND1 #GENI1">
          <persName type="lit">London</persName>
          <note>
            <p>Allegorical character representing the city of <placeName ref="places.xml#LOND1">London</placeName>.</p>
          </note>
        </person>
        <person xml:id="GENI1" corresp="places.xml#LOND1 #LOND2">
          <persName type="lit">London’s Genius</persName>
          <note>
            <p>Personification of London’s genius. Appears as an 
              allegorical character in mayoral shows.
            </p>
          </note>
        </person>
      

In this example, a <place> element containing information about the city of London is linked with two <person> elements in a literary personography. This correspondence represents a slightly looser relationship than the one in the preceding example; there is no sense in which an allegorical character could be substituted for the physical city, or vice versa, but there is obviously a correspondence between them.

synch(synchronous) points to elements that are synchronous with the current element.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace
sameAspoints to an element that is the same as the current element.
Status Optional
Datatype teidata.pointer
copyOfpoints to an element of which the current element is a copy.
Status Optional
Datatype teidata.pointer
Note

Any content of the current element should be ignored. Its true content is that of the element being pointed at.

next(next) points to the next element of a virtual aggregate of which the current element is part.
Status Optional
Datatype teidata.pointer
Note

It is recommended that the element indicated be of the same type as the element bearing this attribute.

prev(previous) points to the previous element of a virtual aggregate of which the current element is part.
Status Optional
Datatype teidata.pointer
Note

It is recommended that the element indicated be of the same type as the element bearing this attribute.

excludepoints to elements that are in exclusive alternation with the current element.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace
selectselects one or more alternants; if one alternant is selected, the ambiguity or uncertainty is marked as resolved. If more than one alternant is selected, the degree of ambiguity or uncertainty is marked as reduced by the number of alternants not selected.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace
Note

This attribute should be placed on an element which is superordinate to all of the alternants from which the selection is being made.

att.global.rendition

att.global.rendition provides rendering attributes common to all elements in the TEI encoding scheme. [1.3.1.1.3. Rendition Indicators]
Moduletei —
Membersatt.global [TEI ab app author availability bibl biblScope biblStruct cell change date div edition editionStmt extent facsimile figure foreign formula gap graphic head hi item keywords l lacunaEnd lacunaStart langUsage language lb lem list listApp listWit msIdentifier msName msPart name note orgName p pb persName rdg rdgGrp ref relatedItem resp respStmt row salute sic supplied surface table term text textClass title variantEncoding wit witDetail witEnd witStart witness]
Attributes
rend(rendition) indicates how the element in question was rendered or presented in the source text.
Status Optional
Datatype 1–∞ occurrences of teidata.word separated by whitespace

          <head rend="align(center) case(allcaps)"><lb/>To The <lb/>Duchesse <lb/>of <lb/>Newcastle,
            <lb/>On Her <lb/><hi rend="case(mixed)">New Blazing-World</hi>. </head>
        
Note

These Guidelines make no binding recommendations for the values of the @rend attribute; the characteristics of visual presentation vary too much from text to text and the decision to record or ignore individual characteristics varies too much from project to project. Some potentially useful conventions are noted from time to time at appropriate points in the Guidelines. The values of the @rend attribute are a set of sequence-indeterminate individual tokens separated by whitespace.

stylecontains an expression in some formal style definition language which defines the rendering or presentation used for this element in the source text.
Status Optional
Datatype teidata.text

          <head style="text-align: center; font-variant: small-caps"><lb/>To The <lb/>Duchesse <lb/>of <lb/>Newcastle, <lb/>On Her
              <lb/><hi style="font-variant: normal">New Blazing-World</hi>. </head>
        
Note

Unlike the attribute values of @rend, which uses whitespace as a separator, the @style attribute may contain whitespace. This attribute is intended for recording inline stylistic information concerning the source, not any particular output.

The formal language in which values for this attribute are expressed may be specified using the <styleDefDecl> element in the TEI header.

If @style and @rendition are both present on an element, then @style overrides or complements @rendition. @style should not be used in conjunction with @rend, because the latter does not employ a formal style definition language.

renditionpoints to a description of the rendering or presentation used for this element in the source text.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace

          <head rendition="#ac #sc"><lb/>To The <lb/>Duchesse <lb/>of <lb/>Newcastle, <lb/>On Her
              <lb/><hi rendition="#normal">New Blazing-World</hi>. </head>
          <!-- elsewhere... -->
          <rendition xml:id="sc" scheme="css">font-variant: small-caps</rendition>
          <rendition xml:id="normal" scheme="css">font-variant: normal</rendition>
          <rendition xml:id="ac" scheme="css">text-align: center</rendition>
        
Note

The @rendition attribute is used in a very similar way to the @class attribute defined for XHTML but with the important distinction that its function is to describe the appearance of the source text, not necessarily to determine how that text should be presented on screen or paper.

If @rendition is used to refer to a style definition in a formal language like CSS, it is recommended that it not be used in conjunction with @rend. Where both @rendition and @rend are supplied, the latter is understood to override or complement the former.

Each URI provided should indicate a <rendition> element defining the intended rendition in terms of some appropriate style language, as indicated by the @scheme attribute.

att.global.responsibility

att.global.responsibility provides attributes indicating the agent responsible for some aspect of the text, the markup or something asserted by the markup, and the degree of certainty associated with it. [1.3.1.1.4. Sources, certainty, and responsibility 3.5. Simple Editorial Changes 12.3.2.2. Hand, Responsibility, and Certainty Attributes 18.3. Spans and Interpretations 14.1.1. Linking Names and Their Referents]
Moduletei —
Membersatt.global [TEI ab app author availability bibl biblScope biblStruct cell change date div edition editionStmt extent facsimile figure foreign formula gap graphic head hi item keywords l lacunaEnd lacunaStart langUsage language lb lem list listApp listWit msIdentifier msName msPart name note orgName p pb persName rdg rdgGrp ref relatedItem resp respStmt row salute sic supplied surface table term text textClass title variantEncoding wit witDetail witEnd witStart witness]
Attributes
cert(certainty) signifies the degree of certainty associated with the intervention or interpretation.
Status Optional
Datatype teidata.probCert
resp(responsible party) indicates the agency responsible for the intervention or interpretation, for example an editor or transcriber.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace
Note

To reduce the ambiguity of a @resp pointing directly to a person or organization, we recommend that @resp be used to point not to an agent (<person> or <org>) but to a <respStmt>, <author>, <editor> or similar element which clarifies the exact role played by the agent. Pointing to multiple <respStmt>s allows the encoder to specify clearly each of the roles played in part of a TEI file (creating, transcribing, encoding, editing, proofing etc.).

Example
Blessed are the 
      <choice><sic>cheesemakers</sic><corr resp="#editor" cert="high">peacemakers</corr></choice>: for they shall be called the children of God.
Example

      <!-- in the <text> ... -->
      <lg>
        <!-- ... -->
      <l>Punkes, Panders, baſe extortionizing 
        sla<choice><sic>n</sic><corr resp="#JENS1_transcriber">u</corr></choice>es,</l>
        <!-- ... -->
      </lg>
      <!-- in the <teiHeader> ... -->
      <!-- ... -->
      <respStmt xml:id="JENS1_transcriber">
        <resp when="2014">Transcriber</resp>
        <name>Janelle Jenstad</name>
      </respStmt>
    

att.global.source

att.global.source provides attributes used by elements to point to an external source. [1.3.1.1.4. Sources, certainty, and responsibility 3.3.3. Quotation 8.3.4. Writing]
Moduletei —
Membersatt.global [TEI ab app author availability bibl biblScope biblStruct cell change date div edition editionStmt extent facsimile figure foreign formula gap graphic head hi item keywords l lacunaEnd lacunaStart langUsage language lb lem list listApp listWit msIdentifier msName msPart name note orgName p pb persName rdg rdgGrp ref relatedItem resp respStmt row salute sic supplied surface table term text textClass title variantEncoding wit witDetail witEnd witStart witness]
Attributes
sourcespecifies the source from which some aspect of this element is drawn.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace
Schematron <sch:rule context="tei:*[@source]"> <sch:let name="srcs" value="tokenize( normalize-space(@source),' ')"/> <sch:report test="( self::tei:classRef | self::tei:dataRef | self::tei:elementRef | self::tei:macroRef | self::tei:moduleRef | self::tei:schemaSpec ) and $srcs[2]"> When used on a schema description element (like <sch:value-of select="name(.)"/>), the @source attribute should have only 1 value. (This one has <sch:value-of select="count($srcs)"/>.) </sch:report> </sch:rule>
Note

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

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

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

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

Example

      <p><!-- ... --> As Willard McCarty (<bibl xml:id="mcc_2012">2012, p.2</bibl>) tells us, <quote source="#mcc_2012">‘Collaboration’ is a problematic and should be a contested
          term.</quote>
        <!-- ... -->
      </p>
    
Example

      <p>
        <!-- ... -->
        <quote source="#chicago_15_ed">Grammatical theories are in flux, and the more we learn, the
          less we seem to know.</quote>
        <!-- ... -->
      </p>
      <!-- ... -->
      <bibl xml:id="chicago_15_ed"><title level="m">The Chicago Manual of Style</title>,
          <edition>15th edition</edition>. <pubPlace>Chicago</pubPlace>: <publisher>University of
          Chicago Press</publisher> (<date>2003</date>), <biblScope unit="page">p.147</biblScope>.
      </bibl>
    
Example

      <elementRef key="p" source="tei:2.0.1"/>
    

Include in the schema an element named <p> available from the TEI P5 2.0.1 release.

Example

      <schemaSpec ident="myODD" source="mycompiledODD.xml">
        <!-- further declarations specifying the components required -->
      </schemaSpec>
    

Create a schema using components taken from the file mycompiledODD.xml.

att.internetMedia

att.internetMedia provides attributes for specifying the type of a computer resource using a standard taxonomy.
Moduletei —
Membersatt.media [graphic]
Attributes
mimeType(MIME media type) specifies the applicable multimedia internet mail extension (MIME) media type.
Status Optional
Datatype 1–∞ occurrences of teidata.word separated by whitespace
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.naming

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

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

att.placement

att.placement provides attributes for describing where on the source page or object a textual element appears. [3.5.3. Additions, Deletions, and Omissions 12.3.1.4. Additions and Deletions]
Moduletei —
Membersatt.transcriptional [add] div witDetail
Attributes
placespecifies where this item is placed.
Status Recommended
Datatype 1–∞ occurrences of teidata.enumerated separated by whitespace
Suggested values include:
top
at the top of the page
bottom
at the foot of the page
margin
in the margin (left, right, or both)
opposite
on the opposite, i.e. facing, page
overleaf
on the other side of the leaf
above
above the line
right
to the right, e.g. to the right of a vertical line of text, or to the right of a figure
below
below the line
left
to the left, e.g. to the left of a vertical line of text, or to the left of a figure
end
at the end of e.g. chapter or volume.
inline
within the body of the text.
inspace
in a predefined space, for example left by an earlier scribe.

          <add place="margin">[An addition written in the margin]</add>
          <add place="bottom opposite">[An addition written at the
	  foot of the current page and also on the facing page]</add>
        

          <note place="bottom">Ibid, p.7</note>
        

att.pointing

att.pointing provides a set of attributes used by all elements which point to other elements by means of one or more URI references. [1.3.1.1.2. Language Indicators 3.7. Simple Links and Cross-References]
Moduletei —
Memberslicence note ptr ref term witDetail
Attributes
targetLangspecifies the language of the content to be found at the destination referenced by @target, using a ‘language tag’ generated according to BCP 47.
Status Optional
Datatype teidata.language
Schematron <sch:rule context="tei:*[not(self::tei:schemaSpec)][@targetLang]"> <sch:assert test="@target">@targetLang should only be used on <sch:name/> if @target is specified.</sch:assert> </sch:rule>

          <linkGrp xml:id="pol-swh_aln_2.1-linkGrp">
            <ptr xml:id="pol-swh_aln_2.1.1-ptr" target="pol/UDHR/text.xml#pol_txt_1-head" type="tuv" targetLang="pl"/>
            <ptr xml:id="pol-swh_aln_2.1.2-ptr" target="swh/UDHR/text.xml#swh_txt_1-head" type="tuv" targetLang="sw"/>
          </linkGrp>
        

In the example above, the <linkGrp> combines pointers at parallel fragments of the Universal Declaration of Human Rights: one of them is in Polish, the other in Swahili.

Note

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

targetspecifies the destination of the reference by supplying one or more URI References.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace
Note

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

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

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

att.ranging

att.ranging provides attributes for describing numerical ranges.
Moduletei —
Membersatt.dimensions [gap space]
Attributes
atLeastgives a minimum estimated value for the approximate measurement.
Status Optional
Datatype teidata.numeric
atMostgives a maximum estimated value for the approximate measurement.
Status Optional
Datatype teidata.numeric
minwhere the measurement summarizes more than one observation or a range, supplies the minimum value observed.
Status Optional
Datatype teidata.numeric
maxwhere the measurement summarizes more than one observation or a range, supplies the maximum value observed.
Status Optional
Datatype teidata.numeric
confidencespecifies the degree of statistical confidence (between zero and one) that a value falls within the range specified by @min and @max, or the proportion of observed values that fall within that range.
Status Optional
Datatype teidata.probability
Example

      The MS. was lost in transmission by mail from
      <del rend="overstrike"><gap reason="illegible" extent="one or two letters" atLeast="1" atMost="2" unit="chars"/></del>
      Philadelphia to the Graphic office, New York.
    
Example

      Americares has been supporting the health sector in Eastern Europe since 1986,
      and since 1992 has provided <measure atLeast="120000000" unit="USD" commodity="currency">more
      than $120m</measure> in aid to Ukrainians.
    

att.rdgPart

att.rdgPart provides attributes to mark the beginning or ending of a fragmentary manuscript or other witness. [13.1.5. Fragmentary Witnesses]
Moduletextcrit —
MemberslacunaEnd lacunaStart wit witEnd witStart
Attributes
wit(witness or witnesses) contains a space-delimited list of one or more sigla indicating the witnesses to this reading beginning or ending at this point.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace
Note

These elements may appear anywhere within the elements <lem> and <rdg>, and also within any of their constituent elements.

att.scope

att.scope provides attributes to describe, in general terms, the scope of an element’s application.
Moduletei —
Membersatt.handFeatures [handShift] language
Attributes
scopeindicates the scope of application of the element
Status Optional
Datatype teidata.enumerated
Suggested values include:
sole
only this particular feature is used throughout the document
major
this feature is used through most of the document
minor
this feature is used occasionally through the document

          <langUsage>
            <language ident="en" scope="major"/>
            <language ident="es" scope="minor"/>
            <language ident="x-ww" scope="minor">An invented language the children call <name>Wikwah</name>.</language>
          </langUsage>
        

          <handNote scope="sole">
            <p>Written in insular phase II half-uncial with
            interlinear Old English gloss in an Anglo-Saxon
            pointed minuscule.</p>
          </handNote>
        

att.sortable

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

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

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

att.textCritical

att.textCritical defines a set of attributes common to all elements representing variant readings in text critical work. [13.1. The Apparatus Entry, Readings, and Witnesses]
Moduletextcrit —
Memberslem rdg rdgGrp
Attributes
typeclassifies the reading according to some useful typology.
Status Optional
Datatype teidata.enumerated
Sample values include:
substantive
(substantive) the reading offers a substantive variant.
orthographic
(orthographic) the reading differs only orthographically, not in substance, from other readings.
causeclassifies the cause for the variant reading, according to any appropriate typology of possible origins.
Status Optional
Datatype teidata.enumerated
Sample values include:
homeoteleuton
homeoarchy
paleographicConfusion
haplography
dittography
falseEmendation
varSeq(variant sequence) provides a number indicating the position of this reading in a sequence, when there is reason to presume a sequence to the variants.
Status Optional
Datatype teidata.count
Note

Different variant sequences could be coded with distinct number trails: 1-2-3 for one sequence, 5-6-7 for another. More complex variant sequences, with (for example) multiple branchings from single readings, may be expressed through the <join> element.

requirepoints to other readings that are required when adopting the current reading or lemma.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace
Note

This element class defines attributes inherited by <rdg>, <lem>, and <rdgGrp>.

att.timed

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

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

endindicates the location within a temporal alignment at which this element ends.
Status Optional
Datatype teidata.pointer
Note

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

att.typed

att.typed provides attributes that can be used to classify or subclassify elements in any way. [1.3.1. Attribute Classes 18.1.1. Words and Above 3.6.1. Referring Strings 3.7. Simple Links and Cross-References 3.6.5. Abbreviations and Their Expansions 3.13.1. Core Tags for Verse 7.2.5. Speech Contents 4.1.1. Un-numbered Divisions 4.1.2. Numbered Divisions 4.2.1. Headings and Trailers 4.4. Virtual Divisions 14.3.2.3. Personal Relationships 12.3.1.1. Core Elements for Transcriptional Work 17.1.1. Pointers and Links 17.3. Blocks, Segments, and Anchors 13.2. Linking the Apparatus to the Text 23.5.1.2. Defining Content Models: RELAX NG 8.3. Elements Unique to Spoken Texts 24.3.1.3. Modification of Attribute and Attribute Value Lists]
Moduletei —
Membersab app bibl change correspAction del div figure idno lb list listApp msDesc msPart note pb persName ptr ref relatedItem surface term text title witDetail
Attributes
typecharacterizes the element in some sense, using any convenient classification scheme or typology.
Status Optional
Datatype teidata.enumerated

          <div type="verse">
            <head>Night in Tarras</head>
            <lg type="stanza">
              <l>At evening tramping on the hot white road</l>
              <l>…</l>
            </lg>
            <lg type="stanza">
              <l>A wind sprang up from nowhere as the sky</l>
              <l>…</l>
            </lg>
          </div>
        
Note

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

subtype(subtype) provides a sub-categorization of the element, if needed.
Status Optional
Datatype teidata.enumerated
Note

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

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

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

att.witnessed

att.witnessed provides attributes used to identify the witnesses supporting a particular reading in a critical apparatus. [13.1. The Apparatus Entry, Readings, and Witnesses]
Moduletextcrit —
Memberslem rdg
Attributes
wit(witness or witnesses) contains a space-delimited list of one or more pointers indicating the witnesses which attest to a given reading.
Status Optional
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace
Note

If the apparatus contains readings only for a single witness, this attribute may be consistently omitted.

This attribute may occur both within an apparatus gathering variant readings in the transcription of an individual witness and within an apparatus gathering readings from different witnesses.

Additional descriptions or alternative versions of the sigla referenced may be supplied as the content of a child <wit> element.

att.written

att.written provides attributes to indicate the hand in which the content of an element was written in the source being transcribed. [1.3.1. Attribute Classes]
Moduletei —
Membersatt.textCritical [lem rdg rdgGrp] att.transcriptional [add] div
Attributes
handpoints to a <handNote> element describing the hand considered responsible for the content of the element concerned.
Status Optional
Datatype teidata.pointer

Schema epsilon: Datatypes

teidata.certainty

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

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

teidata.count

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

Any positive integer value or zero is permitted

teidata.duration.iso

teidata.duration.iso defines the range of attribute values available for representation of a duration in time using ISO 8601 standard formats.
Moduletei —
Used by
Content model
<content>
 <dataRef name="token"
  restriction="[0-9.,DHMPRSTWYZ/:+\-]+"/>

</content>
Declaration
tei_teidata.duration.iso = token { pattern = "[0-9.,DHMPRSTWYZ/:+\-]+" }
Example

         <time dur-iso="PT0,75H">three-quarters of an hour</time>
      
Example

         <date dur-iso="P1,5D">a day and a half</date>
      
Example

         <date dur-iso="P14D">a fortnight</date>
      
Example

         <time dur-iso="PT0.02S">20 ms</time>
      
Note

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

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

teidata.duration.w3c

teidata.duration.w3c defines the range of attribute values available for representation of a duration in time using W3C datatypes.
Moduletei —
Used by
Content model
<content>
 <dataRef name="duration"/>
</content>
Declaration
tei_teidata.duration.w3c = xsd:duration
Example

         <time dur="PT45M">forty-five minutes</time>
      
Example

         <date dur="P1DT12H">a day and a half</date>
      
Example

         <date dur="P7D">a week</date>
      
Example

         <time dur="PT0.02S">20 ms</time>
      
Note

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

For complete details, see the W3C specification.

teidata.enumerated

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

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

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

teidata.language

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

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

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

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

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

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

Examples include

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

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

teidata.name

teidata.name defines the range of attribute values expressed as an XML Name.
Moduletei —
Used by
Element:
Content model
<content>
 <dataRef name="Name"/>
</content>
Declaration
tei_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.numeric

teidata.numeric defines the range of attribute values used for numeric values.
Moduletei —
Used by
Element:
Content model
<content>
 <alternate>
  <dataRef name="double"/>
  <dataRef name="token"
   restriction="(\-?[\d]+/\-?[\d]+)"/>

  <dataRef name="decimal"/>
 </alternate>
</content>
Declaration
tei_teidata.numeric =
   xsd:double | token { pattern = "(\-?[\d]+/\-?[\d]+)" } | xsd:decimal
Note

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

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

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

teidata.outputMeasurement

teidata.outputMeasurement defines a range of values for use in specifying the size of an object that is intended for display.
Moduletei —
Used by
Element:
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
tei_teidata.outputMeasurement =
   token
   {
      pattern = "[\-+]?\d+(\.\d+)?(%|cm|mm|in|pt|pc|px|em|ex|ch|rem|vw|vh|vmin|vmax)"
   }
Example

         <figure>
            <head>The TEI Logo</head>
            <figDesc>Stylized yellow angle brackets with the letters <mentioned>TEI</mentioned> in
          between and <mentioned>text encoding initiative</mentioned> underneath, all on a white
          background.</figDesc>
            <graphic height="600px" width="600px" url="http://www.tei-c.org/logos/TEI-600.jpg"/>
         </figure>
      
Note

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

teidata.pattern

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

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

teidata.point

teidata.point defines the data type used to express a point in cartesian space.
Moduletei —
Used by
Content model
<content>
 <dataRef name="token"
  restriction="(-?[0-9]+(\.[0-9]+)?,-?[0-9]+(\.[0-9]+)?)"/>

</content>
Declaration
tei_teidata.point =
   token { pattern = "(-?[0-9]+(\.[0-9]+)?,-?[0-9]+(\.[0-9]+)?)" }
Example

      <facsimile>
	<surface ulx="0" uly="0" lrx="400" lry="280">
	  <zone points="220,100 300,210 170,250 123,234">
	    <graphic url="handwriting.png"/>
	  </zone>
	</surface>
      </facsimile>
    
Note

A point is defined by two numeric values, which should be expressed as decimal numbers. Neither number can end in a decimal point. E.g., both 0.0,84.2 and 0,84 are allowed, but 0.,84. is not.

teidata.pointer

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

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

teidata.probability

teidata.probability defines the range of attribute values expressing a probability.
Moduletei —
Used by
Content model
<content>
 <dataRef name="double">
  <dataFacet name="minInclusivevalue="0"/>
  <dataFacet name="maxInclusivevalue="1"/>
 </dataRef>
</content>
Declaration
tei_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.probCert

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

teidata.replacement

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

teidata.temporal.iso

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

 </alternate>
</content>
Declaration
tei_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

teidata.temporal.w3c defines the range of attribute values expressing a temporal expression such as a date, a time, or a combination of them, that conform to the W3C XML Schema Part 2: Datatypes Second Edition specification.
Moduletei —
Used by
Element:
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
tei_teidata.temporal.w3c =
   xsd:date
 | xsd:gYear
 | xsd:gMonth
 | xsd:gDay
 | xsd:gYearMonth
 | xsd:gMonthDay
 | xsd:time
 | xsd:dateTime
Note

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

teidata.text

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

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

teidata.truthValue

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

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

</content>
Declaration
tei_teidata.versionNumber =
   token { pattern = "[\d]+[a-z]*[\d]*(\.[\d]+[a-z]*[\d]*){0,3}" }
Note

teidata.word

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

</content>
Declaration
tei_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.xpath

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

teidata.xTruthValue

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

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

Schema epsilon: Macros

macro.abContent

macro.abContent (anonymous block content) defines the content of anonymous block elements. [1.3. The TEI Class System]
Moduletei —
Used by
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">

  <textNode/>
  <classRef key="model.paraPart"/>
  <elementRef key="ab"/>
 </alternate>
</content>
Declaration
tei_macro.abContent = ( text | tei_model.paraPart | tei_ab )*

macro.paraContent

macro.paraContent (paragraph content) defines the content of paragraphs and similar elements. [1.3. The TEI Class System]
Moduletei —
Used by
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">

  <textNode/>
  <classRef key="model.paraPart"/>
 </alternate>
</content>
Declaration
tei_macro.paraContent = ( text | tei_model.paraPart )*

macro.phraseSeq

macro.phraseSeq (phrase sequence) defines a sequence of character data and phrase-level elements. [1.4.1. Standard Content Models]
Moduletei —
Used by
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">

  <textNode/>
  <classRef key="model.gLike"/>
  <classRef key="model.attributable"/>
  <classRef key="model.phrase"/>
  <classRef key="model.global"/>
 </alternate>
</content>
Declaration
tei_macro.phraseSeq =
   (
      text
    | model.gLike
    | tei_model.attributable
    | tei_model.phrase
    | tei_model.global
   )*

macro.phraseSeq.limited

macro.phraseSeq.limited (limited phrase sequence) defines a sequence of character data and those phrase-level elements that are not typically used for transcribing extant documents. [1.4.1. Standard Content Models]
Moduletei —
Used by
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">

  <textNode/>
  <classRef key="model.limitedPhrase"/>
  <classRef key="model.global"/>
 </alternate>
</content>
Declaration
tei_macro.phraseSeq.limited =
   ( text | tei_model.limitedPhrase | tei_model.global )*

macro.specialPara

macro.specialPara ('special' paragraph content) defines the content model of elements such as notes or list items, which either contain a series of component-level elements or else have the same structure as a paragraph, containing a series of phrase-level and inter-level elements. [1.3. The TEI Class System]
Moduletei —
Used by
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">

  <textNode/>
  <classRef key="model.gLike"/>
  <classRef key="model.phrase"/>
  <classRef key="model.inter"/>
  <classRef key="model.divPart"/>
  <classRef key="model.global"/>
 </alternate>
</content>
Declaration
tei_macro.specialPara =
   (
      text
    | model.gLike
    | tei_model.phrase
    | tei_model.inter
    | tei_model.divPart
    | tei_model.global
   )*

macro.xtext

macro.xtext (extended text) defines a sequence of character data and gaiji elements.
Moduletei —
Used by
Content model
<content>
 <alternate minOccurs="0"
  maxOccurs="unbounded">

  <textNode/>
  <classRef key="model.gLike"/>
 </alternate>
</content>
Declaration
tei_macro.xtext = ( text | model.gLike )*
Michael Hawkins and Elizabeth Smith. Date: 2025-10-15