source: trunk/lib/docbook/website/schema/relaxng/autolayout.rng @ 3162

Last change on this file since 3162 was 3153, checked in by Nicklas Nordborg, 16 years ago

Added docbook DTD:s and stylesheets

File size: 9.4 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<grammar xmlns="http://relaxng.org/ns/structure/1.0"
3         xmlns:rng="http://relaxng.org/ns/structure/1.0"
4         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
5         xmlns:doc="http://nwalsh.com/xmlns/documentation"
6         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
7
8<rng:div doc:docbook="yes" xmlns="">
9<partinfo>
10<releaseinfo
11   role="cvs">$Id: autolayout.rng,v 1.1 2004/03/03 22:31:10 dweiss Exp $</releaseinfo>
12<title>Website Autolayout Schema</title>
13<productname>Website</productname>
14<productnumber>2.5.0</productnumber>
15<releaseinfo role="filename">autolayout</releaseinfo>
16<copyright>
17<year>2002</year>
18<year>2003</year>
19<holder>Norman Walsh</holder>
20</copyright>
21</partinfo>
22
23<partintro>
24<para>This is the autolayout schema for Website.
25Please use the following formal public identifier to identify it:</para>
26
27<screen>"-//Norman Walsh//DTD Website Autolayout V2.5.0//EN"</screen>
28
29<para>For example:</para>
30
31<programlisting><![CDATA[<!DOCTYPE autolayout PUBLIC "-//Norman Walsh//DTD Website Autolayout V2.5.0//EN"
32               "http://docbook.sourceforge.net/release/website/2.5.0/autolayout.dtd">
33               [...]>]]></programlisting>
34
35<para>Please direct all questions and comments about this DTD to
36Norman Walsh, <email>ndw@nwalsh.com</email>.</para>
37</partintro>
38</rng:div>
39
40  <define name="autolayout">
41    <element name="autolayout">
42      <ref name="attlist.autolayout"/>
43      <zeroOrMore>
44        <choice>
45          <ref name="copyright"/>
46          <ref name="style"/>
47          <ref name="script"/>
48          <ref name="headlink"/>
49          <ref name="config"/>
50        </choice>
51      </zeroOrMore>
52      <oneOrMore>
53        <ref name="toc"/>
54      </oneOrMore>
55      <zeroOrMore>
56        <ref name="notoc"/>
57      </zeroOrMore>
58    </element>
59  </define>
60
61  <define name="attlist.autolayout" combine="interleave">
62    <empty/>
63  </define>
64
65  <define name="any" combine="choice">
66    <ref name="autolayout"/>
67  </define>
68
69  <define name="toc">
70    <element name="toc">
71      <ref name="attlist.toc"/>
72      <ref name="title"/>
73      <optional>
74        <ref name="titleabbrev"/>
75      </optional>
76      <optional>
77        <ref name="summary"/>
78      </optional>
79      <zeroOrMore>
80        <ref name="tocentry"/>
81      </zeroOrMore>
82    </element>
83  </define>
84
85  <define name="any" combine="choice">
86    <ref name="toc"/>
87  </define>
88
89  <define name="attlist.toc" combine="interleave">
90    <attribute name="id">
91      <data type="ID"/>
92    </attribute>
93    <attribute name="page"/>
94    <optional>
95      <attribute name="dir"/>
96    </optional>
97    <attribute name="filename"/>
98  </define>
99
100  <define name="title">
101    <element name="title">
102      <ref name="attlist.title"/>
103      <zeroOrMore>
104        <ref name="any"/>
105      </zeroOrMore>
106    </element>
107  </define>
108
109  <define name="attlist.title" combine="interleave">
110    <empty/>
111  </define>
112
113  <define name="any" combine="choice">
114    <ref name="title"/>
115  </define>
116
117  <define name="titleabbrev">
118    <element name="titleabbrev">
119      <ref name="attlist.titleabbrev"/>
120      <zeroOrMore>
121        <ref name="any"/>
122      </zeroOrMore>
123    </element>
124  </define>
125
126  <define name="attlist.titleabbrev" combine="interleave">
127    <empty/>
128  </define>
129
130  <define name="any" combine="choice">
131    <ref name="titleabbrev"/>
132  </define>
133
134  <define name="summary">
135    <element name="summary">
136      <ref name="attlist.summary"/>
137      <zeroOrMore>
138        <text/>
139      </zeroOrMore>
140    </element>
141  </define>
142
143  <define name="attlist.summary" combine="interleave">
144    <empty/>
145  </define>
146
147  <define name="any" combine="choice">
148    <ref name="summary"/>
149  </define>
150
151  <define name="config">
152    <element name="config">
153      <ref name="attlist.config"/>
154      <empty/>
155    </element>
156  </define>
157
158  <define name="any" combine="choice">
159    <ref name="config"/>
160  </define>
161
162  <define name="attlist.config" combine="interleave">
163    <attribute name="param"/>
164    <attribute name="value"/>
165    <optional>
166      <attribute name="altval"/>
167    </optional>
168  </define>
169
170  <define name="style">
171    <element name="style">
172      <ref name="attlist.style"/>
173      <text/>
174    </element>
175  </define>
176
177  <define name="any" combine="choice">
178    <ref name="style"/>
179  </define>
180
181  <define name="attlist.style" combine="interleave">
182    <optional>
183      <attribute name="src"/>
184    </optional>
185    <optional>
186      <attribute name="type"/>
187    </optional>
188    <optional>
189      <attribute name="language"/>
190    </optional>
191  </define>
192
193  <define name="script">
194    <element name="script">
195      <ref name="attlist.script"/>
196      <text/>
197    </element>
198  </define>
199
200  <define name="any" combine="choice">
201    <ref name="script"/>
202  </define>
203
204  <define name="attlist.script" combine="interleave">
205    <optional>
206      <attribute name="src"/>
207    </optional>
208    <optional>
209      <attribute name="language"/>
210    </optional>
211  </define>
212
213  <define name="headlink">
214    <element name="headlink">
215      <ref name="attlist.headlink"/>
216      <empty/>
217    </element>
218  </define>
219
220  <define name="any" combine="choice">
221    <ref name="headlink"/>
222  </define>
223
224  <define name="attlist.headlink" combine="interleave">
225    <optional>
226      <attribute name="href"/>
227    </optional>
228    <optional>
229      <attribute name="media"/>
230    </optional>
231    <optional>
232      <attribute name="name"/>
233    </optional>
234    <optional>
235      <attribute name="rel"/>
236    </optional>
237    <optional>
238      <attribute name="rev"/>
239    </optional>
240    <optional>
241      <attribute name="src"/>
242    </optional>
243    <optional>
244      <attribute name="title"/>
245    </optional>
246    <optional>
247      <attribute name="type"/>
248    </optional>
249  </define>
250
251  <define name="copyright">
252    <element name="copyright">
253      <ref name="attlist.copyright"/>
254      <oneOrMore>
255        <ref name="year"/>
256      </oneOrMore>
257      <oneOrMore>
258        <ref name="holder"/>
259      </oneOrMore>
260    </element>
261  </define>
262
263  <define name="attlist.copyright" combine="interleave">
264    <empty/>
265  </define>
266
267  <define name="any" combine="choice">
268    <ref name="copyright"/>
269  </define>
270
271  <define name="year">
272    <element name="year">
273      <ref name="attlist.year"/>
274      <zeroOrMore>
275        <text/>
276      </zeroOrMore>
277    </element>
278  </define>
279
280  <define name="attlist.year" combine="interleave">
281    <empty/>
282  </define>
283
284  <define name="any" combine="choice">
285    <ref name="year"/>
286  </define>
287
288  <define name="holder">
289    <element name="holder">
290      <ref name="attlist.holder"/>
291      <zeroOrMore>
292        <choice>
293          <text/>
294          <ref name="ulink"/>
295        </choice>
296      </zeroOrMore>
297    </element>
298  </define>
299
300  <define name="any" combine="choice">
301    <ref name="holder"/>
302  </define>
303
304  <define name="attlist.holder" combine="interleave">
305    <optional>
306      <attribute name="role"/>
307    </optional>
308  </define>
309
310  <define name="ulink">
311    <element name="ulink">
312      <ref name="attlist.ulink"/>
313      <zeroOrMore>
314        <text/>
315      </zeroOrMore>
316    </element>
317  </define>
318
319  <define name="any" combine="choice">
320    <ref name="ulink"/>
321  </define>
322
323  <define name="attlist.ulink" combine="interleave">
324    <attribute name="url"/>
325  </define>
326
327  <define name="tocentry">
328    <element name="tocentry">
329      <ref name="attlist.tocentry"/>
330      <ref name="title"/>
331      <optional>
332        <ref name="titleabbrev"/>
333      </optional>
334      <optional>
335        <ref name="summary"/>
336      </optional>
337      <zeroOrMore>
338        <ref name="tocentry"/>
339      </zeroOrMore>
340    </element>
341  </define>
342
343  <define name="any" combine="choice">
344    <ref name="tocentry"/>
345  </define>
346
347  <define name="attlist.tocentry" combine="interleave">
348    <attribute name="id">
349      <data type="ID"/>
350    </attribute>
351    <optional>
352      <attribute name="page"/>
353    </optional>
354    <optional>
355      <attribute name="href"/>
356    </optional>
357    <optional>
358      <attribute name="dir"/>
359    </optional>
360    <optional>
361      <attribute name="filename"/>
362    </optional>
363    <optional>
364      <attribute name="revisionflag">
365        <choice>
366          <value>added</value>
367          <value>changed</value>
368        </choice>
369      </attribute>
370    </optional>
371    <optional>
372      <attribute name="tocskip" a:defaultValue="0">
373        <choice>
374          <value>0</value>
375          <value>1</value>
376        </choice>
377      </attribute>
378    </optional>
379  </define>
380
381  <define name="notoc">
382    <element name="notoc">
383      <ref name="attlist.notoc"/>
384      <ref name="title"/>
385      <optional>
386        <ref name="titleabbrev"/>
387      </optional>
388      <optional>
389        <ref name="summary"/>
390      </optional>
391    </element>
392  </define>
393
394  <define name="any" combine="choice">
395    <ref name="notoc"/>
396  </define>
397
398  <define name="attlist.notoc" combine="interleave">
399    <attribute name="id">
400      <data type="ID"/>
401    </attribute>
402    <attribute name="page"/>
403    <optional>
404      <attribute name="dir"/>
405    </optional>
406    <attribute name="filename"/>
407  </define>
408
409  <start>
410    <choice>
411      <ref name="autolayout"/>
412    </choice>
413  </start>
414
415  <define name="any" combine="choice">
416    <text/>
417  </define>
418</grammar>
Note: See TracBrowser for help on using the repository browser.