Boost logo

Boost-Commit :

From: fmhess_at_[hidden]
Date: 2007-10-29 11:18:51


Author: fmhess
Date: 2007-10-29 11:18:49 EDT (Mon, 29 Oct 2007)
New Revision: 40555
URL: http://svn.boost.org/trac/boost/changeset/40555

Log:
Added support for new boostbook <access> element for documenting non-public
class members.

function.xsl, type.xsl, utility.xsl: Added support for <access> elements to
allow nonpublic access specifiers for class member documentation.

boostbook.dtd: Updated to reflect new <access> element. Updated Peter Simons
email address. Added mention of boost license.

reference.dtdxml: Added reference documentation for new <access> element.
Removed some obsolete remarks from the description of inherit element.

reference.xml: The changes to this file were generated by applying
dtd2boostbook.xsl to the updated reference.dtdxml file.

Text files modified:
   trunk/tools/boostbook/doc/reference.dtdxml | 151 ++++++++++++++++-------
   trunk/tools/boostbook/doc/reference.xml | 228 ++++++++++++++++++++----------------
   trunk/tools/boostbook/dtd/boostbook.dtd | 78 +++++++-----
   trunk/tools/boostbook/xsl/chunk-common.xsl | 2
   trunk/tools/boostbook/xsl/function.xsl | 112 +++++++++--------
   trunk/tools/boostbook/xsl/lookup.xsl | 34 ++--
   trunk/tools/boostbook/xsl/reference.xsl | 18 +-
   trunk/tools/boostbook/xsl/type.xsl | 249 ++++++++++++++++++++++++---------------
   trunk/tools/boostbook/xsl/utility.xsl | 31 ++++
   9 files changed, 545 insertions(+), 358 deletions(-)

Modified: trunk/tools/boostbook/doc/reference.dtdxml
==============================================================================
--- trunk/tools/boostbook/doc/reference.dtdxml (original)
+++ trunk/tools/boostbook/doc/reference.dtdxml 2007-10-29 11:18:49 EDT (Mon, 29 Oct 2007)
@@ -21,22 +21,18 @@
 <entity name="boost.class.content"
         type="param"
>
-<text-expanded>template?, inherit*, purpose?, description?,
- (static-constant|typedef|enum|
- copy-assignment|constructor|destructor|method-group|
- free-function-group|function|method|overloaded-function|
- overloaded-method|data-member|class|class-specialization|struct|
- struct-specialization|union|union-specialization)*</text-expanded>
-<text>template?, inherit*, purpose?, description?,
- (%boost.class.mix;)*</text>
+<text-expanded>template?, inherit*, purpose?, description?,
+ (access|%boost.class.mix;)*</text-expanded>
+<text>template?, inherit*, purpose?, description?,
+ (access|%boost.class.mix;)*</text>
 </entity>
 
 <entity name="boost.function.semantics"
         type="param"
>
-<text-expanded>purpose?, description?, requires?, effects?, postconditions?,
+<text-expanded>purpose?, description?, requires?, effects?, postconditions?,
          returns?, throws?, complexity?, notes?, rationale?</text-expanded>
-<text>purpose?, description?, requires?, effects?, postconditions?,
+<text>purpose?, description?, requires?, effects?, postconditions?,
          returns?, throws?, complexity?, notes?, rationale?</text>
 </entity>
 
@@ -98,21 +94,26 @@
                                 id CDATA #IMPLIED</text>
 </entity>
 
-<entity name="boost.class.mix"
+<entity name="boost.class.members"
         type="param"
>
 <text-expanded>static-constant|typedef|enum|
          copy-assignment|constructor|destructor|method-group|
- free-function-group|function|method|overloaded-function|
- overloaded-method|data-member|class|class-specialization|struct|
+ method|overloaded-method|data-member|class|class-specialization|struct|
          struct-specialization|union|union-specialization</text-expanded>
 <text>static-constant|typedef|enum|
          copy-assignment|constructor|destructor|method-group|
- free-function-group|function|method|overloaded-function|
- overloaded-method|data-member|class|class-specialization|struct|
+ |method|overloaded-method|data-member|class|class-specialization|struct|
          struct-specialization|union|union-specialization</text>
 </entity>
 
+<entity name="boost.class.mix"
+ type="param"
+>
+<text-expanded>free-function-group|function|overloaded-function|%boost.class.members;</text-expanded>
+<text>free-function-group|function|overloaded-function|%boost.class.members;</text>
+</entity>
+
 <entity name="boost.testsuite.tests"
         type="param"
>
@@ -196,14 +197,10 @@
 <entity name="boost.class-specialization.content"
         type="param"
>
-<text-expanded>template?, specialization?, inherit?, purpose?, description?,
- (static-constant|typedef|enum|
- copy-assignment|constructor|destructor|method-group|
- free-function-group|function|method|overloaded-function|
- overloaded-method|data-member|class|class-specialization|struct|
- struct-specialization|union|union-specialization)*</text-expanded>
-<text>template?, specialization?, inherit?, purpose?, description?,
- (%boost.class.mix;)*</text>
+<text-expanded>template?, specialization?, inherit?, purpose?, description?,
+ (access|%boost.class.mix;)*</text-expanded>
+<text>template?, specialization?, inherit?, purpose?, description?,
+ (access|%boost.class.mix;)*</text>
 </entity>
 
 <entity name="library.content"
@@ -223,6 +220,7 @@
     <element-name name="purpose" occurrence="?"/>
     <element-name name="description" occurrence="?"/>
     <or-group occurrence="*">
+ <element-name name="access"/>
       <element-name name="static-constant"/>
       <element-name name="typedef"/>
       <element-name name="enum"/>
@@ -296,7 +294,7 @@
 </element>
 
 <attlist name="link-test">
-<attdecl>
+<attdecl>
      filename CDATA #REQUIRED
      name CDATA #IMPLIED</attdecl>
 <attribute name="filename"
@@ -329,7 +327,7 @@
 </element>
 
 <attlist name="link-fail-test">
-<attdecl>
+<attdecl>
      filename CDATA #REQUIRED
      name CDATA #IMPLIED</attdecl>
 <attribute name="filename"
@@ -494,7 +492,7 @@
 </element>
 
 <attlist name="destructor">
-<attdecl>
+<attdecl>
     specifiers CDATA #IMPLIED
     %boost.common.attrib;</attdecl>
 <attribute name="last-revision"
@@ -639,7 +637,7 @@
     </or-group>
   </sequence-group>
 </content-model-expanded>
-<content-model>
+<content-model>
   <sequence-group>
     <element-name name="title" occurrence="?"/>
     <element-name name="section" occurrence="*"/>
@@ -750,6 +748,7 @@
     <element-name name="purpose" occurrence="?"/>
     <element-name name="description" occurrence="?"/>
     <or-group occurrence="*">
+ <element-name name="access"/>
       <element-name name="static-constant"/>
       <element-name name="typedef"/>
       <element-name name="enum"/>
@@ -819,10 +818,7 @@
 <purpose>Declares a base class of the enclosing class or struct</purpose>
 
 <description>
- <para>This element contains the name of the class inherited. The
- content model is free-form, as the inherited class may be an
- instantiation of a template and may have markup in it (e.g.,
- <sgmltag>classname</sgmltag> tags).</para>
+ <para>This element contains the type of the class inherited.</para>
 </description>
 </element>
 
@@ -837,7 +833,9 @@
 <attribute name="access"
            type="#REQUIRED"
            value="CDATA"
- default=""/>
+ default="">
+ <purpose>The access specifier ("public", "private", or "protected") of the inheritance.</purpose>
+</attribute>
 <attribute name="id"
            type="#IMPLIED"
            value="CDATA"
@@ -950,7 +948,7 @@
   behavior. Constructors, destructors, member functions, and free
   functions all use the same documentation method, although the
   top-level tags differ.</para>
-
+
   <para>The behavior of functions in BoostBook is documenting using a
   style similar to that of the C++ standard, with clauses describing
   the requirements, effects, postconditions, exception behavior, and
@@ -979,12 +977,12 @@
         so that any content is equivalent in both type and value to the
         content of &lt;code&gt;other&lt;/code&gt;, or empty if
         &lt;code&gt;other&lt;/code&gt; is
- empty.
+ empty.
       &lt;/simpara&gt;
     &lt;/effects&gt;
 
     &lt;throws&gt;
- &lt;simpara&gt;May fail with a
+ &lt;simpara&gt;May fail with a
         &lt;classname&gt;std::bad_alloc&lt;/classname&gt; exception or any
         exceptions arising from the copy constructor of the
         contained type.
@@ -1218,7 +1216,7 @@
 </element>
 
 <attlist name="constructor">
-<attdecl>
+<attdecl>
     specifiers CDATA #IMPLIED
     %boost.common.attrib;</attdecl>
 <attribute name="last-revision"
@@ -1274,7 +1272,7 @@
 
   <programlisting>&lt;library-reference&gt;
   &lt;header name="boost/any.hpp"&gt;
- &lt;namespace name="boost"&gt;
+ &lt;namespace name="boost"&gt;
       &lt;!-- C++ constructs in the boost namespace --&gt;
     &lt;/namespace&gt;
   &lt;/header&gt;
@@ -1496,7 +1494,7 @@
 </element>
 
 <attlist name="data-member">
-<attdecl>
+<attdecl>
     name CDATA #REQUIRED
     %boost.common.attrib;</attdecl>
 <attribute name="last-revision"
@@ -1558,6 +1556,7 @@
     <element-name name="purpose" occurrence="?"/>
     <element-name name="description" occurrence="?"/>
     <or-group occurrence="*">
+ <element-name name="access"/>
       <element-name name="static-constant"/>
       <element-name name="typedef"/>
       <element-name name="enum"/>
@@ -1736,7 +1735,7 @@
 </element>
 
 <attlist name="requirement">
-<attdecl>
+<attdecl>
      name CDATA #REQUIRED</attdecl>
 <attribute name="name"
            type="#REQUIRED"
@@ -1859,7 +1858,7 @@
 </element>
 
 <attlist name="run-test">
-<attdecl>
+<attdecl>
      filename CDATA #REQUIRED
      name CDATA #IMPLIED</attdecl>
 <attribute name="filename"
@@ -1954,7 +1953,7 @@
 </element>
 
 <attlist name="copy-assignment">
-<attdecl>
+<attdecl>
     cv CDATA #IMPLIED
     specifiers CDATA #IMPLIED
     %boost.common.attrib;</attdecl>
@@ -2000,7 +1999,7 @@
 </element>
 
 <attlist name="run-fail-test">
-<attdecl>
+<attdecl>
      filename CDATA #REQUIRED
      name CDATA #IMPLIED</attdecl>
 <attribute name="filename"
@@ -2159,7 +2158,7 @@
 </element>
 
 <attlist name="parameter">
-<attdecl>
+<attdecl>
      name CDATA #IMPLIED</attdecl>
 <attribute name="name"
            type="#IMPLIED"
@@ -2255,7 +2254,7 @@
 </element>
 
 <attlist name="overloaded-function">
