<choice>

<choice> 匯集文件中對於同一部分文字所有可供替換的不同標記。 [3.4 Simple Editorial Changes]
組件core — Elements Available in All TEI Documents
屬性att.global (@xml:id, @n, @xml:lang, @xml:base, @xml:space) (att.global.rendition (@rend, @style, @rendition)) (att.global.linking (@corresp, @synch, @sameAs, @copyOf, @next, @prev, @exclude, @select)) (att.global.analytic (@ana)) (att.global.facs (@facs)) (att.global.change (@change)) (att.global.responsibility (@cert, @resp)) (att.global.source (@source))
俱乐部会员
可包含在於
analysis: cl pc phr s span w
figures: cell figDesc
iso-fs: fDescr fsDescr
linking: ab seg
spoken: u writing
tagdocs: eg valDesc
verse: metSym rhyme
可包含

Because the children of a choice element all represent alternative ways of encoding the same sequence, it is natural to think of them as mutually exclusive. However, there may be cases where a full representation of a text requires the alternative encodings to be considered as parallel.

Note also that choice elements may self-nest.

Where the purpose of an encoding is to record multiple witnesses of a single work, rather than to identify multiple possible encoding decisions at a given point, the app element and associated elements discussed in section 12.1 The Apparatus Entry, Readings, and Witnesses should be preferred.

例子
<p>清朝與日本為爭奪北韓半島控制權,爆發歷史上著名的甲午戰爭。 發生於清光緒二十年,西元 <choice>
  <sic>1892</sic>
  <corr>1894</corr>
 </choice>年,雙方水陸大戰,傷亡者<choice>
  <orig></orig>
  <reg></reg>
 </choice></p>
Content model
<content>
 <alternate minOccurs="2"
  maxOccurs="unbounded">

  <classRef key="model.choicePart"/>
  <elementRef key="choice"/>
 </alternate>
</content>
宣告
<rng:element name="choice">
 <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:oneOrMore>
  <rng:choice>
   <rng:ref name="model.choicePart"/>
   <rng:ref name="choice"/>
  </rng:choice>
 </rng:oneOrMore>
</rng:element>
element choice
{
   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,
   ( model.choicePart | choice )+
}