Websiteentwicklung: XHTML: Ruby

Aus Wikibooks

Besonders im asiatischen Raum, aber auch bei Logos, Marken etc kommt es häufiger vor, dass Textanmerkungen entlang des Hauptextes angeordnet werden sollen.
Zum Beispiel können auch Betonungen oder Noten so über Silben oder Buchstaben in Verszeilen von Gedichten oder Liedern notiert werden.

Je nach Textrichtung stehen die Anmerkungen neben oder über dem Haupttext.

Dazu stellt XHTML das Ruby-Modul bereit. Das Modul ist zum Beispiel verfügbar in XHTML 1.1 und XHTML+RDFa.

Es besteht aus den Elementen ruby, rbc, rtc, rb, rt, rp.

Mit den Elementen ruby, rb, rt steht ferner eine Untermenge zur Verfügung für einfache Ruby-Anmerkungen.

ruby[Bearbeiten]

Dies Element dient als Behälter für die anderen Ruby-Elemente. ruby ist ein inzeiliges oder Phrasenelement und kann je nach Zusammenhang verschiedene Kombinationen von Ruby-Elementen als Kindelemente enthalten.

In der einfachen Variante enthält es ein rb, gefolgt von einem rt.

Alternativ dazu kann auch ein rb enthalten sein, gefolgt von einem rp, gefolgt von einem rt und einem weiteren rp. Diese Variante dient als Hilfe für Programme, die kein Ruby interpretieren können, siehe Beipiele zu den Einzelelementen.

Für komplizierte Ruby-Anmerkungen werden stattdessen im ruby die Elemente rbc und rtc notiert, zuerst das rbc, dann ein oder mehrere rtc.

ruby hat selbst keine spezifischen Attribute, die allgemein verwendbaren können notiert werden.

Einfaches Ruby: rb, rt, rp[Bearbeiten]

Die beiden Elemente rb und rt können einfachen Text oder inzeilige Elemente enthalten, allerdings kein weiteres Element ruby. rp kann einfachen Text enthalten, der als Klammersymbol dienen soll.

Sie haben bei einfachem Ruby selbst keine spezifischen Attribute, die allgemein verwendbaren können notiert werden.

In rb wird der Haupttext notiert, in rt die Anmerkung.

Beispiele:

<abbr xml:lang="en">
<ruby>
  <rb>WWW</rb>
  <rt>World Wide Web</rt>
</ruby>
</abbr>

Das 'World Wide Web' wird über dem 'WWW' dargestellt.

Um Programme besser zu berücksichtigen, die Ruby nicht interpretieren können, dient eine Notation mit Klammern mit dem Element rp. Programme, die Ruby interpretieren können, stellen den Text in rp nicht dar:

<abbr xml:lang="en">
<ruby>
  <rb>WWW</rb>
  <rp>(</rp><rt>World Wide Web</rt><rp>)</rp>
</ruby>
</abbr>

Kann das Programm also kein Ruby interpretieren, so stellt dies einfach folgendes dar: WWW (World Wide Web), andere Programme notieren das 'World Wide Web' über dem 'WWW'.

Musik, Akkorde notieren:

<dl>
<dd>
<ruby><rb>Hänsel und Gretel ver-</rb><rt>G</rt></ruby>
<ruby><rb>irrten sich im</rb><rt>D</rt></ruby>
<ruby><rb>Wald.</rb><rt>G</rt></ruby>
</dd>
<dd>
<ruby><rb>Es war so finster und</rb><rt>G</rt></ruby> 
<ruby><rb>auch so bitter-</rb><rt>D</rt></ruby> 
<ruby><rb>kalt.</rb><rt>G</rt></ruby>
</dd>
</dl>

Komplexes Ruby: rbc, rtc[Bearbeiten]

Sollen mehrere beschreibende Zusätze vom Ruby-Typ verwendet werden, so kommen die Elemente rbc, rtc zusätzlich zum Einsatz.

In dem Falle ist das erste Kindelement von ruby ein rbc, welches ein oder mehrere Elemente rb enthält, die jeweils näher erläutert werden sollen. Auf das rbc folgt dann das rtc, welches (entsprechend viele) rt enthält, in denen die Erläuterungen zu den Inhalten in den rb stehen. Nach dem rtc kann optional ein weiteres mit weiteren Erläuterungen folgen.

Bei rt kann bei komplexem Ruby das Attribut rbspan gesetzt werden. Der Wert ist eine ganze Zahl größer 0. Wird das Attribut nicht angegeben, wird 1 angenommen. Die Zahl gibt an, für wie viele nächste aufeinanderfolgende rb-Elemente die Erläuterung gilt.

Beispiel:

Beispiel Internationales Datumsformat:<br />
<ruby>
  <rbc>
<rb>2012</rb><rb>-</rb><rb>07</rb><rb>-</rb><rb>09</rb><rb>T</rb><rb>17</rb><rb>:</rb><rb>32</rb><rb>:</rb><rb>17</rb><rb>.</rb><rb>091</rb><rb>Z</rb>
  </rbc>
  <rtc>
    <rb>Jahr</rb>
    <rb>-</rb>
    <rb>Monat</rb>
    <rb>-</rb>
    <rb>Tag</rb>
    <rb>T</rb>
    <rb>Stunde</rb>
    <rb>:</rb>
    <rb>Minute</rb>
    <rb>:</rb>
    <rb rbspan="3">Sekunde mit Bruchteilen</rb>
    <rb> </rb>
  </rtc>
  <rtc>
    <rb>vierstellig</rb>
    <rb>-</rb>
    <rb>zweistellig</rb>
    <rb>-</rb>
    <rb>zweistellig</rb>
    <rb>T</rb>
    <rb>zweistellig</rb>
    <rb>:</rb>
    <rb>zweistelling</rb>
    <rb>:</rb>
    <rb>zweistellig</rb>
    <rb>.</rb>
    <rb>Ziffern</rb>
    <rb>Z oder lokale Zeitzone</rb>
  </rtc>
</ruby>