-<attdecl>
+<attdecl>
     name CDATA #REQUIRED
     %boost.common.attrib;</attdecl>
 <attribute name="last-revision"
@@ -2276,6 +2275,60 @@
            default=""/>
 </attlist>
 
+ <element name="access"
+ content-type="element">
+ <content-model-expanded>
+ <or-group occurrence="+">
+ <element-name name="static-constant"/>
+ <element-name name="typedef"/>
+ <element-name name="enum"/>
+ <element-name name="copy-assignment"/>
+ <element-name name="constructor"/>
+ <element-name name="destructor"/>
+ <element-name name="method-group"/>
+ <element-name name="method"/>
+ <element-name name="overloaded-method"/>
+ <element-name name="data-member"/>
+ <element-name name="class"/>
+ <element-name name="class-specialization"/>
+ <element-name name="struct"/>
+ <element-name name="struct-specialization"/>
+ <element-name name="union"/>
+ <element-name name="union-specialization"/>
+ </or-group>
+ </content-model-expanded>
+ <content-model>
+ <sequence-group occurrence="+">
+ <parament-name name="boost.class.members"/>
+ </sequence-group>
+ </content-model>
+ <purpose>Declares an access specification for class members</purpose>
+
+ <description>
+ <para>The access specifications of class members (public, private, or protected) may be determined by enclosing them in an &lt;access&gt; element.</para>
+ </description>
+ </element>
+
+ <attlist name="access">
+ <attdecl>
+ name CDATA #REQUIRED
+ %boost.common.attrib;</attdecl>
+ <attribute name="last-revision"
+ type="#IMPLIED"
+ value="CDATA"
+ default=""/>
+ <attribute name="name"
+ type="#REQUIRED"
+ value="CDATA"
+ default="">
+ <purpose>The name of the access specification, e.g. "public", "private", or "protected".</purpose>
+ </attribute>
+ <attribute name="id"
+ type="#IMPLIED"
+ value="CDATA"
+ default=""/>
+ </attlist>
+
 <element name="class"
          content-type="element">
 <content-model-expanded>
@@ -2285,6 +2338,7 @@
     <element-name name="purpose" occurrence="?"/>
     <element-name name="description" occurrence="?"/>
     <or-group occurrence="*">
+ <element-name name="access"/>
       <element-name name="static-constant"/>
       <element-name name="typedef"/>
       <element-name name="enum"/>
@@ -2348,7 +2402,7 @@
   inheritance from the class <classname>std::bad_cast</classname>. It
   also defines the &lt;purpose&gt; element, which contains a short
   description of the use of the class.</para>
-
+
   <programlisting>&lt;class name="bad_any_cast"&gt;
   &lt;inherit access="public"&gt;&lt;classname&gt;std::bad_cast&lt;/classname&gt;&lt;/inherit&gt;
   &lt;purpose&gt;&lt;para&gt;The exception thrown in the event of a failed
@@ -2402,7 +2456,7 @@
 </element>
 
 <attlist name="librarycategorydef">
-<attdecl>
+<attdecl>
          name CDATA #REQUIRED
          %boost.common.attrib;</attdecl>
 <attribute name="last-revision"
@@ -2524,7 +2578,7 @@
 </element>
 
 <attlist name="overloaded-method">
-<attdecl>
+<attdecl>
     name CDATA #REQUIRED
     %boost.common.attrib;</attdecl>
 <attribute name="last-revision"
@@ -2813,6 +2867,7 @@
     <element-name name="purpose" occurrence="?"/>
     <element-name name="description" occurrence="?"/>
     <or-group occurrence="*">
+ <element-name name="access"/>
       <element-name name="static-constant"/>
       <element-name name="typedef"/>
       <element-name name="enum"/>
@@ -2874,6 +2929,7 @@
     <element-name name="purpose" occurrence="?"/>
     <element-name name="description" occurrence="?"/>
     <or-group occurrence="*">
+ <element-name name="access"/>
       <element-name name="static-constant"/>
       <element-name name="typedef"/>
       <element-name name="enum"/>
@@ -3224,5 +3280,4 @@
            value="CDATA"
            default=""/>
 </attlist>
-
 </dtd>

Modified: trunk/tools/boostbook/doc/reference.xml
==============================================================================
--- trunk/tools/boostbook/doc/reference.xml (original)
+++ trunk/tools/boostbook/doc/reference.xml 2007-10-29 11:18:49 EDT (Mon, 29 Oct 2007)
@@ -1,14 +1,7 @@
 <?xml version="1.0" standalone="yes"?>
-<!--
- Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
-
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
- -->
-<chapter id="reference">
+<section id="reference">
   <title>Reference</title>
- <para>Elements:<itemizedlist spacing="compact"><listitem><simpara><link linkend="boostbook.dtd.boostbook">Element <sgmltag>boostbook</sgmltag> - Defines a BoostBook book</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.class">Element <sgmltag>class</sgmltag> - Declares a class or class template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.class-specialization">Element <sgmltag>class-specialization</sgmltag> - A specialization (partial or full) of a class template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.code">Element <sgmltag>code</sgmltag> - Mimics the <sgmltag>code</sgmltag> tag in HTML</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.compile-fail-test">Element <sgmltag>compile-fail-test</sgmltag> - A testcase that should fail to compile</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.compile-test">Element <sgmltag>compile-test</sgmltag> - A testcase that should
compile correctly</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.complexity">Element <sgmltag>complexity</sgmltag> - The time/space/etc. complexity of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.constructor">Element <sgmltag>constructor</sgmltag> - Declares a constructor of the enclosing class</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.copy-assignment">Element <sgmltag>copy-assignment</sgmltag> - Declares a copy-assignment operator</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.data-member">Element <sgmltag>data-member</sgmltag> - Declares a data member of a class</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.default">Element <sgmltag>default</sgmltag> - The default value of a function or template parameter</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.description">Element <sgmltag>description</sgmltag> - Detailed descripti
on of a construct</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.destructor">Element <sgmltag>destructor</sgmltag> - Declares a destructor for the enclosing class</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.effects">Element <sgmltag>effects</sgmltag> - Declares the side effects of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.enum">Element <sgmltag>enum</sgmltag> - Declares an enumeration type</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.enumvalue">Element <sgmltag>enumvalue</sgmltag> - A single value of an enumeration</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.free-function-group">Element <sgmltag>free-function-group</sgmltag> - A set of functions that are grouped together under one name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.function">Element <sgmltag>function</sgmltag> - Declares a function</link></simpara></lis
titem><listitem><simpara><link linkend="boostbook.dtd.functionname">Element <sgmltag>functionname</sgmltag> - References a function with the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.header">Element <sgmltag>header</sgmltag> - Declares a C++ header with the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.if-fails">Element <sgmltag>if-fails</sgmltag> - What it means when a testcase fails</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.inherit">Element <sgmltag>inherit</sgmltag> - Declares a base class of the enclosing class or struct</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.lib">Element <sgmltag>lib</sgmltag> - A library dependency</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.library">Element <sgmltag>library</sgmltag> - Top-level element for a library</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.library-refer
ence">Element <sgmltag>library-reference</sgmltag> - Declares the reference material for a library</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.librarycategory">Element <sgmltag>librarycategory</sgmltag> - Declares that the enclosing library is in this category</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.librarycategorydef">Element <sgmltag>librarycategorydef</sgmltag> - Defines a new library category</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.librarycategorylist">Element <sgmltag>librarycategorylist</sgmltag> - Categorized listing of libraries</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.libraryinfo">Element <sgmltag>libraryinfo</sgmltag> - Provides information about a library</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.librarylist">Element <sgmltag>librarylist</sgmltag> - Placeholder for an alphabetical list of libraries</link></simpara></listitem><listit
em><simpara><link linkend="boostbook.dtd.libraryname">Element <sgmltag>libraryname</sgmltag> - References a library of the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.librarypurpose">Element <sgmltag>librarypurpose</sgmltag> - Describes in one short sentence or phrase the purpose of a library</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.link-fail-test">Element <sgmltag>link-fail-test</sgmltag> - Declares a test that should compile but fail to link</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.link-test">Element <sgmltag>link-test</sgmltag> - Declares a test that should compile and link</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.method">Element <sgmltag>method</sgmltag> - Declares a method, i.e., a member function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.method-group">Element <sgmltag>method-group</sgmltag> - A set of methods that are grouped to
gether under one name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.namespace">Element <sgmltag>namespace</sgmltag> - Declares a namespace</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.notes">Element <sgmltag>notes</sgmltag> - Non-normative notes about a function's semantics</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.overloaded-function">Element <sgmltag>overloaded-function</sgmltag> - An overloaded function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.overloaded-method">Element <sgmltag>overloaded-method</sgmltag> - An overloaded method</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.parameter">Element <sgmltag>parameter</sgmltag> - A function parameter</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.paramtype">Element <sgmltag>paramtype</sgmltag> - The type of a function parameter</link></simpara></listitem><listitem><simpara><link lin
kend="boostbook.dtd.postconditions">Element <sgmltag>postconditions</sgmltag> - Conditions that must hold after the function returns</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.precondition">Element <sgmltag>precondition</sgmltag> - Conditions that must be met prior to executing a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.programlisting">Element <sgmltag>programlisting</sgmltag> - A sample of program code</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.purpose">Element <sgmltag>purpose</sgmltag> - A short description of an entity's use</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.rationale">Element <sgmltag>rationale</sgmltag> - Describes the rationale for a particular function's design</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.requirement">Element <sgmltag>requirement</sgmltag> - A requirement/property in the Jamfile for a testcase</link></simpara
></listitem><listitem><simpara><link linkend="boostbook.dtd.requires">Element <sgmltag>requires</sgmltag> - Declares the requirements of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.returns">Element <sgmltag>returns</sgmltag> - Description of the return value of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.run-fail-test">Element <sgmltag>run-fail-test</sgmltag> - A testcase that should compile and link, but fail on execution</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.run-test">Element <sgmltag>run-test</sgmltag> - A testcase that should compile, link, and execute</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.signature">Element <sgmltag>signature</sgmltag> - One signature of an overloaded function or method</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.snippet">Element <sgmltag>snippet</sgmltag> - Pulls in a code snippet from a <sgmltag>pro
gramlisting</sgmltag> element</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.source">Element <sgmltag>source</sgmltag> - Defines source code for a test</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.specialization">Element <sgmltag>specialization</sgmltag> - Defines the specialization arguments for a class specialization</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.static-constant">Element <sgmltag>static-constant</sgmltag> - Declares a static constant, e.g., <code>const int foo = 5;</code>.</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.struct">Element <sgmltag>struct</sgmltag> - Declares a C++ struct</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.struct-specialization">Element <sgmltag>struct-specialization</sgmltag> - A specialization (full or partial) of a struct template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template">Element <
sgmltag>template</sgmltag> - Declares the template parameters of a class or function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template-arg">Element <sgmltag>template-arg</sgmltag> - A template argument in a specialization</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template-nontype-parameter">Element <sgmltag>template-nontype-parameter</sgmltag> - A nontype template parameter</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template-type-parameter">Element <sgmltag>template-type-parameter</sgmltag> - Declares a template type parameter</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template-varargs">Element <sgmltag>template-varargs</sgmltag> - Declares a variable-length list of template parameters</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.testsuite">Element <sgmltag>testsuite</sgmltag> - Describes a library testsuite</link></simpara></listitem><listitem><simp
ara><link linkend="boostbook.dtd.throws">Element <sgmltag>throws</sgmltag> - Description of the exceptions thrown by a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.type">Element <sgmltag>type</sgmltag> - The type of an element or return type of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.typedef">Element <sgmltag>typedef</sgmltag> - Declares a typedef</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.union">Element <sgmltag>union</sgmltag> - Declares a C++ union or union template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.union-specialization">Element <sgmltag>union-specialization</sgmltag> - A specialization (full or partial) of a union template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.using-class">Element <sgmltag>using-class</sgmltag> - Injects the method and function names of a class into the local scope</link></simpara></listitem><lis
titem><simpara><link linkend="boostbook.dtd.using-namespace">Element <sgmltag>using-namespace</sgmltag> - Injects the declared names from a namespace into the local scope</link></simpara></listitem></itemizedlist></para>
+ <para>Elements:<itemizedlist spacing="compact"><listitem><simpara><link linkend="boostbook.dtd.access">Element <sgmltag>access</sgmltag> - Declares an access specification for class members</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.boostbook">Element <sgmltag>boostbook</sgmltag> - Defines a BoostBook book</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.class">Element <sgmltag>class</sgmltag> - Declares a class or class template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.class-specialization">Element <sgmltag>class-specialization</sgmltag> - A specialization (partial or full) of a class template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.code">Element <sgmltag>code</sgmltag> - Mimics the <sgmltag>code</sgmltag> tag in HTML</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.compile-fail-test">Element <sgmltag>compile-fail-test</sgmltag> - A testcase that should
fail to compile</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.compile-test">Element <sgmltag>compile-test</sgmltag> - A testcase that should compile correctly</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.complexity">Element <sgmltag>complexity</sgmltag> - The time/space/etc. complexity of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.constructor">Element <sgmltag>constructor</sgmltag> - Declares a constructor of the enclosing class</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.copy-assignment">Element <sgmltag>copy-assignment</sgmltag> - Declares a copy-assignment operator</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.data-member">Element <sgmltag>data-member</sgmltag> - Declares a data member of a class</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.default">Element <sgmltag>default</sgmltag> - The default value of a function
 or template parameter</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.description">Element <sgmltag>description</sgmltag> - Detailed description of a construct</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.destructor">Element <sgmltag>destructor</sgmltag> - Declares a destructor for the enclosing class</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.effects">Element <sgmltag>effects</sgmltag> - Declares the side effects of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.enum">Element <sgmltag>enum</sgmltag> - Declares an enumeration type</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.enumvalue">Element <sgmltag>enumvalue</sgmltag> - A single value of an enumeration</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.free-function-group">Element <sgmltag>free-function-group</sgmltag> - A set of functions that are grouped together under one
 name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.function">Element <sgmltag>function</sgmltag> - Declares a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.functionname">Element <sgmltag>functionname</sgmltag> - References a function with the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.header">Element <sgmltag>header</sgmltag> - Declares a C++ header with the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.if-fails">Element <sgmltag>if-fails</sgmltag> - What it means when a testcase fails</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.inherit">Element <sgmltag>inherit</sgmltag> - Declares a base class of the enclosing class or struct</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.lib">Element <sgmltag>lib</sgmltag> - A library dependency</link></simpara></listitem><listitem><simpara><link linkend="boostbook.
