by Michael Hawkins and Elizabeth Smith
<sourceDesc>) [REQ] 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 &.
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? -->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
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 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"?>
Every Epsilon letter file consists of two sections:
<teiHeader> contains all the metadata about the source document and its electronic version.<text> contains the textual content of the letter, its translation as well as any editorial footnotes.<teiHeader> contains three elements that must appear in the following order:
<fileDesc><profileDesc><revisionDesc><fileDesc> contains information about the electronic file and the physical letter’s source(s). This includes:
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><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>
     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>
                       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>
    <sourceDesc>) [REQ]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
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 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> describes the correspondents and may, optionally, contain a summary of the letter.
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).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:
<xml:id="name1">, <xml:id="name2">, etc.).<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>This markup clearly documents alternative correspondents and ensures accurate identification within Epsilon. A similar approach is used for recording mutually exclusive dates.
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:
Use the attributes as follows:
<date when="1880-01-06">6 Jan 1880</date><date when="1874-06-22">22 June [1874?]</date><date notBefore="1879-02-17">[after 16 Feb 1879]</date><date notAfter="1879-02-15">[before 16 Feb 1879]</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:
<date notAfter="1880-01-05">[before 6 Jan 1880]</date><date notBefore="1880-01-06">[after 5 Jan 1880]</date>For more complex date situations, including exclusive dates, see Appendix I: Dates at the bottom of this document.
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>
  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:
<name> element inside the <change> can be used to indicate the person responsible, identified by an @xml:id. This identifier typically combines the person's initials and surname, e.g., ‘jbloggs’, ‘mhawkins’.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.
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:
<div type="letter">: [REQ] Contains the original letter content.<div type="translation">: [OPT] Contains translation content, if one is being provided.<div type="footnotes">: [OPT] Contains footnotes, if any exist.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.
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.
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>
               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">.
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>
    The salutation should be encoded as <salute>:
      <salute>Dear Sir,</salute>
    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 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 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 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>
  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:
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 (&), less than (<), or greater than (>) signs, write them as entities:&amp;&lt;&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 °, minutes (prime) ′, and seconds (double prime) ″.
Fractions and equations should be marked up using representational MathML. would be coded:
    <formula>
      <math xmlns="http://www.w3.org/1998/Math/MathML">
        <mfrac><mn>1</mn><mn>2</mn></mfrac>
      </math>
    </formula>
  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>
  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:
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 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.
Correspondence dates should be encoded using the <date> element. It has two main parts:
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?]".
<date when="1880-01-06">6 January 1880</date>
<date notBefore="1880-01-07">after 6 January 1880</date>
<date notAfter="1880-01-05">before 6 January 1880</date>
<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><date notBefore="1880-01-07">[after 6 Jan 1880]</date>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’.
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 | ||
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:
<hi rend="stretchyVertical">.<hi> must contain a bracket from the stretchy brackets list below.For horizontal brackets:
<hi rend="stretchyHorizontal">.
                       <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 | 
| Brace type | Left facing | Right facing | Upward facing | Downward facing | 
| Curly | { | } | ⏞ or ⏞ | ⏟ or ⏟ | 
| Rounded | ( | ) | ⏜ or ⏜ | ⏝ or ⏝ | 
| Square | [ | ] | ⎴ or ⎴ | ⎵ or ⎵ | 
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).
<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] | |
| Module | linking — | 
| Member of | |
| Contained by | header: abstract availability change correspAction correspDesc editionStmt editorialDecl encodingDesc langUsage licence publicationStmt seriesStmt sourceDesc linking: ab msdescription: msContents msDesc msItem msPart physDesc signatures | 
| May contain | |
| Note | The  | 
| Example |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | If abbreviations are expanded silently, this practice should be documented in the  | 
| Example |  | 
| Example |  | 
| 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] | |
| Module | header — | 
| Member of | |
| Contained by | header: profileDesc | 
| May contain | |
| Note | This element is intended only for cases where no abstract is available in the original source. Any abstract already present in the source document should be encoded as a  | 
| Example |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | In a diplomatic edition attempting to represent an original source, the  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  | 
| Example |  | 
| 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] | |
| Module | msdescription — | 
| Contained by | msdescription: msIdentifier | 
| May contain | core: note header: idno msdescription: collection institution repository namesdates: country placeName settlement | 
| Note | An identifying number of some kind must be supplied if known; if it is not known, this should be stated. | 
| Example |  | 
| 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] | |
| Module | core — | 
| Contained by | core: biblStruct | 
| May contain | |
| Note | May contain titles and statements of responsibility (author, editor, or other), in any order. The  | 
| Example |  | 
| 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] | |
| Module | textcrit — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| Example |  | 
| Example |  | 
| Example |  | 
| Example |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | Particularly where cataloguing is likely to be based on the content of the header, it is advisable to use a generally recognized name authority file to supply the content for this element. The attributes @key or @ref may also be used to reference canonical information about the author(s) intended from any appropriate authority, such as a library catalogue or online resource. In the case of a broadcast, use this element for the name of the company or network responsible for making the broadcast. Where an author is unknown or unspecified, this element may contain text such as Unknown or Anonymous. When the appropriate TEI modules are in use, it may also contain detailed tagging of the names used for people, organizations or places, in particular where multiple names are given. | 
| Example |  | 
| 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.] | |
| Module | header — | 
| Member of | |
| Contained by | core: monogr header: publicationStmt | 
| May contain | |
| Note | NB: The value in  | 
| Example |  | 
| 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.] | |
| Module | header — | 
| Member of | |
| Contained by | header: publicationStmt | 
| May contain | |
| Note | A consistent format should be adopted | 
| Example |  | 
| 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] | |
| Module | textstructure — | 
| Contained by | |
| May contain | |
| Note | Because cultural conventions differ as to which elements are grouped as back matter and which as front matter, the content models for the  | 
| Example |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | Contains phrase-level elements, together with any combination of elements from the model.biblPart class | 
| Example | 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  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | header: seriesStmt | 
| May contain | |
| Note | When a single page is being cited, use the @from and @to attributes with an identical value. When no clear endpoint is provided, the @from attribute may be used without @to; for example a citation such as ‘p. 3ff’ might be encoded  It is now considered good practice to supply this element as a sibling (rather than a child) of  | 
| Example |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| Example |  | 
| 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] | |
| Module | textstructure — | 
| Contained by | textstructure: text | 
| May contain | |
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | Empty 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  | 
| Example | Markup of an early English dictionary printed in two columns:  | 
| 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] | |
| Module | figures — | 
| Contained by | figures: row | 
| May contain | |
| Example |  | 
| 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] | |
| Module | header — | 
| Contained by | header: revisionDesc | 
| May contain | |
| Note | The @who attribute may be used to point to any other element, but will typically specify a  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  Proofreading a file counts as a  If the @xml:id value of any of the people working on the document has previously been declared, subsequent occurrences of her or his   | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | Because the children of a  Note also that  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  | 
| 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.  | 
| 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] | |
| Module | textstructure — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| Example |  | 
| 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] | |
| Module | msdescription — | 
| Contained by | msdescription: altIdentifier msIdentifier | 
| May contain | |
| Example |  | 
| 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] | |
| Module | core — | 
| 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,   | 
| Example | It is also possible, using the   | 
| 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] | |
| Module | header — | 
| Member of | |
| Contained by | header: correspDesc | 
| May contain | |
| Note | Every record must have one /@type='sent'. | 
| Example |  | 
| Example |  | 
| 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] | |
| Module | header — | 
| Member of | |
| Contained by | header: profileDesc | 
| May contain | |
| Example |  | 
| 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] | |
| Module | namesdates — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | The recommended source for codes to represent coded country names is ISO 3166. | 
| Example |  | 
| 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] | |
| Module | core — | 
| 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. 
 | 
