<rt>

<rt> (ruby text) contains a ruby text, an annotation closely associated with a passage of the main text. [3.4.2 Ruby Annotations]
Module core — Elements Available in All TEI Documents
Attributes
target⚓︎ supplies a pointer to the base being glossed by this ruby text.
Status Optional
Datatype teidata.pointer
Schematron Enforce that either target or both from and to (or none) are used, but not target in combination with either from or to.

<sch:report test="../@from | ../@to">When target= is
present, neither from= nor to= should be.</sch:report>
Note

Should point to a single rb or an element that is inside an rb. To refer to multiple elements or text nodes at once use from and to.

from⚓︎ points to the starting point of the span of text being glossed by this ruby text.
Status Optional
Datatype teidata.pointer
Schematron Enforce the presence of to iff there is a from.

<sch:assert test="../@to">When from= is present, the to=
attribute of <sch:name/> is required.</sch:assert>
to⚓︎ points to the ending point of the span of text being glossed.
Status Optional
Datatype teidata.pointer
Schematron Enforce the presence of from iff there is a to.

<sch:assert test="../@from">When to= is present, the from=
attribute of <sch:name/> is required.</sch:assert>
Contained by
core: ruby
May contain
Note

Where the place attribute is not provided on the rt element, the default assumption is that the ruby gloss is above where the text is horizontal, and to the right of the text where it is vertical.

Example

The word 大統領 daitōryō (president) is glossed character by character in hiragana to provide a pronunciation guide.

<p style="writing-mode: vertical-rl"
 xml:lang="ja">

<!--...-->
 <ruby>
  <rb></rb>
  <rt place="right">だい</rt>
 </ruby>
 <ruby>
  <rb></rb>
  <rt place="right">とう</rt>
 </ruby>
 <ruby>
  <rb></rb>
  <rt place="right">りょう</rt>
 </ruby>
<!--...-->
</p>
Content model
<content>
 <macroRef key="macro.phraseSeq"/>
</content>
Schema Declaration
<rng:element name="rt">
 <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.typed.attributes"/>
 <rng:ref name="att.placement.attributes"/>
 <rng:ref name="att.transcriptional.attributes"/>
 <rng:ref name="att.editLike.attributes"/>
 <rng:ref name="att.written.attributes"/>
 <rng:optional>
  <rng:attribute name="target">
   <rng:ref name="teidata.pointer"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="from">
   <rng:ref name="teidata.pointer"/>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="to">
   <rng:ref name="teidata.pointer"/>
  </rng:attribute>
 </rng:optional>
 <rng:ref name="macro.phraseSeq"/>
</rng:element>
element rt
{
   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.typed.attributes,
   att.placement.attributes,
   att.transcriptional.attributes,
   att.editLike.attributes,
   att.written.attributes,
   attribute target { teidata.pointer }?,
   attribute from { teidata.pointer }?,
   attribute to { teidata.pointer }?,
   macro.phraseSeq
}