dtd.library">Element <sgmltag>library</sgmltag> - Top-level element for a library</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.library-reference">Element <sgmltag>library-reference</sgmltag> - Declares the reference material for a library</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.librarycategory">Element <sgmltag>librarycategory</sgmltag> - Declares that the enclosing library is in this category</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.librarycategorydef">Element <sgmltag>librarycategorydef</sgmltag> - Defines a new library category</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.librarycategorylist">Element <sgmltag>librarycategorylist</sgmltag> - Categorized listing of libraries</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.libraryinfo">Element <sgmltag>libraryinfo</sgmltag> - Provides information about a library</link></simpara></listitem><listitem><simpa
ra><link linkend="boostbook.dtd.librarylist">Element <sgmltag>librarylist</sgmltag> - Placeholder for an alphabetical list of libraries</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.libraryname">Element <sgmltag>libraryname</sgmltag> - References a library of the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.librarypurpose">Element <sgmltag>librarypurpose</sgmltag> - Describes in one short sentence or phrase the purpose of a library</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.link-fail-test">Element <sgmltag>link-fail-test</sgmltag> - Declares a test that should compile but fail to link</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.link-test">Element <sgmltag>link-test</sgmltag> - Declares a test that should compile and link</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.method">Element <sgmltag>method</sgmltag> - Declares a method, i.e., a member functi
on</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.method-group">Element <sgmltag>method-group</sgmltag> - A set of methods that are grouped together under one name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.namespace">Element <sgmltag>namespace</sgmltag> - Declares a namespace</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.notes">Element <sgmltag>notes</sgmltag> - Non-normative notes about a function's semantics</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.overloaded-function">Element <sgmltag>overloaded-function</sgmltag> - An overloaded function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.overloaded-method">Element <sgmltag>overloaded-method</sgmltag> - An overloaded method</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.parameter">Element <sgmltag>parameter</sgmltag> - A function parameter</link></simpara></listitem><listitem><simpa
ra><link linkend="boostbook.dtd.paramtype">Element <sgmltag>paramtype</sgmltag> - The type of a function parameter</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.postconditions">Element <sgmltag>postconditions</sgmltag> - Conditions that must hold after the function returns</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.precondition">Element <sgmltag>precondition</sgmltag> - Conditions that must be met prior to executing a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.programlisting">Element <sgmltag>programlisting</sgmltag> - A sample of program code</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.purpose">Element <sgmltag>purpose</sgmltag> - A short description of an entity's use</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.rationale">Element <sgmltag>rationale</sgmltag> - Describes the rationale for a particular function's design</link></simpara></listitem>
<listitem><simpara><link linkend="boostbook.dtd.requirement">Element <sgmltag>requirement</sgmltag> - A requirement/property in the Jamfile for a testcase</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.requires">Element <sgmltag>requires</sgmltag> - Declares the requirements of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.returns">Element <sgmltag>returns</sgmltag> - Description of the return value of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.run-fail-test">Element <sgmltag>run-fail-test</sgmltag> - A testcase that should compile and link, but fail on execution</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.run-test">Element <sgmltag>run-test</sgmltag> - A testcase that should compile, link, and execute</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.signature">Element <sgmltag>signature</sgmltag> - One signature of an overloaded function or m
ethod</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.snippet">Element <sgmltag>snippet</sgmltag> - Pulls in a code snippet from a <sgmltag>programlisting</sgmltag> element</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.source">Element <sgmltag>source</sgmltag> - Defines source code for a test</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.specialization">Element <sgmltag>specialization</sgmltag> - Defines the specialization arguments for a class specialization</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.static-constant">Element <sgmltag>static-constant</sgmltag> - Declares a static constant, e.g., <code>const int foo = 5;</code>.</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.struct">Element <sgmltag>struct</sgmltag> - Declares a C++ struct</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.struct-specialization">Element <sgmltag>struct-special
ization</sgmltag> - A specialization (full or partial) of a struct template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template">Element <sgmltag>template</sgmltag> - Declares the template parameters of a class or function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template-arg">Element <sgmltag>template-arg</sgmltag> - A template argument in a specialization</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template-nontype-parameter">Element <sgmltag>template-nontype-parameter</sgmltag> - A nontype template parameter</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template-type-parameter">Element <sgmltag>template-type-parameter</sgmltag> - Declares a template type parameter</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template-varargs">Element <sgmltag>template-varargs</sgmltag> - Declares a variable-length list of template parameters</link></simpara></listitem>
<listitem><simpara><link linkend="boostbook.dtd.testsuite">Element <sgmltag>testsuite</sgmltag> - Describes a library testsuite</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.throws">Element <sgmltag>throws</sgmltag> - Description of the exceptions thrown by a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.type">Element <sgmltag>type</sgmltag> - The type of an element or return type of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.typedef">Element <sgmltag>typedef</sgmltag> - Declares a typedef</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.union">Element <sgmltag>union</sgmltag> - Declares a C++ union or union template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.union-specialization">Element <sgmltag>union-specialization</sgmltag> - A specialization (full or partial) of a union template</link></simpara></listitem><listitem><simpara><link linkend=
"boostbook.dtd.using-class">Element <sgmltag>using-class</sgmltag> - Injects the method and function names of a class into the local scope</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.using-namespace">Element <sgmltag>using-namespace</sgmltag> - Injects the declared names from a namespace into the local scope</link></simpara></listitem></itemizedlist></para>
   <refentry id="boostbook.dtd.class-specialization">
     <refmeta>
       <refentrytitle>
@@ -20,7 +13,7 @@
       <refpurpose>A specialization (partial or full) of a class template</refpurpose>
     </refnamediv>
     <refsynopsisdiv>class-specialization ::=
- (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.specialization">specialization</link>?, <link linkend="boostbook.dtd.inherit">inherit</link>?, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, (<link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-function">overloaded-function</link>| <link linkend="boostbook.dt
d.overloaded-method">overloaded-method</link>| <link linkend="boostbook.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)*)
+ (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.specialization">specialization</link>?, <link linkend="boostbook.dtd.inherit">inherit</link>?, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, (<link linkend="boostbook.dtd.access">access</link>| <link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-function">ove
rloaded-function</link>| <link linkend="boostbook.dtd.overloaded-method">overloaded-method</link>| <link linkend="boostbook.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)*)
 </refsynopsisdiv>
     <refsection>
       <title>Attributes</title>
@@ -36,7 +29,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -140,7 +133,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -176,7 +169,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -218,7 +211,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -258,7 +251,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>specifiers</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The specifiers for this function, e.g., inline, static, etc.</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -294,7 +287,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -339,7 +332,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -377,7 +370,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -413,7 +406,7 @@
   this:</para>
 
   <programlisting>&lt;library-reference&gt;
- &lt;header name=&quot;boost/any.hpp&quot;&gt;
+ &lt;header name="boost/any.hpp"&gt;
     &lt;!-- C++ constructs in this header --&gt;
   &lt;/header&gt;
 &lt;/library-reference&gt;</programlisting>
@@ -440,7 +433,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -480,7 +473,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -499,7 +492,7 @@
       <refpurpose>Declares a C++ union or union template</refpurpose>
     </refnamediv>
     <refsynopsisdiv>union ::=
- (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.inherit">inherit</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, (<link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-function">overloaded-function</link>| <link linkend="boostbook.dtd.overloaded-method">overloaded-method</link>| <link linkend="boostbo
ok.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)*)
+ (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.inherit">inherit</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, (<link linkend="boostbook.dtd.access">access</link>| <link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-function">overloaded-function</link>| <link linkend="boostbook.dtd.overloaded-meth
od">overloaded-method</link>| <link linkend="boostbook.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)*)
 </refsynopsisdiv>
     <refsection>
       <title>Attributes</title>
