• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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;
440