Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_33_1/tools/boostbook/doc/reference.dtdxml @ 12

Last change on this file since 12 was 12, checked in by landauf, 17 years ago

added boost

File size: 90.4 KB
Line 
1<dtd version='1.0'
2     unexpanded='1'
3     title="?untitled?"
4     namecase-general="1"
5     namecase-entity="0"
6     xml="0"
7     system-id="boostbook.dtd"
8     public-id=""
9     declaration=""
10     created-by="DTDParse V2.0beta6"
11     created-on="Sat Mar 29 16:11:38 2003"
12>
13<attpurpose name="id">A global identifier for this element</attpurpose>
14<attpurpose name="last-revision">Set to $Date: 2003/04/13 14:46:07 $ to keep "last revised" information in sync with CVS changes</attpurpose>
15<attpurpose name="xml:base">Implementation detail used by XIncludes</attpurpose>
16<attpurpose name="name">The name of the element being declared to referenced</attpurpose>
17<attpurpose name="filename">The name of the file associated with this element</attpurpose>
18<attpurpose name="specifiers">The specifiers for this function, e.g., <code>inline</code>, <code>static</code>, etc.</attpurpose>
19<attpurpose name="cv">cv-qualifiers for this method, e.g., <code>const volatile</code></attpurpose>
20
21<entity name="boost.class.content"
22        type="param"
23>
24<text-expanded>template?, inherit*, purpose?, description?,
25              (static-constant|typedef|enum|
26         copy-assignment|constructor|destructor|method-group|
27         free-function-group|function|method|overloaded-function|
28         overloaded-method|data-member|class|class-specialization|struct|
29         struct-specialization|union|union-specialization)*</text-expanded>
30<text>template?, inherit*, purpose?, description?,
31              (%boost.class.mix;)*</text>
32</entity>
33
34<entity name="boost.function.semantics"
35        type="param"
36>
37<text-expanded>purpose?, description?, requires?, effects?, postconditions?,
38         returns?, throws?, complexity?, notes?, rationale?</text-expanded>
39<text>purpose?, description?, requires?, effects?, postconditions?,
40         returns?, throws?, complexity?, notes?, rationale?</text>
41</entity>
42
43<entity name="parameter.module"
44        type="param"
45>
46<text-expanded>IGNORE</text-expanded>
47<text>IGNORE</text>
48</entity>
49
50<entity name="local.classname.attrib"
51        type="param"
52>
53<text-expanded>alt CDATA #IMPLIED</text-expanded>
54<text>alt CDATA #IMPLIED</text>
55</entity>
56
57<entity name="boost.namespace.mix"
58        type="param"
59>
60<text-expanded>class|class-specialization|struct|struct-specialization|
61         union|union-specialization|typedef|enum|
62         free-function-group|function|overloaded-function|
63         namespace</text-expanded>
64<text>class|class-specialization|struct|struct-specialization|
65         union|union-specialization|typedef|enum|
66         free-function-group|function|overloaded-function|
67         namespace</text>
68</entity>
69
70<entity name="boost.testsuite.test.content"
71        type="param"
72>
73<text-expanded>source*, lib*, requirement*, purpose, if-fails?</text-expanded>
74<text>source*, lib*, requirement*, purpose, if-fails?</text>
75</entity>
76
77<entity name="programlisting.module"
78        type="param"
79>
80<text-expanded>IGNORE</text-expanded>
81<text>IGNORE</text>
82</entity>
83
84<entity name="local.refentry.class"
85        type="param"
86>
87<text-expanded>|library-reference|testsuite</text-expanded>
88<text>|library-reference|testsuite</text>
89</entity>
90
91<entity name="boost.common.attrib"
92        type="param"
93>
94<text-expanded>xml:base      CDATA  #IMPLIED
95                                last-revision CDATA  #IMPLIED
96                                id            CDATA  #IMPLIED</text-expanded>
97<text>%local.common.attrib;
98                                id            CDATA  #IMPLIED</text>
99</entity>
100
101<entity name="boost.class.mix"
102        type="param"
103>
104<text-expanded>static-constant|typedef|enum|
105         copy-assignment|constructor|destructor|method-group|
106         free-function-group|function|method|overloaded-function|
107         overloaded-method|data-member|class|class-specialization|struct|
108         struct-specialization|union|union-specialization</text-expanded>
109<text>static-constant|typedef|enum|
110         copy-assignment|constructor|destructor|method-group|
111         free-function-group|function|method|overloaded-function|
112         overloaded-method|data-member|class|class-specialization|struct|
113         struct-specialization|union|union-specialization</text>
114</entity>
115
116<entity name="boost.testsuite.tests"
117        type="param"
118>
119<text-expanded>compile-test|link-test|run-test|
120         compile-fail-test|link-fail-test|run-fail-test</text-expanded>
121<text>compile-test|link-test|run-test|
122         compile-fail-test|link-fail-test|run-fail-test</text>
123</entity>
124
125<entity name="local.para.class"
126        type="param"
127>
128<text-expanded>|using-namespace|using-class|librarylist|librarycategorylist</text-expanded>
129<text>|using-namespace|using-class|librarylist|librarycategorylist</text>
130</entity>
131
132<entity name="DocBook"
133        type="param"
134        public="-//OASIS//DTD DocBook XML V4.2//EN"
135        system="http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
136/>
137
138<entity name="local.title.char.mix"
139        type="param"
140>
141<text-expanded></text-expanded>
142<text></text>
143</entity>
144
145<entity name="local.methodname.attrib"
146        type="param"
147>
148<text-expanded>alt CDATA #IMPLIED</text-expanded>
149<text>alt CDATA #IMPLIED</text>
150</entity>
151
152<entity name="local.tech.char.class"
153        type="param"
154>
155<text-expanded>|functionname|libraryname|code</text-expanded>
156<text>|functionname|libraryname|code</text>
157</entity>
158
159<entity name="function.module"
160        type="param"
161>
162<text-expanded>IGNORE</text-expanded>
163<text>IGNORE</text>
164</entity>
165
166<entity name="boost.template.mix"
167        type="param"
168>
169<text-expanded>template-type-parameter|template-nontype-parameter|template-varargs</text-expanded>
170<text>template-type-parameter|template-nontype-parameter|template-varargs</text>
171</entity>
172
173<entity name="local.common.attrib"
174        type="param"
175>
176<text-expanded>xml:base      CDATA  #IMPLIED
177                                last-revision CDATA  #IMPLIED</text-expanded>
178<text>xml:base      CDATA  #IMPLIED
179                                last-revision CDATA  #IMPLIED</text>
180</entity>
181
182<entity name="type.module"
183        type="param"
184>
185<text-expanded>IGNORE</text-expanded>
186<text>IGNORE</text>
187</entity>
188
189<entity name="local.descobj.class"
190        type="param"
191>
192<text-expanded>|libraryinfo</text-expanded>
193<text>|libraryinfo</text>
194</entity>
195
196<entity name="boost.class-specialization.content"
197        type="param"
198>
199<text-expanded>template?, specialization?, inherit?, purpose?, description?,
200              (static-constant|typedef|enum|
201         copy-assignment|constructor|destructor|method-group|
202         free-function-group|function|method|overloaded-function|
203         overloaded-method|data-member|class|class-specialization|struct|
204         struct-specialization|union|union-specialization)*</text-expanded>
205<text>template?, specialization?, inherit?, purpose?, description?,
206              (%boost.class.mix;)*</text>
207</entity>
208
209<entity name="library.content"
210        type="param"
211>
212<text-expanded>libraryinfo, (title, ((section|library-reference|testsuite))+)?</text-expanded>
213<text>libraryinfo, (title, ((section|library-reference|testsuite))+)?</text>
214</entity>
215
216<element name="class-specialization"
217         content-type="element">
218<content-model-expanded>
219  <sequence-group>
220    <element-name name="template" occurrence="?"/>
221    <element-name name="specialization" occurrence="?"/>
222    <element-name name="inherit" occurrence="?"/>
223    <element-name name="purpose" occurrence="?"/>
224    <element-name name="description" occurrence="?"/>
225    <or-group occurrence="*">
226      <element-name name="static-constant"/>
227      <element-name name="typedef"/>
228      <element-name name="enum"/>
229      <element-name name="copy-assignment"/>
230      <element-name name="constructor"/>
231      <element-name name="destructor"/>
232      <element-name name="method-group"/>
233      <element-name name="free-function-group"/>
234      <element-name name="function"/>
235      <element-name name="method"/>
236      <element-name name="overloaded-function"/>
237      <element-name name="overloaded-method"/>
238      <element-name name="data-member"/>
239      <element-name name="class"/>
240      <element-name name="class-specialization"/>
241      <element-name name="struct"/>
242      <element-name name="struct-specialization"/>
243      <element-name name="union"/>
244      <element-name name="union-specialization"/>
245    </or-group>
246  </sequence-group>
247</content-model-expanded>
248<content-model>
249  <sequence-group>
250    <parament-name name="boost.class-specialization.content"/>
251  </sequence-group>
252</content-model>
253
254<purpose>A specialization (partial or full) of a class template</purpose>
255</element>
256
257<attlist name="class-specialization">
258<attdecl>
259    name  CDATA  #REQUIRED
260    %boost.common.attrib;</attdecl>
261<attribute name="last-revision"
262           type="#IMPLIED"
263           value="CDATA"
264           default=""/>
265<attribute name="name"
266           type="#REQUIRED"
267           value="CDATA"
268           default=""/>
269<attribute name="id"
270           type="#IMPLIED"
271           value="CDATA"
272           default=""/>
273<attribute name="xml:base"
274           type="#IMPLIED"
275           value="CDATA"
276           default=""/>
277</attlist>
278
279<element name="link-test"
280         content-type="element">
281<content-model-expanded>
282  <sequence-group>
283    <element-name name="source" occurrence="*"/>
284    <element-name name="lib" occurrence="*"/>
285    <element-name name="requirement" occurrence="*"/>
286    <element-name name="purpose"/>
287    <element-name name="if-fails" occurrence="?"/>
288  </sequence-group>
289</content-model-expanded>
290<content-model>
291  <sequence-group>
292    <parament-name name="boost.testsuite.test.content"/>
293  </sequence-group>
294</content-model>
295<purpose>Declares a test that should compile and link</purpose>
296</element>
297
298<attlist name="link-test">
299<attdecl> 
300     filename CDATA #REQUIRED
301     name     CDATA #IMPLIED</attdecl>
302<attribute name="filename"
303           type="#REQUIRED"
304           value="CDATA"
305           default=""/>
306<attribute name="name"
307           type="#IMPLIED"
308           value="CDATA"
309           default=""/>
310</attlist>
311
312<element name="link-fail-test"
313         content-type="element">
314<content-model-expanded>
315  <sequence-group>
316    <element-name name="source" occurrence="*"/>
317    <element-name name="lib" occurrence="*"/>
318    <element-name name="requirement" occurrence="*"/>
319    <element-name name="purpose"/>
320    <element-name name="if-fails" occurrence="?"/>
321  </sequence-group>
322</content-model-expanded>
323<content-model>
324  <sequence-group>
325    <parament-name name="boost.testsuite.test.content"/>
326  </sequence-group>
327</content-model>
328<purpose>Declares a test that should compile but fail to link</purpose>
329</element>
330
331<attlist name="link-fail-test">
332<attdecl> 
333     filename CDATA #REQUIRED
334     name     CDATA #IMPLIED</attdecl>
335<attribute name="filename"
336           type="#REQUIRED"
337           value="CDATA"
338           default=""/>
339<attribute name="name"
340           type="#IMPLIED"
341           value="CDATA"
342           default=""/>
343</attlist>
344
345<element name="typedef"
346         content-type="element">
347<content-model-expanded>
348  <sequence-group>
349    <element-name name="type"/>
350    <element-name name="purpose" occurrence="?"/>
351    <element-name name="description" occurrence="?"/>
352  </sequence-group>
353</content-model-expanded>
354<content-model>
355  <sequence-group>
356    <element-name name="type"/>
357    <element-name name="purpose" occurrence="?"/>
358    <element-name name="description" occurrence="?"/>
359  </sequence-group>
360</content-model>
361<purpose>Declares a typedef</purpose>
362</element>
363
364<attlist name="typedef">
365<attdecl>
366    name     CDATA  #REQUIRED
367    %boost.common.attrib;</attdecl>
368<attribute name="last-revision"
369           type="#IMPLIED"
370           value="CDATA"
371           default=""/>
372<attribute name="name"
373           type="#REQUIRED"
374           value="CDATA"
375           default=""/>
376<attribute name="id"
377           type="#IMPLIED"
378           value="CDATA"
379           default=""/>
380<attribute name="xml:base"
381           type="#IMPLIED"
382           value="CDATA"
383           default=""/>
384</attlist>
385
386<element name="static-constant"
387         content-type="element">
388<content-model-expanded>
389  <sequence-group>
390    <element-name name="type"/>
391    <element-name name="default"/>
392    <element-name name="purpose" occurrence="?"/>
393    <element-name name="description" occurrence="?"/>
394  </sequence-group>
395</content-model-expanded>
396<content-model>
397  <sequence-group>
398    <element-name name="type"/>
399    <element-name name="default"/>
400    <element-name name="purpose" occurrence="?"/>
401    <element-name name="description" occurrence="?"/>
402  </sequence-group>
403</content-model>
404<purpose>Declares a static constant, e.g., <code>const int foo = 5;</code>.</purpose>
405</element>
406
407<attlist name="static-constant">
408<attdecl>
409    name   CDATA  #REQUIRED
410    %boost.common.attrib;</attdecl>
411<attribute name="last-revision"
412           type="#IMPLIED"
413           value="CDATA"
414           default=""/>
415<attribute name="name"
416           type="#REQUIRED"
417           value="CDATA"
418           default=""/>
419<attribute name="id"
420           type="#IMPLIED"
421           value="CDATA"
422           default=""/>
423<attribute name="xml:base"
424           type="#IMPLIED"
425           value="CDATA"
426           default=""/>
427</attlist>
428
429<element name="code"
430         content-type="element">
431<content-model-expanded>
432  <sequence-group>
433    <any/>
434  </sequence-group>
435</content-model-expanded>
436<content-model>
437  <sequence-group>
438    <any/>
439  </sequence-group>
440</content-model>
441<purpose>Mimics the <sgmltag>code</sgmltag> tag in HTML</purpose>
442<description>
443  <para>Text within a <sgmltag>code</sgmltag> tag is generally typeset
444  in a different, monospaced font so that it stands out as code. The
445  <sgmltag>code</sgmltag> tag in BoostBook is transformed directly
446  into the <sgmltag>computeroutput</sgmltag> tag in DocBook.</para>
447</description>
448</element>
449
450<attlist name="code">
451<attdecl> %boost.common.attrib;</attdecl>
452<attribute name="last-revision"
453           type="#IMPLIED"
454           value="CDATA"
455           default=""/>
456<attribute name="id"
457           type="#IMPLIED"
458           value="CDATA"
459           default=""/>
460<attribute name="xml:base"
461           type="#IMPLIED"
462           value="CDATA"
463           default=""/>
464</attlist>
465
466<element name="destructor"
467         content-type="element">
468<content-model-expanded>
469  <sequence-group>
470    <element-name name="purpose" occurrence="?"/>
471    <element-name name="description" occurrence="?"/>
472    <element-name name="requires" occurrence="?"/>
473    <element-name name="effects" occurrence="?"/>
474    <element-name name="postconditions" occurrence="?"/>
475    <element-name name="returns" occurrence="?"/>
476    <element-name name="throws" occurrence="?"/>
477    <element-name name="complexity" occurrence="?"/>
478    <element-name name="notes" occurrence="?"/>
479    <element-name name="rationale" occurrence="?"/>
480  </sequence-group>
481</content-model-expanded>
482<content-model>
483  <sequence-group>
484    <parament-name name="boost.function.semantics"/>
485  </sequence-group>
486</content-model>
487<purpose>Declares a destructor for the enclosing class</purpose>
488<description>
489  <para>General documentation on functions in BoostBook is provided in
490  the <link
491  linkend="boostbook.dtd.function"><sgmltag>function</sgmltag></link>
492  element documentation.</para>
493</description>
494</element>
495
496<attlist name="destructor">
497<attdecl> 
498    specifiers   CDATA  #IMPLIED
499    %boost.common.attrib;</attdecl>
500<attribute name="last-revision"
501           type="#IMPLIED"
502           value="CDATA"
503           default=""/>
504<attribute name="specifiers"
505           type="#IMPLIED"
506           value="CDATA"
507           default=""/>
508<attribute name="id"
509           type="#IMPLIED"
510           value="CDATA"
511           default=""/>
512<attribute name="xml:base"
513           type="#IMPLIED"
514           value="CDATA"
515           default=""/>
516</attlist>
517
518<element name="template-type-parameter"
519         content-type="element">
520<content-model-expanded>
521  <sequence-group>
522    <element-name name="default" occurrence="?"/>
523    <element-name name="purpose" occurrence="?"/>
524  </sequence-group>
525</content-model-expanded>
526<content-model>
527  <sequence-group>
528    <element-name name="default" occurrence="?"/>
529    <element-name name="purpose" occurrence="?"/>
530  </sequence-group>
531</content-model>
532<purpose>Declares a template type parameter</purpose>
533</element>
534
535<attlist name="template-type-parameter">
536<attdecl>
537    name                     CDATA  #REQUIRED
538    %boost.common.attrib;</attdecl>
539<attribute name="last-revision"
540           type="#IMPLIED"
541           value="CDATA"
542           default=""/>
543<attribute name="name"
544           type="#REQUIRED"
545           value="CDATA"
546           default=""/>
547<attribute name="id"
548           type="#IMPLIED"
549           value="CDATA"
550           default=""/>
551<attribute name="xml:base"
552           type="#IMPLIED"
553           value="CDATA"
554           default=""/>
555</attlist>
556
557<element name="description"
558         content-type="element">
559<content-model-expanded>
560  <sequence-group>
561    <any/>
562  </sequence-group>
563</content-model-expanded>
564<content-model>
565  <sequence-group>
566    <any/>
567  </sequence-group>
568</content-model>
569<purpose>Detailed description of a construct</purpose>
570<description>
571  <para>Although the context model for this element is
572  <code>ANY</code>, detailed descriptions should contain structured
573  DocBook elements that occur within sections, e.g., paragraphs
574  (<sgmltag>para</sgmltag>, <sgmltag>simpara</sgmltag>), lists
575  (<sgmltag>orderedlist</sgmltag>, <sgmltag>itemizedlist</sgmltag>),
576  tables (<sgmltag>informaltable</sgmltag>, <sgmltag>table</sgmltag>),
577  etc.</para>
578</description>
579</element>
580
581<attlist name="description">
582<attdecl> %boost.common.attrib;</attdecl>
583<attribute name="last-revision"
584           type="#IMPLIED"
585           value="CDATA"
586           default=""/>
587<attribute name="id"
588           type="#IMPLIED"
589           value="CDATA"
590           default=""/>
591<attribute name="xml:base"
592           type="#IMPLIED"
593           value="CDATA"
594           default=""/>
595</attlist>
596
597<element name="librarylist"
598         content-type="element">
599<content-model-expanded>
600  <empty/>
601</content-model-expanded>
602<content-model>
603  <empty/>
604</content-model>
605<purpose>Placeholder for an alphabetical list of libraries</purpose>
606<description>
607  <para>Developers aren't generally expected to use this element. Its existence is mainly as a placeholder in <filename>boost.xml</filename> for the alphabetical list of libraries.</para>
608</description>
609</element>
610
611<attlist name="librarylist">
612<attdecl> %boost.common.attrib;</attdecl>
613<attribute name="last-revision"
614           type="#IMPLIED"
615           value="CDATA"
616           default=""/>
617<attribute name="id"
618           type="#IMPLIED"
619           value="CDATA"
620           default=""/>
621<attribute name="xml:base"
622           type="#IMPLIED"
623           value="CDATA"
624           default=""/>
625</attlist>
626
627<element name="library-reference"
628         content-type="element">
629<!-- DPG brazenly modified the content model here, because "ANY" is
630     not a good idea and merging this document with another is, to say the
631     least, a PITA. -->
632<content-model-expanded>
633  <sequence-group>
634    <element-name name="title" occurrence="?"/>
635    <element-name name="section" occurrence="*"/>
636    <or-group occurrence="*">
637      <element-name name="header"/>
638      <element-name name="library-reference"/>
639    </or-group>
640  </sequence-group>
641</content-model-expanded>
642<content-model> 
643  <sequence-group>
644    <element-name name="title" occurrence="?"/>
645    <element-name name="section" occurrence="*"/>
646    <or-group>
647      <element-name name="header" occurrence="*"/>
648      <element-name name="library-reference" occurrence="*"/>
649    </or-group>
650  </sequence-group>
651</content-model>
652<purpose>Declares the reference material for a library</purpose>
653<description>
654  <para>Reference documentation for a library is contained with a
655  &lt;library-reference&gt; element. The &lt;library-reference&gt;
656  element has no attributes, and contains as children only
657  &lt;header&gt; elements.</para>
658
659  <para>The &lt;header&gt; element defines a C++ header file. Within
660  each C++ header file lie the definitions of C++ constructs to be
661  documented. The <code>name</code> attribute of the &lt;header&gt;
662  element gives the name of the header, as one would specify when
663  including the header. For instance, the &lt;library-reference&gt;
664  for the <libraryname>Any</libraryname> library may look like
665  this:</para>
666
667  <programlisting>&lt;library-reference&gt;
668  &lt;header name="boost/any.hpp"&gt;
669    &lt;!-- C++ constructs in this header --&gt;
670  &lt;/header&gt;
671&lt;/library-reference&gt;</programlisting>
672
673  <para>If the <libraryname>Any</libraryname> library contained
674  multiple headers, we would list them all as children of the
675  &lt;library-reference&gt; element.</para>
676
677  <para><sgmltag>library-reference</sgmltag> elements can be nested,
678  so that reference material can be divided into separate sections
679  that each contain different headers.</para>
680</description>
681</element>
682
683<attlist name="library-reference">
684<attdecl>
685    %boost.common.attrib;</attdecl>
686<attribute name="last-revision"
687           type="#IMPLIED"
688           value="CDATA"
689           default=""/>
690<attribute name="id"
691           type="#IMPLIED"
692           value="CDATA"
693           default=""/>
694<attribute name="xml:base"
695           type="#IMPLIED"
696           value="CDATA"
697           default=""/>
698</attlist>
699
700<element name="boostbook"
701         content-type="element">
702<content-model-expanded>
703  <sequence-group>
704    <element-name name="title"/>
705    <or-group occurrence="*">
706      <element-name name="chapter"/>
707      <element-name name="library"/>
708    </or-group>
709  </sequence-group>
710</content-model-expanded>
711<content-model>
712  <sequence-group>
713    <element-name name="title"/>
714    <or-group occurrence="*">
715      <element-name name="chapter"/>
716      <element-name name="library"/>
717    </or-group>
718  </sequence-group>
719</content-model>
720<purpose>Defines a BoostBook book</purpose>
721<description>
722  <simpara>This element is the topmost level defined by
723  <filename>boost.xml</filename> for all Boost documentation. It will
724  not generally be used by developers.</simpara>
725</description>
726</element>
727
728<attlist name="boostbook">
729<attdecl> %boost.common.attrib;</attdecl>
730<attribute name="last-revision"
731           type="#IMPLIED"
732           value="CDATA"
733           default=""/>
734<attribute name="id"
735           type="#IMPLIED"
736           value="CDATA"
737           default=""/>
738<attribute name="xml:base"
739           type="#IMPLIED"
740           value="CDATA"
741           default=""/>
742</attlist>
743
744<element name="union"
745         content-type="element">
746<content-model-expanded>
747  <sequence-group>
748    <element-name name="template" occurrence="?"/>
749    <element-name name="inherit" occurrence="*"/>
750    <element-name name="purpose" occurrence="?"/>
751    <element-name name="description" occurrence="?"/>
752    <or-group occurrence="*">
753      <element-name name="static-constant"/>
754      <element-name name="typedef"/>
755      <element-name name="enum"/>
756      <element-name name="copy-assignment"/>
757      <element-name name="constructor"/>
758      <element-name name="destructor"/>
759      <element-name name="method-group"/>
760      <element-name name="free-function-group"/>
761      <element-name name="function"/>
762      <element-name name="method"/>
763      <element-name name="overloaded-function"/>
764      <element-name name="overloaded-method"/>
765      <element-name name="data-member"/>
766      <element-name name="class"/>
767      <element-name name="class-specialization"/>
768      <element-name name="struct"/>
769      <element-name name="struct-specialization"/>
770      <element-name name="union"/>
771      <element-name name="union-specialization"/>
772    </or-group>
773  </sequence-group>
774</content-model-expanded>
775<content-model>
776  <sequence-group>
777    <parament-name name="boost.class.content"/>
778  </sequence-group>
779</content-model>
780<purpose>Declares a C++ union or union template</purpose>
781</element>
782
783<attlist name="union">
784<attdecl>
785    name  CDATA  #REQUIRED
786    %boost.common.attrib;</attdecl>
787<attribute name="last-revision"
788           type="#IMPLIED"
789           value="CDATA"
790           default=""/>
791<attribute name="name"
792           type="#REQUIRED"
793           value="CDATA"
794           default=""/>
795<attribute name="id"
796           type="#IMPLIED"
797           value="CDATA"
798           default=""/>
799<attribute name="xml:base"
800           type="#IMPLIED"
801           value="CDATA"
802           default=""/>
803</attlist>
804
805<element name="inherit"
806         content-type="element">
807<content-model-expanded>
808  <sequence-group>
809    <element-name name="type"/>
810    <element-name name="purpose" occurrence="?"/>
811  </sequence-group>
812</content-model-expanded>
813<content-model>
814  <sequence-group>
815    <element-name name="type"/>
816    <element-name name="purpose" occurrence="?"/>
817  </sequence-group>
818</content-model>
819<purpose>Declares a base class of the enclosing class or struct</purpose>
820
821<description>
822  <para>This element contains the name of the class inherited. The
823  content model is free-form, as the inherited class may be an
824  instantiation of a template and may have markup in it (e.g.,
825  <sgmltag>classname</sgmltag> tags).</para>
826</description>
827</element>
828
829<attlist name="inherit">
830<attdecl>
831    access  CDATA  #REQUIRED
832    %boost.common.attrib;</attdecl>
833<attribute name="last-revision"
834           type="#IMPLIED"
835           value="CDATA"
836           default=""/>
837<attribute name="access"
838           type="#REQUIRED"
839           value="CDATA"
840           default=""/>
841<attribute name="id"
842           type="#IMPLIED"
843           value="CDATA"
844           default=""/>
845<attribute name="xml:base"
846           type="#IMPLIED"
847           value="CDATA"
848           default=""/>
849</attlist>
850
851<element name="template-varargs"
852         content-type="element">
853<content-model-expanded>
854  <empty/>
855</content-model-expanded>
856<content-model>
857  <empty/>
858</content-model>
859<purpose>Declares a variable-length list of template parameters</purpose>
860
861<description>
862  <para>Variable-length template parameter lists are not allowed in
863  C++, but because they are sometimes needed in documentation they are
864  allowed in BoostBook. This element generally expands to "..." and
865  can be used anywhere any other template parameter can be
866  used.</para>
867</description>
868</element>
869
870<attlist name="template-varargs">
871<attdecl> %boost.common.attrib;</attdecl>
872<attribute name="last-revision"
873           type="#IMPLIED"
874           value="CDATA"
875           default=""/>
876<attribute name="id"
877           type="#IMPLIED"
878           value="CDATA"
879           default=""/>
880<attribute name="xml:base"
881           type="#IMPLIED"
882           value="CDATA"
883           default=""/>
884</attlist>
885
886<element name="source"
887         content-type="mixed">
888<content-model-expanded>
889  <or-group occurrence="*">
890    <pcdata/>
891    <element-name name="snippet"/>
892  </or-group>
893</content-model-expanded>
894<content-model>
895  <or-group occurrence="*">
896    <pcdata/>
897    <element-name name="snippet"/>
898  </or-group>
899</content-model>
900<purpose>Defines source code for a test</purpose>
901
902<description>
903  <para>This element will contain the source code for a testcase that
904  will be generated from the documentation. To reduce the amount of escaping in the text, it is recommended to use CDATA sections, which look like this:
905
906    <programlisting>&lt;![CDATA[
907&lt;your program text here: no escaping needed!&gt;
908]]&gt;</programlisting>
909  </para>
910
911  <para>In addition to CDATA sections, code snippets can be pulled in
912  from <sgmltag>programlisting</sgmltag> elements using the <link
913  linkend="boostbook.dtd.snippet"><sgmltag>snippet</sgmltag></link>
914  element.</para>
915</description>
916
917</element>
918
919<element name="function"
920         content-type="element">
921<content-model-expanded>
922  <sequence-group>
923    <element-name name="template" occurrence="?"/>
924    <element-name name="type"/>
925    <element-name name="parameter" occurrence="*"/>
926    <element-name name="purpose" occurrence="?"/>
927    <element-name name="description" occurrence="?"/>
928    <element-name name="requires" occurrence="?"/>
929    <element-name name="effects" occurrence="?"/>
930    <element-name name="postconditions" occurrence="?"/>
931    <element-name name="returns" occurrence="?"/>
932    <element-name name="throws" occurrence="?"/>
933    <element-name name="complexity" occurrence="?"/>
934    <element-name name="notes" occurrence="?"/>
935    <element-name name="rationale" occurrence="?"/>
936  </sequence-group>
937</content-model-expanded>
938<content-model>
939  <sequence-group>
940    <element-name name="template" occurrence="?"/>
941    <element-name name="type"/>
942    <element-name name="parameter" occurrence="*"/>
943    <parament-name name="boost.function.semantics"/>
944  </sequence-group>
945</content-model>
946<purpose>Declares a function</purpose>
947<description>
948  <para>BoostBook functions are documented by specifying the
949  function's interface (e.g., its C++ signature) and its
950  behavior. Constructors, destructors, member functions, and free
951  functions all use the same documentation method, although the
952  top-level tags differ.</para>
953   
954  <para>The behavior of functions in BoostBook is documenting using a
955  style similar to that of the C++ standard, with clauses describing
956  the requirements, effects, postconditions, exception behavior, and
957  return values of functions.</para>
958
959  <para>The following example illustrates some constructors and a
960  destructor for <classname>boost::any</classname>. Note that one of
961  the constructors takes a single parameter whose name is "other" and
962  whose type, <code>const any&amp;</code> is contained in the
963  &lt;paramtype&gt; element; any number of parameters may be specified
964  in this way.</para>
965
966  <programlisting>&lt;class name="any"&gt;
967  &lt;constructor&gt;
968    &lt;postconditions&gt;&lt;para&gt;&lt;this-&gt;empty()&gt;&lt;/para&gt;&lt;/postconditions&gt;
969  &lt;/constructor&gt;
970
971  &lt;constructor&gt;
972    &lt;parameter name="other"&gt;
973      &lt;paramtype&gt;const &lt;classname&gt;any&lt;/classname&gt;&amp;amp;&lt;/paramtype&gt;
974    &lt;/parameter&gt;
975
976    &lt;effects&gt;
977      &lt;simpara&gt; Copy constructor that copies
978        content of &lt;code&gt;other&lt;/code&gt; into the new instance,
979        so that any content is equivalent in both type and value to the
980        content of &lt;code&gt;other&lt;/code&gt;, or empty if
981        &lt;code&gt;other&lt;/code&gt; is
982        empty.
983      &lt;/simpara&gt;
984    &lt;/effects&gt;
985
986    &lt;throws&gt;
987      &lt;simpara&gt;May fail with a
988        &lt;classname&gt;std::bad_alloc&lt;/classname&gt; exception or any
989        exceptions arising from the copy constructor of the
990        contained type.
991      &lt;/simpara&gt;
992    &lt;/throws&gt;
993  &lt;/constructor&gt;
994
995  &lt;destructor&gt;
996     &lt;effects&gt;&lt;simpara&gt;Releases any and all resources used in
997     management of instance.&lt;/simpara&gt;&lt;/effects&gt;
998
999     &lt;throws&gt;&lt;simpara&gt;Nothing.&lt;/simpara&gt;&lt;/throws&gt;
1000  &lt;/destructor&gt;
1001&lt;/class&gt;</programlisting>
1002</description>
1003</element>
1004
1005<attlist name="function">
1006<attdecl>
1007    name         CDATA  #REQUIRED
1008    specifiers   CDATA  #IMPLIED
1009    %boost.common.attrib;</attdecl>
1010<attribute name="last-revision"
1011           type="#IMPLIED"
1012           value="CDATA"
1013           default=""/>
1014<attribute name="specifiers"
1015           type="#IMPLIED"
1016           value="CDATA"
1017           default=""/>
1018<attribute name="name"
1019           type="#REQUIRED"
1020           value="CDATA"
1021           default=""/>
1022<attribute name="id"
1023           type="#IMPLIED"
1024           value="CDATA"
1025           default=""/>
1026<attribute name="xml:base"
1027           type="#IMPLIED"
1028           value="CDATA"
1029           default=""/>
1030</attlist>
1031
1032<element name="postconditions"
1033         content-type="element">
1034<content-model-expanded>
1035  <sequence-group>
1036    <any/>
1037  </sequence-group>
1038</content-model-expanded>
1039<content-model>
1040  <sequence-group>
1041    <any/>
1042  </sequence-group>
1043</content-model>
1044<purpose>Conditions that must hold after the function returns</purpose>
1045</element>
1046
1047<attlist name="postconditions">
1048<attdecl> %boost.common.attrib;</attdecl>
1049<attribute name="last-revision"
1050           type="#IMPLIED"
1051           value="CDATA"
1052           default=""/>
1053<attribute name="id"
1054           type="#IMPLIED"
1055           value="CDATA"
1056           default=""/>
1057<attribute name="xml:base"
1058           type="#IMPLIED"
1059           value="CDATA"
1060           default=""/>
1061</attlist>
1062
1063<element name="compile-test"
1064         content-type="element">
1065<content-model-expanded>
1066  <sequence-group>
1067    <element-name name="source" occurrence="*"/>
1068    <element-name name="lib" occurrence="*"/>
1069    <element-name name="requirement" occurrence="*"/>
1070    <element-name name="purpose"/>
1071    <element-name name="if-fails" occurrence="?"/>
1072  </sequence-group>
1073</content-model-expanded>
1074<content-model>
1075  <sequence-group>
1076    <parament-name name="boost.testsuite.test.content"/>
1077  </sequence-group>
1078</content-model>
1079<purpose>A testcase that should compile correctly</purpose>
1080</element>
1081
1082<attlist name="compile-test">
1083<attdecl>
1084     filename CDATA #REQUIRED
1085     name     CDATA #IMPLIED</attdecl>
1086<attribute name="filename"
1087           type="#REQUIRED"
1088           value="CDATA"
1089           default=""/>
1090<attribute name="name"
1091           type="#IMPLIED"
1092           value="CDATA"
1093           default=""/>
1094</attlist>
1095
1096<element name="method"
1097         content-type="element">
1098<content-model-expanded>
1099  <sequence-group>
1100    <element-name name="template" occurrence="?"/>
1101    <element-name name="type"/>
1102    <element-name name="parameter" occurrence="*"/>
1103    <element-name name="purpose" occurrence="?"/>
1104    <element-name name="description" occurrence="?"/>
1105    <element-name name="requires" occurrence="?"/>
1106    <element-name name="effects" occurrence="?"/>
1107    <element-name name="postconditions" occurrence="?"/>
1108    <element-name name="returns" occurrence="?"/>
1109    <element-name name="throws" occurrence="?"/>
1110    <element-name name="complexity" occurrence="?"/>
1111    <element-name name="notes" occurrence="?"/>
1112    <element-name name="rationale" occurrence="?"/>
1113  </sequence-group>
1114</content-model-expanded>
1115<content-model>
1116  <sequence-group>
1117    <element-name name="template" occurrence="?"/>
1118    <element-name name="type"/>
1119    <element-name name="parameter" occurrence="*"/>
1120    <parament-name name="boost.function.semantics"/>
1121  </sequence-group>
1122</content-model>
1123<purpose>Declares a method, i.e., a member function</purpose>
1124<description>
1125  <para>General documentation on functions in BoostBook is provided in
1126  the <link
1127  linkend="boostbook.dtd.function"><sgmltag>function</sgmltag></link>
1128  element documentation.</para>
1129</description>
1130</element>
1131
1132<attlist name="method">
1133<attdecl>
1134    name         CDATA  #REQUIRED
1135    cv           CDATA  #IMPLIED
1136    specifiers   CDATA  #IMPLIED
1137    %boost.common.attrib;</attdecl>
1138<attribute name="last-revision"
1139           type="#IMPLIED"
1140           value="CDATA"
1141           default=""/>
1142<attribute name="cv"
1143           type="#IMPLIED"
1144           value="CDATA"
1145           default=""/>
1146<attribute name="specifiers"
1147           type="#IMPLIED"
1148           value="CDATA"
1149           default=""/>
1150<attribute name="name"
1151           type="#REQUIRED"
1152           value="CDATA"
1153           default=""/>
1154<attribute name="id"
1155           type="#IMPLIED"
1156           value="CDATA"
1157           default=""/>
1158<attribute name="xml:base"
1159           type="#IMPLIED"
1160           value="CDATA"
1161           default=""/>
1162</attlist>
1163
1164<element name="snippet"
1165         content-type="element">
1166<content-model-expanded>
1167  <empty/>
1168</content-model-expanded>
1169<content-model>
1170  <empty/>
1171</content-model>
1172<purpose>Pulls in a code snippet from a <sgmltag>programlisting</sgmltag> element</purpose>
1173</element>
1174
1175<attlist name="snippet">
1176<attdecl>
1177     name CDATA #REQUIRED</attdecl>
1178<attribute name="name"
1179           type="#REQUIRED"
1180           value="CDATA"
1181           default="">
1182  <purpose>The name of the <sgmltag>programlisting</sgmltag> element to insert</purpose>
1183</attribute>
1184</attlist>
1185
1186<element name="constructor"
1187         content-type="element">
1188<content-model-expanded>
1189  <sequence-group>
1190    <element-name name="template" occurrence="?"/>
1191    <element-name name="parameter" occurrence="*"/>
1192    <element-name name="purpose" occurrence="?"/>
1193    <element-name name="description" occurrence="?"/>
1194    <element-name name="requires" occurrence="?"/>
1195    <element-name name="effects" occurrence="?"/>
1196    <element-name name="postconditions" occurrence="?"/>
1197    <element-name name="returns" occurrence="?"/>
1198    <element-name name="throws" occurrence="?"/>
1199    <element-name name="complexity" occurrence="?"/>
1200    <element-name name="notes" occurrence="?"/>
1201    <element-name name="rationale" occurrence="?"/>
1202  </sequence-group>
1203</content-model-expanded>
1204<content-model>
1205  <sequence-group>
1206    <element-name name="template" occurrence="?"/>
1207    <element-name name="parameter" occurrence="*"/>
1208    <parament-name name="boost.function.semantics"/>
1209  </sequence-group>
1210</content-model>
1211<purpose>Declares a constructor of the enclosing class</purpose>
1212<description>
1213  <para>General documentation on functions in BoostBook is provided in
1214  the <link
1215  linkend="boostbook.dtd.function"><sgmltag>function</sgmltag></link>
1216  element documentation.</para>
1217</description>
1218</element>
1219
1220<attlist name="constructor">
1221<attdecl> 
1222    specifiers   CDATA  #IMPLIED
1223    %boost.common.attrib;</attdecl>
1224<attribute name="last-revision"
1225           type="#IMPLIED"
1226           value="CDATA"
1227           default=""/>
1228<attribute name="specifiers"
1229           type="#IMPLIED"
1230           value="CDATA"
1231           default=""/>
1232<attribute name="id"
1233           type="#IMPLIED"
1234           value="CDATA"
1235           default=""/>
1236<attribute name="xml:base"
1237           type="#IMPLIED"
1238           value="CDATA"
1239           default=""/>
1240</attlist>
1241
1242<element name="namespace"
1243         content-type="element">
1244<content-model-expanded>
1245  <or-group occurrence="*">
1246    <element-name name="class"/>
1247    <element-name name="class-specialization"/>
1248    <element-name name="struct"/>
1249    <element-name name="struct-specialization"/>
1250    <element-name name="union"/>
1251    <element-name name="union-specialization"/>
1252    <element-name name="typedef"/>
1253    <element-name name="enum"/>
1254    <element-name name="free-function-group"/>
1255    <element-name name="function"/>
1256    <element-name name="overloaded-function"/>
1257    <element-name name="namespace"/>
1258  </or-group>
1259</content-model-expanded>
1260<content-model>
1261  <sequence-group occurrence="*">
1262    <parament-name name="boost.namespace.mix"/>
1263  </sequence-group>
1264</content-model>
1265<purpose>Declares a namespace</purpose>
1266
1267<description>
1268  <para>BoostBook namespaces are declared via the &lt;namespace&gt;
1269  element. As in C++, namespaces can be nested and contain other C++
1270  constructs, such as classes or functions. The <code>name</code>
1271  attribute of a &lt;namespace&gt; element gives the namespace name
1272  (e.g., "boost"). The <libraryname>Any</libraryname> library is
1273  defined entirely within namespace boost by:</para>
1274
1275  <programlisting>&lt;library-reference&gt;
1276  &lt;header name="boost/any.hpp"&gt;
1277    &lt;namespace name="boost"&gt; 
1278      &lt;!-- C++ constructs in the boost namespace --&gt;
1279    &lt;/namespace&gt;
1280  &lt;/header&gt;
1281&lt;/library-reference&gt;</programlisting>
1282</description>
1283</element>
1284
1285<attlist name="namespace">
1286<attdecl>
1287    name  CDATA  #REQUIRED
1288    %boost.common.attrib;</attdecl>
1289<attribute name="last-revision"
1290           type="#IMPLIED"
1291           value="CDATA"
1292           default=""/>
1293<attribute name="name"
1294           type="#REQUIRED"
1295           value="CDATA"
1296           default=""/>
1297<attribute name="id"
1298           type="#IMPLIED"
1299           value="CDATA"
1300           default=""/>
1301<attribute name="xml:base"
1302           type="#IMPLIED"
1303           value="CDATA"
1304           default=""/>
1305</attlist>
1306
1307<element name="if-fails"
1308         content-type="element">
1309<content-model-expanded>
1310  <sequence-group>
1311    <any/>
1312  </sequence-group>
1313</content-model-expanded>
1314<content-model>
1315  <sequence-group>
1316    <any/>
1317  </sequence-group>
1318</content-model>
1319<purpose>What it means when a testcase fails</purpose>
1320<description>
1321  <para>
1322    Describes to the user the effect a certain failing testcase will
1323    have on the usefulness of a library. This field is useful in cases
1324    where a failed testcase does not mean that the library won't be
1325    useful, but may mean that certain library features will not be
1326    available.
1327  </para>
1328</description>
1329</element>
1330
1331<element name="free-function-group"
1332         content-type="element">
1333<content-model-expanded>
1334  <or-group occurrence="*">
1335    <element-name name="function"/>
1336    <element-name name="overloaded-function"/>
1337  </or-group>
1338</content-model-expanded>
1339<content-model>
1340  <or-group occurrence="*">
1341    <element-name name="function"/>
1342    <element-name name="overloaded-function"/>
1343  </or-group>
1344</content-model>
1345<purpose>A set of functions that are grouped together under one name</purpose>
1346</element>
1347
1348<attlist name="free-function-group">
1349<attdecl>
1350    name  CDATA  #REQUIRED
1351    %boost.common.attrib;</attdecl>
1352<attribute name="last-revision"
1353           type="#IMPLIED"
1354           value="CDATA"
1355           default=""/>
1356<attribute name="name"
1357           type="#REQUIRED"
1358           value="CDATA"
1359           default=""/>
1360<attribute name="id"
1361           type="#IMPLIED"
1362           value="CDATA"
1363           default=""/>
1364<attribute name="xml:base"
1365           type="#IMPLIED"
1366           value="CDATA"
1367           default=""/>
1368</attlist>
1369
1370<element name="functionname"
1371         content-type="mixed">
1372<content-model-expanded>
1373  <sequence-group>
1374    <pcdata/>
1375  </sequence-group>
1376</content-model-expanded>
1377<content-model>
1378  <sequence-group>
1379    <pcdata/>
1380  </sequence-group>
1381</content-model>
1382<purpose>References a function with the given name</purpose>
1383<description>
1384  <para>If a function (or overloaded function) with the given,
1385  possibly-qualified name is found, this generates a link to that
1386  function. Lookups obey currently-active <link
1387  linkend="boostbook.dtd.using-class"><sgmltag>using-class</sgmltag></link>
1388  and <link
1389  linkend="boostbook.dtd.using-namespace"><sgmltag>using-namespace</sgmltag></link>
1390  directives to aid in the search, along with searching within the
1391  current scope.</para>
1392</description>
1393</element>
1394
1395<attlist name="functionname">
1396<attdecl> %boost.common.attrib;</attdecl>
1397<attribute name="last-revision"
1398           type="#IMPLIED"
1399           value="CDATA"
1400           default=""/>
1401<attribute name="id"
1402           type="#IMPLIED"
1403           value="CDATA"
1404           default=""/>
1405<attribute name="xml:base"
1406           type="#IMPLIED"
1407           value="CDATA"
1408           default=""/>
1409</attlist>
1410
1411<element name="librarycategory"
1412         content-type="mixed">
1413<content-model-expanded>
1414  <sequence-group>
1415    <pcdata/>
1416  </sequence-group>
1417</content-model-expanded>
1418<content-model>
1419  <sequence-group>
1420    <pcdata/>
1421  </sequence-group>
1422</content-model>
1423<purpose>Declares that the enclosing library is in this category</purpose>
1424</element>
1425
1426<attlist name="librarycategory">
1427<attdecl>
1428    name  CDATA  #REQUIRED
1429    %boost.common.attrib;</attdecl>
1430<attribute name="last-revision"
1431           type="#IMPLIED"
1432           value="CDATA"
1433           default=""/>
1434<attribute name="name"
1435           type="#REQUIRED"
1436           value="CDATA"
1437           default=""/>
1438<attribute name="id"
1439           type="#IMPLIED"
1440           value="CDATA"
1441           default=""/>
1442<attribute name="xml:base"
1443           type="#IMPLIED"
1444           value="CDATA"
1445           default=""/>
1446</attlist>
1447
1448<element name="notes"
1449         content-type="element">
1450<content-model-expanded>
1451  <sequence-group>
1452    <any/>
1453  </sequence-group>
1454</content-model-expanded>
1455<content-model>
1456  <sequence-group>
1457    <any/>
1458  </sequence-group>
1459</content-model>
1460<purpose>Non-normative notes about a function's semantics</purpose>
1461</element>
1462
1463<attlist name="notes">
1464<attdecl> %boost.common.attrib;</attdecl>
1465<attribute name="last-revision"
1466           type="#IMPLIED"
1467           value="CDATA"
1468           default=""/>
1469<attribute name="id"
1470           type="#IMPLIED"
1471           value="CDATA"
1472           default=""/>
1473<attribute name="xml:base"
1474           type="#IMPLIED"
1475           value="CDATA"
1476           default=""/>
1477</attlist>
1478
1479<element name="data-member"
1480         content-type="element">
1481<content-model-expanded>
1482  <sequence-group>
1483    <element-name name="type"/>
1484    <element-name name="purpose" occurrence="?"/>
1485    <element-name name="description" occurrence="?"/>
1486  </sequence-group>
1487</content-model-expanded>
1488<content-model>
1489  <sequence-group>
1490    <element-name name="type"/>
1491    <element-name name="purpose" occurrence="?"/>
1492    <element-name name="description" occurrence="?"/>
1493  </sequence-group>
1494</content-model>
1495<purpose>Declares a data member of a class</purpose>
1496</element>
1497
1498<attlist name="data-member">
1499<attdecl> 
1500    name   CDATA  #REQUIRED
1501    %boost.common.attrib;</attdecl>
1502<attribute name="last-revision"
1503           type="#IMPLIED"
1504           value="CDATA"
1505           default=""/>
1506<attribute name="name"
1507           type="#REQUIRED"
1508           value="CDATA"
1509           default=""/>
1510<attribute name="id"
1511           type="#IMPLIED"
1512           value="CDATA"
1513           default=""/>
1514<attribute name="xml:base"
1515           type="#IMPLIED"
1516           value="CDATA"
1517           default=""/>
1518</attlist>
1519
1520<element name="specialization"
1521         content-type="element">
1522<content-model-expanded>
1523  <sequence-group occurrence="*">
1524    <element-name name="template-arg"/>
1525  </sequence-group>
1526</content-model-expanded>
1527<content-model>
1528  <sequence-group occurrence="*">
1529    <element-name name="template-arg"/>
1530  </sequence-group>
1531</content-model>
1532<purpose>Defines the specialization arguments for a class specialization</purpose>
1533</element>
1534
1535<attlist name="specialization">
1536<attdecl> %boost.common.attrib;</attdecl>
1537<attribute name="last-revision"
1538           type="#IMPLIED"
1539           value="CDATA"
1540           default=""/>
1541<attribute name="id"
1542           type="#IMPLIED"
1543           value="CDATA"
1544           default=""/>
1545<attribute name="xml:base"
1546           type="#IMPLIED"
1547           value="CDATA"
1548           default=""/>
1549</attlist>
1550
1551<element name="union-specialization"
1552         content-type="element">
1553<content-model-expanded>
1554  <sequence-group>
1555    <element-name name="template" occurrence="?"/>
1556    <element-name name="specialization" occurrence="?"/>
1557    <element-name name="inherit" occurrence="?"/>
1558    <element-name name="purpose" occurrence="?"/>
1559    <element-name name="description" occurrence="?"/>
1560    <or-group occurrence="*">
1561      <element-name name="static-constant"/>
1562      <element-name name="typedef"/>
1563      <element-name name="enum"/>
1564      <element-name name="copy-assignment"/>
1565      <element-name name="constructor"/>
1566      <element-name name="destructor"/>
1567      <element-name name="method-group"/>
1568      <element-name name="free-function-group"/>
1569      <element-name name="function"/>
1570      <element-name name="method"/>
1571      <element-name name="overloaded-function"/>
1572      <element-name name="overloaded-method"/>
1573      <element-name name="data-member"/>
1574      <element-name name="class"/>
1575      <element-name name="class-specialization"/>
1576      <element-name name="struct"/>
1577      <element-name name="struct-specialization"/>
1578      <element-name name="union"/>
1579      <element-name name="union-specialization"/>
1580    </or-group>
1581  </sequence-group>
1582</content-model-expanded>
1583<content-model>
1584  <sequence-group>
1585    <parament-name name="boost.class-specialization.content"/>
1586  </sequence-group>
1587</content-model>
1588<purpose>A specialization (full or partial) of a union template</purpose>
1589</element>
1590
1591<attlist name="union-specialization">
1592<attdecl>
1593    name  CDATA  #REQUIRED
1594    %boost.common.attrib;</attdecl>
1595<attribute name="last-revision"
1596           type="#IMPLIED"
1597           value="CDATA"
1598           default=""/>
1599<attribute name="name"
1600           type="#REQUIRED"
1601           value="CDATA"
1602           default=""/>
1603<attribute name="id"
1604           type="#IMPLIED"
1605           value="CDATA"
1606           default=""/>
1607<attribute name="xml:base"
1608           type="#IMPLIED"
1609           value="CDATA"
1610           default=""/>
1611</attlist>
1612
1613<element name="throws"
1614         content-type="element">
1615<content-model-expanded>
1616  <sequence-group>
1617    <any/>
1618  </sequence-group>
1619</content-model-expanded>
1620<content-model>
1621  <sequence-group>
1622    <any/>
1623  </sequence-group>
1624</content-model>
1625<purpose>Description of the exceptions thrown by a function</purpose>
1626</element>
1627
1628<attlist name="throws">
1629<attdecl> %boost.common.attrib;</attdecl>
1630<attribute name="last-revision"
1631           type="#IMPLIED"
1632           value="CDATA"
1633           default=""/>
1634<attribute name="id"
1635           type="#IMPLIED"
1636           value="CDATA"
1637           default=""/>
1638<attribute name="xml:base"
1639           type="#IMPLIED"
1640           value="CDATA"
1641           default=""/>
1642</attlist>
1643
1644<element name="template-arg"
1645         content-type="element">
1646<content-model-expanded>
1647  <sequence-group>
1648    <any/>
1649  </sequence-group>
1650</content-model-expanded>
1651<content-model>
1652  <sequence-group>
1653    <any/>
1654  </sequence-group>
1655</content-model>
1656<purpose>A template argument in a specialization</purpose>
1657</element>
1658
1659<attlist name="template-arg">
1660<attdecl> %boost.common.attrib;</attdecl>
1661<attribute name="last-revision"
1662           type="#IMPLIED"
1663           value="CDATA"
1664           default=""/>
1665<attribute name="id"
1666           type="#IMPLIED"
1667           value="CDATA"
1668           default=""/>
1669<attribute name="xml:base"
1670           type="#IMPLIED"
1671           value="CDATA"
1672           default=""/>
1673</attlist>
1674
1675<element name="method-group"
1676         content-type="element">
1677<content-model-expanded>
1678  <or-group occurrence="*">
1679    <element-name name="method"/>
1680    <element-name name="overloaded-method"/>
1681  </or-group>
1682</content-model-expanded>
1683<content-model>
1684  <or-group occurrence="*">
1685    <element-name name="method"/>
1686    <element-name name="overloaded-method"/>
1687  </or-group>
1688</content-model>
1689<purpose>A set of methods that are grouped together under one name</purpose>
1690</element>
1691
1692<attlist name="method-group">
1693<attdecl>
1694    name  CDATA  #REQUIRED
1695    %boost.common.attrib;</attdecl>
1696<attribute name="last-revision"
1697           type="#IMPLIED"
1698           value="CDATA"
1699           default=""/>
1700<attribute name="name"
1701           type="#REQUIRED"
1702           value="CDATA"
1703           default=""/>
1704<attribute name="id"
1705           type="#IMPLIED"
1706           value="CDATA"
1707           default=""/>
1708<attribute name="xml:base"
1709           type="#IMPLIED"
1710           value="CDATA"
1711           default=""/>
1712</attlist>
1713
1714<element name="requirement"
1715         content-type="mixed">
1716<content-model-expanded>
1717  <sequence-group>
1718    <pcdata/>
1719  </sequence-group>
1720</content-model-expanded>
1721<content-model>
1722  <sequence-group>
1723    <pcdata/>
1724  </sequence-group>
1725</content-model>
1726<purpose>A requirement/property in the Jamfile for a testcase</purpose>
1727<description>
1728  <para>A requirement is part of the dependencies of a target in a
1729  Jamfile. The <code>name</code> attribute of a requirement element
1730  gives the name of the Boost.Build feature and the content of the
1731  requirement gives the value of that feature. A requirement such as
1732  <code>&lt;includes&gt;foo.hpp</code> would be encoded as
1733  <code>&lt;requirement
1734  name="includes"&gt;foo.hpp&lt;/requirement&gt;</code>.</para>
1735</description>
1736</element>
1737
1738<attlist name="requirement">
1739<attdecl> 
1740     name CDATA #REQUIRED</attdecl>
1741<attribute name="name"
1742           type="#REQUIRED"
1743           value="CDATA"
1744           default=""/>
1745</attlist>
1746
1747<element name="precondition"
1748         content-type="element">
1749<content-model-expanded>
1750  <sequence-group>
1751    <any/>
1752  </sequence-group>
1753</content-model-expanded>
1754<content-model>
1755  <sequence-group>
1756    <any/>
1757  </sequence-group>
1758</content-model>
1759<purpose>Conditions that must be met prior to executing a function</purpose>
1760</element>
1761
1762<attlist name="precondition">
1763<attdecl> %boost.common.attrib;</attdecl>
1764<attribute name="last-revision"
1765           type="#IMPLIED"
1766           value="CDATA"
1767           default=""/>
1768<attribute name="id"
1769           type="#IMPLIED"
1770           value="CDATA"
1771           default=""/>
1772<attribute name="xml:base"
1773           type="#IMPLIED"
1774           value="CDATA"
1775           default=""/>
1776</attlist>
1777
1778<element name="paramtype"
1779         content-type="element">
1780<content-model-expanded>
1781  <sequence-group>
1782    <any/>
1783  </sequence-group>
1784</content-model-expanded>
1785<content-model>
1786  <sequence-group>
1787    <any/>
1788  </sequence-group>
1789</content-model>
1790<purpose>The type of a function parameter</purpose>
1791</element>
1792
1793<attlist name="paramtype">
1794<attdecl> %boost.common.attrib;</attdecl>
1795<attribute name="last-revision"
1796           type="#IMPLIED"
1797           value="CDATA"
1798           default=""/>
1799<attribute name="id"
1800           type="#IMPLIED"
1801           value="CDATA"
1802           default=""/>
1803<attribute name="xml:base"
1804           type="#IMPLIED"
1805           value="CDATA"
1806           default=""/>
1807</attlist>
1808
1809<element name="using-class"
1810         content-type="element">
1811<content-model-expanded>
1812  <empty/>
1813</content-model-expanded>
1814<content-model>
1815  <empty/>
1816</content-model>
1817<purpose>Injects the method and function names of a class into the local scope</purpose>
1818</element>
1819
1820<attlist name="using-class">
1821<attdecl>
1822     name        CDATA #REQUIRED
1823     %boost.common.attrib;</attdecl>
1824<attribute name="last-revision"
1825           type="#IMPLIED"
1826           value="CDATA"
1827           default=""/>
1828<attribute name="name"
1829           type="#REQUIRED"
1830           value="CDATA"
1831           default=""/>
1832<attribute name="id"
1833           type="#IMPLIED"
1834           value="CDATA"
1835           default=""/>
1836<attribute name="xml:base"
1837           type="#IMPLIED"
1838           value="CDATA"
1839           default=""/>
1840</attlist>
1841
1842<element name="run-test"
1843         content-type="element">
1844<content-model-expanded>
1845  <sequence-group>
1846    <element-name name="source" occurrence="*"/>
1847    <element-name name="lib" occurrence="*"/>
1848    <element-name name="requirement" occurrence="*"/>
1849    <element-name name="purpose"/>
1850    <element-name name="if-fails" occurrence="?"/>
1851  </sequence-group>
1852</content-model-expanded>
1853<content-model>
1854  <sequence-group>
1855    <parament-name name="boost.testsuite.test.content"/>
1856  </sequence-group>
1857</content-model>
1858<purpose>A testcase that should compile, link, and execute</purpose>
1859</element>
1860
1861<attlist name="run-test">
1862<attdecl> 
1863     filename CDATA #REQUIRED
1864     name     CDATA #IMPLIED</attdecl>
1865<attribute name="filename"
1866           type="#REQUIRED"
1867           value="CDATA"
1868           default=""/>
1869<attribute name="name"
1870           type="#IMPLIED"
1871           value="CDATA"
1872           default=""/>
1873</attlist>
1874
1875<element name="librarypurpose"
1876         content-type="mixed">
1877<content-model-expanded>
1878  <or-group occurrence="*">
1879    <pcdata/>
1880    <element-name name="code"/>
1881    <element-name name="ulink"/>
1882    <element-name name="functionname"/>
1883    <element-name name="methodname"/>
1884    <element-name name="classname"/>
1885  </or-group>
1886</content-model-expanded>
1887<content-model>
1888  <or-group occurrence="*">
1889    <pcdata/>
1890    <element-name name="code"/>
1891    <element-name name="ulink"/>
1892    <element-name name="functionname"/>
1893    <element-name name="methodname"/>
1894    <element-name name="classname"/>
1895  </or-group>
1896</content-model>
1897<purpose>Describes in one short sentence or phrase the purpose of a library</purpose>
1898</element>
1899
1900<attlist name="librarypurpose">
1901<attdecl> %boost.common.attrib;</attdecl>
1902<attribute name="last-revision"
1903           type="#IMPLIED"
1904           value="CDATA"
1905           default=""/>
1906<attribute name="id"
1907           type="#IMPLIED"
1908           value="CDATA"
1909           default=""/>
1910<attribute name="xml:base"
1911           type="#IMPLIED"
1912           value="CDATA"
1913           default=""/>
1914</attlist>
1915
1916<element name="copy-assignment"
1917         content-type="element">
1918<content-model-expanded>
1919  <sequence-group>
1920    <element-name name="template" occurrence="?"/>
1921    <element-name name="type" occurrence="?"/>
1922    <element-name name="parameter" occurrence="*"/>
1923    <element-name name="purpose" occurrence="?"/>
1924    <element-name name="description" occurrence="?"/>
1925    <element-name name="requires" occurrence="?"/>
1926    <element-name name="effects" occurrence="?"/>
1927    <element-name name="postconditions" occurrence="?"/>
1928    <element-name name="returns" occurrence="?"/>
1929    <element-name name="throws" occurrence="?"/>
1930    <element-name name="complexity" occurrence="?"/>
1931    <element-name name="notes" occurrence="?"/>
1932    <element-name name="rationale" occurrence="?"/>
1933  </sequence-group>
1934</content-model-expanded>
1935<content-model>
1936  <sequence-group>
1937    <element-name name="template" occurrence="?"/>
1938    <element-name name="type" occurrence="?"/>
1939    <element-name name="parameter" occurrence="*"/>
1940    <parament-name name="boost.function.semantics"/>
1941  </sequence-group>
1942</content-model>
1943<purpose>Declares a copy-assignment operator</purpose>
1944<description>
1945  <para>The return type of the copy-assignment operator does not need
1946  to be specified. If left unspecified, it will default to an
1947  unqualified reference to the enclosing class type.</para>
1948
1949  <para>General documentation on functions in BoostBook is provided in
1950  the <link
1951  linkend="boostbook.dtd.function"><sgmltag>function</sgmltag></link>
1952  element documentation.</para>
1953</description>
1954</element>
1955
1956<attlist name="copy-assignment">
1957<attdecl> 
1958    cv           CDATA  #IMPLIED
1959    specifiers   CDATA  #IMPLIED
1960    %boost.common.attrib;</attdecl>
1961<attribute name="last-revision"
1962           type="#IMPLIED"
1963           value="CDATA"
1964           default=""/>
1965<attribute name="cv"
1966           type="#IMPLIED"
1967           value="CDATA"
1968           default=""/>
1969<attribute name="specifiers"
1970           type="#IMPLIED"
1971           value="CDATA"
1972           default=""/>
1973<attribute name="id"
1974           type="#IMPLIED"
1975           value="CDATA"
1976           default=""/>
1977<attribute name="xml:base"
1978           type="#IMPLIED"
1979           value="CDATA"
1980           default=""/>
1981</attlist>
1982
1983<element name="run-fail-test"
1984         content-type="element">
1985<content-model-expanded>
1986  <sequence-group>
1987    <element-name name="source" occurrence="*"/>
1988    <element-name name="lib" occurrence="*"/>
1989    <element-name name="requirement" occurrence="*"/>
1990    <element-name name="purpose"/>
1991    <element-name name="if-fails" occurrence="?"/>
1992  </sequence-group>
1993</content-model-expanded>
1994<content-model>
1995  <sequence-group>
1996    <parament-name name="boost.testsuite.test.content"/>
1997  </sequence-group>
1998</content-model>
1999<purpose>A testcase that should compile and link, but fail on execution</purpose>
2000</element>
2001
2002<attlist name="run-fail-test">
2003<attdecl> 
2004     filename CDATA #REQUIRED
2005     name     CDATA #IMPLIED</attdecl>
2006<attribute name="filename"
2007           type="#REQUIRED"
2008           value="CDATA"
2009           default=""/>
2010<attribute name="name"
2011           type="#IMPLIED"
2012           value="CDATA"
2013           default=""/>
2014</attlist>
2015
2016<element name="template"
2017         content-type="element">
2018<content-model-expanded>
2019  <or-group occurrence="*">
2020    <element-name name="template-type-parameter"/>
2021    <element-name name="template-nontype-parameter"/>
2022    <element-name name="template-varargs"/>
2023  </or-group>
2024</content-model-expanded>
2025<content-model>
2026  <sequence-group occurrence="*">
2027    <parament-name name="boost.template.mix"/>
2028  </sequence-group>
2029</content-model>
2030<purpose>Declares the template parameters of a class or function</purpose>
2031</element>
2032
2033<attlist name="template">
2034<attdecl> %boost.common.attrib;</attdecl>
2035<attribute name="last-revision"
2036           type="#IMPLIED"
2037           value="CDATA"
2038           default=""/>
2039<attribute name="id"
2040           type="#IMPLIED"
2041           value="CDATA"
2042           default=""/>
2043<attribute name="xml:base"
2044           type="#IMPLIED"
2045           value="CDATA"
2046           default=""/>
2047</attlist>
2048
2049<element name="compile-fail-test"
2050         content-type="element">
2051<content-model-expanded>
2052  <sequence-group>
2053    <element-name name="source" occurrence="*"/>
2054    <element-name name="lib" occurrence="*"/>
2055    <element-name name="requirement" occurrence="*"/>
2056    <element-name name="purpose"/>
2057    <element-name name="if-fails" occurrence="?"/>
2058  </sequence-group>
2059</content-model-expanded>
2060<content-model>
2061  <sequence-group>
2062    <parament-name name="boost.testsuite.test.content"/>
2063  </sequence-group>
2064</content-model>
2065<purpose>A testcase that should fail to compile</purpose>
2066</element>
2067
2068<attlist name="compile-fail-test">
2069<attdecl>
2070     filename CDATA #REQUIRED
2071     name     CDATA #IMPLIED</attdecl>
2072<attribute name="filename"
2073           type="#REQUIRED"
2074           value="CDATA"
2075           default=""/>
2076<attribute name="name"
2077           type="#IMPLIED"
2078           value="CDATA"
2079           default=""/>
2080</attlist>
2081
2082<element name="returns"
2083         content-type="element">
2084<content-model-expanded>
2085  <sequence-group>
2086    <any/>
2087  </sequence-group>
2088</content-model-expanded>
2089<content-model>
2090  <sequence-group>
2091    <any/>
2092  </sequence-group>
2093</content-model>
2094<purpose>Description of the return value of a function</purpose>
2095</element>
2096
2097<attlist name="returns">
2098<attdecl> %boost.common.attrib;</attdecl>
2099<attribute name="last-revision"
2100           type="#IMPLIED"
2101           value="CDATA"
2102           default=""/>
2103<attribute name="id"
2104           type="#IMPLIED"
2105           value="CDATA"
2106           default=""/>
2107<attribute name="xml:base"
2108           type="#IMPLIED"
2109           value="CDATA"
2110           default=""/>
2111</attlist>
2112
2113<element name="default"
2114         content-type="element">
2115<content-model-expanded>
2116  <sequence-group>
2117    <any/>
2118  </sequence-group>
2119</content-model-expanded>
2120<content-model>
2121  <sequence-group>
2122    <any/>
2123  </sequence-group>
2124</content-model>
2125<purpose>The default value of a function or template parameter</purpose>
2126</element>
2127
2128<attlist name="default">
2129<attdecl> %boost.common.attrib;</attdecl>
2130<attribute name="last-revision"
2131           type="#IMPLIED"
2132           value="CDATA"
2133           default=""/>
2134<attribute name="id"
2135           type="#IMPLIED"
2136           value="CDATA"
2137           default=""/>
2138<attribute name="xml:base"
2139           type="#IMPLIED"
2140           value="CDATA"
2141           default=""/>
2142</attlist>
2143
2144<element name="parameter"
2145         content-type="element">
2146<content-model-expanded>
2147  <sequence-group>
2148    <element-name name="paramtype"/>
2149    <element-name name="default" occurrence="?"/>
2150  </sequence-group>
2151</content-model-expanded>
2152<content-model>
2153  <sequence-group>
2154    <element-name name="paramtype"/>
2155    <element-name name="default" occurrence="?"/>
2156  </sequence-group>
2157</content-model>
2158<purpose>A function parameter</purpose>
2159</element>
2160
2161<attlist name="parameter">
2162<attdecl> 
2163     name CDATA #IMPLIED</attdecl>
2164<attribute name="name"
2165           type="#IMPLIED"
2166           value="CDATA"
2167           default=""/>
2168</attlist>
2169
2170<element name="signature"
2171         content-type="element">
2172<content-model-expanded>
2173  <sequence-group>
2174    <element-name name="template" occurrence="?"/>
2175    <element-name name="type"/>
2176    <element-name name="parameter" occurrence="*"/>
2177  </sequence-group>
2178</content-model-expanded>
2179<content-model>
2180  <sequence-group>
2181    <element-name name="template" occurrence="?"/>
2182    <element-name name="type"/>
2183    <element-name name="parameter" occurrence="*"/>
2184  </sequence-group>
2185</content-model>
2186<purpose>One signature of an overloaded function or method</purpose>
2187<description>
2188  <para>
2189    A signature refers to one declaration of an overloaded function or
2190    method. The signature itself has no name, because the name of the
2191    overloaded function or method is used. An overloaded function or
2192    method will have several signatures that will generally be typeset
2193    together.
2194  </para>
2195</description>
2196</element>
2197
2198<attlist name="signature">
2199<attdecl>
2200    cv           CDATA  #IMPLIED
2201    specifiers   CDATA  #IMPLIED
2202    %boost.common.attrib;</attdecl>
2203<attribute name="last-revision"
2204           type="#IMPLIED"
2205           value="CDATA"
2206           default=""/>
2207<attribute name="cv"
2208           type="#IMPLIED"
2209           value="CDATA"
2210           default=""/>
2211<attribute name="specifiers"
2212           type="#IMPLIED"
2213           value="CDATA"
2214           default=""/>
2215<attribute name="id"
2216           type="#IMPLIED"
2217           value="CDATA"
2218           default=""/>
2219<attribute name="xml:base"
2220           type="#IMPLIED"
2221           value="CDATA"
2222           default=""/>
2223</attlist>
2224
2225<element name="overloaded-function"
2226         content-type="element">
2227<content-model-expanded>
2228  <sequence-group>
2229    <element-name name="signature" occurrence="*"/>
2230    <element-name name="purpose" occurrence="?"/>
2231    <element-name name="description" occurrence="?"/>
2232    <element-name name="requires" occurrence="?"/>
2233    <element-name name="effects" occurrence="?"/>
2234    <element-name name="postconditions" occurrence="?"/>
2235    <element-name name="returns" occurrence="?"/>
2236    <element-name name="throws" occurrence="?"/>
2237    <element-name name="complexity" occurrence="?"/>
2238    <element-name name="notes" occurrence="?"/>
2239    <element-name name="rationale" occurrence="?"/>
2240  </sequence-group>
2241</content-model-expanded>
2242<content-model>
2243  <sequence-group>
2244    <element-name name="signature" occurrence="*"/>
2245    <parament-name name="boost.function.semantics"/>
2246  </sequence-group>
2247</content-model>
2248<purpose>An overloaded function</purpose>
2249<description>
2250  <para>General documentation on functions in BoostBook is provided in
2251  the <link
2252  linkend="boostbook.dtd.function"><sgmltag>function</sgmltag></link>
2253  element documentation.</para>
2254</description>
2255</element>
2256
2257<attlist name="overloaded-function">
2258<attdecl> 
2259    name  CDATA  #REQUIRED
2260    %boost.common.attrib;</attdecl>
2261<attribute name="last-revision"
2262           type="#IMPLIED"
2263           value="CDATA"
2264           default=""/>
2265<attribute name="name"
2266           type="#REQUIRED"
2267           value="CDATA"
2268           default=""/>
2269<attribute name="id"
2270           type="#IMPLIED"
2271           value="CDATA"
2272           default=""/>
2273<attribute name="xml:base"
2274           type="#IMPLIED"
2275           value="CDATA"
2276           default=""/>
2277</attlist>
2278
2279<element name="class"
2280         content-type="element">
2281<content-model-expanded>
2282  <sequence-group>
2283    <element-name name="template" occurrence="?"/>
2284    <element-name name="inherit" occurrence="*"/>
2285    <element-name name="purpose" occurrence="?"/>
2286    <element-name name="description" occurrence="?"/>
2287    <or-group occurrence="*">
2288      <element-name name="static-constant"/>
2289      <element-name name="typedef"/>
2290      <element-name name="enum"/>
2291      <element-name name="copy-assignment"/>
2292      <element-name name="constructor"/>
2293      <element-name name="destructor"/>
2294      <element-name name="method-group"/>
2295      <element-name name="free-function-group"/>
2296      <element-name name="function"/>
2297      <element-name name="method"/>
2298      <element-name name="overloaded-function"/>
2299      <element-name name="overloaded-method"/>
2300      <element-name name="data-member"/>
2301      <element-name name="class"/>
2302      <element-name name="class-specialization"/>
2303      <element-name name="struct"/>
2304      <element-name name="struct-specialization"/>
2305      <element-name name="union"/>
2306      <element-name name="union-specialization"/>
2307    </or-group>
2308  </sequence-group>
2309</content-model-expanded>
2310<content-model>
2311  <sequence-group>
2312    <parament-name name="boost.class.content"/>
2313  </sequence-group>
2314</content-model>
2315<purpose>Declares a class or class template</purpose>
2316
2317<description>
2318  <para>C++ classes and class templates are described via the
2319  &lt;class&gt; element. Each class has a name (e.g., "any") given by
2320  the <code>name</code> attribute, a purpose given by the
2321  &lt;purpose&gt; element, documentation, and a set of types,
2322  functions, base classes, and data members. Here is a minimal
2323  definition of the <classname>boost::any</classname> class:</para>
2324
2325  <programlisting>&lt;namespace name="boost"&gt;
2326  &lt;class name="any"&gt;
2327    &lt;purpose&gt;
2328      A class whose instances can hold instances of any type that satisfies
2329      ValueType requirements.
2330    &lt;/purpose&gt;
2331  &lt;/class&gt;
2332&lt;/namespace&gt;</programlisting>
2333
2334  <para>Additional class documentation can be contained in a
2335  <sgmltag>description</sgmltag> element following the &lt;purpose&gt;
2336  element. This documentation will be typeset prior to documentation
2337  for specific elements in the class (e.g., constructors or
2338  methods).</para>
2339
2340  <para>Class inheritance is described via the &lt;inherit&gt;
2341  element. The &lt;inherit&gt; element requires an <code>access</code>
2342  attribute which must be one of <emphasis>public</emphasis>,
2343  <emphasis>protected</emphasis>, or <emphasis>private</emphasis>. The
2344  content of the &lt;inherited&gt; element in C++ code that names the
2345  class inherited, and may contain markup to link to the class. The
2346  following description of the class
2347  <classname>boost::bad_any_cast</classname> describes public
2348  inheritance from the class <classname>std::bad_cast</classname>. It
2349  also defines the &lt;purpose&gt; element, which contains a short
2350  description of the use of the class.</para>
2351   
2352  <programlisting>&lt;class name="bad_any_cast"&gt;
2353  &lt;inherit access="public"&gt;&lt;classname&gt;std::bad_cast&lt;/classname&gt;&lt;/inherit&gt;
2354  &lt;purpose&gt;&lt;para&gt;The exception thrown in the event of a failed
2355  &lt;functionname&gt;any_cast&lt;/functionname&gt; of an
2356  &lt;classname&gt;any&lt;/classname&gt; value.&lt;/para&gt;&lt;/purpose&gt;
2357&lt;/class&gt;</programlisting>
2358
2359  <para>Class templates are defined by &lt;class&gt; elements with a
2360  &lt;template&gt; child element at the beginning.</para>
2361</description>
2362</element>
2363
2364<attlist name="class">
2365<attdecl>
2366    name  CDATA  #REQUIRED
2367    %boost.common.attrib;</attdecl>
2368<attribute name="last-revision"
2369           type="#IMPLIED"
2370           value="CDATA"
2371           default=""/>
2372<attribute name="name"
2373           type="#REQUIRED"
2374           value="CDATA"
2375           default=""/>
2376<attribute name="id"
2377           type="#IMPLIED"
2378           value="CDATA"
2379           default=""/>
2380<attribute name="xml:base"
2381           type="#IMPLIED"
2382           value="CDATA"
2383           default=""/>
2384</attlist>
2385
2386<element name="librarycategorydef"
2387         content-type="mixed">
2388<content-model-expanded>
2389  <sequence-group>
2390    <pcdata/>
2391  </sequence-group>
2392</content-model-expanded>
2393<content-model>
2394  <sequence-group>
2395    <pcdata/>
2396  </sequence-group>
2397</content-model>
2398<purpose>Defines a new library category</purpose>
2399<description>
2400  <para>All library category definitions should be in <filename>doc/src/boost.xml</filename>, and the names of categories must be prefixed with "<code>category:</code>".</para>
2401</description>
2402</element>
2403
2404<attlist name="librarycategorydef">
2405<attdecl> 
2406         name   CDATA   #REQUIRED
2407         %boost.common.attrib;</attdecl>
2408<attribute name="last-revision"
2409           type="#IMPLIED"
2410           value="CDATA"
2411           default=""/>
2412<attribute name="name"
2413           type="#REQUIRED"
2414           value="CDATA"
2415           default=""/>
2416<attribute name="id"
2417           type="#IMPLIED"
2418           value="CDATA"
2419           default=""/>
2420<attribute name="xml:base"
2421           type="#IMPLIED"
2422           value="CDATA"
2423           default=""/>
2424</attlist>
2425
2426<element name="type"
2427         content-type="element">
2428<content-model-expanded>
2429  <sequence-group>
2430    <any/>
2431  </sequence-group>
2432</content-model-expanded>
2433<content-model>
2434  <sequence-group>
2435    <any/>
2436  </sequence-group>
2437</content-model>
2438<purpose>The type of an element or return type of a function</purpose>
2439</element>
2440
2441<attlist name="type">
2442<attdecl> %boost.common.attrib;</attdecl>
2443<attribute name="last-revision"
2444           type="#IMPLIED"
2445           value="CDATA"
2446           default=""/>
2447<attribute name="id"
2448           type="#IMPLIED"
2449           value="CDATA"
2450           default=""/>
2451<attribute name="xml:base"
2452           type="#IMPLIED"
2453           value="CDATA"
2454           default=""/>
2455</attlist>
2456
2457<element name="enumvalue"
2458         content-type="element">
2459<content-model-expanded>
2460  <sequence-group>
2461    <element-name name="default" occurrence="?"/>
2462  </sequence-group>
2463</content-model-expanded>
2464<content-model>
2465  <sequence-group>
2466    <element-name name="default" occurrence="?"/>
2467  </sequence-group>
2468</content-model>
2469<purpose>A single value of an enumeration</purpose>
2470</element>
2471
2472<attlist name="enumvalue">
2473<attdecl>
2474    name     CDATA  #REQUIRED
2475    %boost.common.attrib;</attdecl>
2476<attribute name="last-revision"
2477           type="#IMPLIED"
2478           value="CDATA"
2479           default=""/>
2480<attribute name="name"
2481           type="#REQUIRED"
2482           value="CDATA"
2483           default=""/>
2484<attribute name="id"
2485           type="#IMPLIED"
2486           value="CDATA"
2487           default=""/>
2488<attribute name="xml:base"
2489           type="#IMPLIED"
2490           value="CDATA"
2491           default=""/>
2492</attlist>
2493
2494<element name="overloaded-method"
2495         content-type="element">
2496<content-model-expanded>
2497  <sequence-group>
2498    <element-name name="signature" occurrence="*"/>
2499    <element-name name="purpose" occurrence="?"/>
2500    <element-name name="description" occurrence="?"/>
2501    <element-name name="requires" occurrence="?"/>
2502    <element-name name="effects" occurrence="?"/>
2503    <element-name name="postconditions" occurrence="?"/>
2504    <element-name name="returns" occurrence="?"/>
2505    <element-name name="throws" occurrence="?"/>
2506    <element-name name="complexity" occurrence="?"/>
2507    <element-name name="notes" occurrence="?"/>
2508    <element-name name="rationale" occurrence="?"/>
2509  </sequence-group>
2510</content-model-expanded>
2511<content-model>
2512  <sequence-group>
2513    <element-name name="signature" occurrence="*"/>
2514    <parament-name name="boost.function.semantics"/>
2515  </sequence-group>
2516</content-model>
2517<purpose>An overloaded method</purpose>
2518<description>
2519  <para>General documentation on functions in BoostBook is provided in
2520  the <link
2521  linkend="boostbook.dtd.function"><sgmltag>function</sgmltag></link>
2522  element documentation.</para>
2523</description>
2524</element>
2525
2526<attlist name="overloaded-method">
2527<attdecl> 
2528    name  CDATA  #REQUIRED
2529    %boost.common.attrib;</attdecl>
2530<attribute name="last-revision"
2531           type="#IMPLIED"
2532           value="CDATA"
2533           default=""/>
2534<attribute name="name"
2535           type="#REQUIRED"
2536           value="CDATA"
2537           default=""/>
2538<attribute name="id"
2539           type="#IMPLIED"
2540           value="CDATA"
2541           default=""/>
2542<attribute name="xml:base"
2543           type="#IMPLIED"
2544           value="CDATA"
2545           default=""/>
2546</attlist>
2547
2548<element name="programlisting"
2549         content-type="element">
2550<content-model-expanded>
2551  <sequence-group>
2552    <any/>
2553  </sequence-group>
2554</content-model-expanded>
2555<content-model>
2556  <sequence-group>
2557    <any/>
2558  </sequence-group>
2559</content-model>
2560<purpose>A sample of program code</purpose>
2561</element>
2562
2563<attlist name="programlisting">
2564<attdecl>
2565     name        CDATA #IMPLIED</attdecl>
2566<attribute name="name"
2567           type="#IMPLIED"
2568           value="CDATA"
2569           default=""/>
2570</attlist>
2571
2572<element name="complexity"
2573         content-type="element">
2574<content-model-expanded>
2575  <sequence-group>
2576    <any/>
2577  </sequence-group>
2578</content-model-expanded>
2579<content-model>
2580  <sequence-group>
2581    <any/>
2582  </sequence-group>
2583</content-model>
2584<purpose>The time/space/etc. complexity of a function</purpose>
2585</element>
2586
2587<attlist name="complexity">
2588<attdecl> %boost.common.attrib;</attdecl>
2589<attribute name="last-revision"
2590           type="#IMPLIED"
2591           value="CDATA"
2592           default=""/>
2593<attribute name="id"
2594           type="#IMPLIED"
2595           value="CDATA"
2596           default=""/>
2597<attribute name="xml:base"
2598           type="#IMPLIED"
2599           value="CDATA"
2600           default=""/>
2601</attlist>
2602
2603<element name="purpose"
2604         content-type="element">
2605<content-model-expanded>
2606  <sequence-group>
2607    <any/>
2608  </sequence-group>
2609</content-model-expanded>
2610<content-model>
2611  <sequence-group>
2612    <any/>
2613  </sequence-group>
2614</content-model>
2615<purpose>A short description of an entity's use</purpose>
2616</element>
2617
2618<attlist name="purpose">
2619<attdecl> %boost.common.attrib;</attdecl>
2620<attribute name="last-revision"
2621           type="#IMPLIED"
2622           value="CDATA"
2623           default=""/>
2624<attribute name="id"
2625           type="#IMPLIED"
2626           value="CDATA"
2627           default=""/>
2628<attribute name="xml:base"
2629           type="#IMPLIED"
2630           value="CDATA"
2631           default=""/>
2632</attlist>
2633
2634<element name="template-nontype-parameter"
2635         content-type="element">
2636<content-model-expanded>
2637  <sequence-group>
2638    <element-name name="type"/>
2639    <element-name name="default" occurrence="?"/>
2640    <element-name name="purpose" occurrence="?"/>
2641  </sequence-group>
2642</content-model-expanded>
2643<content-model>
2644  <sequence-group>
2645    <element-name name="type"/>
2646    <element-name name="default" occurrence="?"/>
2647    <element-name name="purpose" occurrence="?"/>
2648  </sequence-group>
2649</content-model>
2650<purpose>A nontype template parameter</purpose>
2651</element>
2652
2653<attlist name="template-nontype-parameter">
2654<attdecl>
2655    name                     CDATA  #REQUIRED
2656    %boost.common.attrib;</attdecl>
2657<attribute name="last-revision"
2658           type="#IMPLIED"
2659           value="CDATA"
2660           default=""/>
2661<attribute name="name"
2662           type="#REQUIRED"
2663           value="CDATA"
2664           default=""/>
2665<attribute name="id"
2666           type="#IMPLIED"
2667           value="CDATA"
2668           default=""/>
2669<attribute name="xml:base"
2670           type="#IMPLIED"
2671           value="CDATA"
2672           default=""/>
2673</attlist>
2674
2675<element name="library"
2676         content-type="element">
2677<content-model-expanded>
2678  <sequence-group>
2679    <element-name name="libraryinfo"/>
2680    <sequence-group occurrence="?">
2681      <element-name name="title"/>
2682      <sequence-group occurrence="+">
2683        <or-group>
2684          <element-name name="section"/>
2685          <element-name name="library-reference"/>
2686          <element-name name="testsuite"/>
2687        </or-group>
2688      </sequence-group>
2689    </sequence-group>
2690  </sequence-group>
2691</content-model-expanded>
2692<content-model>
2693  <sequence-group>
2694    <parament-name name="library.content"/>
2695  </sequence-group>
2696</content-model>
2697<purpose>Top-level element for a library</purpose>
2698</element>
2699
2700<attlist name="library">
2701<attdecl>
2702    name      CDATA   #REQUIRED
2703    dirname   CDATA   #REQUIRED
2704    html-only CDATA   #IMPLIED
2705    url       CDATA   #IMPLIED
2706    %boost.common.attrib;</attdecl>
2707<attribute name="last-revision"
2708           type="#IMPLIED"
2709           value="CDATA"
2710           default=""/>
2711<attribute name="dirname"
2712           type="#REQUIRED"
2713           value="CDATA"
2714           default=""/>
2715<attribute name="url"
2716           type="#IMPLIED"
2717           value="CDATA"
2718           default=""/>
2719<attribute name="name"
2720           type="#REQUIRED"
2721           value="CDATA"
2722           default=""/>
2723<attribute name="id"
2724           type="#IMPLIED"
2725           value="CDATA"
2726           default=""/>
2727<attribute name="xml:base"
2728           type="#IMPLIED"
2729           value="CDATA"
2730           default=""/>
2731<attribute name="html-only"
2732           type="#IMPLIED"
2733           value="CDATA"
2734           default=""/>
2735</attlist>
2736
2737<element name="librarycategorylist"
2738         content-type="element">
2739<content-model-expanded>
2740  <sequence-group occurrence="*">
2741    <element-name name="librarycategorydef"/>
2742  </sequence-group>
2743</content-model-expanded>
2744<content-model>
2745  <sequence-group occurrence="*">
2746    <element-name name="librarycategorydef"/>
2747  </sequence-group>
2748</content-model>
2749<purpose>Categorized listing of libraries</purpose>
2750<description>
2751  <para>This element is not intended for use by developers, but is
2752  used by <filename>doc/src/boost.xml</filename> as a
2753  placeholder.</para>
2754</description>
2755</element>
2756
2757<attlist name="librarycategorylist">
2758<attdecl> %boost.common.attrib;</attdecl>
2759<attribute name="last-revision"
2760           type="#IMPLIED"
2761           value="CDATA"
2762           default=""/>
2763<attribute name="id"
2764           type="#IMPLIED"
2765           value="CDATA"
2766           default=""/>
2767<attribute name="xml:base"
2768           type="#IMPLIED"
2769           value="CDATA"
2770           default=""/>
2771</attlist>
2772
2773<element name="using-namespace"
2774         content-type="element">
2775<content-model-expanded>
2776  <empty/>
2777</content-model-expanded>
2778<content-model>
2779  <empty/>
2780</content-model>
2781<purpose>Injects the declared names from a namespace into the local scope</purpose>
2782</element>
2783
2784<attlist name="using-namespace">
2785<attdecl>
2786    name   CDATA  #REQUIRED
2787    %boost.common.attrib;</attdecl>
2788<attribute name="last-revision"
2789           type="#IMPLIED"
2790           value="CDATA"
2791           default=""/>
2792<attribute name="name"
2793           type="#REQUIRED"
2794           value="CDATA"
2795           default=""/>
2796<attribute name="id"
2797           type="#IMPLIED"
2798           value="CDATA"
2799           default=""/>
2800<attribute name="xml:base"
2801           type="#IMPLIED"
2802           value="CDATA"
2803           default=""/>
2804</attlist>
2805
2806<element name="struct-specialization"
2807         content-type="element">
2808<content-model-expanded>
2809  <sequence-group>
2810    <element-name name="template" occurrence="?"/>
2811    <element-name name="specialization" occurrence="?"/>
2812    <element-name name="inherit" occurrence="?"/>
2813    <element-name name="purpose" occurrence="?"/>
2814    <element-name name="description" occurrence="?"/>
2815    <or-group occurrence="*">
2816      <element-name name="static-constant"/>
2817      <element-name name="typedef"/>
2818      <element-name name="enum"/>
2819      <element-name name="copy-assignment"/>
2820      <element-name name="constructor"/>
2821      <element-name name="destructor"/>
2822      <element-name name="method-group"/>
2823      <element-name name="free-function-group"/>
2824      <element-name name="function"/>
2825      <element-name name="method"/>
2826      <element-name name="overloaded-function"/>
2827      <element-name name="overloaded-method"/>
2828      <element-name name="data-member"/>
2829      <element-name name="class"/>
2830      <element-name name="class-specialization"/>
2831      <element-name name="struct"/>
2832      <element-name name="struct-specialization"/>
2833      <element-name name="union"/>
2834      <element-name name="union-specialization"/>
2835    </or-group>
2836  </sequence-group>
2837</content-model-expanded>
2838<content-model>
2839  <sequence-group>
2840    <parament-name name="boost.class-specialization.content"/>
2841  </sequence-group>
2842</content-model>
2843<purpose>A specialization (full or partial) of a struct template</purpose>
2844</element>
2845
2846<attlist name="struct-specialization">
2847<attdecl>
2848    name  CDATA  #REQUIRED
2849    %boost.common.attrib;</attdecl>
2850<attribute name="last-revision"
2851           type="#IMPLIED"
2852           value="CDATA"
2853           default=""/>
2854<attribute name="name"
2855           type="#REQUIRED"
2856           value="CDATA"
2857           default=""/>
2858<attribute name="id"
2859           type="#IMPLIED"
2860           value="CDATA"
2861           default=""/>
2862<attribute name="xml:base"
2863           type="#IMPLIED"
2864           value="CDATA"
2865           default=""/>
2866</attlist>
2867
2868<element name="struct"
2869         content-type="element">
2870<content-model-expanded>
2871  <sequence-group>
2872    <element-name name="template" occurrence="?"/>
2873    <element-name name="inherit" occurrence="*"/>
2874    <element-name name="purpose" occurrence="?"/>
2875    <element-name name="description" occurrence="?"/>
2876    <or-group occurrence="*">
2877      <element-name name="static-constant"/>
2878      <element-name name="typedef"/>
2879      <element-name name="enum"/>
2880      <element-name name="copy-assignment"/>
2881      <element-name name="constructor"/>
2882      <element-name name="destructor"/>
2883      <element-name name="method-group"/>
2884      <element-name name="free-function-group"/>
2885      <element-name name="function"/>
2886      <element-name name="method"/>
2887      <element-name name="overloaded-function"/>
2888      <element-name name="overloaded-method"/>
2889      <element-name name="data-member"/>
2890      <element-name name="class"/>
2891      <element-name name="class-specialization"/>
2892      <element-name name="struct"/>
2893      <element-name name="struct-specialization"/>
2894      <element-name name="union"/>
2895      <element-name name="union-specialization"/>
2896    </or-group>
2897  </sequence-group>
2898</content-model-expanded>
2899<content-model>
2900  <sequence-group>
2901    <parament-name name="boost.class.content"/>
2902  </sequence-group>
2903</content-model>
2904<purpose>Declares a C++ struct</purpose>
2905</element>
2906
2907<attlist name="struct">
2908<attdecl>
2909    name  CDATA  #REQUIRED
2910    %boost.common.attrib;</attdecl>
2911<attribute name="last-revision"
2912           type="#IMPLIED"
2913           value="CDATA"
2914           default=""/>
2915<attribute name="name"
2916           type="#REQUIRED"
2917           value="CDATA"
2918           default=""/>
2919<attribute name="id"
2920           type="#IMPLIED"
2921           value="CDATA"
2922           default=""/>
2923<attribute name="xml:base"
2924           type="#IMPLIED"
2925           value="CDATA"
2926           default=""/>
2927</attlist>
2928
2929<element name="lib"
2930         content-type="mixed">
2931<content-model-expanded>
2932  <sequence-group>
2933    <pcdata/>
2934  </sequence-group>
2935</content-model-expanded>
2936<content-model>
2937  <sequence-group>
2938    <pcdata/>
2939  </sequence-group>
2940</content-model>
2941<purpose>A library dependency</purpose>
2942<description>
2943  <para>Declares a library dependency on the library named by the content of this element, to be emitted in a Jamfile.</para>
2944</description>
2945</element>
2946
2947<element name="enum"
2948         content-type="element">
2949<content-model-expanded>
2950  <sequence-group>
2951    <element-name name="enumvalue" occurrence="*"/>
2952    <element-name name="purpose" occurrence="?"/>
2953    <element-name name="description" occurrence="?"/>
2954  </sequence-group>
2955</content-model-expanded>
2956<content-model>
2957  <sequence-group>
2958    <element-name name="enumvalue" occurrence="*"/>
2959    <element-name name="purpose" occurrence="?"/>
2960    <element-name name="description" occurrence="?"/>
2961  </sequence-group>
2962</content-model>
2963<purpose>Declares an enumeration type</purpose>
2964</element>
2965
2966<attlist name="enum">
2967<attdecl>
2968    name     CDATA  #REQUIRED
2969    %boost.common.attrib;</attdecl>
2970<attribute name="last-revision"
2971           type="#IMPLIED"
2972           value="CDATA"
2973           default=""/>
2974<attribute name="name"
2975           type="#REQUIRED"
2976           value="CDATA"
2977           default=""/>
2978<attribute name="id"
2979           type="#IMPLIED"
2980           value="CDATA"
2981           default=""/>
2982<attribute name="xml:base"
2983           type="#IMPLIED"
2984           value="CDATA"
2985           default=""/>
2986</attlist>
2987
2988<element name="requires"
2989         content-type="element">
2990<content-model-expanded>
2991  <sequence-group>
2992    <any/>
2993  </sequence-group>
2994</content-model-expanded>
2995<content-model>
2996  <sequence-group>
2997    <any/>
2998  </sequence-group>
2999</content-model>
3000<purpose>Declares the requirements of a function</purpose>
3001</element>
3002
3003<attlist name="requires">
3004<attdecl> %boost.common.attrib;</attdecl>
3005<attribute name="last-revision"
3006           type="#IMPLIED"
3007           value="CDATA"
3008           default=""/>
3009<attribute name="id"
3010           type="#IMPLIED"
3011           value="CDATA"
3012           default=""/>
3013<attribute name="xml:base"
3014           type="#IMPLIED"
3015           value="CDATA"
3016           default=""/>
3017</attlist>
3018
3019<element name="effects"
3020         content-type="element">
3021<content-model-expanded>
3022  <sequence-group>
3023    <any/>
3024  </sequence-group>
3025</content-model-expanded>
3026<content-model>
3027  <sequence-group>
3028    <any/>
3029  </sequence-group>
3030</content-model>
3031<purpose>Declares the side effects of a function</purpose>
3032</element>
3033
3034<attlist name="effects">
3035<attdecl> %boost.common.attrib;</attdecl>
3036<attribute name="last-revision"
3037           type="#IMPLIED"
3038           value="CDATA"
3039           default=""/>
3040<attribute name="id"
3041           type="#IMPLIED"
3042           value="CDATA"
3043           default=""/>
3044<attribute name="xml:base"
3045           type="#IMPLIED"
3046           value="CDATA"
3047           default=""/>
3048</attlist>
3049
3050<element name="libraryname"
3051         content-type="mixed">
3052<content-model-expanded>
3053  <sequence-group>
3054    <pcdata/>
3055  </sequence-group>
3056</content-model-expanded>
3057<content-model>
3058  <sequence-group>
3059    <pcdata/>
3060  </sequence-group>
3061</content-model>
3062<purpose>References a library of the given name</purpose>
3063</element>
3064
3065<attlist name="libraryname">
3066<attdecl> %boost.common.attrib;</attdecl>
3067<attribute name="last-revision"
3068           type="#IMPLIED"
3069           value="CDATA"
3070           default=""/>
3071<attribute name="id"
3072           type="#IMPLIED"
3073           value="CDATA"
3074           default=""/>
3075<attribute name="xml:base"
3076           type="#IMPLIED"
3077           value="CDATA"
3078           default=""/>
3079</attlist>
3080
3081<element name="libraryinfo"
3082         content-type="element">
3083<content-model-expanded>
3084  <sequence-group>
3085    <element-name name="author" occurrence="+"/>
3086    <element-name name="copyright" occurrence="*"/>
3087    <element-name name="legalnotice" occurrence="*"/>
3088    <element-name name="librarypurpose"/>
3089    <element-name name="librarycategory" occurrence="*"/>
3090  </sequence-group>
3091</content-model-expanded>
3092<content-model>
3093  <sequence-group>
3094    <element-name name="author" occurrence="+"/>
3095    <element-name name="copyright" occurrence="*"/>
3096    <element-name name="legalnotice" occurrence="*"/>
3097    <element-name name="librarypurpose"/>
3098    <element-name name="librarycategory" occurrence="*"/>
3099  </sequence-group>
3100</content-model>
3101<purpose>Provides information about a library</purpose>
3102</element>
3103
3104<attlist name="libraryinfo">
3105<attdecl> %boost.common.attrib;</attdecl>
3106<attribute name="last-revision"
3107           type="#IMPLIED"
3108           value="CDATA"
3109           default=""/>
3110<attribute name="id"
3111           type="#IMPLIED"
3112           value="CDATA"
3113           default=""/>
3114<attribute name="xml:base"
3115           type="#IMPLIED"
3116           value="CDATA"
3117           default=""/>
3118</attlist>
3119
3120<element name="testsuite"
3121         content-type="element">
3122<content-model-expanded>
3123  <sequence-group>
3124    <or-group occurrence="+">
3125      <element-name name="compile-test"/>
3126      <element-name name="link-test"/>
3127      <element-name name="run-test"/>
3128      <element-name name="compile-fail-test"/>
3129      <element-name name="link-fail-test"/>
3130      <element-name name="run-fail-test"/>
3131    </or-group>
3132  </sequence-group>
3133</content-model-expanded>
3134<content-model>
3135  <sequence-group>
3136    <sequence-group occurrence="+">
3137      <parament-name name="boost.testsuite.tests"/>
3138    </sequence-group>
3139  </sequence-group>
3140</content-model>
3141<purpose>Describes a library testsuite</purpose>
3142</element>
3143
3144<attlist name="testsuite">
3145<attdecl> %boost.common.attrib;</attdecl>
3146<attribute name="last-revision"
3147           type="#IMPLIED"
3148           value="CDATA"
3149           default=""/>
3150<attribute name="id"
3151           type="#IMPLIED"
3152           value="CDATA"
3153           default=""/>
3154<attribute name="xml:base"
3155           type="#IMPLIED"
3156           value="CDATA"
3157           default=""/>
3158</attlist>
3159
3160<element name="header"
3161         content-type="element">
3162<content-model-expanded>
3163  <sequence-group>
3164    <any/>
3165  </sequence-group>
3166</content-model-expanded>
3167<content-model>
3168  <sequence-group>
3169    <any/>
3170  </sequence-group>
3171</content-model>
3172<purpose>Declares a C++ header with the given name</purpose>
3173</element>
3174
3175<attlist name="header">
3176<attdecl>
3177    name  CDATA  #REQUIRED
3178    %boost.common.attrib;</attdecl>
3179<attribute name="last-revision"
3180           type="#IMPLIED"
3181           value="CDATA"
3182           default=""/>
3183<attribute name="name"
3184           type="#REQUIRED"
3185           value="CDATA"
3186           default=""/>
3187<attribute name="id"
3188           type="#IMPLIED"
3189           value="CDATA"
3190           default=""/>
3191<attribute name="xml:base"
3192           type="#IMPLIED"
3193           value="CDATA"
3194           default=""/>
3195</attlist>
3196
3197<element name="rationale"
3198         content-type="element">
3199<content-model-expanded>
3200  <sequence-group>
3201    <any/>
3202  </sequence-group>
3203</content-model-expanded>
3204<content-model>
3205  <sequence-group>
3206    <any/>
3207  </sequence-group>
3208</content-model>
3209<purpose>Describes the rationale for a particular function's design</purpose>
3210</element>
3211
3212<attlist name="rationale">
3213<attdecl> %boost.common.attrib;</attdecl>
3214<attribute name="last-revision"
3215           type="#IMPLIED"
3216           value="CDATA"
3217           default=""/>
3218<attribute name="id"
3219           type="#IMPLIED"
3220           value="CDATA"
3221           default=""/>
3222<attribute name="xml:base"
3223           type="#IMPLIED"
3224           value="CDATA"
3225           default=""/>
3226</attlist>
3227
3228</dtd>
Note: See TracBrowser for help on using the repository browser.