@@ -515,7 +508,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -535,13 +528,10 @@
       <refpurpose>Declares a base class of the enclosing class or struct</refpurpose>
     </refnamediv>
     <refsynopsisdiv>inherit ::=
- (ANY)
+ (<link linkend="boostbook.dtd.type">type</link>, <link linkend="boostbook.dtd.purpose">purpose</link>?)
 </refsynopsisdiv>
     <refsection><title>Description</title>
- <para>This element contains the name of the class inherited. The
- content model is free-form, as the inherited class may be an
- instantiation of a template and may have markup in it (e.g.,
- <sgmltag>classname</sgmltag> tags).</para>
+ <para>This element contains the type of the class inherited.</para>
 </refsection>
     <refsection>
       <title>Attributes</title>
@@ -557,8 +547,8 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
-<row><entry>access</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry/></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
+<row><entry>access</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The access specifier ("public", "private", or "protected") of the inheritance.</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -582,7 +572,7 @@
     <refsection><title>Description</title>
   <para>Variable-length template parameter lists are not allowed in
   C++, but because they are sometimes needed in documentation they are
- allowed in BoostBook. This element generally expands to &quot;...&quot; and
+ allowed in BoostBook. This element generally expands to "..." and
   can be used anywhere any other template parameter can be
   used.</para>
 </refsection>
@@ -600,7 +590,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -654,7 +644,7 @@
   behavior. Constructors, destructors, member functions, and free
   functions all use the same documentation method, although the
   top-level tags differ.</para>
-
+
   <para>The behavior of functions in BoostBook is documenting using a
   style similar to that of the C++ standard, with clauses describing
   the requirements, effects, postconditions, exception behavior, and
@@ -662,18 +652,18 @@
 
   <para>The following example illustrates some constructors and a
   destructor for <classname>boost::any</classname>. Note that one of
- the constructors takes a single parameter whose name is &quot;other&quot; and
+ the constructors takes a single parameter whose name is "other" and
   whose type, <code>const any&amp;</code> is contained in the
   &lt;paramtype&gt; element; any number of parameters may be specified
   in this way.</para>
 
- <programlisting>&lt;class name=&quot;any&quot;&gt;
+ <programlisting>&lt;class name="any"&gt;
   &lt;constructor&gt;
     &lt;postconditions&gt;&lt;para&gt;&lt;this-&gt;empty()&gt;&lt;/para&gt;&lt;/postconditions&gt;
   &lt;/constructor&gt;
 
   &lt;constructor&gt;
- &lt;parameter name=&quot;other&quot;&gt;
+ &lt;parameter name="other"&gt;
       &lt;paramtype&gt;const &lt;classname&gt;any&lt;/classname&gt;&amp;amp;&lt;/paramtype&gt;
     &lt;/parameter&gt;
 
@@ -683,12 +673,12 @@
         so that any content is equivalent in both type and value to the
         content of &lt;code&gt;other&lt;/code&gt;, or empty if
         &lt;code&gt;other&lt;/code&gt; is
- empty.
+ empty.
       &lt;/simpara&gt;
     &lt;/effects&gt;
 
     &lt;throws&gt;
- &lt;simpara&gt;May fail with a
+ &lt;simpara&gt;May fail with a
         &lt;classname&gt;std::bad_alloc&lt;/classname&gt; exception or any
         exceptions arising from the copy constructor of the
         contained type.
@@ -718,7 +708,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>specifiers</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The specifiers for this function, e.g., inline, static, etc.</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
@@ -755,7 +745,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -829,7 +819,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>cv</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>cv-qualifiers for this method, e.g., const volatile</entry></row>
 <row><entry>specifiers</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The specifiers for this function, e.g., inline, static, etc.</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
@@ -905,7 +895,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>specifiers</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The specifiers for this function, e.g., inline, static, etc.</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -932,12 +922,12 @@
   element. As in C++, namespaces can be nested and contain other C++
   constructs, such as classes or functions. The <code>name</code>
   attribute of a &lt;namespace&gt; element gives the namespace name
- (e.g., &quot;boost&quot;). The <libraryname>Any</libraryname> library is
+ (e.g., "boost"). The <libraryname>Any</libraryname> library is
   defined entirely within namespace boost by:</para>
 
   <programlisting>&lt;library-reference&gt;
- &lt;header name=&quot;boost/any.hpp&quot;&gt;
- &lt;namespace name=&quot;boost&quot;&gt;
+ &lt;header name="boost/any.hpp"&gt;
+ &lt;namespace name="boost"&gt;
       &lt;!-- C++ constructs in the boost namespace --&gt;
     &lt;/namespace&gt;
   &lt;/header&gt;
@@ -957,7 +947,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -1016,7 +1006,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -1060,7 +1050,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -1095,7 +1085,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -1131,7 +1121,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -1166,7 +1156,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -1202,7 +1192,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -1221,7 +1211,7 @@
       <refpurpose>A specialization (full or partial) of a union template</refpurpose>
     </refnamediv>
     <refsynopsisdiv>union-specialization ::=
- (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.specialization">specialization</link>?, <link linkend="boostbook.dtd.inherit">inherit</link>?, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, (<link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-function">overloaded-function</link>| <link linkend="boostbook.dt
d.overloaded-method">overloaded-method</link>| <link linkend="boostbook.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)*)
+ (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.specialization">specialization</link>?, <link linkend="boostbook.dtd.inherit">inherit</link>?, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, (<link linkend="boostbook.dtd.access">access</link>| <link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-function">ove
rloaded-function</link>| <link linkend="boostbook.dtd.overloaded-method">overloaded-method</link>| <link linkend="boostbook.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)*)
 </refsynopsisdiv>
     <refsection>
       <title>Attributes</title>
@@ -1237,7 +1227,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -1273,7 +1263,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -1308,7 +1298,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -1343,7 +1333,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -1372,7 +1362,7 @@
   requirement gives the value of that feature. A requirement such as
   <code>&lt;includes&gt;foo.hpp</code> would be encoded as
   <code>&lt;requirement
- name=&quot;includes&quot;&gt;foo.hpp&lt;/requirement&gt;</code>.</para>
+ name="includes"&gt;foo.hpp&lt;/requirement&gt;</code>.</para>
 </refsection>
     <refsection>
       <title>Attributes</title>
@@ -1421,7 +1411,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -1456,7 +1446,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -1491,7 +1481,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -1561,7 +1551,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -1605,7 +1595,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>cv</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>cv-qualifiers for this method, e.g., const volatile</entry></row>
 <row><entry>specifiers</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The specifiers for this function, e.g., inline, static, etc.</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
@@ -1676,7 +1666,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -1745,7 +1735,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -1780,7 +1770,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -1857,7 +1847,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>cv</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>cv-qualifiers for this method, e.g., const volatile</entry></row>
 <row><entry>specifiers</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The specifiers for this function, e.g., inline, static, etc.</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
@@ -1899,7 +1889,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -1908,6 +1898,44 @@
       </informaltable>
     </refsection>
   </refentry>
+ <refentry id="boostbook.dtd.access">
+ <refmeta>
+ <refentrytitle>
+ BoostBook element <sgmltag>access</sgmltag></refentrytitle>
+ <manvolnum>9</manvolnum>
+ </refmeta>
+ <refnamediv>
+ <refname>access</refname>
+ <refpurpose>Declares an access specification for class members</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>access ::=
+ (<link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-method">overloaded-method</link>| <link linkend="boostbook.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)+
+ </refsynopsisdiv>
+ <refsection><title>Description</title>
+ <para>The access specifications of class members (public, private, or protected) may be determined by enclosing them in an &lt;access&gt; element.</para>
+ </refsection>
+ <refsection>
+ <title>Attributes</title>
+ <informaltable>
+ <tgroup cols="4">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Type</entry>
+ <entry>Value</entry>
+ <entry>Purpose</entry>
+ </row>
+ </thead>
+ <tbody>
+
+ <row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
+ <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the access specification, e.g. "public", "private", or "protected".</entry></row>
+ <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </refsection>
+ </refentry>
   <refentry id="boostbook.dtd.class">
     <refmeta>
       <refentrytitle>
@@ -1919,18 +1947,18 @@
       <refpurpose>Declares a class or class template</refpurpose>
     </refnamediv>
     <refsynopsisdiv>class ::=
- (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.inherit">inherit</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, (<link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-function">overloaded-function</link>| <link linkend="boostbook.dtd.overloaded-method">overloaded-method</link>| <link linkend="boostbo
ok.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)*)
+ (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.inherit">inherit</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, (<link linkend="boostbook.dtd.access">access</link>| <link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-function">overloaded-function</link>| <link linkend="boostbook.dtd.overloaded-meth
od">overloaded-method</link>| <link linkend="boostbook.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)*)
 </refsynopsisdiv>
     <refsection><title>Description</title>
   <para>C++ classes and class templates are described via the
- &lt;class&gt; element. Each class has a name (e.g., &quot;any&quot;) given by
+ &lt;class&gt; element. Each class has a name (e.g., "any") given by
   the <code>name</code> attribute, a purpose given by the
   &lt;purpose&gt; element, documentation, and a set of types,
   functions, base classes, and data members. Here is a minimal
   definition of the <classname>boost::any</classname> class:</para>
 
- <programlisting>&lt;namespace name=&quot;boost&quot;&gt;
- &lt;class name=&quot;any&quot;&gt;
+ <programlisting>&lt;namespace name="boost"&gt;
+ &lt;class name="any"&gt;
     &lt;purpose&gt;
       A class whose instances can hold instances of any type that satisfies
       ValueType requirements.
@@ -1955,9 +1983,9 @@
   inheritance from the class <classname>std::bad_cast</classname>. It
   also defines the &lt;purpose&gt; element, which contains a short
   description of the use of the class.</para>
-
- <programlisting>&lt;class name=&quot;bad_any_cast&quot;&gt;
- &lt;inherit access=&quot;public&quot;&gt;&lt;classname&gt;std::bad_cast&lt;/classname&gt;&lt;/inherit&gt;
+
+ <programlisting>&lt;class name="bad_any_cast"&gt;
+ &lt;inherit access="public"&gt;&lt;classname&gt;std::bad_cast&lt;/classname&gt;&lt;/inherit&gt;
   &lt;purpose&gt;&lt;para&gt;The exception thrown in the event of a failed
   &lt;functionname&gt;any_cast&lt;/functionname&gt; of an
   &lt;classname&gt;any&lt;/classname&gt; value.&lt;/para&gt;&lt;/purpose&gt;
