Project

Profile

Help

Download (6.7 KB) Statistics
| Branch: | Tag: | Revision:

he / latest10 / hej / net / sf / saxon / data / w3c / xhtml11 / xhtml-ruby-1.mod @ 02f8308b

1 02f8308b O'Neil Delpratt
<!-- ...................................................................... -->
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 2008/06/21 19:42:10 smccarro 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 -->