A ruby is a content pair - a main content portion (Ruby Base - RB) along with
content that serves as a helper or caption to the main content (Ruby Text - RT.) The
helper/caption content usually serves as a pronunciation aid, but can serve
other purposes as well. While the need for this is minimal in western languages,
the concept is best illustrated with a far eastern language like Japanese.
With a character set as complex as Chinese, some characters are used rarely and
are thus not as easily recognizable by younger children or possibly many adults.
In Japanese writing, the phonetic Hiragana alphabet is used to pair phonetic
'helper' readings (called Furigana or Yomigana in Japanese) with the chinese
character counterpart.
A Ruby element contains one or more Ruby Base/Text pairs. Each Ruby Base (RB) element
is followed by its optional Ruby Text (RT) element. End tags for both of these
elements are optional. When rendered, Ruby Text content is always located above
the Ruby Base content.
DTD Note: I chose to use only 'in-line content' as the
content model - while Block structures can exist within a Ruby element, some
interesting behaviors are apparent. Images render fine also, but not form
widgets.
Browser Peculiarities
Internet Explorer 5.0 Beta 2: Using block elements in the Ruby
Base places the Ruby Text content BELOW the Ruby Base. This does not seem
to be the intention of the implementation of Rubies, so the behavior may change by
the final release.