@@ -1980,7 +2008,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -2003,7 +2031,7 @@
   (#PCDATA)
 </refsynopsisdiv>
     <refsection><title>Description</title>
- <para>All library category definitions should be in <filename>doc/src/boost.xml</filename>, and the names of categories must be prefixed with &quot;<code>category:</code>&quot;.</para>
+ <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>
 </refsection>
     <refsection>
       <title>Attributes</title>
@@ -2019,7 +2047,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -2055,7 +2083,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -2090,7 +2118,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -2131,7 +2159,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -2200,7 +2228,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -2235,7 +2263,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -2270,7 +2298,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -2306,7 +2334,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>dirname</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry/></row>
 <row><entry>url</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry/></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
@@ -2350,7 +2378,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -2385,7 +2413,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -2405,7 +2433,7 @@
       <refpurpose>A specialization (full or partial) of a struct template</refpurpose>
     </refnamediv>
     <refsynopsisdiv>struct-specialization ::=
- (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.specialization">specialization</link>?, <link linkend="boostbook.dtd.inherit">inherit</link>?, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, (<link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-function">overloaded-function</link>| <link linkend="boostbook.dt
d.overloaded-method">overloaded-method</link>| <link linkend="boostbook.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)*)
+ (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.specialization">specialization</link>?, <link linkend="boostbook.dtd.inherit">inherit</link>?, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, (<link linkend="boostbook.dtd.access">access</link>| <link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-function">ove
rloaded-function</link>| <link linkend="boostbook.dtd.overloaded-method">overloaded-method</link>| <link linkend="boostbook.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)*)
 </refsynopsisdiv>
     <refsection>
       <title>Attributes</title>
@@ -2421,7 +2449,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -2441,7 +2469,7 @@
       <refpurpose>Declares a C++ struct</refpurpose>
     </refnamediv>
     <refsynopsisdiv>struct ::=
- (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.inherit">inherit</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, (<link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-function">overloaded-function</link>| <link linkend="boostbook.dtd.overloaded-method">overloaded-method</link>| <link linkend="boostbo
ok.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)*)
+ (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.inherit">inherit</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, (<link linkend="boostbook.dtd.access">access</link>| <link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-function">overloaded-function</link>| <link linkend="boostbook.dtd.overloaded-meth
od">overloaded-method</link>| <link linkend="boostbook.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)*)
 </refsynopsisdiv>
     <refsection>
       <title>Attributes</title>
@@ -2457,7 +2485,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -2510,7 +2538,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -2546,7 +2574,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -2581,7 +2609,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -2616,7 +2644,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -2651,7 +2679,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -2686,7 +2714,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -2721,7 +2749,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
@@ -2757,7 +2785,7 @@
           </thead>
           <tbody>
 
-<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep &quot;last revised&quot; information in sync with CVS changes</entry></row>
+<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
 <row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
 <row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
 </tbody>
@@ -2765,4 +2793,4 @@
       </informaltable>
     </refsection>
   </refentry>
-</chapter>
+</section>

Modified: trunk/tools/boostbook/dtd/boostbook.dtd
==============================================================================
--- trunk/tools/boostbook/dtd/boostbook.dtd (original)
+++ trunk/tools/boostbook/dtd/boostbook.dtd 2007-10-29 11:18:49 EDT (Mon, 29 Oct 2007)
@@ -1,15 +1,20 @@
 <!--
- BoostBook DTD version 1.0
+ BoostBook DTD version 1.1
 
    For further information, see: http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Boost_Documentation_Format
 
- Copyright (c) 2002 by Peter Simons <simons_at_[hidden]>.
- All Rights Reserved.
+ Copyright (c) 2002 by Peter Simons <simons_at_[hidden]>
+ Copyright (c) 2003-2004 by Douglas Gregor <doug.gregor -at- gmail.com>
+ Copyright (c) 2007 by Frank Mori Hess <fmhess_at_[hidden]>
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
 
    This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
- PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
- SYSTEM "http://cryp.to/boost-sandbox/libs/documentation/dtd/boostbook.dtd"
+ PUBLIC "-//Boost//DTD BoostBook XML V1.1//EN"
+ SYSTEM "http://www.boost.org/tools/boostbook/dtd/1.1/boostbook.dtd"
 
    $Revision$
    $Date$
@@ -37,7 +42,7 @@
 <!ENTITY % boost.common.attrib "%local.common.attrib;
                                 id CDATA #IMPLIED">
 
-<!ENTITY % boost.namespace.mix
+<!ENTITY % boost.namespace.mix
         "class|class-specialization|struct|struct-specialization|
          union|union-specialization|typedef|enum|
          free-function-group|function|overloaded-function|
@@ -46,23 +51,25 @@
 <!ENTITY % boost.template.mix
         "template-type-parameter|template-nontype-parameter|template-varargs">
 
-<!ENTITY % boost.class.mix
+<!ENTITY % boost.class.members
         "static-constant|typedef|enum|
          copy-assignment|constructor|destructor|method-group|
- free-function-group|function|method|overloaded-function|
- overloaded-method|data-member|class|class-specialization|struct|
+ method|overloaded-method|data-member|class|class-specialization|struct|
          struct-specialization|union|union-specialization">
 
+<!ENTITY % boost.class.mix
+ "%boost.class.members;|free-function-group|function|overloaded-function">
+
 <!ENTITY % boost.class.content
- "template?, inherit*, purpose?, description?,
- (%boost.class.mix;)*">
+ "template?, inherit*, purpose?, description?,
+ (%boost.class.mix;|access)*">
 
 <!ENTITY % boost.class-specialization.content
- "template?, specialization?, inherit?, purpose?, description?,
- (%boost.class.mix;)*">
+ "template?, specialization?, inherit?, purpose?, description?,
+ (%boost.class.mix;|access)*">
 
 <!ENTITY % boost.function.semantics
- "purpose?, description?, requires?, effects?, postconditions?,
+ "purpose?, description?, requires?, effects?, postconditions?,
          returns?, throws?, complexity?, notes?, rationale?">
 
 <!ENTITY % library.content
