• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!--
2   BoostBook DTD version 1.1
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   This 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 %boost.common.attrib;>
317
318<!ELEMENT headername (#PCDATA)>
319<!ATTLIST headername %boost.common.attrib;>
320
321<!ELEMENT globalname (#PCDATA)>
322<!ATTLIST globalname
323    alt          CDATA  #IMPLIED
324    %boost.common.attrib;>
325
326<!ELEMENT copy-assignment
327    (template?, type?, parameter*, %boost.function.semantics;)>
328<!ATTLIST copy-assignment
329    cv           CDATA  #IMPLIED
330    specifiers   CDATA  #IMPLIED
331    %boost.common.attrib;>
332
333<!ELEMENT free-function-group (function|overloaded-function)*>
334<!ATTLIST free-function-group
335    name  CDATA  #REQUIRED
336    %boost.common.attrib;>
337
338<!ELEMENT precondition ANY>
339<!ATTLIST precondition %boost.common.attrib;>
340
341<!ELEMENT code ANY>
342<!ATTLIST code %boost.common.attrib;>
343
344<!ELEMENT using-namespace EMPTY>
345<!ATTLIST using-namespace
346    name   CDATA  #REQUIRED
347    %boost.common.attrib;>
348
349<!ELEMENT using-class EMPTY>
350<!ATTLIST using-class
351     name        CDATA #REQUIRED
352     %boost.common.attrib;>
353
354<!--========== Boost Testsuite Extensions ==========-->
355<!ENTITY % boost.testsuite.tests
356        "compile-test|link-test|run-test|
357         compile-fail-test|link-fail-test|run-fail-test">
358<!ENTITY % boost.testsuite.test.content
359        "source*, lib*, requirement*, purpose, if-fails?">
360
361<!ELEMENT testsuite ((%boost.testsuite.tests;)+)>
362<!ATTLIST testsuite %boost.common.attrib;>
363
364<!ELEMENT compile-test (%boost.testsuite.test.content;)>
365<!ATTLIST compile-test
366     filename CDATA #REQUIRED
367     name     CDATA #IMPLIED>
368
369<!ELEMENT link-test (%boost.testsuite.test.content;)>
370<!ATTLIST link-test
371     filename CDATA #REQUIRED
372     name     CDATA #IMPLIED>
373
374<!ELEMENT run-test (%boost.testsuite.test.content;)>
375<!ATTLIST run-test
376     filename CDATA #REQUIRED
377     name     CDATA #IMPLIED>
378
379<!ELEMENT compile-fail-test (%boost.testsuite.test.content;)>
380<!ATTLIST compile-fail-test
381     filename CDATA #REQUIRED
382     name     CDATA #IMPLIED>
383
384<!ELEMENT link-fail-test (%boost.testsuite.test.content;)>
385<!ATTLIST link-fail-test
386     filename CDATA #REQUIRED
387     name     CDATA #IMPLIED>
388
389<!ELEMENT run-fail-test (%boost.testsuite.test.content;)>
390<!ATTLIST run-fail-test
391     filename CDATA #REQUIRED
392     name     CDATA #IMPLIED>
393
394<!ELEMENT source (#PCDATA|snippet)*>
395
396<!ELEMENT snippet EMPTY>
397<!ATTLIST snippet
398     name CDATA #REQUIRED>
399
400<!ELEMENT lib (#PCDATA)>
401
402<!ELEMENT requirement (#PCDATA)>
403<!ATTLIST requirement
404     name CDATA #REQUIRED>
405
406<!ELEMENT if-fails ANY>
407
408<!ELEMENT parameter (paramtype, default?, description?)>
409<!ATTLIST parameter
410     name CDATA #IMPLIED
411     pack CDATA #IMPLIED>
412
413<!ELEMENT programlisting ANY>
414<!ATTLIST programlisting
415     name        CDATA #IMPLIED>
416
417<!--========== Customize the DocBook DTD ==========-->
418<!ENTITY % local.tech.char.class "|functionname|libraryname|enumname|code">
419<!ENTITY % local.para.class
420        "|using-namespace|using-class|librarylist|librarycategorylist">
421<!ENTITY % local.descobj.class "|libraryinfo">
422<!ENTITY % local.classname.attrib "alt CDATA #IMPLIED">
423<!ENTITY % local.methodname.attrib "alt CDATA #IMPLIED">
424<!ENTITY % local.refentry.class "|library-reference|testsuite">
425<!ENTITY % local.title.char.mix "">
426<!ENTITY % programlisting.module "IGNORE">
427<!ENTITY % parameter.module      "IGNORE">
428<!ENTITY % function.module       "IGNORE">
429<!ENTITY % type.module           "IGNORE">
430
431<!--========== Import DocBook DTD ==========-->
432<!ENTITY % DocBook PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
433           "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
434
435%DocBook;
436