| Note | All Julian dates should be converted to their Gregorian values before placing them into @when, @notBefore, or @notAfter. | 
| Example |  | 
| Example |  | 
| Example |  | 
| Example |  | 
| Example | This example means ‘either 1 or 2 February 1861’.  | 
| 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)])>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]) < 1700 or number(tokenize(.,'-')[1]) >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]) < 1700 or number(tokenize(.,'-')[1]) >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)) > 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] | |
| Module | core — | 
| 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  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  Degrees of uncertainty over what can still be read, or whether a deletion was intended may be indicated by use of the  There is a clear distinction in the TEI between  | 
| Example |  | 
| Example |  | 
| 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] | |
| Module | textstructure — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| 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] | |
| Module | header — | 
| Member of | |
| Contained by | header: editionStmt | 
| May contain | |
| Example |  | 
| 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] | |
| Module | header — | 
| Contained by | header: fileDesc | 
| May contain | |
| Example |  | 
| Example |  | 
| 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] | |
| Module | header — | 
| Member of | |
| Contained by | header: encodingDesc | 
| May contain | |
| 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 |  | 
| 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] | |
| Module | header — | 
| Member of | |
| Contained by | header: teiHeader | 
| May contain | |
| Example |  | 
| 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] | |
| Module | transcr — | 
| Member of | |
| Contained by | |
| May contain | Character data only | 
| Example |  | 
| 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] | |
| Module | core — | 
| 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  If abbreviations are expanded silently, this practice should be documented in the  | 
| Example |  | 
| Example |  | 
| 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] | |
| Module | header — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| Example | The   | 
| 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] | |
| Module | transcr — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| Example |  | 
| 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] | |
| Module | figures — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| 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] | |
| Module | header — | 
| 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 |  | 
| 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] | |
| Module | core — | 
| 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  | 
| Example |  | 
| 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] | |
| Module | namesdates — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| 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] | |
| Module | figures — | 
| Member of | |
| Contained by | |
| May contain | Empty element | 
| Example |  | 
| Example |  | 
| Example |  | 
| 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] | |
| Module | header — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | Funders provide financial support for a project; they are distinct from sponsors (see element  | 
| Example |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | Empty element | 
| Note | The  The  | 
| Example |  | 
| Example |  | 
| Example |  | 
| Example |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | Empty element | 
| Note | The block alignment and size of the image within the transcribed text are indicated with its parent  | 
| Example |  | 
| 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] | |
| Module | transcr — | 
| Member of | |
| Contained by | header: profileDesc | 
| May contain | Empty element | 
| Example |  | 
| 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] | |
| Module | transcr — | 
| Member of | |
| Contained by | |
| May contain | Empty element | 
| Note | The  | 
| Example |  | 
| Content model | 
<empty/>
 | 
| Schema Declaration | element handShift { attribute scribe { teidata.name }?, attribute new { teidata.pointer }?, empty } | 
<head>| <head>(heading) contains any type of heading, for example the title of a section, or the heading of a list, glossary, manuscript description, etc. [4.2.1. Headings and Trailers] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | The  | 
| Example | The most common use for the   | 
| 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.  | 
| Example | The   | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| Example |  | 
| 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] | |
| Module | header — | 
| Member of | |
| Contained by | core: abbr add analytic author bibl biblScope corr date del expan foreign head hi item l monogr name note p pubPlace publisher ref resp sic term title unclear figures: cell header: authority change correspAction edition extent funder idno language licence publicationStmt seriesStmt linking: ab msdescription: altIdentifier collection institution msIdentifier msItem repository signatures transcr: supplied | 
| May contain | header: idno character data | 
| Note | When placed within  | 
| Example |  | 
| 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] | |
| Module | core — | 
| Contained by | core: monogr | 
| May contain | |
| Example |  | 
| 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] | |
| Module | msdescription — | 
| Contained by | msdescription: altIdentifier msIdentifier | 
| May contain | |
| Example |  | 
| 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] | |
| Module | core — | 
| 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  | 
| Example |  | 
| 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] | |
| Module | header — | 
| Contained by | header: textClass | 
| May contain | |
| Note | Each individual keyword (including compound subject headings) should be supplied as a  If no control list exists for the keywords used, then no value should be supplied for the @scheme attribute. | 
| Example |  | 
| Example |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| 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] | |
| Module | textcrit — | 
| Member of | |
| Contained by | |
| May contain | Empty element | 
| Example |  | 
| 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] | |
| Module | textcrit — | 
| Member of | |
| Contained by | |
| May contain | Empty element | 
| Example |  | 
| 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] | |
| Module | header — | 
| Contained by | header: langUsage | 
| May contain | |
| Note | Particularly for sublanguages, an informal prose characterization should be supplied as content for the element. | 
| Example |  | 
| 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] | |
| Module | header — | 
| Member of | |
| Contained by | header: profileDesc | 
| May contain | |
| Example |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | Empty element | 
| Note | Where  | 
| Example |  | 
| 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] | |
| Module | textcrit — | 
| Contained by | |
| 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 |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | contains verse lines or nested line groups only, possibly prefixed by a heading. | 
| Example |  | 
| Schematron | 
<sch:rule context="tei:lg">
   <sch:assert test="count(descendant::tei:lg|descendant::tei:l|descendant::tei:gap) > 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.] | |
| Module | header — | 
| Member of | |
| Contained by | header: availability | 
| May contain | |
| Note | A  | 
| Example |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | May contain an optional heading followed by a series of items, or a series of label and item pairs, the latter being optionally preceded by one or two specialized headings. | 
| Example |  | 
| Example |  | 
| 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] | |
| Module | textcrit — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | 
 | 