@@ -104,7 +111,7 @@
 <!ATTLIST librarycategorylist %boost.common.attrib;>
 
 <!ELEMENT librarycategorydef (#PCDATA)>
-<!ATTLIST librarycategorydef
+<!ATTLIST librarycategorydef
          name CDATA #REQUIRED
          %boost.common.attrib;>
 
@@ -148,6 +155,11 @@
     name CDATA #REQUIRED
     %boost.common.attrib;>
 
+<!ELEMENT access (%boost.class.members;)+>
+<!ATTLIST access
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
 <!--========= C++ Templates =========-->
 <!ELEMENT template (%boost.template.mix;)*>
 <!ATTLIST template %boost.common.attrib;>
@@ -209,7 +221,7 @@
     %boost.common.attrib;>
 
 <!ELEMENT data-member (type, purpose?, description?)>
-<!ATTLIST data-member
+<!ATTLIST data-member
     name CDATA #REQUIRED
     specifiers CDATA #IMPLIED
     %boost.common.attrib;>
@@ -229,12 +241,12 @@
     %boost.common.attrib;>
 
 <!ELEMENT constructor (template?, parameter*, %boost.function.semantics;)>
-<!ATTLIST constructor
+<!ATTLIST constructor
     specifiers CDATA #IMPLIED
     %boost.common.attrib;>
 
 <!ELEMENT destructor (%boost.function.semantics;)>
-<!ATTLIST destructor
+<!ATTLIST destructor
     specifiers CDATA #IMPLIED
     %boost.common.attrib;>
 
@@ -252,12 +264,12 @@
     %boost.common.attrib;>
 
 <!ELEMENT overloaded-method (signature*, %boost.function.semantics;)>
-<!ATTLIST overloaded-method
+<!ATTLIST overloaded-method
     name CDATA #REQUIRED
     %boost.common.attrib;>
 
 <!ELEMENT overloaded-function (signature*, %boost.function.semantics;)>
-<!ATTLIST overloaded-function
+<!ATTLIST overloaded-function
     name CDATA #REQUIRED
     %boost.common.attrib;>
 
@@ -286,12 +298,12 @@
 <!ATTLIST rationale %boost.common.attrib;>
 
 <!ELEMENT functionname (#PCDATA)>
-<!ATTLIST functionname
+<!ATTLIST functionname
     alt CDATA #IMPLIED
     %boost.common.attrib;>
 
 <!ELEMENT enumname (#PCDATA)>
-<!ATTLIST enumname
+<!ATTLIST enumname
     alt CDATA #IMPLIED
     %boost.common.attrib;>
 
@@ -301,9 +313,9 @@
 <!ELEMENT headername (#PCDATA)>
 <!ATTLIST headername %boost.common.attrib;>
 
-<!ELEMENT copy-assignment
+<!ELEMENT copy-assignment
     (template?, type?, parameter*, %boost.function.semantics;)>
-<!ATTLIST copy-assignment
+<!ATTLIST copy-assignment
     cv CDATA #IMPLIED
     specifiers CDATA #IMPLIED
     %boost.common.attrib;>
@@ -330,7 +342,7 @@
      %boost.common.attrib;>
 
 <!--========== Boost Testsuite Extensions ==========-->
-<!ENTITY % boost.testsuite.tests
+<!ENTITY % boost.testsuite.tests
         "compile-test|link-test|run-test|
          compile-fail-test|link-fail-test|run-fail-test">
 <!ENTITY % boost.testsuite.test.content
@@ -345,12 +357,12 @@
      name CDATA #IMPLIED>
 
 <!ELEMENT link-test (%boost.testsuite.test.content;)>
-<!ATTLIST link-test
+<!ATTLIST link-test
      filename CDATA #REQUIRED
      name CDATA #IMPLIED>
 
 <!ELEMENT run-test (%boost.testsuite.test.content;)>
-<!ATTLIST run-test
+<!ATTLIST run-test
      filename CDATA #REQUIRED
      name CDATA #IMPLIED>
 
@@ -360,12 +372,12 @@
      name CDATA #IMPLIED>
 
 <!ELEMENT link-fail-test (%boost.testsuite.test.content;)>
-<!ATTLIST link-fail-test
+<!ATTLIST link-fail-test
      filename CDATA #REQUIRED
      name CDATA #IMPLIED>
 
 <!ELEMENT run-fail-test (%boost.testsuite.test.content;)>
-<!ATTLIST run-fail-test
+<!ATTLIST run-fail-test
      filename CDATA #REQUIRED
      name CDATA #IMPLIED>
 
@@ -378,13 +390,13 @@
 <!ELEMENT lib (#PCDATA)>
 
 <!ELEMENT requirement (#PCDATA)>
-<!ATTLIST requirement
+<!ATTLIST requirement
      name CDATA #REQUIRED>
 
 <!ELEMENT if-fails ANY>
 
 <!ELEMENT parameter (paramtype, default?, description?)>
-<!ATTLIST parameter
+<!ATTLIST parameter
      name CDATA #IMPLIED>
 
 <!ELEMENT programlisting ANY>
@@ -393,7 +405,7 @@
 
 <!--========== Customize the DocBook DTD ==========-->
 <!ENTITY % local.tech.char.class "|functionname|libraryname|enumname|code">
-<!ENTITY % local.para.class
+<!ENTITY % local.para.class
         "|using-namespace|using-class|librarylist|librarycategorylist">
 <!ENTITY % local.descobj.class "|libraryinfo">
 <!ENTITY % local.classname.attrib "alt CDATA #IMPLIED">
@@ -408,5 +420,5 @@
 <!--========== Import DocBook DTD ==========-->
 <!ENTITY % DocBook PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
            "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-
+
 %DocBook;

Modified: trunk/tools/boostbook/xsl/chunk-common.xsl
==============================================================================
--- trunk/tools/boostbook/xsl/chunk-common.xsl (original)
+++ trunk/tools/boostbook/xsl/chunk-common.xsl 2007-10-29 11:18:49 EDT (Mon, 29 Oct 2007)
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <!--
    Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
-
+
    Distributed under the Boost Software License, Version 1.0.
    (See accompanying file LICENSE_1_0.txt or copy at
    http://www.boost.org/LICENSE_1_0.txt)

Modified: trunk/tools/boostbook/xsl/function.xsl
==============================================================================
--- trunk/tools/boostbook/xsl/function.xsl (original)
+++ trunk/tools/boostbook/xsl/function.xsl 2007-10-29 11:18:49 EDT (Mon, 29 Oct 2007)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
    Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
-
+
    Distributed under the Boost Software License, Version 1.0.
    (See accompanying file LICENSE_1_0.txt or copy at
    http://www.boost.org/LICENSE_1_0.txt)
@@ -9,7 +9,7 @@
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                 version="1.0">
 
- <xsl:strip-space elements="requires effects postconditions returns throws
+ <xsl:strip-space elements="requires effects postconditions returns throws
                              complexity notes rationale purpose"/>
 
   <!-- When true, the stylesheet will emit compact definitions of
@@ -126,7 +126,7 @@
       </xsl:choose>
     </xsl:variable>
 
- <xsl:if test="not ($standalone) or
+ <xsl:if test="not ($standalone) or
                   (local-name(.)='signature' and (position() &gt; 1))
                   or $suppress-template">
       <xsl:text>&#10;</xsl:text>
@@ -136,7 +136,7 @@
     <xsl:call-template name="indent">
       <xsl:with-param name="indentation" select="$indentation"/>
     </xsl:call-template>
-
+
     <!-- Build the template header -->
     <xsl:variable name="template-length">
       <xsl:choose>
@@ -148,7 +148,7 @@
         </xsl:otherwise>
       </xsl:choose>
     </xsl:variable>
-
+
     <!-- Build a full parameter string (without line breaks) -->
     <xsl:variable name="param-string">
       <xsl:text>(</xsl:text>
@@ -168,21 +168,21 @@
     </xsl:variable>
 
     <!-- Build the full declaration text -->
- <xsl:variable name="decl-string"
+ <xsl:variable name="decl-string"
       select="concat($type, $function-name, $param-string, $postdeclarator)"/>
- <xsl:variable name="end-column"
+ <xsl:variable name="end-column"
       select="$template-length + string-length($decl-string) + $indentation"/>
-
+
     <xsl:choose>
       <!-- Check if we should put the template header on its own line to
            save horizontal space. -->
- <xsl:when test="($template-length &gt; 0) and
+ <xsl:when test="($template-length &gt; 0) and
                       ($end-column &gt; $max-columns)">
         <!-- Emit template header on its own line -->
         <xsl:apply-templates select="template" mode="synopsis">
           <xsl:with-param name="indentation" select="$indentation"/>
         </xsl:apply-templates>
-
+
         <!-- Emit the rest of the function declaration (without the
              template header) indented two extra spaces. -->
         <xsl:call-template name="function">
@@ -249,17 +249,17 @@
         <xsl:text>(</xsl:text>
         <xsl:call-template name="function-parameters">
           <xsl:with-param name="include-names" select="$include-names"/>
- <xsl:with-param name="indentation"
+ <xsl:with-param name="indentation"
             select="$indentation + $template-length + string-length($type)
                     + string-length($function-name) + 1"/>
           <xsl:with-param name="final" select="true()"/>
- </xsl:call-template>
+ </xsl:call-template>
         <xsl:text>)</xsl:text>
 
         <xsl:call-template name="source-highlight">
           <xsl:with-param name="text" select="$postdeclarator"/>
         </xsl:call-template>
- <xsl:text>;</xsl:text>
+ <xsl:text>;</xsl:text>
       </xsl:when>
 
       <!-- This declaration will take multiple lines -->
@@ -320,11 +320,11 @@
         <xsl:text>(</xsl:text>
         <xsl:call-template name="function-parameters">
           <xsl:with-param name="include-names" select="$include-names"/>
- <xsl:with-param name="indentation"
- select="$indentation + $type-length
+ <xsl:with-param name="indentation"
+ select="$indentation + $type-length
                     + string-length($function-name) + 1"/>
           <xsl:with-param name="final" select="true()"/>
- </xsl:call-template>
+ </xsl:call-template>
         <xsl:text>)</xsl:text>
         <xsl:call-template name="source-highlight">
           <xsl:with-param name="text" select="$postdeclarator"/>
@@ -332,7 +332,7 @@
         <xsl:text>;</xsl:text>
       </xsl:otherwise>
     </xsl:choose>
- </xsl:template>
+ </xsl:template>
 
   <!-- Synopsis of function parameters, e.g., "(const T&, int x = 5)" -->
   <xsl:template name="function-parameters">
@@ -394,18 +394,18 @@
       </xsl:variable>
 
       <xsl:variable name="text" select="concat($type, $name, $default)"/>
-
- <xsl:variable name="end-column"
+
+ <xsl:variable name="end-column"
         select="$column + string-length($prefix) + string-length($text)"/>
 
       <xsl:choose>
         <!-- Parameter goes on this line -->
- <xsl:when test="$first-on-line or ($end-column &lt; $max-columns)
+ <xsl:when test="$first-on-line or ($end-column &lt; $max-columns)
                         or not($wrap)">
           <xsl:choose>
             <xsl:when test="$final">
               <xsl:value-of select="$prefix"/>
- <xsl:apply-templates
+ <xsl:apply-templates
                 select="$parameter/paramtype/*|$parameter/paramtype/text()"
                 mode="annotation">
                 <xsl:with-param name="highlight" select="true()"/>
@@ -423,7 +423,7 @@
             <xsl:with-param name="include-names" select="$include-names"/>
             <xsl:with-param name="wrap" select="$wrap"/>
             <xsl:with-param name="final" select="$final"/>
- <xsl:with-param name="parameters"
+ <xsl:with-param name="parameters"
               select="$parameters[position()!=1]"/>
             <xsl:with-param name="prefix" select="', '"/>
             <xsl:with-param name="column" select="$end-column"/>
@@ -441,7 +441,7 @@
           </xsl:call-template>
           <xsl:choose>
             <xsl:when test="$final">
- <xsl:apply-templates
+ <xsl:apply-templates
                 select="$parameter/paramtype/*|$parameter/paramtype/text()"
                 mode="annotation">
                 <xsl:with-param name="highlight" select="true()"/>
@@ -460,10 +460,10 @@
             <xsl:with-param name="include-names" select="$include-names"/>
             <xsl:with-param name="wrap" select="$wrap"/>
             <xsl:with-param name="final" select="$final"/>
- <xsl:with-param name="parameters"
+ <xsl:with-param name="parameters"
               select="$parameters[position()!=1]"/>
             <xsl:with-param name="prefix" select="', '"/>
- <xsl:with-param name="column"
+ <xsl:with-param name="column"
               select="1 + string-length($text) + $indentation"/>
             <xsl:with-param name="first-on-line" select="false()"/>
           </xsl:call-template>
@@ -479,7 +479,7 @@
     <!-- True if we should compact this function -->
     <xsl:variable name="compact"
       select="not (para|description|requires|effects|postconditions|returns|
- throws|complexity|notes|rationale) and
+ throws|complexity|notes|rationale) and
               ($boost.compact.function='1') and
               not (local-name(.)='method')"/>
 
@@ -524,7 +524,7 @@
     <!-- True if we should compact this function -->
     <xsl:variable name="compact"
       select="not (para|description|requires|effects|postconditions|returns|
- throws|complexity|notes|rationale) and
+ throws|complexity|notes|rationale) and
               ($boost.compact.function='1') and
               not (local-name(.)='overloaded-method')"/>
 
@@ -537,7 +537,7 @@
           <xsl:call-template name="indent">
             <xsl:with-param name="indentation" select="$indentation"/>
           </xsl:call-template>
-
+
           <xsl:call-template name="highlight-comment">
             <xsl:with-param name="text">
               <xsl:text>// </xsl:text>
@@ -566,7 +566,7 @@
             <xsl:with-param name="name" select="$name"/>
             <xsl:with-param name="link-to" select="$link-to"/>
           </xsl:call-template>
- </xsl:for-each>
+ </xsl:for-each>
       </xsl:when>
       <xsl:otherwise>
         <xsl:for-each select="signature">
@@ -598,7 +598,7 @@
       </xsl:if>
       <xsl:text>&#10;</xsl:text>
       <xsl:call-template name="indent">
- <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="indentation" select="$indentation"/>
       </xsl:call-template>
       <emphasis>
         <xsl:text>// </xsl:text>
@@ -634,8 +634,12 @@
             <xsl:with-param name="text" select="''"/>
           </xsl:call-template>
           <xsl:call-template name="monospaced">
- <xsl:with-param name="text" select="@name"/>
+ <xsl:with-param name="text">
+ <xsl:call-template name="object-name"/>
+ </xsl:with-param>
           </xsl:call-template>
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="access-name"/>
           <xsl:text> construct/copy/destruct</xsl:text>
         </xsl:with-param>
         <xsl:with-param name="text">
@@ -658,7 +662,9 @@
               <xsl:call-template name="function">
                 <xsl:with-param name="indentation" select="0"/>
                 <xsl:with-param name="is-reference" select="true()"/>
- <xsl:with-param name="constructor-for" select="../@name"/>
+ <xsl:with-param name="constructor-for">
+ <xsl:call-template name="object-name"/>
+ </xsl:with-param>
                 <xsl:with-param name="standalone" select="true()"/>
               </xsl:call-template>
             </xsl:with-param>
@@ -668,7 +674,7 @@
       </xsl:with-param>
     </xsl:call-template>
   </xsl:template>
-
+
   <xsl:template match="copy-assignment" mode="reference">
     <xsl:call-template name="function.documentation">
       <xsl:with-param name="text">
@@ -678,7 +684,9 @@
               <xsl:call-template name="function">
                 <xsl:with-param name="indentation" select="0"/>
                 <xsl:with-param name="is-reference" select="true()"/>
- <xsl:with-param name="copy-assign-for" select="../@name"/>
+ <xsl:with-param name="copy-assign-for">
+ <xsl:call-template name="object-name"/>
+ </xsl:with-param>
                 <xsl:with-param name="standalone" select="true()"/>
               </xsl:call-template>
             </xsl:with-param>
@@ -698,7 +706,9 @@
               <xsl:call-template name="function">
                 <xsl:with-param name="indentation" select="0"/>
                 <xsl:with-param name="is-reference" select="true()"/>
- <xsl:with-param name="destructor-for" select="../@name"/>
+ <xsl:with-param name="destructor-for">
+ <xsl:call-template name="object-name"/>
+ </xsl:with-param>
                 <xsl:with-param name="standalone" select="true()"/>
               </xsl:call-template>
             </xsl:with-param>
@@ -826,7 +836,7 @@
     <!-- True if we should compact this function -->
     <xsl:variable name="compact"
       select="not (para|description|requires|effects|postconditions|returns|
- throws|complexity|notes|rationale) and
+ throws|complexity|notes|rationale) and
               ($boost.compact.function='1') and
               not (local-name(.)='method')"/>
 
@@ -856,7 +866,7 @@
     <!-- True if we should compact this function -->
     <xsl:variable name="compact"
       select="not (para|description|requires|effects|postconditions|returns|
- throws|complexity|notes|rationale) and
+ throws|complexity|notes|rationale) and
               ($boost.compact.function='1')"/>
 
     <xsl:if test="not ($compact)">
@@ -891,8 +901,8 @@
             <xsl:with-param name="namespace-reference" select="true()"/>
           </xsl:call-template>
         </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
+ </xsl:call-template>
+ </xsl:if>
   </xsl:template>
 
   <xsl:template match="overloaded-function" mode="reference">
@@ -901,9 +911,9 @@
     <!-- True if we should compact this function -->
     <xsl:variable name="compact"
       select="not (para|description|requires|effects|postconditions|returns|
- throws|complexity|notes|rationale) and
+ throws|complexity|notes|rationale) and
               ($boost.compact.function='1')"/>
