1<?xml version="1.0" encoding="iso-8859-1"?>
2<!-- Text Module -->
3<grammar xmlns="http://relaxng.org/ns/structure/1.0">
4
5<define name="br">
6  <element name="br">
7    <ref name="br.attlist"/>
8    <empty/>
9  </element>
10</define>
11
12<define name="br.attlist">
13  <ref name="Core.attrib"/>
14</define>
15
16<define name="span">
17  <element name="span">
18    <ref name="span.attlist"/>
19    <ref name="Inline.model"/>
20  </element>
21</define>
22
23<define name="span.attlist">
24  <ref name="Common.attrib"/>
25</define>
26
27<define name="abbr">
28  <element name="abbr">
29    <ref name="abbr.attlist"/>
30    <ref name="Inline.model"/>
31  </element>
32</define>
33
34<define name="abbr.attlist">
35  <ref name="Common.attrib"/>
36</define>
37
38<define name="acronym">
39  <element name="acronym">
40    <ref name="acronym.attlist"/>
41    <ref name="Inline.model"/>
42  </element>
43</define>
44
45<define name="acronym.attlist">
46  <ref name="Common.attrib"/>
47</define>
48
49<define name="cite">
50  <element name="cite">
51    <ref name="cite.attlist"/>
52    <ref name="Inline.model"/>
53  </element>
54</define>
55
56<define name="cite.attlist">
57  <ref name="Common.attrib"/>
58</define>
59
60<define name="code">
61  <element name="code">
62    <ref name="code.attlist"/>
63    <ref name="Inline.model"/>
64  </element>
65</define>
66
67<define name="code.attlist">
68  <ref name="Common.attrib"/>
69</define>
70
71<define name="dfn">
72  <element name="dfn">
73    <ref name="dfn.attlist"/>
74    <ref name="Inline.model"/>
75  </element>
76</define>
77
78<define name="dfn.attlist">
79  <ref name="Common.attrib"/>
80</define>
81
82<define name="em">
83  <element name="em">
84    <ref name="em.attlist"/>
85    <ref name="Inline.model"/>
86  </element>
87</define>
88
89<define name="em.attlist">
90  <ref name="Common.attrib"/>
91</define>
92
93<define name="kbd">
94  <element name="kbd">
95    <ref name="kbd.attlist"/>
96    <ref name="Inline.model"/>
97  </element>
98</define>
99
100<define name="kbd.attlist">
101  <ref name="Common.attrib"/>
102</define>
103
104<define name="q">
105  <element name="q">
106    <ref name="q.attlist"/>
107    <ref name="Inline.model"/>
108  </element>
109</define>
110
111<define name="q.attlist">
112  <ref name="Common.attrib"/>
113  <optional>
114    <attribute name="cite">
115      <ref name="URI.datatype"/>
116    </attribute>
117  </optional>
118</define>
119
120<define name="samp">
121  <element name="samp">
122    <ref name="samp.attlist"/>
123    <ref name="Inline.model"/>
124  </element>
125</define>
126
127<define name="samp.attlist">
128  <ref name="Common.attrib"/>
129</define>
130
131<define name="strong">
132  <element name="strong">
133    <ref name="strong.attlist"/>
134    <ref name="Inline.model"/>
135  </element>
136</define>
137
138<define name="strong.attlist">
139  <ref name="Common.attrib"/>
140</define>
141
142<define name="var">
143  <element name="var">
144    <ref name="var.attlist"/>
145    <ref name="Inline.model"/>
146  </element>
147</define>
148
149<define name="var.attlist">
150  <ref name="Common.attrib"/>
151</define>
152
153<define name="div">
154  <element name="div">
155    <ref name="div.attlist"/>
156    <ref name="Flow.model"/>
157  </element>
158</define>
159
160<define name="div.attlist">
161  <ref name="Common.attrib"/>
162</define>
163
164<define name="p">
165  <element name="p">
166    <ref name="p.attlist"/>
167    <ref name="Inline.model"/>
168  </element>
169</define>
170
171<define name="p.attlist">
172  <ref name="Common.attrib"/>
173</define>
174
175<define name="address">
176  <element name="address">
177    <ref name="address.attlist"/>
178    <ref name="Inline.model"/>
179  </element>
180</define>
181
182<define name="address.attlist">
183  <ref name="Common.attrib"/>
184</define>
185
186<define name="blockquote">
187  <element name="blockquote">
188    <ref name="blockquote.attlist"/>
189    <ref name="Block.model"/>
190  </element>
191</define>
192
193<define name="blockquote.attlist">
194  <ref name="Common.attrib"/>
195  <optional>
196    <attribute name="cite">
197      <ref name="URI.datatype"/>
198    </attribute>
199  </optional>
200</define>
201
202<define name="pre">
203  <element name="pre">
204    <ref name="pre.attlist"/>
205    <ref name="Inline.model"/>
206  </element>
207</define>
208
209<define name="pre.attlist">
210  <ref name="Common.attrib"/>
211  <optional>
212    <attribute name="xml:space">
213      <value>preserve</value>
214    </attribute>
215  </optional>
216</define>
217
218<define name="h1">
219  <element name="h1">
220    <ref name="Heading.attrib"/>
221    <ref name="Heading.content"/>
222  </element>
223</define>
224
225<define name="h2">
226  <element name="h2">
227    <ref name="Heading.attrib"/>
228    <ref name="Heading.content"/>
229  </element>
230</define>
231
232<define name="h3">
233  <element name="h3">
234    <ref name="Heading.attrib"/>
235    <ref name="Heading.content"/>
236  </element>
237</define>
238
239<define name="h4">
240  <element name="h4">
241    <ref name="Heading.attrib"/>
242    <ref name="Heading.content"/>
243  </element>
244</define>
245
246<define name="h5">
247  <element name="h5">
248    <ref name="Heading.attrib"/>
249    <ref name="Heading.content"/>
250  </element>
251</define>
252
253<define name="h6">
254  <element name="h6">
255    <ref name="Heading.attrib"/>
256    <ref name="Heading.content"/>
257  </element>
258</define>
259
260<define name="Heading.attrib">
261  <ref name="Common.attrib"/>
262</define>
263
264<define name="Heading.content">
265  <ref name="Inline.model"/>
266</define>
267
268<define name="Heading.class">
269  <choice>
270    <ref name="h1"/>
271    <ref name="h2"/>
272    <ref name="h3"/>
273    <ref name="h4"/>
274    <ref name="h5"/>
275    <ref name="h6"/>
276  </choice>
277</define>
278
279<define name="Block.class">
280  <choice>
281    <ref name="address"/>
282    <ref name="blockquote"/>
283    <ref name="div"/>
284    <ref name="p"/>
285    <ref name="pre"/>
286    <ref name="Heading.class"/>
287  </choice>
288</define>
289
290<define name="Inline.class">
291  <choice>
292    <ref name="abbr"/>
293    <ref name="acronym"/>
294    <ref name="br"/>
295    <ref name="cite"/>
296    <ref name="code"/>
297    <ref name="dfn"/>
298    <ref name="em"/>
299    <ref name="kbd"/>
300    <ref name="q"/>
301    <ref name="samp"/>
302    <ref name="span"/>
303    <ref name="strong"/>
304    <ref name="var"/>
305  </choice>
306</define>
307
308<define name="Inline.model">
309  <zeroOrMore>
310    <choice>
311      <text/>
312      <ref name="Inline.class"/>
313    </choice>
314  </zeroOrMore>
315</define>
316
317<!-- This is redefined by the legacy module to include inlines. -->
318<define name="Block.mix">
319  <ref name="Block.class"/>
320</define>
321
322<define name="Block.model">
323  <oneOrMore>
324    <ref name="Block.mix"/>
325  </oneOrMore>
326</define>
327
328<define name="Flow.model">
329  <zeroOrMore>
330    <choice>
331      <text/>
332      <ref name="Inline.class"/>
333      <ref name="Block.class"/>
334    </choice>
335  </zeroOrMore>
336</define>
337
338</grammar>