1 <!-- ...................................................................... --> |
|
2 <!-- XHTML Ruby Module .................................................... --> |
|
3 <!-- file: xhtml-ruby-1.mod |
|
4 |
|
5 This is XHTML, a reformulation of HTML as a modular XML application. |
|
6 Copyright 1999-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. |
|
7 Revision: $Id: xhtml-ruby-1.mod,v 1.1 2004-02-23 16:11:21 ylafon Exp $ |
|
8 |
|
9 This module is based on the W3C Ruby Annotation Specification: |
|
10 |
|
11 http://www.w3.org/TR/ruby |
|
12 |
|
13 This DTD module is identified by the PUBLIC and SYSTEM identifiers: |
|
14 |
|
15 PUBLIC "-//W3C//ELEMENTS XHTML Ruby 1.0//EN" |
|
16 SYSTEM "http://www.w3.org/TR/ruby/xhtml-ruby-1.mod" |
|
17 |
|
18 ...................................................................... --> |
|
19 |
|
20 <!-- Ruby Elements |
|
21 |
|
22 ruby, rbc, rtc, rb, rt, rp |
|
23 |
|
24 This module declares the elements and their attributes used to |
|
25 support ruby annotation markup. |
|
26 --> |
|
27 |
|
28 <!-- declare qualified element type names: |
|
29 --> |
|
30 <!ENTITY % ruby.qname "ruby" > |
|
31 <!ENTITY % rbc.qname "rbc" > |
|
32 <!ENTITY % rtc.qname "rtc" > |
|
33 <!ENTITY % rb.qname "rb" > |
|
34 <!ENTITY % rt.qname "rt" > |
|
35 <!ENTITY % rp.qname "rp" > |
|
36 |
|
37 <!-- rp fallback is included by default. |
|
38 --> |
|
39 <!ENTITY % Ruby.fallback "INCLUDE" > |
|
40 <!ENTITY % Ruby.fallback.mandatory "IGNORE" > |
|
41 |
|
42 <!-- Complex ruby is included by default; it may be |
|
43 overridden by other modules to ignore it. |
|
44 --> |
|
45 <!ENTITY % Ruby.complex "INCLUDE" > |
|
46 |
|
47 <!-- Fragments for the content model of the ruby element --> |
|
48 <![%Ruby.fallback;[ |
|
49 <![%Ruby.fallback.mandatory;[ |
|
50 <!ENTITY % Ruby.content.simple |
|
51 "( %rb.qname;, %rp.qname;, %rt.qname;, %rp.qname; )" |
|
52 > |
|
53 ]]> |
|
54 <!ENTITY % Ruby.content.simple |
|
55 "( %rb.qname;, ( %rt.qname; | ( %rp.qname;, %rt.qname;, %rp.qname; ) ) )" |
|
56 > |
|
57 ]]> |
|
58 <!ENTITY % Ruby.content.simple "( %rb.qname;, %rt.qname; )" > |
|
59 |
|
60 <![%Ruby.complex;[ |
|
61 <!ENTITY % Ruby.content.complex |
|
62 "| ( %rbc.qname;, %rtc.qname;, %rtc.qname;? )" |
|
63 > |
|
64 ]]> |
|
65 <!ENTITY % Ruby.content.complex "" > |
|
66 |
|
67 <!-- Content models of the rb and the rt elements are intended to |
|
68 allow other inline-level elements of its parent markup language, |
|
69 but it should not include ruby descendent elements. The following |
|
70 parameter entity %NoRuby.content; can be used to redefine |
|
71 those content models with minimum effort. It's defined as |
|
72 '( #PCDATA )' by default. |
|
73 --> |
|
74 <!ENTITY % NoRuby.content "( #PCDATA )" > |
|
75 |
|
76 <!-- one or more digits (NUMBER) --> |
|
77 <!ENTITY % Number.datatype "CDATA" > |
|
78 |
|
79 <!-- ruby element ...................................... --> |
|
80 |
|
81 <!ENTITY % ruby.element "INCLUDE" > |
|
82 <![%ruby.element;[ |
|
83 <!ENTITY % ruby.content |
|
84 "( %Ruby.content.simple; %Ruby.content.complex; )" |
|
85 > |
|
86 <!ELEMENT %ruby.qname; %ruby.content; > |
|
87 <!-- end of ruby.element -->]]> |
|
88 |
|
89 <![%Ruby.complex;[ |
|
90 <!-- rbc (ruby base component) element ................. --> |
|
91 |
|
92 <!ENTITY % rbc.element "INCLUDE" > |
|
93 <![%rbc.element;[ |
|
94 <!ENTITY % rbc.content |
|
95 "(%rb.qname;)+" |
|
96 > |
|
97 <!ELEMENT %rbc.qname; %rbc.content; > |
|
98 <!-- end of rbc.element -->]]> |
|
99 |
|
100 <!-- rtc (ruby text component) element ................. --> |
|
101 |
|
102 <!ENTITY % rtc.element "INCLUDE" > |
|
103 <![%rtc.element;[ |
|
104 <!ENTITY % rtc.content |
|
105 "(%rt.qname;)+" |
|
106 > |
|
107 <!ELEMENT %rtc.qname; %rtc.content; > |
|
108 <!-- end of rtc.element -->]]> |
|
109 ]]> |
|
110 |
|
111 <!-- rb (ruby base) element ............................ --> |
|
112 |
|
113 <!ENTITY % rb.element "INCLUDE" > |
|
114 <![%rb.element;[ |
|
115 <!-- %rb.content; uses %NoRuby.content; as its content model, |
|
116 which is '( #PCDATA )' by default. It may be overridden |
|
117 by other modules to allow other inline-level elements |
|
118 of its parent markup language, but it should not include |
|
119 ruby descendent elements. |
|
120 --> |
|
121 <!ENTITY % rb.content "%NoRuby.content;" > |
|
122 <!ELEMENT %rb.qname; %rb.content; > |
|
123 <!-- end of rb.element -->]]> |
|
124 |
|
125 <!-- rt (ruby text) element ............................ --> |
|
126 |
|
127 <!ENTITY % rt.element "INCLUDE" > |
|
128 <![%rt.element;[ |
|
129 <!-- %rt.content; uses %NoRuby.content; as its content model, |
|
130 which is '( #PCDATA )' by default. It may be overridden |
|
131 by other modules to allow other inline-level elements |
|
132 of its parent markup language, but it should not include |
|
133 ruby descendent elements. |
|
134 --> |
|
135 <!ENTITY % rt.content "%NoRuby.content;" > |
|
136 |
|
137 <!ELEMENT %rt.qname; %rt.content; > |
|
138 <!-- end of rt.element -->]]> |
|
139 |
|
140 <!-- rbspan attribute is used for complex ruby only ...... --> |
|
141 <![%Ruby.complex;[ |
|
142 <!ENTITY % rt.attlist "INCLUDE" > |
|
143 <![%rt.attlist;[ |
|
144 <!ATTLIST %rt.qname; |
|
145 rbspan %Number.datatype; "1" |
|
146 > |
|
147 <!-- end of rt.attlist -->]]> |
|
148 ]]> |
|
149 |
|
150 <!-- rp (ruby parenthesis) element ..................... --> |
|
151 |
|
152 <![%Ruby.fallback;[ |
|
153 <!ENTITY % rp.element "INCLUDE" > |
|
154 <![%rp.element;[ |
|
155 <!ENTITY % rp.content |
|
156 "( #PCDATA )" |
|
157 > |
|
158 <!ELEMENT %rp.qname; %rp.content; > |
|
159 <!-- end of rp.element -->]]> |
|
160 ]]> |
|
161 |
|
162 <!-- Ruby Common Attributes |
|
163 |
|
164 The following optional ATTLIST declarations provide an easy way |
|
165 to define common attributes for ruby elements. These declarations |
|
166 are ignored by default. |
|
167 |
|
168 Ruby elements are intended to have common attributes of its |
|
169 parent markup language. For example, if a markup language defines |
|
170 common attributes as a parameter entity %attrs;, you may add |
|
171 those attributes by just declaring the following parameter entities |
|
172 |
|
173 <!ENTITY % Ruby.common.attlists "INCLUDE" > |
|
174 <!ENTITY % Ruby.common.attrib "%attrs;" > |
|
175 |
|
176 before including the Ruby module. |
|
177 --> |
|
178 |
|
179 <!ENTITY % Ruby.common.attlists "IGNORE" > |
|
180 <![%Ruby.common.attlists;[ |
|
181 <!ENTITY % Ruby.common.attrib "" > |
|
182 |
|
183 <!-- common attributes for ruby ........................ --> |
|
184 |
|
185 <!ENTITY % Ruby.common.attlist "INCLUDE" > |
|
186 <![%Ruby.common.attlist;[ |
|
187 <!ATTLIST %ruby.qname; |
|
188 %Ruby.common.attrib; |
|
189 > |
|
190 <!-- end of Ruby.common.attlist -->]]> |
|
191 |
|
192 <![%Ruby.complex;[ |
|
193 <!-- common attributes for rbc ......................... --> |
|
194 |
|
195 <!ENTITY % Rbc.common.attlist "INCLUDE" > |
|
196 <![%Rbc.common.attlist;[ |
|
197 <!ATTLIST %rbc.qname; |
|
198 %Ruby.common.attrib; |
|
199 > |
|
200 <!-- end of Rbc.common.attlist -->]]> |
|
201 |
|
202 <!-- common attributes for rtc ......................... --> |
|
203 |
|
204 <!ENTITY % Rtc.common.attlist "INCLUDE" > |
|
205 <![%Rtc.common.attlist;[ |
|
206 <!ATTLIST %rtc.qname; |
|
207 %Ruby.common.attrib; |
|
208 > |
|
209 <!-- end of Rtc.common.attlist -->]]> |
|
210 ]]> |
|
211 |
|
212 <!-- common attributes for rb .......................... --> |
|
213 |
|
214 <!ENTITY % Rb.common.attlist "INCLUDE" > |
|
215 <![%Rb.common.attlist;[ |
|
216 <!ATTLIST %rb.qname; |
|
217 %Ruby.common.attrib; |
|
218 > |
|
219 <!-- end of Rb.common.attlist -->]]> |
|
220 |
|
221 <!-- common attributes for rt .......................... --> |
|
222 |
|
223 <!ENTITY % Rt.common.attlist "INCLUDE" > |
|
224 <![%Rt.common.attlist;[ |
|
225 <!ATTLIST %rt.qname; |
|
226 %Ruby.common.attrib; |
|
227 > |
|
228 <!-- end of Rt.common.attlist -->]]> |
|
229 |
|
230 <![%Ruby.fallback;[ |
|
231 <!-- common attributes for rp .......................... --> |
|
232 |
|
233 <!ENTITY % Rp.common.attlist "INCLUDE" > |
|
234 <![%Rp.common.attlist;[ |
|
235 <!ATTLIST %rp.qname; |
|
236 %Ruby.common.attrib; |
|
237 > |
|
238 <!-- end of Rp.common.attlist -->]]> |
|
239 ]]> |
|
240 ]]> |
|
241 |
|
242 <!-- end of xhtml-ruby-1.mod --> |
|