-
+
     <xsl:if test="not ($compact)">
       <xsl:call-template name="function.documentation">
         <xsl:with-param name="text">
@@ -911,7 +921,7 @@
             <xsl:attribute name="id">
               <xsl:call-template name="generate.id"/>
             </xsl:attribute>
-
+
             <xsl:call-template name="preformatted">
               <xsl:with-param name="text">
                 <xsl:for-each select="signature">
@@ -935,7 +945,7 @@
     <!-- True if we should compact this function -->
     <xsl:variable name="compact"
       select="not (para|description|requires|effects|postconditions|returns|
- throws|complexity|notes|rationale) and
+ throws|complexity|notes|rationale) and
               ($boost.compact.function='1')"/>
 
     <xsl:variable name="name" select="@name"/>
@@ -975,8 +985,8 @@
             <xsl:with-param name="namespace-reference" select="true()"/>
           </xsl:call-template>
         </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
+ </xsl:call-template>
+ </xsl:if>
   </xsl:template>
 
   <xsl:template match="overloaded-method" mode="reference">
@@ -988,7 +998,7 @@
           <xsl:attribute name="id">
             <xsl:call-template name="generate.id"/>
           </xsl:attribute>
-
+
           <xsl:call-template name="preformatted">
             <xsl:with-param name="text">
               <xsl:for-each select="signature">
@@ -1025,7 +1035,7 @@
           <xsl:with-param name="text" select="string(@name)"/>
         </xsl:call-template>
       </emphasis>
- <xsl:apply-templates select="method|overloaded-method"
+ <xsl:apply-templates select="method|overloaded-method"
         mode="synopsis">
         <xsl:with-param name="indentation" select="$indentation"/>
       </xsl:apply-templates>
@@ -1044,7 +1054,9 @@
             <xsl:with-param name="text" select="''"/>
           </xsl:call-template>
           <xsl:call-template name="monospaced">
- <xsl:with-param name="text" select="../@name"/>
+ <xsl:with-param name="text">
+ <xsl:call-template name="object-name"/>
+ </xsl:with-param>
           </xsl:call-template>
           <xsl:text> </xsl:text>
           <xsl:value-of select="@name"/>
@@ -1057,7 +1069,7 @@
         </xsl:with-param>
       </xsl:call-template>
     </xsl:if>
- </xsl:template>
+ </xsl:template>
 
   <!-- Group free functions together under a category name (synopsis)-->
   <xsl:template match="free-function-group" mode="synopsis">
@@ -1105,5 +1117,5 @@
         </orderedlist>
       </xsl:with-param>
     </xsl:call-template>
- </xsl:template>
+ </xsl:template>
 </xsl:stylesheet>

Modified: trunk/tools/boostbook/xsl/lookup.xsl
==============================================================================
--- trunk/tools/boostbook/xsl/lookup.xsl (original)
+++ trunk/tools/boostbook/xsl/lookup.xsl 2007-10-29 11:18:49 EDT (Mon, 29 Oct 2007)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
    Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
