<alt>

<alt> (alternation) identifies an alternation or a set of choices among elements or passages. [16.8 Alternation]
Modulelinking — 16 Linking, Segmentation, and Alignment
Attributesatt.global (@xml:id, @n, @xml:lang, @rend, @style, @rendition, @xml:base, @xml:space) (att.global.linking (@corresp, @synch, @sameAs, @copyOf, @next, @prev, @exclude, @select)) (att.global.analytic (@ana)) (att.global.facs (@facs)) (att.global.change (@change)) att.typed (@type, @subtype) att.pointing (target, @targetLang, @evaluate)
targetspecifies the destination of the reference by supplying one or more URI References
Derived fromatt.pointing
Status Optional
Datatype 2–∞ occurrences of 

<rng:ref name="data.pointer"/>
data.pointer
separated by whitespace
Values One or more syntactically valid URI references, separated by whitespace. Because whitespace is used to separate URIs, no whitespace is permitted inside a single URI. If a whitespace character is required in a URI, it should be escaped with the normal mechanism, e.g. TEI%20Consortium.
targetsspecifies the identifiers of the alternative elements or passages.
Status Optional
Datatype 2–∞ occurrences of 

<rng:ref name="data.pointer"/>
data.pointer
separated by whitespace
Values Each value specified must be the same as that specified as value for an xml:id attribute for some other element in the current document.
Note

This attribute is deprecated. It is retained for backward compatibility only; the attribute target should be used for preference. It is an error to supply both attributes, but one or the other must be present.

modestates whether the alternations gathered in this collection are exclusive or inclusive.
Status Recommended
Datatype

<rng:ref name="data.enumerated"/>
data.enumerated
Legal values are:
excl
(exclusive) indicates that the alternation is exclusive, i.e. that at most one of the alternatives occurs.
incl
(inclusive) indicates that the alternation is not exclusive, i.e. that one or more of the alternatives occur.
weightsIf mode is excl, each weight states the probability that the corresponding alternative occurs. If mode is incl each weight states the probability that the corresponding alternative occurs given that at least one of the other alternatives occurs.
Status Optional
Datatype 2–∞ occurrences of 

<rng:ref name="data.probability"/>
data.probability
separated by whitespace
Note

If mode is excl, the sum of weights must be 1. If mode is incl, the sum of weights must be in the range from 0 to the number of alternants.

Member of
Contained by
analysis: cl m phr s span w
figures: cell figure table
linking: ab altGrp seg
nets: graph
spoken: u writing
tagdocs: valDesc
textcrit: app lem rdg wit witDetail
verse: metSym rhyme
May containEmpty element
Declaration

<rng:element name="alt">
 <rng:ref name="att.global.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.typed.attributes"/>
 <rng:ref name="att.pointing.attribute.targetLang"/>
 <rng:ref name="att.pointing.attribute.evaluate"/>
 <rng:optional>
  <rng:attribute name="target">
   <rng:list>
    <rng:ref name="data.pointer"/>
    <rng:ref name="data.pointer"/>
    <rng:zeroOrMore>
     <rng:ref name="data.pointer"/>
    </rng:zeroOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="targets">
   <rng:list>
    <rng:ref name="data.pointer"/>
    <rng:ref name="data.pointer"/>
    <rng:zeroOrMore>
     <rng:ref name="data.pointer"/>
    </rng:zeroOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="mode">
   <rng:choice>
    <rng:value>excl</rng:value>
    <rng:value>incl</rng:value>
   </rng:choice>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="weights">
   <rng:list>
    <rng:ref name="data.probability"/>
    <rng:ref name="data.probability"/>
    <rng:zeroOrMore>
     <rng:ref name="data.probability"/>
    </rng:zeroOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:empty/>
</rng:element>
element alt
{
   att.global.attributes,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   att.typed.attributes,
   att.pointing.attribute.targetLang,
   att.pointing.attribute.evaluate,
   attribute target { list { data.pointer, data.pointer, data.pointer* } }?,
   attribute targets { list { data.pointer, data.pointer, data.pointer* } }?,
   attribute mode { "excl" | "incl" }?,
   attribute weights
   {
      list { data.probability, data.probability, data.probability* }
   }?,
   empty
}
Schematron

<s:report test="@target and @targets">You may not supply both
@target and @targets on <s:name/>
</s:report>
Schematron

<s:report test="not(@target) and not(@targets)">You must
supply either @target or @targets on <s:name/>
</s:report>
Example
<alt mode="excl" target="#we.fun #we.sun" weights="0.5 0.5"/>