| Example | In the following example from the exegetical Yasna, the base text is encoded in the   | 
| 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] | |
| Module | textcrit — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | May contain a series of  The provision of a  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  Note however that a given witness can only be defined once, and can therefore only appear within a single  | 
| Example |  | 
| 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] | |
| Module | core — | 
| Contained by | core: biblStruct | 
| May contain | |
| Note | May contain specialized bibliographic elements, in a prescribed order. The  | 
| Example |  | 
| Example |  | 
| 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] | |
| Module | msdescription — | 
| Contained by | |
| May contain | |
| Note | Unless it contains a simple prose description, this element should contain at least one of the elements  | 
| Example |  | 
| Example |  | 
| 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] | |
| Module | msdescription — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | Although the  | 
| Example |  | 
| 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] | |
| Module | msdescription — | 
| Member of | |
| Contained by | |
| May contain | header: idno msdescription: altIdentifier collection institution msName repository namesdates: country placeName settlement | 
| Example |  | 
| 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] | |
| Module | msdescription — | 
| Member of | |
| Contained by | msdescription: msContents msItem | 
| May contain | |
| Example |  | 
| 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] | |
| Module | msdescription — | 
| Contained by | msdescription: msIdentifier | 
| May contain | core: name character data | 
| Example |  | 
| 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] | |
| Module | msdescription — | 
| Contained by | |
| May contain | |
| Note | As this last example shows, for compatibility reasons the identifier of a manuscript part may be supplied as a simple  | 
| Example |  | 
| Example |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | Proper nouns referring to people, places, and organizations may be tagged instead with  | 
| Example |  | 
| 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] | |
| Module | core — | 
| 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": 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: 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] | |
| Module | header — | 
| Contained by | header: fileDesc | 
| May contain | core: note relatedItem | 
| Note | Information of different kinds should not be grouped together into the same note. | 
| Example |  | 
| 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] | |
| Module | textstructure — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | The regularised metadata versions of this information belong in  | 
| Example |  | 
| Example | 
  | 
| Example | If a certain piece of information, such as   | 
| 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] | |
| Module | namesdates — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| Example |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | Empty element | 
| Note | A  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.  | 
| Example | A page beginning may be associated with a facsimile image of the page it introduces by means of the @facs attribute  | 
| 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] | |
| Module | namesdates — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| 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] | |
| Module | msdescription — | 
| Contained by | |
| May contain | |
| Example |  | 
| 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] | |
| Module | namesdates — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| Example |  | 
| 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] | |
| Module | header — | 
| Member of | |
| Contained by | header: teiHeader | 
| May contain | header: abstract correspDesc langUsage textClass transcr: handNotes | 
| Note | Although the content model permits it, it is rarely meaningful to supply multiple occurrences for any of the child elements of  | 
| Example |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | Empty element | 
| Note | The @target and @cRef attributes are mutually exclusive. | 
| Example |  | 
| 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] | |
| Module | header — | 
| Contained by | header: fileDesc | 
| May contain | |
| Note | Information on the publication of the text, whether on Epsilon or elsewhere. | 
| Example |  | 
| 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.] | |
| Module | core — | 
| Member of | |
| Contained by | header: publicationStmt | 
| May contain | |
| Note | Use the full form of the name by which a company is usually referred to, rather than any abbreviation of it which may appear on a title page | 
| Example |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | header: publicationStmt | 
| May contain | |
| Example |  | 
| 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] | |
| Module | textcrit — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| 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] | |
| Module | textcrit — | 
| Contained by | |
| May contain | |
| Note | May contain readings and nested reading groups. Usually, only one  | 
| Example |  | 
| Schematron | 
<sch:rule context="tei:rdgGrp">
   <sch:assert test="count(tei:lem) lt 2">Only one <lem> element may appear within a <rdgGrp></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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | The @target and @cRef attributes are mutually exclusive. | 
| Example |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | core: bibl biblStruct header: notesStmt | 
| May contain | core: bibl biblStruct ptr ref msdescription: msDesc | 
| Note | If the @target attribute is used to reference the related bibliographic item, the element must be empty. | 
| Example |  | 
| Schematron | 
<sch:rule context="tei:relatedItem">
   <sch:report test="@target and count( child::* ) > 0">If the @target attribute on <sch:name/> is used, the relatedItem element must be empty</sch:report>
   <sch:assert test="@target or child::*">A relatedItem element should have either a @target attribute or a child element to indicate the related bibliographic item</sch:assert>
</sch:rule>
 | 
| Content model | 
<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] | |
| Module | msdescription — | 
| Contained by | msdescription: altIdentifier msIdentifier | 
| May contain | |
| Example |  | 
| 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] | |
| Module | core — | 
| 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 |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| Example |  | 
| 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] | |
| Module | header — | 
| Contained by | header: teiHeader | 
| May contain | |
| Note | 
 | 
| Example |  | 
| 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] | |
| Module | namesdates — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | A  | 
| Example |  | 
| Example |  | 
| Example |  | 
| 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] | |
| Module | figures — | 
| Contained by | figures: table | 
| May contain | figures: cell | 
| Example |  | 
| 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] | |
| Module | textstructure — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| 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] | |
| Module | header — | 
| Contained by | header: fileDesc | 
| May contain | |
| Example |  | 
| 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] | |
| Module | namesdates — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| Example | If all that is desired is to call attention to the apparent problem in the copy text,   | 
| Example | It is also possible, using the   | 
| Example |  | 
| 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] | |
| Module | msdescription — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| 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] | |
| Module | textstructure — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| Example |  | 
| 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] | |
| Module | header — | 
| Contained by | header: fileDesc | 
| May contain | |
| Example |  | 
| 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] | |
| Module | transcr — | 
| Member of | |
| Contained by | |
| May contain | Empty 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 |  | 
| Example |  | 
| 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] | |
| Module | transcr — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| Example |  | 
| Example |  | 
| Example |  | 
| 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] | |
| Module | transcr — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | The  | 
| Example | Renders as: “Down | Beckenham, Kent. [Abinger]”. | 
| Example | 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] | |
| Module | transcr — | 
| Contained by | |
| May contain | |
| Note | The  The coordinate space defined by this element may be thought of as a grid @lrx - @ulx units wide and @uly - @lry units high. The  Where it is useful or meaningful to do so, any grouping of multiple  | 
| Example |  | 
| 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] | |
| Module | namesdates — | 
| Member of | |
| Contained by | |
| May contain | |
| Example |  | 
| 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] | |
| Module | figures — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | Contains an optional heading and a series of rows. Any rendition information should be supplied using the global @rend attribute, at the table, row, or cell level as appropriate. | 
| Example |  | 
| 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] | |
| Module | textstructure — | 
| Contained by | textstructure: TEI | 
| May contain | |
| Note | As with all elements in the TEI scheme (except  | 
| Example |  | 
| 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] | |
| Module | header — | 
| Contained by | textstructure: TEI | 
| May contain | header: encodingDesc fileDesc profileDesc revisionDesc | 
| Note | One of the few elements unconditionally required in any TEI document. | 
| Example |  | 
| 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] | |
| Module | core — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | When this element appears within an  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  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 |  | 
| Example |  | 
| Example |  | 
| Example |  | 
| 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] | |
| Module | textstructure — | 
| Member of | |
| Contained by | textstructure: TEI | 
| May contain | |
| Note | This element should not be used to represent a text which is inserted at an arbitrary point within the structure of another, for example as in an embedded or quoted narrative; the  | 
| Example |  | 
| Example | The body of a text may be replaced by a group of nested texts, as in the following schematic:  | 
| 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] | |
| Module | header — | 
| Member of | |
| Contained by | header: profileDesc | 
| May contain | header: keywords | 
| Example |  | 
| 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] | |
| Module | core — | 
| 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 |  | 
| 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] | |
| Module | header — | 
| Contained by | header: fileDesc | 
| May contain | |
| Example |  | 
| 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] | |
| Module | core — | 
| 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  The @hand attribute points to a definition of the hand concerned, as further discussed in section 12.3.2.1. Document Hands. | 
| Example |  | 
| 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] | |
| Module | textcrit — | 
| Member of | |
| Contained by | header: encodingDesc | 
| May contain | Empty element | 
| Example |  | 
| 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] | |
| Module | textcrit — | 
| Member of | |
| Contained by | |
| 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 |  | 
| 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] | |
| Module | textcrit — | 
| Member of | |
| Contained by | |
| May contain | |
| Note | The  | 
| Example |  | 
| 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] | |
| Module | textcrit — | 
| Member of | |
| Contained by | |
| May contain | Empty element | 
| Example |  | 
| 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] | |
| Module | textcrit — | 
| Contained by | textcrit: listWit | 
| May contain | |
| Note | The content of the  | 
| Example |  | 
| 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] | |
| Module | textcrit — | 
| Member of | |
| Contained by | |
| May contain | Empty element | 
| Example |  | 
| Content model | 
<empty/>
 | 
| Schema Declaration | element witStart { tei_att.global.attributes, tei_att.rdgPart.attributes, empty } | 
| model.attributable groups elements that contain a word or phrase that can be attributed to a source. [3.3.3. Quotation 4.3.2. Floating Texts] | |
| Module | tei — | 
| Used by | |
| Members | model.quoteLike | 
| model.availabilityPart groups elements such as licences and paragraphs of text which may appear as part of an availability statement. [2.2.4. Publication, Distribution, Licensing, etc.] | |
| Module | tei — | 
| Used by | |
| Members | licence | 
| model.biblLike groups elements containing a bibliographic description. [3.12. Bibliographic Citations and References] | |
| Module | tei — | 
| Used by | |
| Members | bibl biblStruct msDesc | 
| model.biblPart groups elements which represent components of a bibliographic description. [3.12. Bibliographic Citations and References] | |
| Module | tei — | 
| Used by | |
| Members | model.imprintPart [biblScope pubPlace publisher] model.respLike [author funder respStmt] availability bibl edition extent msIdentifier relatedItem | 
| model.choicePart groups elements (other than <choice>itself) which can be used within a<choice>alternation. [3.5. Simple Editorial Changes] | |
| Module | tei — | 
| Used by | |
| Members | abbr corr ex expan sic supplied unclear | 
| model.common groups common chunk- and inter-level elements. [1.3. The TEI Class System] | |
| Module | tei — | 
| Used by | |
| Members | model.cmc model.divPart [model.lLike [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 groups elements which define the parts (usually names, dates and places) of one action related to the correspondence. | |
| Module | tei — | 
| Used by | |
| Members | model.addressLike 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 groups together metadata elements for describing correspondence. | |
| Module | tei — | 
| Used by | |
| Members | correspAction note | 
| model.dateLike groups elements containing temporal expressions. [3.6.4. Dates and Times 14.4. Dates] | |
| Module | tei — | 
| Used by | |
| Members | date | 
| model.divBottom groups elements appearing at the end of a text division. [4.2. Elements Common to All Divisions] | |
| Module | tei — | 
| Used by | |
| Members | model.divBottomPart [closer signed] model.divWrapper [salute] | 
| model.divBottomPart groups elements which can occur only at the end of a text division. [4.6. Title Pages] | |
| Module | tei — | 
| Used by | |
| Members | closer signed | 
| model.divLike groups elements used to represent un-numbered generic structural divisions. | |
| Module | tei — | 
| Used by | |
| Members | div | 
| model.divPart groups paragraph-level elements appearing directly within divisions. [1.3. The TEI Class System] | |
| Module | tei — | 
| Used by | |
| Members | model.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 groups elements appearing at the beginning of a text division. [4.2. Elements Common to All Divisions] | |
| Module | tei — | 
| Used by | |
| Members | model.divTopPart [model.headLike [head] opener signed] model.divWrapper [salute] | 
| model.divTopPart groups elements which can occur only at the beginning of a text division. [4.6. Title Pages] | |
| Module | tei — | 
| Used by | |
| Members | model.headLike [head] opener signed | 
| model.divWrapper groups elements which can appear at either top or bottom of a textual division. [4.2. Elements Common to All Divisions] | |
| Module | tei — | 
| Used by | |
| Members | salute | 
| model.emphLike groups phrase-level elements which are typographically distinct and to which a specific function can be attributed. [3.3. Highlighting and Quotation] | |
| Module | tei — | 
| Used by | |
| Members | foreign term title | 
| model.encodingDescPart groups elements which may be used inside <encodingDesc>and appear multiple times. | |
| Module | tei — | 
| Used by | |
| Members | editorialDecl variantEncoding | 
| model.global groups elements which may appear at any point within a TEI text. [1.3. The TEI Class System] | |
| Module | tei — | 
| Used by | |
| Members | model.global.edit [app gap space witDetail] model.milestoneLike [cb lb pb] model.noteLike [note] figure | 
| model.global.edit groups globally available elements which perform a specifically editorial function. [1.3. The TEI Class System] | |
| Module | tei — | 
| Used by | |
| Members | app gap space witDetail | 
| model.graphicLike groups elements containing images, formulae, and similar objects. [3.10. Graphics and Other Non-textual Components] | |
| Module | tei — | 
| Used by | |
| Members | formula graphic | 
| model.headLike groups elements used to provide a title or heading at the start of a text division. | |
| Module | tei — | 
| Used by | |
| Members | head | 
| model.highlighted groups phrase-level elements which are typographically distinct. [3.3. Highlighting and Quotation] | |
| Module | tei — | 
| Used by | |
| Members | model.emphLike [foreign term title] model.hiLike [hi] | 
| model.hiLike groups phrase-level elements which are typographically distinct but to which no specific function can be attributed. [3.3. Highlighting and Quotation] | |
| Module | tei — | 
| Used by | |
| Members | hi | 
| model.imprintPart groups the bibliographic elements which occur inside imprints. [3.12. Bibliographic Citations and References] | |
| Module | tei — | 
| Used by | |
| Members | biblScope pubPlace publisher | 
| model.inter groups elements which can appear either within or between paragraph-like elements. [1.3. The TEI Class System] | |
| Module | tei — | 
| Used by | |
| Members | model.attributable [model.quoteLike] model.biblLike [bibl biblStruct msDesc] model.listLike [list listApp listWit table] | 
| model.limitedPhrase groups phrase-level elements excluding those elements primarily intended for transcription of existing sources. [1.3. The TEI Class System] | |
| Module | tei — | 
| Used by | |
| Members | model.emphLike [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 groups list-like elements. [3.8. Lists] | |
| Module | tei — | 
| Used by | |
| Members | list listApp listWit table | 
| model.lLike groups elements representing metrical components such as verse lines. | |
| Module | tei — | 
| Used by | |
| Members | l | 
| model.milestoneLike groups milestone-style elements used to represent reference systems. [1.3. The TEI Class System 3.11.3. Milestone Elements] | |
| Module | tei — | 
| Used by | |
| Members | cb lb pb | 
| model.msItemPart groups elements which can appear within a manuscript item description. | |
| Module | tei — | 
| Used by | |
| Members | model.biblLike [bibl biblStruct msDesc] model.msQuoteLike [title] model.quoteLike model.respLike [author funder respStmt] idno msItem | 
| model.msQuoteLike groups elements which represent passages such as titles quoted from a manuscript as a part of its description. | |
| Module | tei — | 
| Used by | |
| Members | title | 
| model.nameLike groups elements which name or refer to a person, place, or organization. | |
| Module | tei — | 
| Used by | |
| Members | model.nameLike.agent [name orgName persName] model.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 groups elements which contain names of individuals or corporate bodies. [3.6. Names, Numbers, Dates, Abbreviations, and Addresses] | |
| Module | tei — | 
| Used by | |
| Members | name orgName persName | 
| Note | This class is used in the content model of elements which reference names of people or organizations. | 
| model.noteLike groups globally-available note-like elements. [3.9. Notes, Annotation, and Indexing] | |
| Module | tei — | 
| Used by | |
| Members | note | 
| model.persNamePart groups elements which form part of a personal name. [14.2.1. Personal Names] | |
| Module | namesdates — | 
| Used by | |
| Members | forename roleName surname | 
| model.phrase groups elements which can occur at the level of individual words or phrases. [1.3. The TEI Class System] | |
| Module | tei — | 
| Used by | |
| Members | model.graphicLike [formula graphic] 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 groups elements which form part of a place name. [14.2.3. Place Names] | |
| Module | tei — | 
| Used by | |
| Members | country placeName settlement | 
| model.placeStateLike groups elements which describe changing states of a place. | |
| Module | tei — | 
| Used by | |
| Members | model.placeNamePart [country placeName settlement] | 
| model.pLike.front groups paragraph-like elements which can occur as direct constituents of front matter. [4.6. Title Pages] | |
| Module | tei — | 
| Used by | |
| Members | head | 
| model.pPart.data groups phrase-level elements containing names, dates, numbers, measures, and similar data. [3.6. Names, Numbers, Dates, Abbreviations, and Addresses] | |
| Module | tei — | 
| Used by | |
| Members | model.addressLike 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 groups phrase-level elements for simple editorial correction and transcription. [3.5. Simple Editorial Changes] | |
| Module | tei — | 
| Used by | |
| Members | model.pPart.editorial [abbr choice ex expan subst] model.pPart.transcriptional [add corr del handShift sic supplied unclear] | 
| model.pPart.editorial groups phrase-level elements for simple editorial interventions that may be useful both in transcribing and in authoring. [3.5. Simple Editorial Changes] | |
| Module | tei — | 
| Used by | |
| Members | abbr choice ex expan subst | 
| model.pPart.msdesc groups phrase-level elements used in manuscript description. [11. Manuscript Description] | |
| Module | tei — | 
| Used by | |
| Members | signatures | 
| model.pPart.transcriptional groups phrase-level elements used for editorial transcription of pre-existing source materials. [3.5. Simple Editorial Changes] | |
| Module | tei — | 
| Used by | |
| Members | add corr del handShift sic supplied unclear | 
| model.profileDescPart groups elements which may be used inside <profileDesc>and appear multiple times. | |
| Module | tei — | 
| Used by | |
| Members | abstract correspDesc handNotes langUsage textClass | 
| model.ptrLike groups elements used for purposes of location and reference. [3.7. Simple Links and Cross-References] | |
| Module | tei — | 
| Used by | |
| Members | ptr ref | 
| model.publicationStmtPart.agency groups the child elements of a <publicationStmt>element of the TEI header that indicate an authorising agent. [2.2.4. Publication, Distribution, Licensing, etc.] | |
| Module | tei — | 
| Used by | |
| Members | authority publisher | 
| Note | The ‘agency’ child elements, while not required, are required if one of the ‘detail’ child elements is to be used. It is not valid to have a ‘detail’ child element without a preceding ‘agency’ child element. See also model.publicationStmtPart.detail. | 
| model.publicationStmtPart.detail groups the agency-specific child elements of the <publicationStmt>element of the TEI header. [2.2.4. Publication, Distribution, Licensing, etc.] | |
| Module | tei — | 
| Used by | |
| Members | model.ptrLike [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 groups elements which contain a single reading, other than the lemma, within a textual variation. [13.1. The Apparatus Entry, Readings, and Witnesses] | |
| Module | textcrit — | 
| Used by | |
| Members | rdg | 
| Note | This class allows for variants of the  | 
| model.rdgPart groups elements which mark the beginning or ending of a fragmentary manuscript or other witness. [13.1.5. Fragmentary Witnesses] | |
| Module | textcrit — | 
| Used by | |
| Members | lacunaEnd lacunaStart wit witEnd witStart | 
| Note | These elements may appear anywhere within the elements  | 
| model.resource groups separate elements which constitute the content of a digital resource, as opposed to its metadata. [1.3. The TEI Class System] | |
| Module | tei — | 
| Used by | |
| Members | facsimile text | 
| model.respLike groups elements which are used to indicate intellectual or other significant responsibility, for example within a bibliographic element. | |
| Module | tei — | 
| Used by | |
| Members | author funder respStmt | 
| model.teiHeaderPart groups high level elements which may appear more than once in a TEI header. | |
| Module | tei — | 
| Used by | |
| Members | encodingDesc profileDesc | 
| 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] | |
| Module | tei — | 
| Used by | |
| Members | graphic | 
| att.canonical provides attributes that can be used to associate a representation such as a name or title with canonical information about the object being named or referenced. [14.1.1. Linking Names and Their Referents] | |||||||||||||||||||||
| Module | tei — | ||||||||||||||||||||
| Members | att.naming [att.personal [forename orgName persName placeName] author repository] bibl biblStruct resp term | ||||||||||||||||||||
| Attributes | 
 | ||||||||||||||||||||
| Example | In this contrived example, a canonical reference to the same organisation is provided in four different ways. 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  | ||||||||||||||||||||
| 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 (computer-mediated communication) provides attributes categorizing how the element content was created in a CMC environment. | |||||||||||||||||||||
| Module | tei — | ||||||||||||||||||||
| Members | ab 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 | 
 | ||||||||||||||||||||
| att.coordinated provides attributes that can be used to position their parent element within a two dimensional coordinate system. | |||||||||||||||||||||||||||||||||||||
| Module | transcr — | ||||||||||||||||||||||||||||||||||||
| Members | surface | ||||||||||||||||||||||||||||||||||||
| Attributes | 
 | ||||||||||||||||||||||||||||||||||||
| att.cReferencing provides attributes that may be used to supply a canonical reference as a means of identifying the target of a pointer. | |||||||||
| Module | tei — | ||||||||
| Members | term | ||||||||
| Attributes | 
 | ||||||||
| att.datable provides attributes for normalization of elements that contain dates, times, or datable events. [3.6.4. Dates and Times 14.4. Dates] | |||||||
| Module | tei — | ||||||
| Members | change date resp | ||||||
| Attributes | 
 
 | ||||||
| Note | This ‘superclass’ provides attributes that can be used to provide normalized values of temporal information. By default, the attributes from the att.datable.w3c class are provided. If the module for names & dates is loaded, this class also provides attributes from the att.datable.iso and att.datable.custom classes. In general, the possible values of attributes restricted to the W3C datatypes form a subset of those values available via the ISO 8601 standard. However, the greater expressiveness of the ISO datatypes may not be needed, and there exists much greater software support for the W3C datatypes. | ||||||
| att.datable.custom provides attributes for normalization of elements that contain datable events to a custom dating system (i.e. other than the Gregorian used by W3 and ISO). [14.4. Dates] | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| Module | namesdates — | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| Members | att.datable [change date resp] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| Attributes | 
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| att.datable.iso provides attributes for normalization of elements that contain datable events using the ISO 8601:2004 standard. [3.6.4. Dates and Times 14.4. Dates] | |||||||||||||||||||||||||||||||||||
| Module | namesdates — | ||||||||||||||||||||||||||||||||||
| Members | att.datable [change date resp] | ||||||||||||||||||||||||||||||||||
| Attributes | 
 | ||||||||||||||||||||||||||||||||||
| Note | The value of these attributes should be a normalized representation of the date, time, or combined date & time intended, in any of the standard formats specified by ISO 8601:2004, using the Gregorian calendar.If both @when-iso and @dur-iso are specified, the values should be interpreted as indicating a span of time by its starting time (or date) and duration. That is, indicates the same time period asIn providing a ‘regularized’ form, no claim is made that the form in the source text is incorrect; the regularized form is simply that chosen as the main form for purposes of unifying variant forms under a single heading. | ||||||||||||||||||||||||||||||||||
| att.datable.w3c provides attributes for normalization of elements that contain datable events conforming to the W3C XML Schema Part 2: Datatypes Second Edition. [3.6.4. Dates and Times 14.4. Dates] | |||||||||||||||||||||||||||||||||||||
| Module | tei — | ||||||||||||||||||||||||||||||||||||
| Members | att.datable [change date resp] | ||||||||||||||||||||||||||||||||||||
| Attributes | 
 | ||||||||||||||||||||||||||||||||||||
| Schematron | 
<sch:rule context="tei:*[@when]">
   <sch:report test="@notBefore|@notAfter|@from|@to" role="nonfatal">The @when attribute cannot be used with any other att.datable.w3c attributes.</sch:report>
</sch:rule>
 | ||||||||||||||||||||||||||||||||||||
| Schematron | 
<sch:rule context="tei:*[@from]">
   <sch:report test="@notBefore" role="nonfatal">The @from and @notBefore attributes cannot be used together.</sch:report>
</sch:rule>
 | ||||||||||||||||||||||||||||||||||||
| Schematron | 
<sch:rule context="tei:*[@to]">
   <sch:report test="@notAfter" role="nonfatal">The @to and @notAfter attributes cannot be used together.</sch:report>
</sch:rule>
 | ||||||||||||||||||||||||||||||||||||
| Example |  | ||||||||||||||||||||||||||||||||||||
| Note | The value of these attributes should be a normalized representation of the date, time, or combined date & time intended, in any of the standard formats specified by XML Schema Part 2: Datatypes Second Edition, using the Gregorian calendar. The most commonly-encountered format for the date portion of a temporal attribute is  Note that this format does not currently permit use of the value 0000 to represent the year 1 BCE; instead the value -0001 should be used. | ||||||||||||||||||||||||||||||||||||
| att.declarable provides attributes for those elements in the TEI header which may be independently selected by means of the special purpose @decls attribute. [16.3. Associating Contextual Information with a Text] | |||||||||
| Module | tei — | ||||||||
| Members | langUsage listApp textClass | ||||||||
| Attributes | 
 | ||||||||
| Note | The rules governing the association of declarable elements with individual parts of a TEI text are fully defined in chapter 16.3. Associating Contextual Information with a Text. Only one element of a particular type may have a @default attribute with a value of true. | ||||||||
| att.declaring provides attributes for elements which may be independently associated with a particular declarable element within the header, thus overriding the inherited default for that element. [16.3. Associating Contextual Information with a Text] | |||||||
| Module | tei — | ||||||
| Members | facsimile graphic surface term text | ||||||
| Attributes | 
 | ||||||
| Note | The rules governing the association of declarable elements with individual parts of a TEI text are fully defined in chapter 16.3. Associating Contextual Information with a Text. | ||||||
| att.dimensions provides attributes for describing the size of physical objects. | |||||||||||||||||||||||||||||||||||||||
| Module | tei — | ||||||||||||||||||||||||||||||||||||||
| Members | gap space | ||||||||||||||||||||||||||||||||||||||
| Attributes | 
 
 | ||||||||||||||||||||||||||||||||||||||
| att.editLike provides attributes describing the nature of an encoded scholarly intervention or interpretation of any kind. [3.5. Simple Editorial Changes 11.3.1. Origination 14.3.2. The Person Element 12.3.1.1. Core Elements for Transcriptional Work] | |||||||||||||||||
| Module | tei — | ||||||||||||||||
| Members | att.transcriptional [add] gap | ||||||||||||||||
| Attributes | 
 | ||||||||||||||||
| Note | The members of this attribute class are typically used to represent any kind of editorial intervention in a text, for example a correction or interpretation, or to date or localize manuscripts etc. Each pointer on the @source (if present) corresponding to a witness or witness group should reference a bibliographic citation such as a  | ||||||||||||||||
| att.global provides attributes common to all elements in the TEI encoding scheme. [1.3.1.1. Global Attributes] | |||||||||||||||||||||||||||||||||||||||||||||
| Module | tei — | ||||||||||||||||||||||||||||||||||||||||||||
| Members | 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 | 
 
 | ||||||||||||||||||||||||||||||||||||||||||||
| att.global.change provides attributes allowing its member elements to specify one or more states or revision campaigns with which they are associated. | |||||||
| Module | transcr — | ||||||
| Members | att.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 | 
 | ||||||
| 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] | |||||||
| Module | transcr — | ||||||
| Members | att.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 | 
 | ||||||
| att.global.linking provides a set of attributes for hypertextual linking. [17. Linking, Segmentation, and Alignment] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Module | linking — | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Members | att.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 | 
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| att.global.rendition provides rendering attributes common to all elements in the TEI encoding scheme. [1.3.1.1.3. Rendition Indicators] | |||||||||||||||||||||||||||||||
| Module | tei — | ||||||||||||||||||||||||||||||
| Members | att.global [TEI 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 | 
 | ||||||||||||||||||||||||||||||
| 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] | |||||||||||||||
| Module | tei — | ||||||||||||||
| Members | att.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 | 
 | ||||||||||||||
| Example |  | ||||||||||||||
| Example |  | ||||||||||||||
| att.global.source provides attributes used by elements to point to an external source. [1.3.1.1.4. Sources, certainty, and responsibility 3.3.3. Quotation 8.3.4. Writing] | |||||||||||
| Module | tei — | ||||||||||
| Members | att.global [TEI 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 | 
 | ||||||||||
| Example |  | ||||||||||
| Example |  | ||||||||||
| Example | Include in the schema an element named  | ||||||||||
| Example | Create a schema using components taken from the file mycompiledODD.xml. | ||||||||||
| att.internetMedia provides attributes for specifying the type of a computer resource using a standard taxonomy. | |||||||
| Module | tei — | ||||||
| Members | att.media [graphic] | ||||||
| Attributes | 
 | ||||||
| Example | In this example @mimeType is used to indicate that the URL points to a TEI XML file encoded in UTF-8.  | ||||||
| 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 provides attributes common to elements which refer to named persons, places, organizations etc. [3.6.1. Referring Strings 14.3.7. Names and Nyms] | |||||||||||||||
| Module | tei — | ||||||||||||||
| Members | att.personal [forename orgName persName placeName] author repository | ||||||||||||||
| Attributes | 
 
 | ||||||||||||||
| att.placement provides attributes for describing where on the source page or object a textual element appears. [3.5.3. Additions, Deletions, and Omissions 12.3.1.4. Additions and Deletions] | |||||||||||||
| Module | tei — | ||||||||||||
| Members | att.transcriptional [add] div witDetail | ||||||||||||
| Attributes | 
 | ||||||||||||
| att.pointing provides a set of attributes used by all elements which point to other elements by means of one or more URI references. [1.3.1.1.2. Language Indicators 3.7. Simple Links and Cross-References] | |||||||||||||||||||||||||||||||
| Module | tei — | ||||||||||||||||||||||||||||||
| Members | licence note ptr ref term witDetail | ||||||||||||||||||||||||||||||
| Attributes | 
 | ||||||||||||||||||||||||||||||
| att.ranging provides attributes for describing numerical ranges. | |||||||||||||||||||||||||||||||
| Module | tei — | ||||||||||||||||||||||||||||||
| Members | att.dimensions [gap space] | ||||||||||||||||||||||||||||||
| Attributes | 
 | ||||||||||||||||||||||||||||||
| Example |  | ||||||||||||||||||||||||||||||
| Example |  | ||||||||||||||||||||||||||||||
| att.rdgPart provides attributes to mark the beginning or ending of a fragmentary manuscript or other witness. [13.1.5. Fragmentary Witnesses] | |||||||
| Module | textcrit — | ||||||
| Members | lacunaEnd lacunaStart wit witEnd witStart | ||||||
| Attributes | 
 | ||||||
| Note | These elements may appear anywhere within the elements  | ||||||
| att.scope provides attributes to describe, in general terms, the scope of an element’s application. | |||||||||||||
| Module | tei — | ||||||||||||
| Members | att.handFeatures [handShift] language | ||||||||||||
| Attributes | 
 | ||||||||||||
| att.sortable provides attributes for elements in lists or groups that are sortable, but whose sorting key cannot be derived mechanically from the element content. [10.1. Dictionary Body and Overall Structure] | |||||||||||
| Module | tei — | ||||||||||
| Members | listApp listWit term witness | ||||||||||
| Attributes | 
 | ||||||||||
| 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] | |||||||||||||||||||||||||||||||
| Module | textcrit — | ||||||||||||||||||||||||||||||
| Members | lem rdg rdgGrp | ||||||||||||||||||||||||||||||
| Attributes | 
 
 | ||||||||||||||||||||||||||||||
| Note | This element class defines attributes inherited by  | ||||||||||||||||||||||||||||||
| att.timed provides attributes common to those elements which have a duration in time, expressed either absolutely or by reference to an alignment map. [8.3.5. Temporal Information] | |||||||||||||||||
| Module | tei — | ||||||||||||||||
| Members | gap | ||||||||||||||||
| Attributes | 
 | ||||||||||||||||
| att.typed provides attributes that can be used to classify or subclassify elements in any way. [1.3.1. Attribute Classes 18.1.1. Words and Above 3.6.1. Referring Strings 3.7. Simple Links and Cross-References 3.6.5. Abbreviations and Their Expansions 3.13.1. Core Tags for Verse 7.2.5. Speech Contents 4.1.1. Un-numbered Divisions 4.1.2. Numbered Divisions 4.2.1. Headings and Trailers 4.4. Virtual Divisions 14.3.2.3. Personal Relationships 12.3.1.1. Core Elements for Transcriptional Work 17.1.1. Pointers and Links 17.3. Blocks, Segments, and Anchors 13.2. Linking the Apparatus to the Text 23.5.1.2. Defining Content Models: RELAX NG 8.3. Elements Unique to Spoken Texts 24.3.1.3. Modification of Attribute and Attribute Value Lists] | |||||||||||||||||||
| Module | tei — | ||||||||||||||||||
| Members | ab 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 | 
 | ||||||||||||||||||
| 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  | ||||||||||||||||||
| 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] | |||||||||
| Module | textcrit — | ||||||||
| Members | lem rdg | ||||||||
| Attributes | 
 | ||||||||
| att.written provides attributes to indicate the hand in which the content of an element was written in the source being transcribed. [1.3.1. Attribute Classes] | |||||||
| Module | tei — | ||||||
| Members | att.textCritical [lem rdg rdgGrp] att.transcriptional [add] div | ||||||
| Attributes | 
 | ||||||
| teidata.certainty defines the range of attribute values expressing a degree of certainty. | |
| Module | tei — | 
| Used by | |
| Content model | <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 defines the range of attribute values used for a non-negative integer value used as a count. | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| Declaration | tei_teidata.count = xsd:nonNegativeInteger | 
| Note | Any positive integer value or zero is permitted | 
| teidata.duration.iso defines the range of attribute values available for representation of a duration in time using ISO 8601 standard formats. | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| Declaration | 
tei_teidata.duration.iso = token { pattern = "[0-9.,DHMPRSTWYZ/:+\-]+" } | 
| Example |  | 
| Example |  | 
| Example |  | 
| Example |  | 
| Note | A duration is expressed as a sequence of number-letter pairs, preceded by the letter P; the letter gives the unit and may be Y (year), M (month), D (day), H (hour), M (minute), or S (second), in that order. The numbers are all unsigned integers, except for the last, which may have a decimal component (using either  For complete details, see ISO 8601 Data elements and interchange formats — Information interchange — Representation of dates and times. | 
| teidata.duration.w3c defines the range of attribute values available for representation of a duration in time using W3C datatypes. | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| Declaration | tei_teidata.duration.w3c = xsd:duration | 
| Example |  | 
| Example |  | 
| Example |  | 
| Example |  | 
| Note | A duration is expressed as a sequence of number-letter pairs, preceded by the letter P; the letter gives the unit and may be Y (year), M (month), D (day), H (hour), M (minute), or S (second), in that order. The numbers are all unsigned integers, except for the  For complete details, see the W3C specification. | 
| teidata.enumerated defines the range of attribute values expressed as a single XML name taken from a list of documented possibilities. | |
| Module | tei — | 
| Used by | Element:  
 | 
| Content model | <content> | 
| 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  | 
| teidata.language defines the range of attribute values used to identify a particular combination of human language and writing system. [6.1. Language Identification] | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| 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. 
 There are two exceptions to the above format. First, there are language tags in the IANA registry that do not match the above syntax, but are present because they have been ‘grandfathered’ from previous specifications. Second, an entire language tag can consist of only a private use subtag. These tags start with  Examples include 
 The W3C Internationalization Activity has published a useful introduction to BCP 47, Language tags in HTML and XML. | 
| teidata.name defines the range of attribute values expressed as an XML Name. | |
| Module | tei — | 
| Used by | Element:  
 | 
| Content model | <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 defines the range of attribute values used for numeric values. | |
| Module | tei — | 
| Used by | Element:  
 | 
| Content model | <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 defines a range of values for use in specifying the size of an object that is intended for display. | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| Declaration | tei_teidata.outputMeasurement = token { pattern = "[\-+]?\d+(\.\d+)?(%|cm|mm|in|pt|pc|px|em|ex|ch|rem|vw|vh|vmin|vmax)" } | 
| Example |  | 
| Note | These values map directly onto the values used by XSL-FO and CSS. For definitions of the units see those specifications; at the time of this writing the most complete list is in the CSS3 working draft. | 
| teidata.pattern defines attribute values which are expressed as a regular expression. | |
| Module | tei — | 
| Used by | |
| Content model | <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 Wikipedia H(ä|ae?)ndel(or alternatively, it is said that the patternH(ä|ae?)ndelmatches each of the three strings)This TEI datatype is mapped to the XSD token datatype, and may therefore contain any string of characters. However, it is recommended that the value used conform to the particular flavour of regular expression syntax supported by XSD Schema. | 
| teidata.point defines the data type used to express a point in cartesian space. | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| Declaration | 
tei_teidata.point =
   token { pattern = "(-?[0-9]+(\.[0-9]+)?,-?[0-9]+(\.[0-9]+)?)" } | 
| Example |  | 
| 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 defines the range of attribute values used to provide a single URI, absolute or relative, pointing to some other resource, either within the current document or elsewhere. | |
| Module | tei — | 
| Used by | Element:  
 | 
| Content model | <content> | 
| 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,  | 
| teidata.probability defines the range of attribute values expressing a probability. | |
| Module | tei — | 
| Used by | |
| Content model | <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 defines a range of attribute values which can be expressed either as a numeric probability or as a coded certainty value. | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| Declaration | tei_teidata.probCert = teidata.probability | teidata.certainty | 
| teidata.replacement defines attribute values which contain a replacement template. | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| Declaration | tei_teidata.replacement = text | 
| Note | |
| teidata.temporal.iso defines the range of attribute values expressing a temporal expression such as a date, a time, or a combination of them, that conform to the international standard Data elements and interchange formats – Information interchange – Representation of dates and times. | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| 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 defines the range of attribute values expressing a temporal expression such as a date, a time, or a combination of them, that conform to the W3C XML Schema Part 2: Datatypes Second Edition specification. | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| 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 defines the range of attribute values used to express some kind of identifying string as a single sequence of Unicode characters possibly including whitespace. | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| 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 defines the range of attribute values used to express a truth value. | |
| Module | tei — | 
| Used by | Element:  
 | 
| Content model | <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 defines the range of attribute values used for version numbers. | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| Declaration | 
tei_teidata.versionNumber =
   token { pattern = "[\d]+[a-z]*[\d]*(\.[\d]+[a-z]*[\d]*){0,3}" } | 
| Note | |
| teidata.word defines the range of attribute values expressed as a single word or token. | |
| Module | tei — | 
| Used by | |
| Content model | <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 defines attribute values which contain an XPath expression. | |
| Module | tei — | 
| Used by | |
| Content model | <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 (extended truth value) defines the range of attribute values used to express a truth value which may be unknown. | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| Declaration | tei_teidata.xTruthValue = xsd:boolean | ( "unknown" | "inapplicable" ) | 
| Note | In cases where where uncertainty is inappropriate, use the datatype teidata.TruthValue. | 
| macro.abContent (anonymous block content) defines the content of anonymous block elements. [1.3. The TEI Class System] | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| Declaration | tei_macro.abContent = ( text | tei_model.paraPart | tei_ab )* | 
| macro.paraContent (paragraph content) defines the content of paragraphs and similar elements. [1.3. The TEI Class System] | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| Declaration | tei_macro.paraContent = ( text | tei_model.paraPart )* | 
| macro.phraseSeq (phrase sequence) defines a sequence of character data and phrase-level elements. [1.4.1. Standard Content Models] | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| Declaration | 
tei_macro.phraseSeq =
   (
      text
    | model.gLike
    | tei_model.attributable
    | tei_model.phrase
    | tei_model.global
   )* | 
| macro.phraseSeq.limited (limited phrase sequence) defines a sequence of character data and those phrase-level elements that are not typically used for transcribing extant documents. [1.4.1. Standard Content Models] | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| Declaration | tei_macro.phraseSeq.limited = ( text | tei_model.limitedPhrase | tei_model.global )* | 
| macro.specialPara ('special' paragraph content) defines the content model of elements such as notes or list items, which either contain a series of component-level elements or else have the same structure as a paragraph, containing a series of phrase-level and inter-level elements. [1.3. The TEI Class System] | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| Declaration | 
tei_macro.specialPara =
   (
      text
    | model.gLike
    | tei_model.phrase
    | tei_model.inter
    | tei_model.divPart
    | tei_model.global
   )* | 
| macro.xtext (extended text) defines a sequence of character data and gaiji elements. | |
| Module | tei — | 
| Used by | |
| Content model | <content> | 
| Declaration | tei_macro.xtext = ( text | model.gLike )* |