]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | <!-- |
2 | BoostBook DTD - development version | |
3 | ||
4 | For further information, see: http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Boost_Documentation_Format | |
5 | ||
6 | Copyright (c) 2002 by Peter Simons <simons@cryp.to> | |
7 | Copyright (c) 2003-2004 by Douglas Gregor <doug.gregor -at- gmail.com> | |
8 | Copyright (c) 2007 by Frank Mori Hess <fmhess@users.sourceforge.net> | |
9 | ||
10 | Distributed under the Boost Software License, Version 1.0. | |
11 | (See accompanying file LICENSE_1_0.txt or copy at | |
12 | http://www.boost.org/LICENSE_1_0.txt) | |
13 | ||
14 | The latest stable DTD module is identified by the PUBLIC and SYSTEM identifiers: | |
15 | ||
16 | PUBLIC "-//Boost//DTD BoostBook XML V1.1//EN" | |
17 | SYSTEM "http://www.boost.org/tools/boostbook/dtd/1.1/boostbook.dtd" | |
18 | ||
19 | $Revision$ | |
20 | $Date$ | |
21 | --> | |
22 | ||
23 | <!--========== Define XInclude features. ==========--> | |
24 | <!-- This is not really integrated into the DTD yet. Needs more | |
25 | research. --> | |
26 | <!-- | |
27 | <!ELEMENT xi:include (xi:fallback)?> | |
28 | <!ATTLIST xi:include | |
29 | xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude" | |
30 | href CDATA #REQUIRED | |
31 | parse (xml|text) "xml" | |
32 | encoding CDATA #IMPLIED> | |
33 | ||
34 | <!ELEMENT xi:fallback ANY> | |
35 | <!ATTLIST xi:fallback | |
36 | xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude"> | |
37 | --> | |
38 | ||
39 | <!ENTITY % local.common.attrib "last-revision CDATA #IMPLIED"> | |
40 | ||
41 | <!--========== Define the BoostBook extensions ==========--> | |
42 | <!ENTITY % boost.common.attrib "%local.common.attrib; | |
43 | id CDATA #IMPLIED"> | |
44 | ||
45 | <!ENTITY % boost.namespace.mix | |
46 | "class|class-specialization|struct|struct-specialization| | |
47 | union|union-specialization|typedef|enum| | |
48 | free-function-group|function|overloaded-function| | |
49 | namespace"> | |
50 | ||
51 | <!ENTITY % boost.template.mix | |
52 | "template-type-parameter|template-nontype-parameter|template-varargs"> | |
53 | ||
54 | <!ENTITY % boost.class.members | |
55 | "static-constant|typedef|enum| | |
56 | copy-assignment|constructor|destructor|method-group| | |
57 | method|overloaded-method|data-member|class|class-specialization|struct| | |
58 | struct-specialization|union|union-specialization"> | |
59 | ||
60 | <!ENTITY % boost.class.mix | |
61 | "%boost.class.members;|free-function-group|function|overloaded-function"> | |
62 | ||
63 | <!ENTITY % boost.class.content | |
64 | "template?, inherit*, purpose?, description?, | |
65 | (%boost.class.mix;|access)*"> | |
66 | ||
67 | <!ENTITY % boost.class-specialization.content | |
68 | "template?, specialization?, inherit?, purpose?, description?, | |
69 | (%boost.class.mix;|access)*"> | |
70 | ||
71 | <!ENTITY % boost.function.semantics | |
72 | "purpose?, description?, requires?, effects?, postconditions?, | |
73 | returns?, throws?, complexity?, notes?, rationale?"> | |
74 | ||
75 | <!ENTITY % library.content | |
76 | "libraryinfo, (title, ((section|library-reference|testsuite))+)?"> | |
77 | ||
78 | <!ELEMENT library (%library.content;)> | |
79 | <!ATTLIST library | |
80 | name CDATA #REQUIRED | |
81 | dirname CDATA #REQUIRED | |
82 | html-only CDATA #IMPLIED | |
83 | url CDATA #IMPLIED | |
84 | %boost.common.attrib;> | |
85 | ||
86 | <!ELEMENT boostbook (title, (chapter|library)*)> | |
87 | <!ATTLIST boostbook %boost.common.attrib;> | |
88 | ||
89 | <!ELEMENT libraryinfo (author+, copyright*, legalnotice*, librarypurpose, librarycategory*)> | |
90 | <!ATTLIST libraryinfo %boost.common.attrib;> | |
91 | ||
92 | <!ELEMENT librarypurpose (#PCDATA|code|ulink|functionname|methodname|classname|macroname|headername|enumname|globalname)*> | |
93 | <!ATTLIST librarypurpose %boost.common.attrib;> | |
94 | ||
95 | <!ELEMENT librarycategory (#PCDATA)> | |
96 | <!ATTLIST librarycategory | |
97 | name CDATA #REQUIRED | |
98 | %boost.common.attrib;> | |
99 | ||
100 | <!ELEMENT libraryname (#PCDATA)> | |
101 | <!ATTLIST libraryname %boost.common.attrib;> | |
102 | ||
103 | <!ELEMENT library-reference ANY> | |
104 | <!ATTLIST library-reference | |
105 | %boost.common.attrib;> | |
106 | ||
107 | <!ELEMENT librarylist EMPTY> | |
108 | <!ATTLIST librarylist %boost.common.attrib;> | |
109 | ||
110 | <!ELEMENT librarycategorylist (librarycategorydef)*> | |
111 | <!ATTLIST librarycategorylist %boost.common.attrib;> | |
112 | ||
113 | <!ELEMENT librarycategorydef (#PCDATA)> | |
114 | <!ATTLIST librarycategorydef | |
115 | name CDATA #REQUIRED | |
116 | %boost.common.attrib;> | |
117 | ||
118 | <!ELEMENT header ANY> | |
119 | <!ATTLIST header | |
120 | name CDATA #REQUIRED | |
121 | %boost.common.attrib;> | |
122 | ||
123 | <!ELEMENT namespace (%boost.namespace.mix;)*> | |
124 | <!ATTLIST namespace | |
125 | name CDATA #REQUIRED | |
126 | %boost.common.attrib;> | |
127 | ||
128 | <!ELEMENT class (%boost.class.content;)> | |
129 | <!ATTLIST class | |
130 | name CDATA #REQUIRED | |
131 | %boost.common.attrib;> | |
132 | ||
133 | <!ELEMENT struct (%boost.class.content;)> | |
134 | <!ATTLIST struct | |
135 | name CDATA #REQUIRED | |
136 | %boost.common.attrib;> | |
137 | ||
138 | <!ELEMENT union (%boost.class.content;)> | |
139 | <!ATTLIST union | |
140 | name CDATA #REQUIRED | |
141 | %boost.common.attrib;> | |
142 | ||
143 | <!ELEMENT class-specialization (%boost.class-specialization.content;)> | |
144 | <!ATTLIST class-specialization | |
145 | name CDATA #REQUIRED | |
146 | %boost.common.attrib;> | |
147 | ||
148 | <!ELEMENT struct-specialization (%boost.class-specialization.content;)> | |
149 | <!ATTLIST struct-specialization | |
150 | name CDATA #REQUIRED | |
151 | %boost.common.attrib;> | |
152 | ||
153 | <!ELEMENT union-specialization (%boost.class-specialization.content;)> | |
154 | <!ATTLIST union-specialization | |
155 | name CDATA #REQUIRED | |
156 | %boost.common.attrib;> | |
157 | ||
158 | <!ELEMENT access (%boost.class.members;)+> | |
159 | <!ATTLIST access | |
160 | name CDATA #REQUIRED | |
161 | %boost.common.attrib;> | |
162 | ||
163 | <!--========= C++ Templates =========--> | |
164 | <!ELEMENT template (%boost.template.mix;)*> | |
165 | <!ATTLIST template %boost.common.attrib;> | |
166 | ||
167 | <!ELEMENT template-type-parameter (default?, purpose?)> | |
168 | <!ATTLIST template-type-parameter | |
169 | name CDATA #REQUIRED | |
170 | pack CDATA #IMPLIED | |
171 | %boost.common.attrib;> | |
172 | ||
173 | <!ELEMENT template-nontype-parameter (type, default?, purpose?)> | |
174 | <!ATTLIST template-nontype-parameter | |
175 | name CDATA #REQUIRED | |
176 | pack CDATA #IMPLIED | |
177 | %boost.common.attrib;> | |
178 | ||
179 | <!ELEMENT template-varargs EMPTY> | |
180 | <!ATTLIST template-varargs %boost.common.attrib;> | |
181 | ||
182 | <!ELEMENT specialization (template-arg)*> | |
183 | <!ATTLIST specialization %boost.common.attrib;> | |
184 | ||
185 | <!ELEMENT template-arg ANY> | |
186 | <!ATTLIST template-arg | |
187 | pack CDATA #IMPLIED | |
188 | %boost.common.attrib;> | |
189 | ||
190 | <!ELEMENT default ANY> | |
191 | <!ATTLIST default %boost.common.attrib;> | |
192 | ||
193 | <!ELEMENT inherit (type, purpose?)> | |
194 | <!ATTLIST inherit | |
195 | access CDATA #IMPLIED | |
196 | pack CDATA #IMPLIED | |
197 | %boost.common.attrib;> | |
198 | ||
199 | <!ELEMENT purpose ANY> | |
200 | <!ATTLIST purpose %boost.common.attrib;> | |
201 | ||
202 | <!ELEMENT description ANY> | |
203 | <!ATTLIST description %boost.common.attrib;> | |
204 | ||
205 | <!ELEMENT type ANY> | |
206 | <!ATTLIST type %boost.common.attrib;> | |
207 | ||
208 | <!ELEMENT typedef (type, purpose?, description?)> | |
209 | <!ATTLIST typedef | |
210 | name CDATA #REQUIRED | |
211 | %boost.common.attrib;> | |
212 | ||
213 | <!ELEMENT enum (enumvalue*, purpose?, description?)> | |
214 | <!ATTLIST enum | |
215 | name CDATA #REQUIRED | |
216 | %boost.common.attrib;> | |
217 | ||
218 | <!ELEMENT enumvalue (default?, purpose?, description?)> | |
219 | <!ATTLIST enumvalue | |
220 | name CDATA #REQUIRED | |
221 | %boost.common.attrib;> | |
222 | ||
223 | <!ELEMENT static-constant (type, default, purpose?, description?)> | |
224 | <!ATTLIST static-constant | |
225 | name CDATA #REQUIRED | |
226 | %boost.common.attrib;> | |
227 | ||
228 | <!ELEMENT data-member (type, purpose?, description?)> | |
229 | <!ATTLIST data-member | |
230 | name CDATA #REQUIRED | |
231 | specifiers CDATA #IMPLIED | |
232 | %boost.common.attrib;> | |
233 | ||
234 | <!ELEMENT paramtype ANY> | |
235 | <!ATTLIST paramtype %boost.common.attrib;> | |
236 | ||
237 | <!ELEMENT effects ANY> | |
238 | <!ATTLIST effects %boost.common.attrib;> | |
239 | ||
240 | <!ELEMENT postconditions ANY> | |
241 | <!ATTLIST postconditions %boost.common.attrib;> | |
242 | ||
243 | <!ELEMENT method-group (method|overloaded-method)*> | |
244 | <!ATTLIST method-group | |
245 | name CDATA #REQUIRED | |
246 | %boost.common.attrib;> | |
247 | ||
248 | <!ELEMENT constructor (template?, parameter*, %boost.function.semantics;)> | |
249 | <!ATTLIST constructor | |
250 | specifiers CDATA #IMPLIED | |
251 | %boost.common.attrib;> | |
252 | ||
253 | <!ELEMENT destructor (%boost.function.semantics;)> | |
254 | <!ATTLIST destructor | |
255 | specifiers CDATA #IMPLIED | |
256 | %boost.common.attrib;> | |
257 | ||
258 | <!ELEMENT method (template?, type, parameter*, %boost.function.semantics;)> | |
259 | <!ATTLIST method | |
260 | name CDATA #REQUIRED | |
261 | cv CDATA #IMPLIED | |
262 | specifiers CDATA #IMPLIED | |
263 | %boost.common.attrib;> | |
264 | ||
265 | <!ELEMENT function (template?, type, parameter*, %boost.function.semantics;)> | |
266 | <!ATTLIST function | |
267 | name CDATA #REQUIRED | |
268 | specifiers CDATA #IMPLIED | |
269 | %boost.common.attrib;> | |
270 | ||
271 | <!ELEMENT overloaded-method (signature*, %boost.function.semantics;)> | |
272 | <!ATTLIST overloaded-method | |
273 | name CDATA #REQUIRED | |
274 | %boost.common.attrib;> | |
275 | ||
276 | <!ELEMENT overloaded-function (signature*, %boost.function.semantics;)> | |
277 | <!ATTLIST overloaded-function | |
278 | name CDATA #REQUIRED | |
279 | %boost.common.attrib;> | |
280 | ||
281 | <!ELEMENT signature (template?, type, parameter*)> | |
282 | <!ATTLIST signature | |
283 | cv CDATA #IMPLIED | |
284 | specifiers CDATA #IMPLIED | |
285 | %boost.common.attrib;> | |
286 | ||
287 | <!ELEMENT requires ANY> | |
288 | <!ATTLIST requires %boost.common.attrib;> | |
289 | ||
290 | <!ELEMENT returns ANY> | |
291 | <!ATTLIST returns %boost.common.attrib;> | |
292 | ||
293 | <!ELEMENT throws ANY> | |
294 | <!ATTLIST throws %boost.common.attrib;> | |
295 | ||
296 | <!ELEMENT complexity ANY> | |
297 | <!ATTLIST complexity %boost.common.attrib;> | |
298 | ||
299 | <!ELEMENT notes ANY> | |
300 | <!ATTLIST notes %boost.common.attrib;> | |
301 | ||
302 | <!ELEMENT rationale ANY> | |
303 | <!ATTLIST rationale %boost.common.attrib;> | |
304 | ||
305 | <!ELEMENT functionname (#PCDATA)> | |
306 | <!ATTLIST functionname | |
307 | alt CDATA #IMPLIED | |
308 | %boost.common.attrib;> | |
309 | ||
310 | <!ELEMENT enumname (#PCDATA)> | |
311 | <!ATTLIST enumname | |
312 | alt CDATA #IMPLIED | |
313 | %boost.common.attrib;> | |
314 | ||
315 | <!ELEMENT macroname (#PCDATA)> | |
316 | <!ATTLIST macroname | |
317 | alt CDATA #IMPLIED | |
318 | %boost.common.attrib;> | |
319 | ||
320 | <!ELEMENT headername (#PCDATA)> | |
321 | <!ATTLIST headername | |
322 | alt CDATA #IMPLIED | |
323 | %boost.common.attrib;> | |
324 | ||
325 | <!ELEMENT globalname (#PCDATA)> | |
326 | <!ATTLIST globalname | |
327 | alt CDATA #IMPLIED | |
328 | %boost.common.attrib;> | |
329 | ||
330 | <!ELEMENT copy-assignment | |
331 | (template?, type?, parameter*, %boost.function.semantics;)> | |
332 | <!ATTLIST copy-assignment | |
333 | cv CDATA #IMPLIED | |
334 | specifiers CDATA #IMPLIED | |
335 | %boost.common.attrib;> | |
336 | ||
337 | <!ELEMENT free-function-group (function|overloaded-function)*> | |
338 | <!ATTLIST free-function-group | |
339 | name CDATA #REQUIRED | |
340 | %boost.common.attrib;> | |
341 | ||
342 | <!ELEMENT precondition ANY> | |
343 | <!ATTLIST precondition %boost.common.attrib;> | |
344 | ||
345 | <!ELEMENT code ANY> | |
346 | <!ATTLIST code %boost.common.attrib;> | |
347 | ||
348 | <!ELEMENT using-namespace EMPTY> | |
349 | <!ATTLIST using-namespace | |
350 | name CDATA #REQUIRED | |
351 | %boost.common.attrib;> | |
352 | ||
353 | <!ELEMENT using-class EMPTY> | |
354 | <!ATTLIST using-class | |
355 | name CDATA #REQUIRED | |
356 | %boost.common.attrib;> | |
357 | ||
358 | <!--========== Boost Testsuite Extensions ==========--> | |
359 | <!ENTITY % boost.testsuite.tests | |
360 | "compile-test|link-test|run-test| | |
361 | compile-fail-test|link-fail-test|run-fail-test"> | |
362 | <!ENTITY % boost.testsuite.test.content | |
363 | "source*, lib*, requirement*, purpose, if-fails?"> | |
364 | ||
365 | <!ELEMENT testsuite ((%boost.testsuite.tests;)+)> | |
366 | <!ATTLIST testsuite %boost.common.attrib;> | |
367 | ||
368 | <!ELEMENT compile-test (%boost.testsuite.test.content;)> | |
369 | <!ATTLIST compile-test | |
370 | filename CDATA #REQUIRED | |
371 | name CDATA #IMPLIED> | |
372 | ||
373 | <!ELEMENT link-test (%boost.testsuite.test.content;)> | |
374 | <!ATTLIST link-test | |
375 | filename CDATA #REQUIRED | |
376 | name CDATA #IMPLIED> | |
377 | ||
378 | <!ELEMENT run-test (%boost.testsuite.test.content;)> | |
379 | <!ATTLIST run-test | |
380 | filename CDATA #REQUIRED | |
381 | name CDATA #IMPLIED> | |
382 | ||
383 | <!ELEMENT compile-fail-test (%boost.testsuite.test.content;)> | |
384 | <!ATTLIST compile-fail-test | |
385 | filename CDATA #REQUIRED | |
386 | name CDATA #IMPLIED> | |
387 | ||
388 | <!ELEMENT link-fail-test (%boost.testsuite.test.content;)> | |
389 | <!ATTLIST link-fail-test | |
390 | filename CDATA #REQUIRED | |
391 | name CDATA #IMPLIED> | |
392 | ||
393 | <!ELEMENT run-fail-test (%boost.testsuite.test.content;)> | |
394 | <!ATTLIST run-fail-test | |
395 | filename CDATA #REQUIRED | |
396 | name CDATA #IMPLIED> | |
397 | ||
398 | <!ELEMENT source (#PCDATA|snippet)*> | |
399 | ||
400 | <!ELEMENT snippet EMPTY> | |
401 | <!ATTLIST snippet | |
402 | name CDATA #REQUIRED> | |
403 | ||
404 | <!ELEMENT lib (#PCDATA)> | |
405 | ||
406 | <!ELEMENT requirement (#PCDATA)> | |
407 | <!ATTLIST requirement | |
408 | name CDATA #REQUIRED> | |
409 | ||
410 | <!ELEMENT if-fails ANY> | |
411 | ||
412 | <!ELEMENT parameter (paramtype, default?, description?)> | |
413 | <!ATTLIST parameter | |
414 | name CDATA #IMPLIED | |
415 | pack CDATA #IMPLIED> | |
416 | ||
417 | <!ELEMENT programlisting ANY> | |
418 | <!ATTLIST programlisting | |
419 | name CDATA #IMPLIED> | |
420 | ||
421 | <!--========== Customize the DocBook DTD ==========--> | |
422 | <!ENTITY % local.tech.char.class "|functionname|libraryname|enumname|headername|macroname|code"> | |
423 | <!ENTITY % local.para.class | |
424 | "|using-namespace|using-class|librarylist|librarycategorylist"> | |
425 | <!ENTITY % local.descobj.class "|libraryinfo"> | |
426 | <!ENTITY % local.classname.attrib "alt CDATA #IMPLIED"> | |
427 | <!ENTITY % local.methodname.attrib "alt CDATA #IMPLIED"> | |
428 | <!ENTITY % local.refentry.class "|library-reference|testsuite"> | |
429 | <!ENTITY % local.title.char.mix ""> | |
430 | <!ENTITY % programlisting.module "IGNORE"> | |
431 | <!ENTITY % parameter.module "IGNORE"> | |
432 | <!ENTITY % function.module "IGNORE"> | |
433 | <!ENTITY % type.module "IGNORE"> | |
434 | ||
435 | <!--========== Import DocBook DTD ==========--> | |
436 | <!ENTITY % DocBook PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | |
437 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> | |
438 | ||
439 | %DocBook; |