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