1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
2
"http://www.w3.org/TR/html4/strict.dtd">
5
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
6
<title>Ruby Annotation</title>
7
<link rel="stylesheet" type="text/css" href="style.css">
8
<link rel="stylesheet" type="text/css"
9
href="../../../StyleSheets/TR/W3C-REC">
10
<link rel="Appendix" title="Available Character Encodings" href="encodings.html">
16
<p><a href="http://www.w3.org/"><img alt="W3C"
17
src="../../../Icons/w3c_home" width="72" height="48"></a></p>
19
<h1>Ruby Annotation</h1>
21
<h2><acronym title="World Wide Web Consortium">W3C</acronym> Recommendation
24
<dt>This version:</dt>
26
href="index.html">http://www.w3.org/TR/2001/REC-ruby-20010531</a>
28
(<a href="http://www.w3.org/TR/2001/REC-ruby-20010531/ruby.zip">ZIP archive</a>)</dd>
29
<dt>Latest version:</dt>
30
<dd><a href="http://www.w3.org/TR/ruby/">http://www.w3.org/TR/ruby</a><br>
32
<dt>Previous version:</dt>
34
href="http://www.w3.org/TR/2001/PR-ruby-20010406/">http://www.w3.org/TR/2001/PR-ruby-20010406</a></dd>
36
<dd>Marcin <span class="familyname">Sawicki</span> (until 10 October,
38
<dd><a href="mailto:michelsu@microsoft.com">Michel <span
39
class="familyname">Suignard</span></a>, Microsoft</dd>
40
<dd><a href="mailto:mimasa@w3.org">Masayasu <span
41
class="familyname">Ishikawa</span></a>
42
(<span lang="ja">�ΐ� ��N</span>), <acronym
43
title="World Wide Web Consortium">W3C</acronym></dd>
44
<dd><a href="mailto:duerst@w3.org">Martin <span
45
class="familyname">Dürst</span></a>, <acronym
46
title="World Wide Web Consortium">W3C</acronym></dd>
47
<dd><a href="mailto:texin@progress.com">Tex <span
48
class="familyname">Texin</span></a>, Progress Software Corp.</dd>
49
<dd>(See <a href="Overview.html.shift_jis.html#ack">Acknowledgements</a> for additional
53
<p class="copyright"><a
54
href="http://www.w3.org/Consortium/Legal/ipr-notice-20000612#Copyright">Copyright</a>
55
©1998-2001 <a href="http://www.w3.org/"><acronym
56
title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a
57
href="http://www.lcs.mit.edu/"><acronym
58
title="Massachusetts Institute of Technology">MIT</acronym></a>, <a
59
href="http://www.inria.fr/"><acronym lang="fr"
60
title="Institut National de Recherche en Informatique et Automatique">INRIA</acronym></a>,
61
<a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. <acronym
62
title="World Wide Web Consortium">W3C</acronym> <a
63
href="http://www.w3.org/Consortium/Legal/ipr-notice-20000612#Legal_Disclaimer">liability</a>,
65
href="http://www.w3.org/Consortium/Legal/ipr-notice-20000612#W3C_Trademarks">trademark</a>,
67
href="http://www.w3.org/Consortium/Legal/copyright-documents-19990405">document
69
href="http://www.w3.org/Consortium/Legal/copyright-software-19980720">software
70
licensing</a> rules apply.</p>
75
<h2><a id="Abstract" name="Abstract">Abstract</a></h2>
77
<p>"Ruby" are short runs of text alongside the base text, typically used in
78
East Asian documents to indicate pronunciation or to provide a short
79
annotation. This specification defines markup for ruby, in the form of an
80
XHTML module [<a href="Overview.html.shift_jis.html#xhtmlmod">XHTMLMOD</a>].</p>
84
<h2><a id="Status" name="Status">Status of This Document</a></h2>
86
<p><em>This section describes the status of this document at the time of its
87
publication. Other documents may supersede this document. The <a
88
href="http://www.w3.org/TR/ruby/#Status">latest status</a> of this series of
89
documents is maintained at the W3C.</em></p>
91
<p>This document has been reviewed by W3C Members and other interested
92
parties and has been endorsed by the Director as a W3C Recommendation. It is
93
a stable document and may be used as reference material or cited as a
94
normative reference from another document. W3C's role in making the
95
Recommendation is to draw attention to the specification and to promote its
96
widespread deployment. This enhances the functionality and interoperability
99
<p>This document has been produced as part of the W3C <a
100
href="http://www.w3.org/International/Activity">Internationalization
101
Activity</a> by the <a
102
href="http://www.w3.org/International/Group/">Internationalization Working
103
Group</a> (I18N WG, <a
104
href="http://cgi.w3.org/MemberAccess/AccessRequest">members only</a>) with
105
the help of the Internationalization Interest Group (I18N IG). Comments
106
should be sent to the <a
107
href="http://lists.w3.org/Archives/Public/www-i18n-comments/">publicly
108
archived</a> mailing list <a
109
href="mailto:www-i18n-comments@w3.org">www-i18n-comments@w3.org</a>. Comments
110
in languages other than English, in particular Japanese, are also welcome.
111
Public discussion of this document takes place on the <a
112
href="mailto:www-international@w3.org">www-international@w3.org</a> mailing
114
href="http://lists.w3.org/Archives/Public/www-international/">archive</a>).</p>
116
<p>Due to its subject matter, and to make the examples more realistic, this
117
document includes examples using a wide range of characters. Not all user
118
agents may be able to display all characters. Depending on the user agent,
119
changing the configuration can improve the situation. Also, great care has
120
been taken to serve this document in <a href="encodings.html">various character
121
encodings</a> to cover a wide range of user agents and configurations.</p>
123
<p>Information related to this document can be found on the <a
124
href="http://www.w3.org/International/O-HTML-ruby">public ruby page</a>
125
(http://www.w3.org/International/O-HTML-ruby). This includes <a
126
href="http://www.w3.org/International/O-HTML-ruby#Translations">translations</a>
127
of this specification as well as potential <a
128
href="http://www.w3.org/2001/05/ruby-errata">errata</a>. A list
129
of current <a href="http://www.w3.org/TR/">W3C Recommendations and other
130
technical documents</a> can be found at http://www.w3.org/TR.</p>
132
<p>There have been no declarations regarding patents related to this
133
specification within the Internationalization Working Group.</p>
137
<h2><a id="Contents" name="Contents">Contents</a></h2>
141
<li class="informative">1. <a href="Overview.html.shift_jis.html#intro">Introduction</a>
143
<li>1.1 <a href="Overview.html.shift_jis.html#what">What is ruby?</a></li>
144
<li>1.2 <a href="Overview.html.shift_jis.html#markup-overview">Ruby markup overview</a>
146
<li>1.2.1 <a href="Overview.html.shift_jis.html#simple-ruby1">Simple ruby markup</a></li>
147
<li>1.2.2 <a href="Overview.html.shift_jis.html#simple-parenthesis">Simple ruby markup with
149
<li>1.2.3 <a href="Overview.html.shift_jis.html#complex">Complex ruby markup</a></li>
150
<li>1.2.4 <a href="Overview.html.shift_jis.html#summary">Summary</a></li>
155
<li class="normative">2. <a href="Overview.html.shift_jis.html#definition">Formal definition of ruby
158
<li>2.1 <a href="Overview.html.shift_jis.html#abstract-def">Abstract definition of ruby
160
<li>2.2 <a href="Overview.html.shift_jis.html#ruby">The <code>ruby</code> element</a></li>
161
<li>2.3 <a href="Overview.html.shift_jis.html#rbc">The <code>rbc</code> element</a></li>
162
<li>2.4 <a href="Overview.html.shift_jis.html#rtc">The <code>rtc</code> element</a></li>
163
<li>2.5 <a href="Overview.html.shift_jis.html#rb">The <code>rb</code> element</a></li>
164
<li>2.6 <a href="Overview.html.shift_jis.html#rt">The <code>rt</code> element</a></li>
165
<li>2.7 <a href="Overview.html.shift_jis.html#rp">The <code>rp</code> element</a></li>
168
<li>3. <a href="Overview.html.shift_jis.html#rendering">Rendering and Styling Considerations</a>
170
<li>3.1 <a href="Overview.html.shift_jis.html#web">Ruby on the Web vs. traditional typographic
172
<li>3.2 <a href="Overview.html.shift_jis.html#font">Font size of ruby text</a></li>
173
<li>3.3 <a href="Overview.html.shift_jis.html#positioning">Positioning of ruby text</a></li>
174
<li>3.4 <a href="Overview.html.shift_jis.html#presentation">Presentation of ruby markup</a></li>
175
<li>3.5 <a href="Overview.html.shift_jis.html#non-visual">Considerations for non-visual
177
<li>3.6 <a href="Overview.html.shift_jis.html#rp-alternatives">Alternatives to the
178
<code>rp</code> element</a></li>
181
<li>4. <a href="Overview.html.shift_jis.html#conformance">Conformance Criteria</a></li>
182
<li><a href="Overview.html.shift_jis.html#appendix">Appendices</a>
184
<li class="normative">A. <a href="Overview.html.shift_jis.html#module">Ruby module for <acronym
185
title="Extensible HyperText Markup Language">XHTML</acronym></a></li>
186
<li class="informative">B. <a href="Overview.html.shift_jis.html#design">Notes on design
188
<li class="informative">C. <a href="Overview.html.shift_jis.html#compatibility">Notes on
189
backwards compatibility</a></li>
190
<li class="informative">D. <a href="Overview.html.shift_jis.html#glossary">Glossary</a></li>
191
<li class="informative">E. <a href="Overview.html.shift_jis.html#changes">Changes from Proposed
192
Recommendation</a></li>
195
<li class="informative"><a href="Overview.html.shift_jis.html#ack">Acknowledgements</a></li>
196
<li class="informative ref"><a href="Overview.html.shift_jis.html#ref">References</a></li>
201
<div class="informative">
202
<h2><a id="intro" name="intro">1. Introduction</a></h2>
204
<p>This section is <em>informative</em>.</p>
206
<p>This document presents an overview of ruby annotation and defines the
207
markup for it. Several examples are provided. However, this document does not
208
specify any mechanisms for presentation or styling of ruby annotation; this
209
is part of the respective style sheet languages.</p>
211
<p>This document is organized as follows:</p>
213
<p><a href="Overview.html.shift_jis.html#what">Section 1.1</a> gives an overview of ruby annotation.</p>
215
<p><a href="Overview.html.shift_jis.html#markup-overview">Section 1.2</a> gives an overview of the
216
markup for ruby annotation.</p>
218
<p><a href="Overview.html.shift_jis.html#definition">Section 2</a> provides the normative definition of
221
<p><a href="Overview.html.shift_jis.html#rendering">Section 3</a> discusses typical rendering and
222
styling of ruby text.</p>
224
<p><a href="Overview.html.shift_jis.html#conformance">Section 4</a> provides conformance criteria.</p>
227
<h3><a id="what" name="what">1.1 What is ruby?</a></h3>
229
<p><em>Ruby</em> is the term used for a run of text that is associated with
230
another run of text, referred to as the <em>base text</em>. Ruby text is used
231
to provide a short annotation of the associated base text. It is most often
232
used to provide a <em>reading</em> (pronunciation guide). Ruby annotations
233
are used frequently in Japan in many kinds of publications, including books
234
and magazines. Ruby is also used in China, especially in schoolbooks.</p>
236
<p>Ruby text is usually presented alongside the base text, using a smaller
237
typeface. The name "ruby" in fact originated from the name of the 5.5<abbr
238
title="points">pt</abbr> font size in British printing, which is about half
239
the 10<abbr title="points">pt</abbr> font size commonly used for normal text.
240
<a href="Overview.html.shift_jis.html#fig1.1">Figure 1.1</a> shows an example, with three ideographs
241
(kanji) as base text, and six hiragana giving the reading (shinkansen -
242
Japanese bullet train).</p>
245
<p><a id="fig1.1" name="fig1.1"><img
246
alt="At the bottom left, three Japanese ideographs from left to right. On top of them, six hiragana characters at half size. To the right, arrows and text saying 'ruby base' (bottom) and 'ruby text' (top)."
247
class="example" height="33" width="140" src="shinkansen-top.gif"></a></p>
249
<p><strong>Figure 1.1</strong>: Ruby text giving the reading of each
250
character of the base text.</p>
253
<p>East Asian typography has developed various features that do not appear in
254
western typography. Most of these can be addressed appropriately with style
255
sheet languages such as <acronym title="Cascading Style Sheets">CSS</acronym>
256
or <acronym title="Extensible Style Language">XSL</acronym>. However,
257
additional markup is required to define the association between base text and
260
<p>This specification defines such markup, designed to be usable with
261
<acronym title="Extensible HyperText Markup Language">XHTML</acronym>, so
262
that ruby text is available on the Web without using special workarounds or
263
graphics. Although this specification gives examples of actual rendering to
264
make it easier for most readers to understand the markup, all such examples
265
are informational only. This document does not specify any mechanisms for
266
presentation or styling; this is part of the respective style sheet
269
<p>Sometimes more than one ruby text is associated with the same base text. A
270
typical example is to indicate both meaning as well as reading for the same
271
base text. In such cases, ruby texts may appear on both sides of the base
272
text. Ruby text before the base text is often used to indicate reading; ruby
273
text after the base text is often used to indicate meaning. <a
274
href="Overview.html.shift_jis.html#fig1.2">Figure 1.2</a> shows an example of base text with two ruby
275
texts, giving reading using hiragana and Latin letters.</p>
278
<p><a id="fig1.2" name="fig1.2"><img
279
alt="At the left, three Japanese ideographs from left to right. On top of them, six hiragana characters at half size. Below the ideographs, the text 'shinkansen'. To the right, arrows and text saying 'ruby base' (middle), 'ruby text' (top), and 'ruby text 2' (bottom)."
280
class="example" height="49" width="149"
281
src="shinkansen-top-bottom.gif"></a></p>
283
<p><strong>Figure 1.2</strong>: Two ruby texts applied to the same base
287
<p>In addition, each ruby text may be associated with different, but
288
overlapping, parts of the base text, such as <a id="fig1.3" name="fig1.3">in
289
the following example:</a></p>
295
<tr class="rt" style="text-align: center">
300
<tr class="rb" style="text-align: center">
301
<td><strong>10</strong></td>
302
<td><strong>31</strong></td>
303
<td><strong>2002</strong></td>
305
<tr class="rt" style="text-align: center">
306
<td colspan="3">Expiration Date</td>
311
<p><strong>Figure 1.3</strong>: Base text with two ruby texts using different
315
<p>In this example, the base text is the date "10 31 2002". One ruby text is
316
the phrase "Expiration Date". This ruby text is associated with the entire
317
base text. The other ruby text has 3 parts: "Month", "Day" and "Year". Each
318
part is associated with a different part of the base text. "Month" is
319
associated with "10", "Day" is associated with "31", and "Year" is associated
324
<h3><a id="markup-overview" name="markup-overview">1.2 Ruby markup
327
<p>The markup defined in this specification is designed to cover all the
328
above cases, namely markup for one or two ruby texts associated with the same
329
base text and markup for associations of substrings of the ruby text(s) with
330
components of the base text.</p>
332
<p>There are two variants of ruby markup, called <em>simple ruby markup</em>
333
and <em>complex ruby markup</em>. Simple ruby markup associates a single ruby
334
text with a run of base text. Simple ruby markup can also specify a fallback
335
mechanism to allow display of ruby text by (older) browsers that do not know
336
about ruby markup. Complex ruby markup can associate two ruby texts with one
337
base text, and can define a more fine-grained association between components
338
of the ruby text and the base text. However, complex ruby markup does not
339
provide a fallback mechanism for browsers that do not understand ruby
342
<p>This section gives an overview of the markup for ruby defined in this
343
specification. A full formal definition can be found in <a
344
href="Overview.html.shift_jis.html#definition">Section 2</a>.</p>
347
<h4><a id="simple-ruby1" name="simple-ruby1">1.2.1 Simple ruby markup</a></h4>
349
<p>In the simplest case, ruby markup defines a <code>ruby</code> element
350
which contains one <code>rb</code> element for the base text and one
351
<code>rt</code> element for the ruby text. This <code>ruby</code> element
352
therefore creates an association between the base text and the ruby text, and
353
is sufficient for most cases.<a id="fig1.4" name="fig1.4"> Here is an example
354
of simple ruby markup:</a></p>
357
<pre class="xml"><ruby>
358
<rb>WWW</rb>
359
<rt>World Wide Web</rt>
362
<p><strong>Figure 1.4</strong>: Example of simple ruby markup</p>
365
<p><a id="fig1.5" name="fig1.5">This may be rendered as follows:</a></p>
369
alt="At the bottom left, three large letters reading 'WWW'. On top of them, in smaller letters, the text 'World Wide Web'. To the right, arrows and text saying 'ruby base' (bottom) and 'ruby text' (top)."
370
class="example" height="30" width="145" src="ruby-en-ex.gif"></p>
372
<p><strong>Figure 1.5</strong>: Example of rendering for simple ruby markup
373
in <a href="Overview.html.shift_jis.html#fig1.4">Figure 1.4</a></p>
376
<p class="note"><strong>Note</strong>: The name of this enclosing element,
377
"<<code>ruby</code>>", should be interpreted to mean that its contents
378
are <em>associating</em> ruby text with base text. It must not be
379
misunderstood to mean that everything inside, including the base text,
380
<em>is</em> ruby. The name of the enclosing element was chosen to compactly
381
and clearly identify the function of the markup construct; the names for the
382
other elements were chosen to keep the overall length short.</p>
386
<h4><a id="simple-parenthesis" name="simple-parenthesis">1.2.2 Simple ruby
387
markup with parentheses</a></h4>
389
<p>Some user agents might not understand ruby markup, or may not be able to
390
render ruby text appropriately. In either situation, it is generally
391
preferable to render ruby text, so that information is not lost. A generally
392
acceptable fallback is to place the ruby text immediately after the base
393
text, and to enclose the ruby text in parentheses. The parentheses reduce the
394
potential for confusing the ruby text with other text. (It should be noted
395
that text in parentheses in Japanese typography is never called "ruby".)</p>
397
<p>For compatibility with older user agents that do not understand ruby
398
markup and simply render the content of elements they do not understand,
399
<code>rp</code> elements can be added to simple ruby markup to distinguish
402
<p>The element name <code>rp</code> stands for "ruby parenthesis". The
403
<code>rp</code> elements and the parentheses (or other characters) inside
404
them are provided as a fallback mechanism only. User agents that ignore
405
unknown elements, but render their contents, will display the contents of
406
each <code>rp</code> element. Therefore the <code>rp</code> element can be
407
used to denote both the beginning and end of ruby text.</p>
409
<p>User agents that do know about ruby markup will recognize the
410
<code>rp</code> element, and intentionally not display its contents. Instead,
411
they will render the simple ruby markup in a more appropriate way.</p>
413
<p><a id="fig1.6" name="fig1.6">The following example demonstrates the use of
414
the <code>rp</code> element:</a></p>
417
<pre class="xml"><ruby>
418
<rb>WWW</rb>
419
<rp>(</rp><rt>World Wide Web</rt><rp>)</rp>
422
<p><strong>Figure 1.6</strong>: Example of simple ruby markup including
423
<code>rp</code> elements for fallback</p>
426
<p>User agents that either:</p>
428
<li>do not know about ruby markup but render the contents of unknown
430
<li>cannot render the ruby text alongside the base text,</li>
433
<p><a id="fig1.7" name="fig1.7">will render the above markup as:</a></p>
436
<p><strong>WWW (World Wide Web)</strong></p>
438
<p><strong>Figure 1.7</strong>: Rendering of simple ruby markup using
439
fallback parentheses</p>
442
<p>User agents that do know about ruby markup, and that have more
443
sophisticated presentation styles for ruby text, will choose to not render
444
the parentheses. For example, the markup of <a href="Overview.html.shift_jis.html#fig1.6">figure 1.6</a>
445
can be rendered as shown in the next figure.</p>
448
<p><a id="fig1.8" name="fig1.8"><img
449
alt="EAt the bottom left, three large letters reading 'WWW'. On top of them, in smaller letters, the text 'World Wide Web'. To the right, arrows and text saying 'ruby base' (bottom) and 'ruby text' (top)."
450
class="example" height="30" width="145" src="ruby-en-ex.gif"></a></p>
452
<p><strong>Figure 1.8</strong>: <code>rp</code> element ignored in favor of
453
more sophisticated rendering</p>
458
<h4><a id="complex" name="complex">1.2.3 Complex ruby markup</a></h4>
460
<p>Complex ruby markup is used to associate more than one ruby text with a
461
base text, or to associate parts of ruby text with parts of base text.</p>
463
<p>Complex ruby markup provides for multiple <code>rb</code> and
464
<code>rt</code> elements. This specification defines container elements that
465
make the association between the individual elements clear. The ruby base
466
container element, <code>rbc</code>, encloses <code>rb</code> elements. There
467
can be one or two ruby text container elements, <code>rtc</code>, that
468
enclose <code>rt</code> elements. This allows association of two ruby text
469
containers with the same base text. With complex ruby markup it is also
470
possible to associate parts of the base text with parts of a ruby text by
471
using a number of <code>rb</code> elements, and a corresponding number of
472
<code>rt</code> elements. In addition, the <code>rt</code> element may use
473
the <code>rbspan</code> attribute to indicate that a single <code>rt</code>
474
element spans (is associated with) multiple <code>rb</code> elements. This is
476
href="http://www.w3.org/TR/html4/struct/tables.html#adef-colspan"><code>colspan</code></a>
477
attribute of the <code>th</code> and <code>td</code> elements in tables ([<a
478
href="Overview.html.shift_jis.html#html4">HTML4</a>], section 11.2.6).</p>
480
<p>Where and how each part of complex ruby markup is rendered is defined as
481
part of the respective style sheet languages; see also section 3 for further
484
<p><a id="fig1.9" name="fig1.9">The following example shows all these
488
<pre class="xml"><ruby>
490
<rb>10</rb>
491
<rb>31</rb>
492
<rb>2002</rb>
495
<rt>Month</rt>
496
<rt>Day</rt>
497
<rt>Year</rt>
500
<rt rbspan="3">Expiration Date</rt>
504
<p><strong>Figure 1.9</strong>: Complex ruby markup to associate two ruby
505
texts with different parts of the same base text.</p>
508
<p>In this example, the first ruby text container encloses 3 components
509
("Month", "Day", "Year"). Each of these components is associated with a
510
corresponding component in the base text ("10", "31", "2002"). The second
511
ruby text container ("Expiration Date") consists of a single ruby text, and
512
is associated with the entire base text ("10 31 2002"). <a id="fig1.10"
513
name="fig1.10">It may be rendered as shown in figure 1.10.</a></p>
519
<tr class="rt" style="text-align: center">
524
<tr class="rb" style="text-align: center">
525
<td><strong>10</strong></td>
526
<td><strong>31</strong></td>
527
<td><strong>2002</strong></td>
529
<tr class="rt" style="text-align: center">
530
<td colspan="3">Expiration Date</td>
535
<p><strong>Figure 1.10</strong>: Rendering of the complex ruby markup in <a
536
href="Overview.html.shift_jis.html#fig1.9">figure 1.9</a></p>
539
<p>The example shows that the association of ruby text with base text can be
540
more or less granular as needed. For example, the ruby text can be associated
541
with the entire base text in cases where:</p>
543
<li>a more detailed relationship is unknown, or</li>
544
<li>when the reading or annotation only applies to the whole unit and
545
cannot be split into pieces.</li>
548
<p>More fine-grained associations can also be made when the relationships are
549
known. For these situations, an improved rendering can therefore be provided.
550
For example, a person's name can be decomposed into family name and given
551
name, or a <span lang="ja">kanji</span> compound or phrase can be decomposed
552
into semantic subparts or individual characters. With either fine or course
553
granularity, the spans of the ruby text can be set with the corresponding
554
spacing in the base text, and better readability and a more balanced layout
557
<p>The <code>rp</code> element is not available in the case of complex ruby
558
markup. There are two reasons for this. First, the <code>rp</code> element is
559
only a fallback mechanism, and it was considered that this is much more
560
important for the more frequent simple case. Second, for the more complex
561
cases, it is difficult to come up with a reasonable fallback display, and
562
constructing markup for such cases can be even more difficult if not
567
<h4><a id="summary" name="summary">1.2.4 Summary</a></h4>
569
<p>In summary, the <code>ruby</code> element serves as a container for one of
572
<li>a combination of <code>rb</code>, <code>rt</code> and possibly
573
<code>rp</code> elements (<strong>simple ruby markup</strong>) for:
575
<li>Association of a single ruby text with a single base text</li>
576
<li>Fallback in case the ruby markup is not understood.</li>
579
<li>a combination of a single <code>rbc</code> and one or two
580
<code>rtc</code> container elements (<strong>complex ruby
581
markup</strong>) for:
583
<li>Associating two ruby texts with the same base text</li>
584
<li>Defining more fine-grained associations between parts of a ruby
585
text and parts of the base text.</li>
593
<div class="normative">
594
<h2><a id="definition" name="definition">2. Formal definition of ruby
597
<p>This section is <em>normative</em>.</p>
599
<p>This section contains the formal syntax definition and the specification
600
of the functionality of the ruby markup. Some familiarity with the <acronym
601
title="Extensible HyperText Markup Language">XHTML</acronym> Modularization
602
framework, in particular the "<cite>Modularization of <acronym
603
title="Extensible HyperText Markup Language">XHTML</acronym></cite>" [<a
604
href="Overview.html.shift_jis.html#xhtmlmod">XHTMLMOD</a>] specification, is assumed.</p>
607
<h3><a id="abstract-def" name="abstract-def">2.1 Abstract definition of
610
<p>The following is the abstract definition of the elements for ruby markup,
611
which is consistent with the <acronym
612
title="Extensible HyperText Markup Language">XHTML</acronym> Modularization
613
framework [<a href="Overview.html.shift_jis.html#xhtmlmod">XHTMLMOD</a>]. Further definitions of <acronym
614
title="Extensible HyperText Markup Language">XHTML</acronym> abstract modules
615
can be found in [<a href="Overview.html.shift_jis.html#xhtmlmod">XHTMLMOD</a>].</p>
617
<table border="1" summary="Elements and Attributes for Ruby Module">
620
<th scope="col">Elements</th>
621
<th scope="col">Attributes</th>
622
<th scope="col">Minimal Content Model</th>
627
<td abbr="element"><a id="ruby-abstract" name="ruby-abstract"
628
href="Overview.html.shift_jis.html#ruby">ruby</a></td>
629
<td abbr="attribute">Common</td>
630
<td abbr="content" class="content">(rb, (rt | (rp, rt, rp)))</td>
633
<td abbr="element"><a id="rbc-abstract" name="rbc-abstract"
634
href="Overview.html.shift_jis.html#rbc">rbc</a></td>
635
<td abbr="attribute">Common</td>
636
<td abbr="content" class="content">rb+</td>
639
<td abbr="element"><a id="rtc-abstract" name="rtc-abstract"
640
href="Overview.html.shift_jis.html#rtc">rtc</a></td>
641
<td abbr="attribute">Common</td>
642
<td abbr="content" class="content">rt+</td>
645
<td abbr="element"><a id="rb-abstract" name="rb-abstract"
646
href="Overview.html.shift_jis.html#rb">rb</a></td>
647
<td abbr="attribute">Common</td>
648
<td abbr="content" class="content">(PCDATA | Inline - ruby)*</td>
651
<td abbr="element"><a id="rt-abstract" name="rt-abstract"
652
href="Overview.html.shift_jis.html#rt">rt</a></td>
653
<td abbr="attribute">Common, rbspan (CDATA)</td>
654
<td abbr="content" class="content">(PCDATA | Inline - ruby)*</td>
657
<td abbr="element"><a id="rp-abstract" name="rp-abstract"
658
href="Overview.html.shift_jis.html#rp">rp</a></td>
659
<td abbr="attribute">Common</td>
660
<td abbr="content" class="content">PCDATA*</td>
665
<p>The maximal content model for the <code>ruby</code> element is as
667
<pre class="content">((rb, (rt | (rp, rt, rp))) | (rbc, rtc, rtc?))</pre>
669
<p>The minimal content model for the <code>ruby</code> element corresponds to
670
simple ruby markup. The <code>(rbc, rtc, rtc?)</code> alternative of the
671
maximal content model for the <code>ruby</code> element corresponds to
672
complex ruby markup.</p>
674
<p>An implementation of this abstract definition as an <acronym
675
title="Extensible HyperText Markup Language">XHTML</acronym> <acronym
676
title="Document Type Definition">DTD</acronym> module can be found in <a
677
href="Overview.html.shift_jis.html#module">Appendix A</a>. An <abbr
678
title="Extensible Markup Language">XML</abbr> Schema [<a
679
href="Overview.html.shift_jis.html#xmlschema">XMLSchema</a>] implementation is being worked on (see [<a
680
href="Overview.html.shift_jis.html#ModSchema">ModSchema</a>]).</p>
684
<h3><a id="ruby" name="ruby">2.2 The <code>ruby</code> element</a></h3>
686
<p>The <code>ruby</code> element is an inline (or text-level) element that
687
serves as an overall container. It contains either the <a
688
href="Overview.html.shift_jis.html#rb"><code>rb</code></a>, <a href="Overview.html.shift_jis.html#rt"><code>rt</code></a> and
689
optional <a href="Overview.html.shift_jis.html#rp"><code>rp</code></a> elements (simple ruby markup) or
690
the <a href="Overview.html.shift_jis.html#rbc"><code>rbc</code></a> and <a
691
href="Overview.html.shift_jis.html#rtc"><code>rtc</code></a> elements (complex ruby markup).</p>
693
<p>In the case of simple ruby markup, the <code>ruby</code> element contains
694
either an <a href="Overview.html.shift_jis.html#rb"><code>rb</code></a> element followed by an <a
695
href="Overview.html.shift_jis.html#rt"><code>rt</code></a> element, or a sequence of an <a
696
href="Overview.html.shift_jis.html#rb"><code>rb</code></a> element, an <a href="Overview.html.shift_jis.html#rp"><code>rp</code></a>
697
element, an <a href="Overview.html.shift_jis.html#rt"><code>rt</code></a> element and another <a
698
href="Overview.html.shift_jis.html#rp"><code>rp</code></a> element. The content of the <a
699
href="Overview.html.shift_jis.html#rt"><code>rt</code></a> element is taken as ruby text and associated
700
with the content of the <code><a href="Overview.html.shift_jis.html#rb"><code>rb</code></a></code>
701
element as the base text. The content of the <a
702
href="Overview.html.shift_jis.html#rp"><code>rp</code></a> elements, if present, is ignored.</p>
704
<p>In the case of complex ruby markup, the <code>ruby</code> element contains
705
an <a href="Overview.html.shift_jis.html#rbc"><code>rbc</code></a> element followed by one or two <a
706
href="Overview.html.shift_jis.html#rtc"><code>rtc</code></a> elements. The content of the subelements of
707
each <a href="Overview.html.shift_jis.html#rtc"><code>rtc</code></a> element is taken as ruby text and
708
associated with the content of the subelements of the <a
709
href="Overview.html.shift_jis.html#rbc"><code>rbc</code></a> element as the base text.</p>
711
<p>The <code>ruby</code> element has common attributes only. Examples of
712
common attributes include: <code>id</code>, <code>class</code> or
713
<code>xml:lang</code>. Common attributes depend on the markup language with
714
which ruby markup is used. In the case of [<a href="Overview.html.shift_jis.html#xhtml11">XHTML 1.1</a>],
715
these are defined in <a
716
href="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_commonatts">XHTML
717
Modularization, Section 5.1</a> [<a href="Overview.html.shift_jis.html#xhtmlmod">XHTMLMOD</a>].</p>
721
<h3><a id="rbc" name="rbc">2.3 The <code>rbc</code> element</a></h3>
723
<p>The <code>rbc</code> (ruby base container) element serves as the container
724
for <a href="Overview.html.shift_jis.html#rb"><code>rb</code></a> elements in the case of complex ruby
725
markup. Only one <code>rbc</code> element may appear inside a <a
726
href="Overview.html.shift_jis.html#ruby"><code>ruby</code></a> element.</p>
728
<p>The <code>rbc</code> element has common attributes only.</p>
732
<h3><a id="rtc" name="rtc">2.4 The <code>rtc</code> element</a></h3>
734
<p>The <code>rtc</code> (ruby text container) element serves as the container
735
for <a href="Overview.html.shift_jis.html#rt"><code>rt</code></a> elements in the case of complex ruby
736
markup. One or two <code>rtc</code> elements may appear inside a <a
737
href="Overview.html.shift_jis.html#ruby"><code>ruby</code></a> element to associate ruby texts with a
738
single base text, represented by an <a href="Overview.html.shift_jis.html#rbc"><code>rbc</code></a>
739
element. More than two <code>rtc</code> elements MUST NOT appear inside a <a
740
href="Overview.html.shift_jis.html#ruby"><code>ruby</code></a> element.</p>
742
<p>The <code>rtc</code> element has common attributes only.</p>
746
<h3><a id="rb" name="rb">2.5 The <code>rb</code> element</a></h3>
748
<p>The <code>rb</code> (ruby base) element serves to markup the base text.
749
For simple ruby markup, only one <code>rb</code> element may appear. For
750
complex ruby markup, multiple <code>rb</code> elements may appear inside an
751
<a href="Overview.html.shift_jis.html#rbc"><code>rbc</code></a> element. Each <code>rb</code> element is
752
associated with a corresponding <a href="Overview.html.shift_jis.html#rt"><code>rt</code></a> element,
753
for fine-grained control of ruby presentation.</p>
755
<p>The <code>rb</code> element may contain inline elements or character data
756
as its content, but the <a href="Overview.html.shift_jis.html#ruby"><code>ruby</code></a> element is not
757
allowed as its descendant element.</p>
759
<p>The <code>rb</code> element has common attributes only.</p>
763
<h3><a id="rt" name="rt">2.6 The <code>rt</code> element</a></h3>
765
<p>The <code>rt</code> element is the markup for ruby text. For simple ruby
766
markup, only one <code>rt</code> element may appear. For complex ruby markup,
767
multiple <code>rt</code> elements may appear inside an <a
768
href="Overview.html.shift_jis.html#rtc"><code>rtc</code></a> element, and each <code>rt</code> element
769
contains the ruby text for the relevant base text, represented by the
770
corresponding <a href="Overview.html.shift_jis.html#rb"><code>rb</code></a> element.</p>
772
<p>The <code>rt</code> element may contain inline elements or character data
773
as its content, but the <a href="Overview.html.shift_jis.html#ruby"><code>ruby</code></a> element is not
774
allowed as its descendant element.</p>
776
<p>The <code>rt</code> element has common attributes and the
777
<code>rbspan</code> attribute. In complex ruby markup, the
778
<code>rbspan</code> attribute allows an <code>rt</code> element to span
779
multiple <a href="Overview.html.shift_jis.html#rb"><code>rb</code></a> elements. The value shall be an
780
integer value greater than zero ("0"). The default value of this attribute is
781
one ("1"). The <code>rbspan</code> attribute should not be used in simple
782
ruby markup, and user agents should ignore the <code>rbspan</code> attribute
783
when it appears in simple ruby markup.</p>
787
<h3><a id="rp" name="rp">2.7 The <code>rp</code> element</a></h3>
789
<p>The <code>rp</code> element can be used in the case of simple ruby markup
790
to specify characters that can denote the beginning and end of ruby text when
791
user agents do not have other ways to present ruby text distinctively from
792
the base text. Parentheses (or similar characters) can provide an acceptable
793
fallback. In this situation, ruby text will only degrade to be rendered
794
inline and enclosed in the fallback parentheses. This is the least
795
inappropriate rendering under the condition that only inline rendering is
796
available. The <code>rp</code> element cannot be used with complex ruby
799
<p>The <code>rp</code> element has common attributes only.</p>
801
<p>Using parentheses for the fallback may lead to confusion between runs of
802
text intended to be ruby text and other runs that happen to be enclosed
803
within parentheses. The document or style sheet author should be aware of the
804
potential for that confusion and is advised to choose an unambiguous
805
delimiter for the fallback.</p>
809
<div class="informative">
810
<h2><a id="rendering" name="rendering">3. Rendering and styling
811
considerations</a></h2>
813
<p>This section is <em>informative</em>.</p>
815
<p>This section discusses various aspects of rendering and styling in the
816
context of ruby markup as defined in this document. However, this document
817
does not specify any mechanisms for presentation/styling; this is left to the
818
respective style sheet languages. Formatting properties for styling ruby are
819
under development for <acronym title="Cascading Style Sheets">CSS</acronym>
820
and <acronym title="Extensible Style Language">XSL</acronym>. See for example
821
"<cite>CSS3 module: Ruby</cite>" [<a href="Overview.html.shift_jis.html#css3-ruby">CSS3-RUBY</a>]
822
(<em>work in progress</em>) for more details.</p>
824
<p>Details of ruby formatting in a Japanese print context can be found in
825
JIS-X-4051 [<a href="Overview.html.shift_jis.html#jis">JIS4051</a>].</p>
828
<h3><a id="web" name="web">3.1 Ruby on the Web vs. traditional typographic
831
<p>The term "ruby" in Japanese is only used for text visually rendered
832
alongside the base text. Considerations for such cases are given in <a
833
href="Overview.html.shift_jis.html#font">section 3.2</a> (font size), <a href="Overview.html.shift_jis.html#positioning">section
834
3.3</a> (positioning), and <a href="Overview.html.shift_jis.html#presentation">section 3.4</a>
835
(presentation of ruby markup). This kind of presentation should be used
836
wherever possible. However, introducing ruby to the Web may lead to some
837
phenomena and problems that are not present in traditional typography.
838
Structural markup for ruby, as defined in this specification, cannot
839
guarantee that ruby text will always be rendered alongside the base text.
840
There are a very wide variety of current and future output devices for
841
documents marked up with <acronym
842
title="Extensible HyperText Markup Language">XHTML</acronym>. The following
843
are possible scenarios and reasons for different rendering:</p>
845
<li>On non-visual user agents such as voice browsers and braille user
846
agents, only sequential rendering is possible. See <a
847
href="Overview.html.shift_jis.html#non-visual">section 3.5</a> for more consideration on non-visual
849
<li>On display devices with low resolution, displaying ruby text at the
850
usual size may not be feasible. Fallbacks may be used. See <a
851
href="Overview.html.shift_jis.html#rp-alternatives">section 3.6</a> for additional details.</li>
852
<li>For educational purposes, it may in some cases be interesting to hide
853
the ruby text and make it available as a pop-up. This is impossible on
854
paper, but easily possible on a dynamic display device.</li>
859
<h3><a id="font" name="font">3.2 Font size of ruby text</a></h3>
861
<p>In typical usage, the font size of ruby text is normally about half the
862
font size of the base text. In fact, the name "ruby" originated from the name
863
of the 5.5<abbr title="points">pt</abbr> font size in British printing, which
864
is about half the 10<abbr title="points">pt</abbr> font size commonly used
869
<h3><a id="positioning" name="positioning">3.3 Positioning of ruby
872
<p>There are several positions where the ruby text can appear relative to its
873
base text. Because East Asian text may be rendered vertically as well as
874
horizontally, the terms "before" and "after" are used here rather than
875
"above" and "below" or "right side" and "left side". The words "before" and
876
"after" should be understood as "before"/"after" the line containing the base
877
text. The correspondence is shown in the following table:</p>
879
<table border="1" cellpadding="8" class="rendering">
883
<td><strong>Horizontal Layout</strong><br>
884
(left-to-right, top-to-bottom)</td>
885
<td><strong>Vertical Layout</strong><br>
886
(top-to-bottom, right-to-left)</td>
889
<th abbr='position'>before</th>
890
<td abbr='horizontal'>above</td>
891
<td abbr='vertical'>right-side</td>
894
<th abbr='position'>after</th>
895
<td abbr='horizontal'>below</td>
896
<td abbr='vertical'>left-side</td>
901
<p>Ruby texts are most frequently placed before the base text (see <a
902
href="Overview.html.shift_jis.html#fig1.1">figure 1.1</a> and <a href="Overview.html.shift_jis.html#fig3.2">figure 3.2</a>).
903
Sometimes, especially in horizontal educational documents, ruby text may
904
appear after the base text, i.e. below (see <a href="Overview.html.shift_jis.html#fig3.1">figure
905
3.1</a>). In Chinese, it is rather common that <span lang="zh">Pinyin</span>
906
ruby text appears after the base text. Ruby text may also appear after the
907
base text in vertical layout (see <a href="Overview.html.shift_jis.html#fig3.3">figure 3.3</a>). In all
908
these cases, the writing direction of the ruby text is the same as that of
909
its base text, that is vertical if the base text is vertical, and horizontal
910
if the base text is horizontal.</p>
913
<p><a id="fig3.1" name="fig3.1"><img
914
alt="At the top left, three Japanese ideographs from left to right. Below them, the text 'shinkansen'. To the right, arrows and text saying 'ruby base' (top) and 'ruby text' (bottom)."
915
class="example" height="36" width="142" src="shinkansen-bottom.gif"></a></p>
917
<p><strong>Figure 3.1</strong>: Ruby text (Latin letters) after/below the
918
base text (Japanese ideographs)</p>
922
<p><a id="fig3.2" name="fig3.2"><img
923
alt="At the top left, three Japanese ideographs from top to bottom. To their right, six hiragana characters at half size. At the bottom, arrows and text saying 'ruby base' (left) and 'ruby text' (right)."
924
class="example" height="141" width="33" src="shinkansen-right.gif"></a></p>
926
<p><strong>Figure 3.2</strong>: Ruby text in vertical writing (before/to the
931
<p><a id="fig3.3" name="fig3.3"><img
932
alt="Example showing ruby on the left side of vertical Japanese text"
933
class="example" height="141" width="37" src="shinkansen-left.gif"></a></p>
935
<p><strong>Figure 3.3</strong>: Ruby text in vertical writing (after/to the
939
<p>In traditional Chinese texts, "<span lang="zh">Bopomofo</span>" ruby text
940
can appear along the right side of the base text even in horizontal
944
<p><a id="fig3.4" name="fig3.4"><img
945
alt="From the right, a large Chinese ideograph, three smaller bopomofo letters from top to bottom (in blue), a bopomofo accent mark (in red), another large Chinese ideograph, two smaller bopomofo letters from top to bottom (in blue) and another bopomofo accent mark (in red)."
946
class="example" height="42" width="138" src="bopomofo.gif"></a></p>
948
<p><strong>Figure 3.4</strong>: "<span lang="zh">Bopomofo</span>" ruby text
949
in traditional Chinese (ruby text shown in blue/red for clarity) in
950
horizontal layout</p>
953
<p>Note that <span lang="zh">Bopomofo</span> tone marks (in the above example
954
shown in red for clarity) seem to appear in a separate column (along the
955
right side of the <span lang="zh">Bopomofo</span> ruby text) and therefore
956
might be seen as "ruby on ruby". However, they are simply encoded as part of
957
the ruby text. The details of this encoding are not addressed in this
962
<h3><a id="presentation" name="presentation">3.4 Presentation of ruby
965
<p>This specification does not prescribe how ruby markup will be displayed.
966
Style sheets, in general, will be used to specify the exact behavior of ruby
970
<p><strong>Note.</strong> Although the rendering of the ruby texts should be
971
controlled by style sheets, in case no style information is provided by the
972
author or the user, it is recommended that visual user agents place the ruby
973
text before the base text when only one ruby text is used. This is also the
974
case for simple ruby. When there are two ruby texts, the first ruby text
975
should be placed before the base text, and the second ruby text should be
976
placed after the base text. A sample user agent default style sheet which
977
describes this formatting will be provided by [<a
978
href="Overview.html.shift_jis.html#css3-ruby">CSS3-RUBY</a>] or its successor document.</p>
980
<p>For non-visual rendering, in the absence of style sheet information, it is
981
recommended that both the base text and the ruby text(s) should be rendered,
982
with an indication (e.g. different voice, different pitch, ...) of the status
986
<p><a id="fig3.5" name="fig3.5">In order for style sheets to be able to apply
987
styling, or for other mechanisms to render ruby text appropriately, it is
988
very important to provide enough information on the function of each
989
component. The following example illustrates the use of the class attribute
990
to allow style sheets to define the exact presentation of the ruby text. The
991
class "<samp>reading</samp>" is used for a ruby text that indicates reading.
992
The class "<samp>annotation</samp>" is used to indicate ruby text that is
993
used for annotation. The <code>xml:lang</code> attribute indicates the
994
language of the text.</a></p>
997
<pre class="xml"><ruby xml:lang="ja">
999
<rb>��</rb>
1000
<rb>��</rb>
1001
<rb>�M</rb>
1002
<rb>�j</rb>
1004
<rtc class="reading">
1005
<rt>����</rt>
1006
<rt>�Ƃ�</rt>
1007
<rt>�̂�</rt>
1008
<rt>��</rt>
1010
<rtc class="annotation">
1011
<rt rbspan="4" xml:lang="en">W3C Associate Chairman</rt>
1015
<p><strong>Figure 3.5</strong>: Ruby markup with <code>class</code> and
1016
<code>xml:lang</code> attributes.</p>
1019
<p>Using a style sheet specifying horizontal text, rendering of the reading
1020
before the base text, and rendering of the annotation after the base text,
1021
the markup above could be rendered like this:</p>
1023
<div class="figure">
1024
<p><a id="fig3.6" name="fig3.6"><img src="chairman.gif"
1025
alt="In the middle, four Japanese ideographs from left to right. On top of that, <span lang='ja'>hiragana</span> letters in smaller size (two <span lang='ja'>hiragana</span> for each of the three first ideographs, one <span lang='ja'>hiragana</span> for the latest ideograph). At the bottom, the text 'W3C Associate Chairman'."></a></p>
1027
<p><strong>Figure 3.6</strong>: Horizontal rendering of two ruby texts
1028
associated with a single base text.</p>
1033
<h3><a id="non-visual" name="non-visual">3.5 Considerations for non-visual
1036
<p>Documents containing ruby markup may in some cases need to be rendered by
1037
non-visual user agents such as voice browsers and braille user agents. For
1038
such rendering scenarios, it is important to understand that:</p>
1040
<li>Depending on the user and the situation, different ways of rendering
1041
may be appropriate.</li>
1042
<li>Ruby text that represents reading may have to be treated differently
1043
from ruby text that contains other information.</li>
1044
<li>For appropriate non-visual rendering, it is important to indicate the
1045
function of each ruby text.</li>
1046
<li>There often are some differences between the reading indicated by the
1047
ruby text and the actual pronunciation.</li>
1048
<li>The reader may be interested in getting information about the
1049
(ideographic) base text.</li>
1052
<p>Depending on a user's needs, the way a text should be read may vary from
1053
very quick and 'cursory' reading to very careful and detailed reading. This
1054
may lead to different ways of treating ruby text in non-visual rendering,
1055
from skipping ruby text in fast reading to detailed exploration of the ruby
1056
structure and the actual characters used in careful reading.</p>
1058
<p>In the frequent case that ruby texts represent reading, rendering both the
1059
base text and the ruby text may produce annoying duplications. A speech
1060
synthesizer may be able to correctly pronounce the base text based on a large
1061
dictionary, or it may in other cases be able to select the right
1062
pronunciation based on the reading given by the ruby text.</p>
1064
<p>Not all ruby texts represent pronunciations. Authors should distinguish
1065
ruby texts used for different purposes by using the <code>class</code>
1066
attribute. This is demonstrated above by using <samp>class="reading"</samp>
1067
for ruby text used to indicate reading.</p>
1069
<p>Ruby text indicating reading may not produce the correct pronunciation
1070
even in cases where the script used at first glance seems perfectly phonetic.
1071
For example, <span lang="zh">Bopomofo</span> is associated independently for
1072
each character of the base text; context-dependent sound or tone changes are
1073
not reflected. Similarly, in Japanese, spelling irregularities can occur,
1074
such as using "<span lang='ja'>��</span>" (<span lang='ja'>hiragana ha</span>) for the topic suffix pronounced "<span lang='ja'>��</span>" (<span lang='ja'>wa</span>),
1075
or using vowels for indicating lengthening. For such cases, authors may want
1076
to supply the actual pronunciation with special markup designed for that
1077
purpose, or may rely on the aural rendering system being able to handle such
1078
cases correctly.</p>
1082
<h3><a id="rp-alternatives" name="rp-alternatives">3.6 Alternatives to the
1083
<code>rp</code> element</a></h3>
1085
<p>If the author is not concerned about fallbacks for user agents that
1086
neither know about ruby markup nor support <acronym
1087
title="Cascading Style Sheets, level 2">CSS2</acronym> [<a
1088
href="Overview.html.shift_jis.html#css2">CSS2</a>] or <acronym
1089
title="Extensible Style Language">XSL</acronym> [<a href="Overview.html.shift_jis.html#xsl">XSL</a>]
1090
style sheets, then the <code>rp</code> elements are not needed.</p>
1092
<p>Nevertheless, it is possible to parenthesize ruby text as a fallback if
1093
for example the device resolution is not appropriate for traditional ruby
1094
rendering. Using [<a href="Overview.html.shift_jis.html#css2">CSS2</a>], the parentheses can be generated
1096
href="../../1998/REC-CSS2-19980512/generate.html#content">'content'
1097
property</a> ([<a href="Overview.html.shift_jis.html#css2">CSS2</a>], section 12.2) with the <a
1098
href="../../1998/REC-CSS2-19980512/generate.html#before-after-content">:before
1099
and :after pseudo-elements</a> ([<a href="Overview.html.shift_jis.html#css2">CSS2</a>], section 12.1), <a
1100
id="fig3.8" name="fig3.8">as for example in the following style
1103
<div class="figure">
1104
<pre class="style">rt:before { content: "(" }
1105
rt:after { content: ")" }</pre>
1107
<p><strong>Figure 3.8</strong>: <acronym
1108
title="Cascading Style Sheets, level 2">CSS2</acronym> style fragment to
1109
generate parentheses around an <code>rt</code> element</p>
1112
<p>In the above example, parentheses will be automatically generated around
1113
the <code>rt</code> element. It is assumed that the above style rules are
1114
used together with style rules that position the ruby text inline. Generation
1115
of parentheses is straightforward with <acronym
1116
title="XSL Transformations">XSLT</acronym> [<a href="Overview.html.shift_jis.html#xslt">XSLT</a>].</p>
1120
<div class="normative">
1121
<h2><a name="conformance">4. Conformance Criteria</a></h2>
1123
<p>This section is <em>normative</em>.</p>
1125
<p>Within the context of this specification, conformance can be claimed for
1126
markup, document types, module implementations, documents, generators, and
1127
interpreters. In most of these cases, two levels of conformance are
1128
available: simple conformance and full conformance. Simple conformance means
1129
that the conforming object supports the minimal content model of the ruby
1130
element in <a href="Overview.html.shift_jis.html#abstract-def">section
1131
2.1</a>, i.e. only simple ruby markup. Full conformance means that the
1132
conforming object supports the maximal content model of the ruby element in
1133
<a href="Overview.html.shift_jis.html#abstract-def">section 2.1</a>,
1134
i.e. that both simple and complex ruby markup are supported.</p>
1136
<p>Markup is <em>conforming simple ruby markup</em> if it contains one or
1137
more <code>ruby</code> elements and the content of all those elements
1138
(including their children) conforms to the minimal content model in <a
1139
href="Overview.html.shift_jis.html#abstract-def">section 2.1</a> (i.e.
1140
only simple ruby markup is allowed). Markup is <em>conforming full ruby
1141
markup</em> if it contains one or more <code>ruby</code> elements and the
1142
content of all those elements (including their children) conforms to the
1143
maximal content model in <a
1144
href="Overview.html.shift_jis.html#abstract-def">section 2.1</a> (i.e.
1145
both simple and complex ruby markup is allowed).</p>
1147
<p>A document type is a <em>conforming simple ruby markup document type</em>
1148
if it integrates conforming simple ruby markup by adding the
1149
<code>ruby</code> element to the appropriate elements (such as inline
1150
elements) and by defining the necessary elements and attributes. A document
1151
type is a <em>conforming full ruby markup document type</em> if it integrates
1152
conforming full ruby markup by adding the <code>ruby</code> element to the
1153
appropriate elements (such as inline elements) and by defining the necessary
1154
elements and attributes.</p>
1156
<p>A module implementation (e.g. with DTD or XML Schema technology) is a
1157
<em>conforming simple ruby module implementation</em> if it is designed to
1158
integrate simple ruby markup with other modules into document types as
1159
described above. A module implementation is a <em>conforming complex ruby
1160
module implementation</em> if it is designed to integrate full ruby markup
1161
with other modules into document types as described above. A module
1162
implementation is a <em>conforming full ruby module implementation</em> if it
1163
is designed to integrate either simple or full ruby markup with other modules
1164
into document types as described above (e.g. by providing a switch, or by
1165
providing two separate module implementations).</p>
1167
<p>A document is a <em>conforming simple ruby markup document</em> if it
1168
contains conforming simple ruby markup and does not contain complex ruby
1169
markup or non-conforming ruby markup. A document is a <em>conforming full
1170
ruby markup document</em> if it contains conforming full ruby markup and does
1171
not contain non-conforming ruby markup.</p>
1173
<p>A generator is a <em>conforming simple ruby markup generator</em> if it
1174
generates conforming simple ruby markup and does not generate complex ruby
1175
markup or non-conforming ruby markup. A generator is a <em>conforming full
1176
ruby markup generator</em> if it generates conforming full ruby markup and
1177
does not generate non-conforming ruby markup.</p>
1179
<p>An interpreter is a <em>conforming simple ruby markup interpreter</em> if
1180
it rejects nonconforming simple ruby markup, accepts conforming simple ruby
1181
markup, and, where it interprets ruby markup, does so in accordance with this
1182
specification. An interpreter is a <em>conforming full ruby markup
1183
interpreter</em> if it rejects nonconforming ruby markup, accepts conforming
1184
full ruby markup, and, where it interprets ruby markup, does so in accordance
1185
with this specification. Examples of interpreters are server-side analysis or
1186
transformation tools and renderers.</p>
1188
<p>For XHTML Modularization conformance, please see section 3 of [<a
1189
href="Overview.html.shift_jis.html#xhtmlmod">XHTMLMOD</a>].</p>
1194
<h2><a id="appendix" name="appendix">Appendices</a></h2>
1196
<div class="informative">
1197
<h2><a id="module" name="module">A. Ruby module for <acronym
1198
title="Extensible HyperText Markup Language">XHTML</acronym></a></h2>
1200
<p>This appendix is <em>informative</em>.</p>
1202
<p>The following is a link to the Ruby <acronym
1203
title="Document Type Definition">DTD</acronym> module that is used in
1204
<acronym title="Extensible HyperText Markup Language">XHTML</acronym> 1.1 [<a
1205
href="Overview.html.shift_jis.html#xhtml11">XHTML11</a>].</p>
1207
<li><a href="xhtml-ruby-1.mod"><acronym
1208
title="Extensible HyperText Markup Language">XHTML</acronym> Ruby
1213
<div class="informative">
1214
<h2><a id="design" name="design">B. Notes on design decisions</a></h2>
1216
<p>This appendix is <em>informative</em>. This appendix contains some notes
1217
on design decisions, based on questions and comments received during the Last
1220
<p>There were proposals to change e.g. <rbc><rb>...</rbc>
1221
to <rb><rbc>...</rb> (and similar for rt/rtc). This looks
1222
in some way more natural. However, in XML, the content of an element is
1223
either mixed content (both character data and elements, without sequence or
1224
occurrence restrictions) or element content (only elements, with
1225
restrictions). This means that it is impossible to say that <rb>
1226
contains either only <rbc> elements or only character data and inline
1229
<p>There were various proposals for removing the <code><a
1230
href="Overview.html.shift_jis.html#rp">rp</a></code> element from the minimal content model. They were
1231
considered, but rejected for the following reasons:</p>
1233
<li>Recognition and removal of the <code><a href="Overview.html.shift_jis.html#rp">rp</a></code>
1234
elements by a receiver understanding ruby markup is extremely simple to
1235
implement; the burden on implementations is minimal. Both CSS and XSL
1236
provide easy mechanisms to remove the <code><a href="Overview.html.shift_jis.html#rp">rp</a></code>
1237
elements or to avoid displaying them.</li>
1238
<li>Displaying ruby text in parentheses is not desirable, because it can be
1239
confused with ordinary parenthesized text, but such a confusion is highly
1240
preferable to the confusion created should ruby text appear inline, as
1241
part of the actual text, without any distinguishing features.</li>
1244
<p>It was suggested to change the names of the elements, in particular to
1245
change <ruby> to <gloss>. However, while ruby markup is indeed
1246
in some way similar to the markup that would be needed for glosses, it is not
1247
designed for that purpose.</p>
1250
<div class="informative">
1251
<h2><a id="compatibility" name="compatibility">C. Notes on backwards
1252
compatibility</a></h2>
1254
<p>This appendix is <em>informative</em>.</p>
1256
<p>For historical reasons, some authoring tools might generate ruby markup
1257
without the start and end tags of the <code>rb</code> element, like:</p>
1259
<div class="figure">
1260
<pre class="sgml"><ruby>
1262
<rp>(</rp><rt>aaa</rt><rp>)</rp>
1266
<p>rather than the following:</p>
1268
<div class="figure">
1269
<pre class="xml"><ruby>
1270
<rb>A</rb>
1271
<rp>(</rp><rt>aaa</rt><rp>)</rp>
1275
<p>The former markup is not conforming to this specification, but user agents
1276
that care about compatibility with documents generated by such authoring
1277
tools may treat the former markup as if it were written like the latter.</p>
1280
<div class="informative">
1281
<h2><a id="glossary" name="glossary">D. Glossary</a></h2>
1283
<p>This appendix is <em>informative</em>.</p>
1285
<dt><a id="g-RB" name="g-RB"><strong>Base text</strong></a></dt>
1286
<dd>Run of text that has a <a href="Overview.html.shift_jis.html#g-RT">ruby text</a> associated with
1288
<dt><a id="g-bopomofo" name="g-bopomofo"><strong
1289
lang="zh">Bopomofo</strong></a></dt>
1290
<dd>37 characters and 4 tone marks used as phonetics in Chinese,
1291
especially standard Mandarin.</dd>
1292
<dt><a href="Overview.html.shift_jis.html#complex" id="g-complex" name="g-complex"><strong>Complex ruby
1293
markup</strong></a></dt>
1294
<dd>In this specification: Ruby markup that allows association of two <a
1295
href="Overview.html.shift_jis.html#g-RT">ruby texts</a> with a single <a href="Overview.html.shift_jis.html#g-RB">base text</a>
1296
as well as fine-grained associations between parts of the <a
1297
href="Overview.html.shift_jis.html#g-RT">ruby texts</a> and the <a href="Overview.html.shift_jis.html#g-RB">base text</a>.</dd>
1298
<dt><a id="g-GR" name="g-GR"><strong>Group ruby</strong></a></dt>
1299
<dd>In Japanese typography: Ruby text associated with more than one
1300
character of the base text.</dd>
1301
<dt><a id="g-hiragana" name="g-hiragana"><strong
1302
lang="ja">Hiragana</strong></a></dt>
1303
<dd>Japanese syllabic script, or character of that script. Rounded and
1304
cursive in appearance. Subset of the Japanese writing system, used
1305
together with kanji and katakana. In recent times, mostly used to write
1306
Japanese words when kanji are not available or appropriate, and word
1307
endings and particles.</dd>
1308
<dt><a id="g-ideograph"
1309
name="g-ideograph"><strong>Ideograph</strong></a></dt>
1310
<dd>A character that is used to represent an idea, word, or word
1311
component, in contrast to a character from an alphabetic or syllabic
1312
script. The most well-known ideographic script is used (with some
1313
variation) in East Asia (China, Japan, Korea,...).</dd>
1314
<dt><a id="g-kana" name="g-kana"><strong lang="ja">Kana</strong></a></dt>
1315
<dd>Collective term for hiragana and katakana.</dd>
1316
<dt><a id="g-katakana" name="g-katakana"><strong
1317
lang="ja">Katakana</strong></a></dt>
1318
<dd>Japanese syllabic script, or character of that script. Angular in
1319
appearance. Subset of the Japanese writing system, used together with
1320
kanji and hiragana. In recent times, mainly used to write foreign
1322
<dt><a id="g-kanji" name="g-kanji"><strong lang="ja">Kanji</strong></a></dt>
1323
<dd>Japanese term for ideographs; ideographs used in Japanese. Subset of
1324
the Japanese writing system, used together with hiragana and
1326
<dt><a id="g-monoruby" name="g-monoruby"><strong>Monoruby</strong></a></dt>
1327
<dd>In Japanese typography: Ruby associated with a single character of
1329
<dt><a id="g-reading" name="g-reading"><strong>Reading</strong></a></dt>
1330
<dd>For ideographs: Technical term; indication of possible pronunciation.
1331
Different from pronunciation in various respects: script used may not
1332
be fully phonetic; actual pronunciation is speaker-dependent;
1333
pronunciation may not be realized when reading a text silently. In
1334
Chinese or Korean, some ideographs have several readings. In Japanese,
1335
most ideographs have at least two readings, and some have a lot more.
1336
Readings also may depend on context.</dd>
1337
<dt><a id="g-RT" name="g-RT"><strong>Ruby text</strong></a></dt>
1338
<dd>Run of text that appears in the immediate vicinity of another run of
1339
text (called <a href="Overview.html.shift_jis.html#g-RB">"ruby base"</a>) and serves as an
1340
annotation or a pronunciation guide associated with the base.</dd>
1341
<dt><a href="Overview.html.shift_jis.html#simple-ruby1" id="g-SR" name="g-SR"><strong>Simple ruby
1342
markup</strong></a></dt>
1343
<dd>In this specification: Ruby markup that associates a single <a
1344
href="Overview.html.shift_jis.html#g-RT">ruby text</a> with a single <a href="Overview.html.shift_jis.html#g-RB">ruby base</a>,
1345
optionally providing some delimiters such as parentheses for
1350
<div class="informative">
1351
<h2><a id="changes" name="changes">E. Changes from Proposed
1352
Recommendation</a></h2>
1354
<p>This appendix is <em>informative</em>.</p>
1356
<p>Changes from the <a
1357
href="http://www.w3.org/TR/2001/PR-ruby-20010406/">Proposed
1358
Recommendation</a> (http://www.w3.org/TR/2001/PR-ruby-20010406):</p>
1360
<li>Added conformance section</li>
1361
<li>Streamlined terms 'ruby text' and 'base text'</li>
1362
<li>Changed 'part of' to 'used by' in <a href='Overview.html.shift_jis.html#module'>Appendix A</a>
1363
([<a href='Overview.html.shift_jis.html#xhtml11'>XHTML11</a>] does not contain any module definitions)</li>
1364
<li>Added link to [<a href='Overview.html.shift_jis.html#ModSchema'>ModSchema</a>]
1365
<li>Fixed Appendix numbering and table of contents</li>
1366
<li>Fixed link in Section 3.3 (to fig. 1.1 rather than 1.3)</li>
1367
<li>Added Japanese titles for [<a href="Overview.html.shift_jis.html#jis">JIS4051</a>] and [<a
1368
href="Overview.html.shift_jis.html#jdcm">JIS4052</a>]</li>
1369
<li>Fixed various typos and minor grammatical mistakes</li>
1374
<div class="informative">
1375
<h2><a id="ack" name="ack">Acknowledgements</a></h2>
1377
<p>This section is <em>informative</em>.</p>
1379
<p>Takao <span class="familyname">Suzuki</span> (<span
1380
lang="ja">��� �F�Y</span>) and Chris <span
1381
class="familyname">Wilson</span> have contributed to previous drafts as
1384
<p>This specification would not have been possible without the help from the
1385
members of the W3C I18N WG, in particular Mark <span
1386
class="familyname">Davis</span> and Hideki <span
1387
class="familyname">Hiura</span> (<span lang="ja">��Y �G��</span>), and
1388
the members of the W3C I18N IG.</p>
1390
<p>Additional contributors include Murray <span
1391
class="familyname">Altheim</span>, Laurie Anna <span
1392
class="familyname">Edlund</span>, Arye <span
1393
class="familyname">Gittelma</span>, Koji <span
1394
class="familyname">Ishii</span>, Rick <span
1395
class="familyname">Jelliffe</span>, Eric <span
1396
class="familyname">LeVine</span>, Chris <span
1397
class="familyname">Lilley</span>, Charles <span
1398
class="familyname">McCathieNevile</span>, Shigeki <span
1399
class="familyname">Moro</span> (<span lang="ja">�t �Ύ�</span>), Chris
1400
<span class="familyname">Pratley</span>, Nobuo <span
1401
class="familyname">Saito</span> (<span lang="ja">�֓� �M�j</span>), Rahul
1402
<span class="familyname">Sonnad</span>, Chris <span
1403
class="familyname">Thrasher</span>.</p>
1405
<p>The markup defined in this specification was coordinated with the ruby
1406
markup in [<a href="Overview.html.shift_jis.html#jdcm">JIS4052</a>], developed by WG 2 (Typesetting) of
1407
the Electronic Document Processing System Standardization Investigation and
1408
Research Committee of the Japanese Standards Association. We would like to
1409
thank the members of WG 2, in particular Kohji <span
1410
class="familyname">Shibano</span> (<span lang="ja">�Ŗ� �k�i</span>,
1411
chair), and Masafumi <span class="familyname">Yabe</span> (<span
1412
lang="ja">�ƕ� ����, liaison</span>), for their collaboration.
1413
Technically, the markup for ruby in [<a href="Overview.html.shift_jis.html#jdcm">JIS4052</a>] differs
1414
from the markup in this specification in two points: First, there is an
1415
alternative form of markup not compatible with XML, based on special symbols,
1416
and second, the <a href="Overview.html.shift_jis.html#rp"><code>rp</code></a> element is not
1419
<p>Valuable Last Call comments were also received from: The HTML WG, the CSS
1420
WG, the XSL WG, the WAI P&F WG, Steven <span
1421
class="familyname">Pemberton</span>, Trevor <span
1422
class="familyname">Hill</span>, Susan <span class="familyname">Lesch</span>,
1423
and Frank Yung-Fong <span class="familyname">Tang</span>. Akira <span
1424
class="familyname">Uchida</span> (���c ��) provided feedback from a
1425
translator's viewpoint.</p>
1427
<p>An earlier proposal for markup for ruby, using attributes, is described in
1428
[<a href="Overview.html.shift_jis.html#dur97">DUR97</a>].</p>
1431
<div class="informative ref">
1432
<h2><a id="ref" name="ref">References</a></h2>
1434
<h3>Normative References</h3>
1436
<dt>[<a id="xhtml11" name="xhtml11">XHTML11</a>]</dt>
1438
href="../REC-xhtml11-20010531/index.html"><acronym
1439
title="Extensible HyperText Markup Language">XHTML</acronym><sup>™</sup>
1440
1.1 - Module-based <acronym
1441
title="Extensible HyperText Markup Language">XHTML</acronym></a></cite>",
1442
<acronym title="World Wide Web Consortium">W3C</acronym>
1443
Recommendation</em></dd>
1444
<dd>M. Altheim, S. McCarron, <abbr title="Editors">eds.</abbr>, 31 May
1446
Available at: http://www.w3.org/TR/2001/REC-xhtml11-20010531<br>
1447
The latest version is available at: <a
1448
href="http://www.w3.org/TR/xhtml11/">http://www.w3.org/TR/xhtml11</a></dd>
1451
<dt>[<a id="xhtmlmod" name="xhtmlmod">XHTMLMOD</a>]</dt>
1453
href="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/">Modularization
1455
title="Extensible HyperText Markup Language">XHTML</acronym><sup>™</sup></a></cite>",
1456
<acronym title="World Wide Web Consortium">W3C</acronym>
1457
Recommendation</em></dd>
1458
<dd>M. Altheim <em>et al.</em>, <abbr title="editors">eds.</abbr>, 10
1461
http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410<br>
1462
The latest version is available at: <a
1463
href="http://www.w3.org/TR/xhtml-modularization/">http://www.w3.org/TR/xhtml-modularization</a></dd>
1464
<dt>[<a id="xml1" name="xml1">XML</a>]</dt>
1466
href="http://www.w3.org/TR/2000/REC-xml-20001006">Extensible Markup
1467
Language (<abbr title="Extensible Markup Language">XML</abbr>) 1.0
1468
(Second Edition)</a></cite>", <acronym
1469
title="World Wide Web Consortium">W3C</acronym> Recommendation</em></dd>
1470
<dd>T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler, <abbr
1471
title="editors">eds.</abbr>, 6 October 2000<br>
1472
Available at: http://www.w3.org/TR/2000/REC-xml-20001006<br>
1473
The latest version is available at: <a
1474
href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a></dd>
1477
<h3>Informative References</h3>
1479
<dt>[<a id="css2" name="css2">CSS2</a>]</dt>
1481
href="../../1998/REC-CSS2-19980512/index.html">Cascading Style
1482
Sheets, level 2 (<acronym
1483
title="Cascading Style Sheets, level 2">CSS2</acronym>)
1484
Specification</a></cite>", <acronym
1485
title="World Wide Web Consortium">W3C</acronym> Recommendation</em></dd>
1486
<dd>B. Bos, H. W. Lie, C. Lilley and I. Jacobs, <abbr
1487
title="editors">eds.</abbr>, 12 May 1998<br>
1488
Available at: http://www.w3.org/TR/1998/REC-CSS2-19980512<br>
1489
The latest version is available at: <a
1490
href="http://www.w3.org/TR/REC-CSS2/">http://www.w3.org/TR/REC-CSS2</a></dd>
1491
<dt>[<a id="css3-ruby" name="css3-ruby">CSS3-RUBY</a>]</dt>
1493
href="http://www.w3.org/TR/2001/WD-css3-ruby-20010216/">CSS3 module:
1494
Ruby</a></cite>", <acronym
1495
title="World Wide Web Consortium">W3C</acronym> Working Draft</em></dd>
1496
<dd>M. Suignard, <abbr title="editor">ed.</abbr>, 16 February 2001<br>
1497
Available at: http://www.w3.org/TR/2001/WD-css3-ruby-20010216/<br>
1498
The latest version is available at: <a
1499
href="http://www.w3.org/TR/css3-ruby/">http://www.w3.org/TR/css3-ruby</a></dd>
1500
<dt>[<a id="dur97" name="dur97">DUR97</a>]</dt>
1502
href="http://www.w3.org/International/draft-duerst-ruby-01">Ruby in the
1503
Hypertext Markup Language</a></cite>", Internet Draft</em></dd>
1504
<dd>Martin Dürst, 28 February 1997, <em>expired</em><br>
1505
Available at: http://www.w3.org/International/draft-duerst-ruby-01</dd>
1506
<dt>[<a id="html4" name="html4">HTML4</a>]</dt>
1508
href="../../1999/REC-html401-19991224/index.html"><acronym
1509
title="HyperText Markup Language">HTML</acronym> 4.01
1510
Specification</a></cite>", <acronym
1511
title="World Wide Web Consortium">W3C</acronym> Recommendation</em></dd>
1512
<dd>D. Raggett, A. Le Hors, I. Jacobs, <abbr
1513
title="editors">eds.</abbr>, 24 December 1999<br>
1514
Available at: http://www.w3.org/TR/1999/REC-html401-19991224<br>
1515
The latest version is available at: <a
1516
href="http://www.w3.org/TR/html4/">http://www.w3.org/TR/html4</a></dd>
1517
<dt>[<a id="jis" name="jis">JIS4051</a>]</dt>
1518
<dd><em>"<cite>Line composition rules for Japanese documents</cite>"</em>
1519
(<span lang="ja">���{�ꕶ���̍s�g�ŕ��@</span>)</dd>
1520
<dd>JIS X 4051-1995, Japanese Standards Association, 1995 (in
1522
<dt>[<a id="jdcm" name="jdcm">JIS4052</a>]</dt>
1523
<dd><em>"<cite>Exchange format for Japanese documents with composition
1524
markup</cite>"</em> (<span
1525
lang="ja">���{�ꕶ���̑g�Ŏw������`��</span>)</dd>
1526
<dd>JIS X 4052:2000, Japanese Standards Association, 2000 (in
1528
<dt>[<a id='ModSchema' name='ModSchema'>ModSchema</a>]</dt>
1530
href='http://www.w3.org/TR/2001/WD-xhtml-m12n-schema-20010322/'>Modularization
1531
of XHTML™ in XML Schema</a></cite>", <acronym
1532
title="World Wide Web Consortium">W3C</acronym> Working Draft</em></dd>
1533
<dd>Daniel Austin and Shane McCarron, <abbr
1534
title="editors">eds.</abbr>, 22 March 2001<br>
1535
Available at: http://www.w3.org/TR/2001/WD-xhtml-m12n-schema-20010322<br>
1536
The latest version is available at: <a
1537
href="http://www.w3.org/TR/xhtml-m12n-schema/">http://www.w3.org/TR/xhtml-m12n-schema</a></dd>
1538
<dt>[<a id="xmlschema" name="xmlschema">XMLSchema</a>]</dt>
1540
href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/"><abbr
1541
title="Extensible Markup Language">XML</abbr> Schema Part 1:
1542
Structures</a></cite>", <acronym
1543
title="World Wide Web Consortium">W3C</acronym>
1544
Recommendation</em></dd>
1545
<dd>H. S. Thompson, D. Beech, M. Maloney, N. Mendelsohn, <abbr
1546
title="editors">eds.</abbr>, 2 May 2001<br>
1547
Available at: http://www.w3.org/TR/2001/REC-xmlschema-1-20010502<br>
1548
The latest version is available at: <a
1549
href="http://www.w3.org/TR/xmlschema-1/">http://www.w3.org/TR/xmlschema-1</a></dd>
1550
<dd>See also "<cite><abbr title="Extensible Markup Language">XML</abbr>
1551
Schema Part 2: Datatypes</cite>", available at: <a
1552
href="http://www.w3.org/TR/xmlschema-2/">http://www.w3.org/TR/xmlschema-2</a></dd>
1553
<dt>[<a id="xsl" name="xsl">XSL</a>]</dt>
1555
href="http://www.w3.org/TR/2000/CR-xsl-20001121/">Extensible Style
1557
title="Extensible Style Language">XSL</acronym>)</a></cite>", <acronym
1558
title="World Wide Web Consortium">W3C</acronym> Candidate
1559
Recommendation</em></dd>
1560
<dd>S. Adler <em>et al.</em>, <abbr title="editors">eds.</abbr>, 21
1562
Available at: http://www.w3.org/TR/2000/CR-xsl-20001121<br>
1563
The latest version is available at: <a
1564
href="http://www.w3.org/TR/xsl/">http://www.w3.org/TR/xsl</a></dd>
1565
<dt>[<a id="xslt" name="xslt">XSLT</a>]</dt>
1567
href="http://www.w3.org/TR/1999/REC-xslt-19991116"><acronym
1568
title="Extensible Style Language">XSL</acronym> Transformations
1569
(<acronym title="XSL Transformations">XSLT</acronym>) Version
1570
1.0</a></cite>", <acronym
1571
title="World Wide Web Consortium">W3C</acronym> Recommendation</em></dd>
1572
<dd>J. Clark, <abbr title="editor">ed.</abbr>, 16 November 1999<br>
1573
Available at: http://www.w3.org/TR/1999/REC-xslt-19991116<br>
1574
The latest version is available at: <a
1575
href="http://www.w3.org/TR/xslt">http://www.w3.org/TR/xslt</a></dd>