<list>

<list> (list) contains any sequence of items organized as a list. [3.8. Lists]
Module core
Attributes Attributesatt.global (@xml:id, @n, @xml:lang) lim.att.global.fragmentable (@part) att.global.source (@source)
rendition points to a description of the rendering or presentation used for this element in the source text.
Derived from att.global.rendition
Status Optional
Schematron The two column layout requires one item to be left and one item to be right.
<sch:rule context="tei:*[contains-token(@rendition,'rnd:two-column')]"> <sch:let name="children"  value="child::tei:*"/> <sch:let name="leftChild"  value="$children[contains-token(@rendition,'rnd:left')]"/> <sch:let name="rightChild"  value="$children[contains-token(@rendition, 'rnd:right')]"/> <sch:assert test="exists($children) and (count(($leftChild, $rightChild)) = count($children))">ERROR: Every child of a two column layout must have either a rnd:right or a rnd:left rendition value.</sch:assert> <sch:assert test="exists($leftChild) and exists($rightChild)">ERROR: There must be at least one rnd:left and one rnd:right child</sch:assert> </sch:rule>
Schematron Some renditions contradict each other
<sch:rule context="tei:*[@rendition]"> <sch:let name="rendition"  value="@rendition"/> <sch:let name="ptrs"  value="tokenize(@rendition,'\s+')"/> <sch:let name="tokens"  value="for $p in $ptrs return substring-after($p,'rnd:')"/> <sch:let name="duplicates"  value="$tokens[count(index-of($tokens, .)) gt 1]"/> <sch:assert test="empty($duplicates)">ERROR: Duplicate renditions found: <sch:value-of select="string-join($duplicates,', ')"/>. Do not use the same rendition more than once on a single element.</sch:assert> <sch:assert test="count($tokens[. = ('left','right','center')]) lt 2">ERROR: rnd:right, rnd:left, or rnd:center are mutually exclusive.</sch:assert> <sch:assert test="count($tokens[. = ('large','small')]) lt 2">ERROR: rnd:large and rnd:small are mutually exclusive.</sch:assert> <sch:assert test="count($tokens[. = ('bordered-bottom','bordered-bottom-dashed')]) lt 2">ERROR: rnd:bordered-bottom and rnd:bordered-bottom-dashed are mutually exclusive.</sch:assert> </sch:rule>
Datatype 1–∞ occurrences of teidata.pointer separated by whitespace
Legal values are:
rnd:list_ordered
An ordered list
rnd:list_unordered
An unordered list
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.
Examples

<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>

<list type="syllogism" rend="bulleted">
   
<item>All Cretans are liars.</item>
   
<item>Epimenides is a Cretan.</item>
   
<item>ERGO Epimenides is a liar.</item>
</list>

<list type="litany" rend="simple">
   
<item>God save us from drought.</item>
   
<item>God save us from pestilence.</item>
   
<item>God save us from wickedness in high places.</item>
   
<item>Praise be to God.</item>
</list>
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.

<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[not(@rendition)]">
   
<sch:assert test="not($isBornDigital)">ERROR: All lists in born digital document require the rendition attribute.</sch:assert>
</sch:rule>

<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>
Source Github

<elementSpec rend="change" module="core" ident="list">
   
<gloss>list</gloss>
   
<desc>contains any sequence of items organized as a list.</desc>
   
<classes>
      
<memberOf key="att.global"/>
      
<memberOf key="att.typed"/>
      
<memberOf key="model.listLike"/>
   
</classes>
   
<content>
      
<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>
   
</content>
   
<attList>
      
<attDef ident="rendition" mode="change">
         
<valList type="closed" mode="change">
            
<valItem mode="add" ident="rnd:list_ordered">
               
<desc>An ordered list</desc>
            
</valItem>
            
<valItem mode="add" ident="rnd:list_unordered">
               
<desc>An unordered list</desc>
            
</valItem>
         
</valList>
      
</attDef>
      
<attDef ident="type" usage="opt" mode="change">
         
<gloss>type</gloss>
         
<desc>describes the nature of the items in the list.</desc>
         
<datatype>
            
<dataRef key="teidata.enumerated"/>
         
</datatype>
         
<valList type="semi" mode="add">
            
<valItem ident="gloss">
               
<gloss>gloss</gloss>
               
<desc>each list item glosses some term or concept, which is given by a <gi>label</gi> element
        preceding the list item.
</desc>
            
</valItem>
            
<valItem ident="index">
               
<gloss>index</gloss>
               
<desc>each list item is an entry in an index such as the alphabetical topical index 
      at the back of a print volume.
</desc>
            
</valItem>
            
<valItem ident="instructions">
               
<gloss>instructions</gloss>
               
<desc>each list item is a step in a sequence of instructions, as in a
        recipe.
</desc>
            
</valItem>
            
<valItem ident="litany">
               
<gloss>litany</gloss>
               
<desc>each list item is one of a sequence of petitions, supplications 
        or invocations, typically in a religious ritual.
</desc>
            
</valItem>
            
<valItem ident="syllogism">
               
<gloss>syllogism</gloss>
               
<desc>each list item is part of an argument consisting of two or more propositions 
        and a final conclusion derived from them.
</desc>
            
</valItem>
         
</valList>
      
</attDef>
   
</attList>
</elementSpec>