-
+
    Distributed under the Boost Software License, Version 1.0.
    (See accompanying file LICENSE_1_0.txt or copy at
    http://www.boost.org/LICENSE_1_0.txt)
@@ -110,9 +110,9 @@
   <!-- Strip the qualifiers off a qualified name and return the unqualified
        name. For instance, "boost::python::function" would become just
        "function".
- Must handle ns::foo -> foo
- Must handle ns::foo<bar::baz> -> foo<bar::baz>
- Must handle ns::foo<bar::baz>::nested -> nested
+ Must handle ns::foo -> foo
+ Must handle ns::foo<bar::baz> -> foo<bar::baz>
+ Must handle ns::foo<bar::baz>::nested -> nested
        Must handle ns::foo<x>::bar<y> -> bar<y> -->
   <xsl:template name="strip-qualifiers">
     <xsl:param name="name"/>
@@ -157,7 +157,7 @@
     <xsl:param name="depth" select="1"/>
 
     <!-- Determine the set of ancestor namespaces -->
- <xsl:variable name="ancestors"
+ <xsl:variable name="ancestors"
       select="ancestor::namespace|
                   ancestor::class|ancestor::struct|ancestor::union|
                   ancestor::class-specialization|ancestor::struct-specialization|ancestor::union-specialization"/>
@@ -279,16 +279,16 @@
                   $context/ancestor::*/using-class |
                   $context/ancestor::class |
                   $context/ancestor::struct"/>
-
+
         <!-- The name of the current directive -->
         <xsl:variable name="this-context">
           <xsl:apply-templates select="$directives[$index]" mode="print-name"/>
         </xsl:variable>
-
+
         <!-- Check if we have a match -->
- <xsl:variable name="have-match"
+ <xsl:variable name="have-match"
           select="$fully-qualified-name = concat($prefix, $name)"/>
-
+
         <xsl:if test="$have-match">
           <xsl:choose>
             <xsl:when test="$mode='matches'">
@@ -306,7 +306,7 @@
             </xsl:when>
           </xsl:choose>
         </xsl:if>
-
+
         <xsl:if test="(not($index &gt; count($directives))) and
                       (not($have-match) or ($mode = 'matches'))">
           <xsl:variable name="first-branch">
@@ -324,7 +324,7 @@
               </xsl:call-template>
             </xsl:if>
           </xsl:variable>
-
+
           <xsl:choose>
             <xsl:when test="string($first-branch) != ''">
               <xsl:copy-of select="$first-branch"/>
@@ -338,12 +338,12 @@
                 <xsl:with-param name="node" select="$node"/>
                 <xsl:with-param name="mode" select="$mode"/>
                 <xsl:with-param name="index" select="$index + 1"/>
- <xsl:with-param name="prefix"
+ <xsl:with-param name="prefix"
                   select="concat($this-context, '::')"/>
               </xsl:call-template>
             </xsl:otherwise>
           </xsl:choose>
- </xsl:if>
+ </xsl:if>
       </xsl:when>
     </xsl:choose>
   </xsl:template>
@@ -372,19 +372,19 @@
 
   <xsl:template name="cxx-link-name">
     <!-- The actual lookup node -->
- <xsl:param name="lookup"/>
+ <xsl:param name="lookup"/>
 
     <!-- The type of name to lookup (e.g., class) -->
- <xsl:param name="type"/>
+ <xsl:param name="type"/>
 
     <!-- The name we are looking for -->
- <xsl:param name="name"/>
+ <xsl:param name="name"/>
 
     <!-- The name we will display -->
     <xsl:param name="display-name"/>
 
     <!-- The name we are looking for (unqualified)-->
- <xsl:param name="unqualified-name"/>
+ <xsl:param name="unqualified-name"/>
 
     <!-- The list of nodes that match the lookup node in both name and type -->
     <xsl:param name="nodes"/>

Modified: trunk/tools/boostbook/xsl/reference.xsl
==============================================================================
--- trunk/tools/boostbook/xsl/reference.xsl (original)
+++ trunk/tools/boostbook/xsl/reference.xsl 2007-10-29 11:18:49 EDT (Mon, 29 Oct 2007)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
    Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
-
+
    Distributed under the Boost Software License, Version 1.0.
    (See accompanying file LICENSE_1_0.txt or copy at
    http://www.boost.org/LICENSE_1_0.txt)
@@ -21,7 +21,7 @@
   <xsl:include href="macro.xsl"/>
   <xsl:include href="testing/testsuite.xsl"/>
   <xsl:include href="caramel/concept2docbook.xsl"/>
-
+
   <xsl:template name="namespace-synopsis">
     <xsl:param name="indentation" select="0"/>
     <!-- Open namespace-->
@@ -32,7 +32,7 @@
       <xsl:with-param name="text" select="concat('namespace ',@name)"/>
     </xsl:call-template>
     <xsl:text> {</xsl:text>
-
+
     <!-- Emit namespace types -->
     <xsl:apply-templates select="class|class-specialization|
                                  struct|struct-specialization|
@@ -40,19 +40,19 @@
                                  typedef|enum|data-member" mode="synopsis">
       <xsl:with-param name="indentation" select="$indentation + 2"/>
     </xsl:apply-templates>
-
+
     <!-- Emit namespace functions -->
- <xsl:apply-templates
- select="free-function-group|function|overloaded-function"
+ <xsl:apply-templates
+ select="free-function-group|function|overloaded-function"
       mode="synopsis">
       <xsl:with-param name="indentation" select="$indentation + 2"/>
     </xsl:apply-templates>
-
+
     <!-- Emit namespaces -->
     <xsl:apply-templates select="namespace" mode="synopsis">
       <xsl:with-param name="indentation" select="$indentation + 2"/>
     </xsl:apply-templates>
-
+
     <!-- Close namespace -->
     <xsl:text>&#10;</xsl:text>
     <xsl:call-template name="indent">
@@ -89,7 +89,7 @@
     <xsl:apply-templates select="class|class-specialization|
                                  struct|struct-specialization|
                                  union|union-specialization|enum|function|
- overloaded-function|data-member"
+ overloaded-function|data-member"
       mode="namespace-reference"/>
   </xsl:template>
 

Modified: trunk/tools/boostbook/xsl/type.xsl
==============================================================================
--- trunk/tools/boostbook/xsl/type.xsl (original)
+++ trunk/tools/boostbook/xsl/type.xsl 2007-10-29 11:18:49 EDT (Mon, 29 Oct 2007)
@@ -659,7 +659,9 @@
       <xsl:with-param name="indentation" select="$indentation"/>
       <xsl:with-param name="context" select="../@name"/>
       <xsl:with-param name="is-reference" select="false()"/>
- <xsl:with-param name="constructor-for" select="../@name"/>
+ <xsl:with-param name="constructor-for">
+ <xsl:call-template name="object-name"/>
+ </xsl:with-param>
     </xsl:call-template>
   </xsl:template>
 
@@ -669,7 +671,9 @@
       <xsl:with-param name="indentation" select="$indentation"/>
       <xsl:with-param name="context" select="../@name"/>
       <xsl:with-param name="is-reference" select="false()"/>
- <xsl:with-param name="copy-assign-for" select="../@name"/>
+ <xsl:with-param name="copy-assign-for">
+ <xsl:call-template name="object-name"/>
+ </xsl:with-param>
     </xsl:call-template>
   </xsl:template>
 
@@ -679,7 +683,111 @@
       <xsl:with-param name="indentation" select="$indentation"/>
       <xsl:with-param name="context" select="../@name"/>
       <xsl:with-param name="is-reference" select="false()"/>
- <xsl:with-param name="destructor-for" select="../@name"/>
+ <xsl:with-param name="destructor-for">
+ <xsl:call-template name="object-name"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template name="class-members-synopsis">
+ <xsl:param name="indentation" select="0"/>
+
+ <!-- Typedefs -->
+ <xsl:if test="typedef">
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:call-template>
+ <xsl:call-template name="highlight-comment">
+ <xsl:with-param name="text" select="'// types'"/>
+ </xsl:call-template>
+
+ <xsl:variable name="max-type-length">
+ <xsl:call-template name="find-max-type-length"/>
+ </xsl:variable>
+ <xsl:variable name="max-name-length">
+ <xsl:call-template name="find-max-type-length">
+ <xsl:with-param name="want-name" select="true()"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:apply-templates select="typedef" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ <xsl:with-param name="max-type-length"
+ select="$max-type-length"/>
+ <xsl:with-param name="max-name-length"
+ select="$max-name-length"/>
+ </xsl:apply-templates>
+ </xsl:if>
+
+ <!-- Static constants -->
+ <xsl:if test="static-constant">
+ <xsl:text>&#10;</xsl:text>
+ <xsl:if test="typedef">
+ <xsl:text>&#10;</xsl:text>
+ </xsl:if>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:call-template>
+ <xsl:call-template name="highlight-comment">
+ <xsl:with-param name="text" select="'// static constants'"/>
+ </xsl:call-template>
+ <xsl:apply-templates select="static-constant" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:apply-templates>
+ </xsl:if>
+
+ <!-- Nested classes/structs/unions -->
+ <xsl:apply-templates select="class|class-specialization|
+ struct|struct-specialization|
+ union|union-specialization"
+ mode="reference">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:apply-templates>
+
+ <!-- Enums -->
+ <xsl:apply-templates select="enum" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:apply-templates>
+
+ <!-- Construct/Copy/Destruct -->
+ <xsl:call-template name="construct-copy-destruct-synopsis">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:call-template>
+
+ <!-- Member functions -->
+ <xsl:apply-templates
+ select="method-group|method|overloaded-method"
+ mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:apply-templates>
+
+ <!-- Data members -->
+ <xsl:apply-templates select="data-member" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:apply-templates>
+ </xsl:template>
+
+ <xsl:template name="print-access-specification">
+ <xsl:param name="indentation" select="0"/>
+ <xsl:param name="specification" select="'public'"/>
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <xsl:call-template name="highlight-keyword">
+ <xsl:with-param name="keyword" select="$specification"/>
+ </xsl:call-template>
+ <xsl:text>:</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="access" mode="synopsis">
+ <xsl:param name="indentation" select="0"/>
+ <xsl:call-template name="print-access-specification">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="specification" select="@name"/>
+ </xsl:call-template>
+ <xsl:call-template name="class-members-synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
     </xsl:call-template>
   </xsl:template>
 
@@ -751,90 +859,26 @@
       </xsl:otherwise>
     </xsl:choose>
 
- <!-- Public designator -->
+ <!-- Default public designator for members not inside explicit <access> elements -->
     <xsl:if test="contains(local-name(.), 'class')">
- <xsl:text>&#10;</xsl:text>
- <xsl:call-template name="indent">
- <xsl:with-param name="indentation" select="$indentation"/>
- </xsl:call-template>
- <xsl:call-template name="highlight-keyword">
- <xsl:with-param name="keyword" select="'public'"/>
- </xsl:call-template>
- <xsl:text>:</xsl:text>
- </xsl:if>
-
- <!-- Typedefs -->
- <xsl:if test="typedef">
- <xsl:text>&#10;</xsl:text>
- <xsl:call-template name="indent">
- <xsl:with-param name="indentation" select="$indentation + 2"/>
- </xsl:call-template>
- <xsl:call-template name="highlight-comment">
- <xsl:with-param name="text" select="'// types'"/>
- </xsl:call-template>
-
- <xsl:variable name="max-type-length">
- <xsl:call-template name="find-max-type-length"/>
- </xsl:variable>
- <xsl:variable name="max-name-length">
- <xsl:call-template name="find-max-type-length">
- <xsl:with-param name="want-name" select="true()"/>
+ <xsl:if test="count(static-constant|typedef|enum|
+ copy-assignment|constructor|destructor|method-group|
+ function|method|overloaded-method|data-member|
+ class|class-specialization|
+ struct|struct-specialization|
+ union|union-specialization) &gt; 0">
+ <xsl:call-template name="print-access-specification">
+ <xsl:with-param name="indentation" select="$indentation"/>
         </xsl:call-template>
- </xsl:variable>
- <xsl:apply-templates select="typedef" mode="synopsis">
- <xsl:with-param name="indentation" select="$indentation + 2"/>
- <xsl:with-param name="max-type-length"
- select="$max-type-length"/>
- <xsl:with-param name="max-name-length"
- select="$max-name-length"/>
- </xsl:apply-templates>
- </xsl:if>
-
- <!-- Static constants -->
- <xsl:if test="static-constant">
- <xsl:text>&#10;</xsl:text>
- <xsl:if test="typedef">
- <xsl:text>&#10;</xsl:text>
       </xsl:if>
- <xsl:call-template name="indent">
- <xsl:with-param name="indentation" select="$indentation + 2"/>
- </xsl:call-template>
- <xsl:call-template name="highlight-comment">
- <xsl:with-param name="text" select="'// static constants'"/>
- </xsl:call-template>
- <xsl:apply-templates select="static-constant" mode="synopsis">
- <xsl:with-param name="indentation" select="$indentation + 2"/>
- </xsl:apply-templates>
     </xsl:if>
 
- <!-- Nested classes/structs/unions -->
- <xsl:apply-templates select="class|class-specialization|
- struct|struct-specialization|
- union|union-specialization"
- mode="reference">
- <xsl:with-param name="indentation" select="$indentation + 2"/>
- </xsl:apply-templates>
-
- <!-- Enums -->
- <xsl:apply-templates select="enum" mode="synopsis">
- <xsl:with-param name="indentation" select="$indentation + 2"/>
- </xsl:apply-templates>
-
- <!-- Construct/Copy/Destruct -->
- <xsl:call-template name="construct-copy-destruct-synopsis">
- <xsl:with-param name="indentation" select="$indentation + 2"/>
+ <xsl:call-template name="class-members-synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
     </xsl:call-template>
 
- <!-- Member functions -->
- <xsl:apply-templates
- select="method-group|method|overloaded-method"
- mode="synopsis">
- <xsl:with-param name="indentation" select="$indentation + 2"/>
- </xsl:apply-templates>
-
- <!-- Data members -->
- <xsl:apply-templates select="data-member" mode="synopsis">
- <xsl:with-param name="indentation" select="$indentation + 2"/>
+ <xsl:apply-templates select="access" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
     </xsl:apply-templates>
 
     <!-- Closing brace -->
@@ -856,6 +900,30 @@
     </xsl:call-template>
   </xsl:template>
 
+ <xsl:template name="class-members-reference">
+ <xsl:call-template name="construct-copy-destruct-reference"/>
+
+ <xsl:apply-templates
+ select="method-group|method|overloaded-method"
+ mode="reference"/>
+
+ <!-- Emit reference docs for nested classes -->
+ <xsl:apply-templates
+ select="class|class-specialization|
+ struct|struct-specialization|
+ union|union-specialization"
+ mode="namespace-reference"/>
+
+ <!-- Emit reference docs for nested enums -->
+ <xsl:apply-templates
+ select="enum"
+ mode="namespace-reference"/>
+ </xsl:template>
+
+ <xsl:template match="access" mode="namespace-reference">
+ <xsl:call-template name="class-members-reference"/>
+ </xsl:template>
+
   <!-- Emit namespace-level class reference documentation -->
   <xsl:template match="class|class-specialization|
                        struct|struct-specialization|
@@ -900,25 +968,8 @@
         </xsl:if>
         <xsl:apply-templates select="description"/>
 
- <xsl:apply-templates select="typedef" mode="reference"/>
-
- <xsl:call-template name="construct-copy-destruct-reference"/>
-
- <xsl:apply-templates
- select="method-group|method|overloaded-method"
- mode="reference"/>
-
- <!-- Emit reference docs for nested classes -->
- <xsl:apply-templates
- select="class|class-specialization|
- struct|struct-specialization|
- union|union-specialization"
- mode="namespace-reference"/>
-
- <!-- Emit reference docs for nested enums -->
- <xsl:apply-templates
- select="enum"
- mode="namespace-reference"/>
+ <xsl:call-template name="class-members-reference"/>
+ <xsl:apply-templates select="access" mode="namespace-reference"/>
 
         <xsl:apply-templates select="free-function-group" mode="reference">
           <xsl:with-param name="class" select="@name"/>

Modified: trunk/tools/boostbook/xsl/utility.xsl
==============================================================================
--- trunk/tools/boostbook/xsl/utility.xsl (original)
+++ trunk/tools/boostbook/xsl/utility.xsl 2007-10-29 11:18:49 EDT (Mon, 29 Oct 2007)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
    Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
-
+
    Distributed under the Boost Software License, Version 1.0.
    (See accompanying file LICENSE_1_0.txt or copy at
    http://www.boost.org/LICENSE_1_0.txt)
@@ -19,4 +19,33 @@
     </xsl:if>
   </xsl:template>
 
+ <!-- get name of first ancestor-or-self which is a class, struct or union -->
+ <xsl:template name="object-name">
+ <xsl:value-of select="(ancestor-or-self::class |
+ ancestor-or-self::class-specialization |
+ ancestor-or-self::struct |
+ ancestor-or-self::struct-specialization |
+ ancestor-or-self::union |
+ ancestor-or-self::union-specialization)/@name[last()]"/>
+ </xsl:template>
+
+ <!-- get name of access specification that we are inside -->
+ <xsl:template name="access-name">
+ <xsl:variable name="ancestors" select="ancestor-or-self::access |
+ ancestor-or-self::class |
+ ancestor-or-self::class-specialization |
+ ancestor-or-self::struct |
+ ancestor-or-self::struct-specialization |
+ ancestor-or-self::union |
+ ancestor-or-self::union-specialization"/>
+ <xsl:choose>
+ <xsl:when test="name($ancestors[last()])='access'">
+ <xsl:value-of select="$ancestors[last()]/@name"/>
+ </xsl:when>
+ <xsl:otherwise>
+ public
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
 </xsl:stylesheet>


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk