<list>

<list> (list) contains any sequence of items organized as a list. [3.8 Lists]
Module core — Elements Available in All TEI Documents
Attributes
type⚓︎ (type) describes the nature of the items in the list.
Derived from att.typed
Status Optional
Datatype teidata.enumerated
Suggested values include:
gloss
(gloss) each list item glosses some term or concept, which is given by a label element preceding the list item.
index
(index) each list item is an entry in an index such as the alphabetical topical index at the back of a print volume.
instructions
(instructions) each list item is a step in a sequence of instructions, as in a recipe.
litany
(litany) each list item is one of a sequence of petitions, supplications or invocations, typically in a religious ritual.
syllogism
(syllogism) each list item is part of an argument consisting of two or more propositions and a final conclusion derived from them.
Note

Previous versions of these Guidelines recommended the use of type on list to encode the rendering or appearance of a list (whether it was bulleted, numbered, etc.). The current recommendation is to use the rend or style attributes for these aspects of a list, while using type for the more appropriate task of characterizing the nature of the content of a list.

The formal syntax of the element declarations allows label tags to be omitted from lists tagged <list type="gloss">; this is however a semantic error.

Member of
Contained by
May contain
Note

May contain an optional heading followed by a series of items, or a series of label and item pairs, the latter being optionally preceded by one or two specialized headings.

Example
<list rend="numbered">
 <item>a butcher</item>
 <item>a baker</item>
 <item>a candlestick maker, with
 <list rend="bulleted">
   <item>rings on his fingers</item>
   <item>bells on his toes</item>
  </list>
 </item>
</list>
Example
<list type="syllogismrend="bulleted">
 <item>All Cretans are liars.</item>
 <item>Epimenides is a Cretan.</item>
 <item>ERGO Epimenides is a liar.</item>
</list>
Example
<list type="litanyrend="simple">
 <item>God save us from drought.</item>
 <item>God save us from pestilence.</item>
 <item>God save us from wickedness in high places.</item>
 <item>Praise be to God.</item>
</list>
Example

The following example treats the short numbered clauses of Anglo-Saxon legal codes as lists of items. The text is from an ordinance of King Athelstan (924–939):

<div1 type="section">
 <head>Athelstan's Ordinance</head>
 <list rend="numbered">
  <item n="1">Concerning thieves. First, that no thief is to be spared who is caught with
     the stolen goods, [if he is] over twelve years and [if the value of the goods is] over
     eightpence.
  <list rend="numbered">
    <item n="1.1">And if anyone does spare one, he is to pay for the thief with his
         wergild — and the thief is to be no nearer a settlement on that account — or to
         clear himself by an oath of that amount.</item>
    <item n="1.2">If, however, he [the thief] wishes to defend himself or to escape, he is
         not to be spared [whether younger or older than twelve].</item>
    <item n="1.3">If a thief is put into prison, he is to be in prison 40 days, and he may
         then be redeemed with 120 shillings; and the kindred are to stand surety for him
         that he will desist for ever.</item>
    <item n="1.4">And if he steals after that, they are to pay for him with his wergild,
         or to bring him back there.</item>
    <item n="1.5">And if he steals after that, they are to pay for him with his wergild,
         whether to the king or to him to whom it rightly belongs; and everyone of those who
         supported him is to pay 120 shillings to the king as a fine.</item>
   </list>
  </item>
  <item n="2">Concerning lordless men. And we pronounced about these lordless men, from whom
     no justice can be obtained, that one should order their kindred to fetch back such a
     person to justice and to find him a lord in public meeting.
  <list rend="numbered">
    <item n="2.1">And if they then will not, or cannot, produce him on that appointed day,
         he is then to be a fugitive afterwards, and he who encounters him is to strike him
         down as a thief.</item>
    <item n="2.2">And he who harbours him after that, is to pay for him with his wergild
         or to clear himself by an oath of that amount.</item>
   </list>
  </item>
  <item n="3">Concerning the refusal of justice. The lord who refuses justice and upholds
     his guilty man, so that the king is appealed to, is to repay the value of the goods and
     120 shillings to the king; and he who appeals to the king before he demands justice as
     often as he ought, is to pay the same fine as the other would have done, if he had
     refused him justice.
  <list rend="numbered">
    <item n="3.1">And the lord who is an accessory to a theft by his slave, and it becomes
         known about him, is to forfeit the slave and be liable to his wergild on the first
         occasionp if he does it more often, he is to be liable to pay all that he owns.</item>
    <item n="3.2">And likewise any of the king's treasurers or of our reeves, who has been
         an accessory of thieves who have committed theft, is to liable to the same.</item>
   </list>
  </item>
  <item n="4">Concerning treachery to a lord. And we have pronounced concerning treachery to
     a lord, that he [who is accused] is to forfeit his life if he cannot deny it or is
     afterwards convicted at the three-fold ordeal.</item>
 </list>
</div1>

Note that nested lists have been used so the tagging mirrors the structure indicated by the two-level numbering of the clauses. The clauses could have been treated as a one-level list with irregular numbering, if desired.

Example
<p>These decrees, most blessed Pope Hadrian, we propounded in the public council ... and they
confirmed them in our hand in your stead with the sign of the Holy Cross, and afterwards
inscribed with a careful pen on the paper of this page, affixing thus the sign of the Holy
Cross.
<list rend="simple">
  <item>I, Eanbald, by the grace of God archbishop of the holy church of York, have
     subscribed to the pious and catholic validity of this document with the sign of the Holy
     Cross.</item>
  <item>I, Ælfwold, king of the people across the Humber, consenting have subscribed with
     the sign of the Holy Cross.</item>
  <item>I, Tilberht, prelate of the church of Hexham, rejoicing have subscribed with the
     sign of the Holy Cross.</item>
  <item>I, Higbald, bishop of the church of Lindisfarne, obeying have subscribed with the
     sign of the Holy Cross.</item>
  <item>I, Ethelbert, bishop of Candida Casa, suppliant, have subscribed with thef sign of
     the Holy Cross.</item>
  <item>I, Ealdwulf, bishop of the church of Mayo, have subscribed with devout will.</item>
  <item>I, Æthelwine, bishop, have subscribed through delegates.</item>
  <item>I, Sicga, patrician, have subscribed with serene mind with the sign of the Holy
     Cross.</item>
 </list>
</p>
Schematron

<sch:rule context="tei:list[@type='gloss']">
<sch:assert test="tei:label">The content of a "gloss" list should include a sequence of one or more pairs of a label element followed by an item element</sch:assert>
</sch:rule>
Content model
<content>
 <sequence>
  <alternate minOccurs="0"
   maxOccurs="unbounded">

   <classRef key="model.divTop"/>
   <classRef key="model.global"/>
   <elementRef key="descminOccurs="0"
    maxOccurs="unbounded"/>

  </alternate>
  <alternate>
   <sequence minOccurs="1"
    maxOccurs="unbounded">

    <elementRef key="item"/>
    <classRef key="model.global"
     minOccurs="0maxOccurs="unbounded"/>

   </sequence>
   <sequence>
    <elementRef key="headLabel"
     minOccurs="0"/>

    <elementRef key="headItem"
     minOccurs="0"/>

    <sequence minOccurs="1"
     maxOccurs="unbounded">

     <elementRef key="label"/>
     <classRef key="model.global"
      minOccurs="0maxOccurs="unbounded"/>

     <elementRef key="item"/>
     <classRef key="model.global"
      minOccurs="0maxOccurs="unbounded"/>

    </sequence>
   </sequence>
  </alternate>
  <sequence minOccurs="0"
   maxOccurs="unbounded">

   <classRef key="model.divBottom"/>
   <classRef key="model.global"
    minOccurs="0maxOccurs="unbounded"/>

  </sequence>
 </sequence>
</content>
Schema Declaration
<rng:element name="list">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.global.rendition.attributes"/>
 <rng:ref name="att.global.linking.attributes"/>
 <rng:ref name="att.global.analytic.attributes"/>
 <rng:ref name="att.global.facs.attributes"/>
 <rng:ref name="att.global.change.attributes"/>
 <rng:ref name="att.global.responsibility.attributes"/>
 <rng:ref name="att.global.source.attributes"/>
 <rng:ref name="att.sortable.attributes"/>
 <rng:ref name="att.cmc.attributes"/>
 <rng:ref name="att.typed.attribute.subtype"/>
 <rng:optional>
  <rng:attribute name="type">
   <rng:choice>
    <rng:value>gloss</rng:value>
    <rng:value>index</rng:value>
    <rng:value>instructions</rng:value>
    <rng:value>litany</rng:value>
    <rng:value>syllogism</rng:value>
    <rng:ref name="teidata.enumerated"/>
   </rng:choice>
  </rng:attribute>
 </rng:optional>
 <rng:group>
  <rng:zeroOrMore>
   <rng:choice>
    <rng:ref name="model.divTop"/>
    <rng:ref name="model.global"/>
    <rng:zeroOrMore>
     <rng:ref name="desc"/>
    </rng:zeroOrMore>
   </rng:choice>
  </rng:zeroOrMore>
  <rng:choice>
   <rng:group>
    <rng:oneOrMore>
     <rng:ref name="item"/>
     <rng:zeroOrMore>
      <rng:ref name="model.global"/>
     </rng:zeroOrMore>
    </rng:oneOrMore>
   </rng:group>
   <rng:group>
    <rng:optional>
     <rng:ref name="headLabel"/>
    </rng:optional>
    <rng:optional>
     <rng:ref name="headItem"/>
    </rng:optional>
    <rng:group>
     <rng:oneOrMore>
      <rng:ref name="label"/>
      <rng:zeroOrMore>
       <rng:ref name="model.global"/>
      </rng:zeroOrMore>
      <rng:ref name="item"/>
      <rng:zeroOrMore>
       <rng:ref name="model.global"/>
      </rng:zeroOrMore>
     </rng:oneOrMore>
    </rng:group>
   </rng:group>
  </rng:choice>
  <rng:group>
   <rng:zeroOrMore>
    <rng:ref name="model.divBottom"/>
    <rng:zeroOrMore>
     <rng:ref name="model.global"/>
    </rng:zeroOrMore>
   </rng:zeroOrMore>
  </rng:group>
 </rng:group>
</rng:element>
element list
{
   att.global.attributes,
   att.global.rendition.attributes,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   att.global.responsibility.attributes,
   att.global.source.attributes,
   att.sortable.attributes,
   att.cmc.attributes,
   att.typed.attribute.subtype,
   attribute type
   {
      "gloss"
    | "index"
    | "instructions"
    | "litany"
    | "syllogism"
    | teidata.enumerated
   }?,
   (
      ( model.divTop | model.global | desc* )*,
      (
         ( ( item, model.global* )+ )
       | (
            headLabel?,
            headItem?,
            ( ( label, model.global*, item, model.global* )+ )
         )
      ),
      ( ( model.divBottom, model.global* )* )
   )
}