Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r73365 - in branches/quickbook-dev/tools: . build/v2/test/qt4 build/v2/tools quickbook quickbook/src quickbook/test quickbook/test/doc-info quickbook/test/include quickbook/test/unit regression/src
From: dnljms_at_[hidden]
Date: 2011-07-25 17:41:41


Author: danieljames
Date: 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
New Revision: 73365
URL: http://svn.boost.org/trac/boost/changeset/73365

Log:
Quickbook: Merge from trunk to quickbook-dev.
Added:
   branches/quickbook-dev/tools/build/v2/test/qt4/qtdeclarative.cpp
      - copied unchanged from r73362, /trunk/tools/build/v2/test/qt4/qtdeclarative.cpp
   branches/quickbook-dev/tools/quickbook/src/id_generator.cpp
      - copied unchanged from r73362, /trunk/tools/quickbook/src/id_generator.cpp
   branches/quickbook-dev/tools/quickbook/src/id_generator.hpp
      - copied unchanged from r73362, /trunk/tools/quickbook/src/id_generator.hpp
   branches/quickbook-dev/tools/quickbook/test/table_1_3.gold
      - copied unchanged from r73362, /trunk/tools/quickbook/test/table_1_3.gold
   branches/quickbook-dev/tools/quickbook/test/table_1_3.quickbook
      - copied unchanged from r73362, /trunk/tools/quickbook/test/table_1_3.quickbook
Properties modified:
   branches/quickbook-dev/tools/ (props changed)
   branches/quickbook-dev/tools/quickbook/ (props changed)
   branches/quickbook-dev/tools/regression/src/library_status.cpp (props changed)
Text files modified:
   branches/quickbook-dev/tools/build/v2/test/qt4/jamroot.jam | 20 ++++
   branches/quickbook-dev/tools/build/v2/test/qt4/phonon.cpp | 2
   branches/quickbook-dev/tools/build/v2/test/qt4/qtmultimedia.cpp | 2
   branches/quickbook-dev/tools/build/v2/test/qt4/qtscript.cpp | 12 ++-
   branches/quickbook-dev/tools/build/v2/tools/qt4.jam | 15 ++-
   branches/quickbook-dev/tools/build/v2/tools/quickbook.jam | 2
   branches/quickbook-dev/tools/quickbook/Jamfile.v2 | 10 ++
   branches/quickbook-dev/tools/quickbook/src/Jamfile.v2 | 1
   branches/quickbook-dev/tools/quickbook/src/actions.cpp | 159 +++++++++++++++++++++++++--------------
   branches/quickbook-dev/tools/quickbook/src/actions_class.cpp | 6
   branches/quickbook-dev/tools/quickbook/src/actions_class.hpp | 6
   branches/quickbook-dev/tools/quickbook/src/block_element_grammar.cpp | 21 ++---
   branches/quickbook-dev/tools/quickbook/src/doc_info_actions.cpp | 8 +
   branches/quickbook-dev/tools/quickbook/src/fwd.hpp | 1
   branches/quickbook-dev/tools/quickbook/src/main_grammar.cpp | 13 +--
   branches/quickbook-dev/tools/quickbook/src/phrase_element_grammar.cpp | 40 +++++-----
   branches/quickbook-dev/tools/quickbook/src/quickbook.cpp | 24 +++--
   branches/quickbook-dev/tools/quickbook/src/template_stack.cpp | 5
   branches/quickbook-dev/tools/quickbook/src/template_stack.hpp | 20 ++++
   branches/quickbook-dev/tools/quickbook/test/Jamfile.v2 | 1
   branches/quickbook-dev/tools/quickbook/test/anchor.gold | 8 +-
   branches/quickbook-dev/tools/quickbook/test/blocks.gold | 8 +-
   branches/quickbook-dev/tools/quickbook/test/callouts.gold | 32 ++++----
   branches/quickbook-dev/tools/quickbook/test/code-block.gold | 2
   branches/quickbook-dev/tools/quickbook/test/doc-info/duplicates-1.1.gold | 2
   branches/quickbook-dev/tools/quickbook/test/doc-info/duplicates-1.5.gold | 2
   branches/quickbook-dev/tools/quickbook/test/doc-info/source-mode-1.4.gold | 2
   branches/quickbook-dev/tools/quickbook/test/doc-info/source-mode-1.5.gold | 2
   branches/quickbook-dev/tools/quickbook/test/doc-info/source-mode-1.6.gold | 2
   branches/quickbook-dev/tools/quickbook/test/heading-1.1.gold | 6
   branches/quickbook-dev/tools/quickbook/test/heading-1.5.gold | 36 ++++----
   branches/quickbook-dev/tools/quickbook/test/heading-1.6.gold | 46 +++++-----
   branches/quickbook-dev/tools/quickbook/test/identifier_1_5.gold | 2
   branches/quickbook-dev/tools/quickbook/test/identifier_1_6.gold | 2
   branches/quickbook-dev/tools/quickbook/test/include/code-include.gold | 24 +++---
   branches/quickbook-dev/tools/quickbook/test/include/doc-title1-1.5.gold | 14 +-
   branches/quickbook-dev/tools/quickbook/test/include/doc-title1a-1.5.gold | 14 +-
   branches/quickbook-dev/tools/quickbook/test/include/include-id-1.5.gold | 14 +-
   branches/quickbook-dev/tools/quickbook/test/include/include-id-1.6.gold | 12 +-
   branches/quickbook-dev/tools/quickbook/test/quickbook-manual.gold | 62 +++++++-------
   branches/quickbook-dev/tools/quickbook/test/template-section.gold | 2
   branches/quickbook-dev/tools/quickbook/test/unicode-escape.gold | 2
   branches/quickbook-dev/tools/quickbook/test/unit/Jamfile.v2 | 2
   branches/quickbook-dev/tools/quickbook/test/utf-8-bom.gold | 2
   branches/quickbook-dev/tools/quickbook/test/utf-8.gold | 2
   branches/quickbook-dev/tools/quickbook/test/xml-escape_1_2.gold | 2
   branches/quickbook-dev/tools/quickbook/test/xml-escape_1_5.gold | 2
   47 files changed, 388 insertions(+), 286 deletions(-)

Modified: branches/quickbook-dev/tools/build/v2/test/qt4/jamroot.jam
==============================================================================
--- branches/quickbook-dev/tools/build/v2/test/qt4/jamroot.jam (original)
+++ branches/quickbook-dev/tools/build/v2/test/qt4/jamroot.jam 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -39,9 +39,12 @@
       [ link phonon.cpp /qt//phonon ]
       [ link qtmultimedia.cpp /qt//QtMultimedia ]
 
+ # QML
+ [ link qtdeclarative.cpp /qt//QtDeclarative ]
+
       # Help systems.
       [ link qthelp.cpp /qt//QtHelp ]
- [ link qtassistant.cpp /qt//QtAssistantClient ]
+ [ link qtassistant.cpp /qt//QtAssistantClient : <conditional>@check_for_assistant ]
 
       # Check working and disabled Qt3Support
       [ link qt3support.cpp /qt//Qt3Support : <qt3support>on ]
@@ -56,3 +59,18 @@
    : # usage-requirements
    ;
 }
+
+# QtAssistant is removed from Qt >= 4.6
+rule check_for_assistant ( properties * )
+{
+ # Extract version number from toolset
+ local version = [ MATCH "<qt>([0-9.]+).*"
+ : $(properties) ] ;
+
+ if $(version) > "4.6.99"
+ {
+ result += <build>no ;
+ }
+}
+
+

Modified: branches/quickbook-dev/tools/build/v2/test/qt4/phonon.cpp
==============================================================================
--- branches/quickbook-dev/tools/build/v2/test/qt4/phonon.cpp (original)
+++ branches/quickbook-dev/tools/build/v2/test/qt4/phonon.cpp 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -5,7 +5,7 @@
 
 #define BOOST_TEST_MODULE QtPhonon
 
-#include <Phonon/MediaObject>
+#include <phonon/MediaObject>
 
 #include <boost/test/unit_test.hpp>
 

Modified: branches/quickbook-dev/tools/build/v2/test/qt4/qtmultimedia.cpp
==============================================================================
--- branches/quickbook-dev/tools/build/v2/test/qt4/qtmultimedia.cpp (original)
+++ branches/quickbook-dev/tools/build/v2/test/qt4/qtmultimedia.cpp 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -18,7 +18,7 @@
 
 BOOST_AUTO_TEST_CASE( audiodevices)
 {
- QList<QAudioDeviceId> devices = QAudioDeviceInfo::deviceList(QAudio::AudioOutput);
+ QList<QAudioDeviceInfo> devices = QAudioDeviceInfo::availableDevices(QAudio::AudioOutput);
     for(int i = 0; i < devices.size(); ++i) {
         BOOST_TEST_MESSAGE(QAudioDeviceInfo(devices.at(i)).deviceName().constData());
     }

Modified: branches/quickbook-dev/tools/build/v2/test/qt4/qtscript.cpp
==============================================================================
--- branches/quickbook-dev/tools/build/v2/test/qt4/qtscript.cpp (original)
+++ branches/quickbook-dev/tools/build/v2/test/qt4/qtscript.cpp 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -7,6 +7,8 @@
 
 #include <QScriptEngine>
 
+#include <QCoreApplication>
+
 #include <boost/test/unit_test.hpp>
 
 #include <iostream>
@@ -25,9 +27,11 @@
 
 BOOST_AUTO_TEST_CASE( script )
 {
- QScriptEngine myEngine;
- QScriptValue three = myEngine.evaluate("1 + 2");
+ QCoreApplication app(boost::unit_test::framework::master_test_suite().argc,
+ boost::unit_test::framework::master_test_suite().argv);
+ QScriptEngine myEngine;
+ QScriptValue three = myEngine.evaluate("1 + 2");
 
- BOOST_CHECK_EQUAL(three.toNumber(), 3);
- BOOST_CHECK_EQUAL(three.toString(), QLatin1String("3"));
+ BOOST_CHECK_EQUAL(three.toNumber(), 3);
+ BOOST_CHECK_EQUAL(three.toString(), QLatin1String("3"));
 }

Modified: branches/quickbook-dev/tools/build/v2/tools/qt4.jam
==============================================================================
--- branches/quickbook-dev/tools/build/v2/tools/qt4.jam (original)
+++ branches/quickbook-dev/tools/build/v2/tools/qt4.jam 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -415,6 +415,7 @@
 
     # Qt designer library
     add-shared-library QtDesigner : QtGui QtXml : : $(target-requirements) ;
+ add-shared-library QtDesignerComponents : QtGui QtXml : : $(target-requirements) ;
 
     # Support for dynamic Widgets (Qt 4.1)
     add-static-library QtUiTools : QtGui QtXml : $(target-requirements) ;
@@ -441,13 +442,19 @@
     add-shared-library QtXmlPatterns : QtNetwork : QT_XMLPATTERNS_LIB : $(target-requirements) ;
 
     # Help-Engine (Qt 4.4)
- add-shared-library QtHelp : QtGui QtSql QtXml : : $(target-requirements) ;
+ add-shared-library QtHelp : QtGui QtSql QtXml : : $(target-requirements) ;
+ add-shared-library QtCLucene : QCore QtSql QtXml : : $(target-requirements) ;
+
+ # QML-Engine (Qt 4.7)
+ add-shared-library QtDeclarative : QtGui QtXml : : $(target-requirements) ;
 
     # AssistantClient Support
- # Compat library
+ # Compat library removed in 4.7.0
     # Pre-4.4 help system, use QtHelp for new programs
- add-shared-library QtAssistantClient : QtGui : : $(target-requirements) : QtAssistant ;
-
+ if $(version) < "4.7"
+ {
+ add-shared-library QtAssistantClient : QtGui : : $(target-requirements) : QtAssistant ;
+ }
     debug-message "==== Configured Qt-$(version) ====" ;
 
     project.pop-current ;

Modified: branches/quickbook-dev/tools/build/v2/tools/quickbook.jam
==============================================================================
--- branches/quickbook-dev/tools/build/v2/tools/quickbook.jam (original)
+++ branches/quickbook-dev/tools/build/v2/tools/quickbook.jam 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -165,7 +165,7 @@
                 # properties found in target-id. We do not care about these
                 # since we have passed the id ourselves.
                 quickbook-main-target =
- [ $(quickbook-main-target[1]).main-target quickbook ] ;
+ [ $(quickbook-main-target[1]).main-target quickbook-auto ] ;
 
                 quickbook-binary-dependencies =
                     [ $(quickbook-main-target).generate [ $(property-set).propagated ] ] ;

Modified: branches/quickbook-dev/tools/quickbook/Jamfile.v2
==============================================================================
--- branches/quickbook-dev/tools/quickbook/Jamfile.v2 (original)
+++ branches/quickbook-dev/tools/quickbook/Jamfile.v2 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -33,3 +33,13 @@
     :
     release
     ;
+
+# Target for quickbook toolset's auto build.
+
+alias quickbook-auto
+ : quickbook
+ : release
+ ;
+
+explicit quickbook-auto
+ ;

Modified: branches/quickbook-dev/tools/quickbook/src/Jamfile.v2
==============================================================================
--- branches/quickbook-dev/tools/quickbook/src/Jamfile.v2 (original)
+++ branches/quickbook-dev/tools/quickbook/src/Jamfile.v2 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -28,6 +28,7 @@
     utils.cpp
     input_path.cpp
     values.cpp
+ id_generator.cpp
     post_process.cpp
     collector.cpp
     template_stack.cpp

Modified: branches/quickbook-dev/tools/quickbook/src/actions.cpp
==============================================================================
--- branches/quickbook-dev/tools/quickbook/src/actions.cpp (original)
+++ branches/quickbook-dev/tools/quickbook/src/actions.cpp 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -29,6 +29,7 @@
 #include "input_path.hpp"
 #include "block_tags.hpp"
 #include "phrase_tags.hpp"
+#include "id_generator.hpp"
 
 namespace quickbook
 {
@@ -58,12 +59,23 @@
                 it != end; ++it)
             {
                 tgt << "<anchor id=\"";
- detail::print_string(*it, tgt.get());
+ detail::print_string(
+ actions.ids.add(*it, id_generator::explicit_id),
+ tgt.get());
                 tgt << "\"/>";
             }
             
             actions.anchors.clear();
- }
+ }
+
+ std::string add_anchor(quickbook::actions& actions,
+ std::string const& id,
+ id_generator::categories category = id_generator::explicit_id)
+ {
+ std::string placeholder = actions.ids.add(id, category);
+ actions.anchors.push_back(placeholder);
+ return placeholder;
+ }
     }
 
     void list_action(quickbook::actions&, value);
@@ -261,8 +273,7 @@
         value_consumer values = phrase;
         actions.phrase
             << "<footnote id=\""
- << actions.doc_id << ".f"
- << boost::lexical_cast<std::string>(actions.footnote_id_count++)
+ << actions.ids.add(actions.doc_id + ".f", id_generator::numbered)
             << "\"><para>"
             << values.consume().get_boostbook()
             << "</para></footnote>";
@@ -297,27 +308,31 @@
     }
     
     namespace {
- void write_bridgehead(collector& out, int level,
+ void write_bridgehead(quickbook::actions& actions, int level,
             std::string const& str, std::string const& id, bool self_link)
         {
             if (self_link && !id.empty())
             {
- out << "<bridgehead renderas=\"sect" << level << "\"";
- out << " id=\"" << id << "-heading\"";
- out << ">";
- out << "<phrase id=\"" << id << "\"/>";
- out << "<link linkend=\"" << id << "\">";
- out << str;
- out << "</link>";
- out << "</bridgehead>";
+ actions.out << "<bridgehead renderas=\"sect" << level << "\"";
+ actions.out << " id=\"";
+ actions.out << actions.ids.add(
+ fully_qualified_id(actions.doc_id,
+ actions.qualified_section_id, "h"),
+ id_generator::numbered),
+ actions.out << "\">";
+ actions.out << "<phrase id=\"" << id << "\"/>";
+ actions.out << "<link linkend=\"" << id << "\">";
+ actions.out << str;
+ actions.out << "</link>";
+ actions.out << "</bridgehead>";
             }
             else
             {
- out << "<bridgehead renderas=\"sect" << level << "\"";
- if(!id.empty()) out << " id=\"" << id << "\"";
- out << ">";
- out << str;
- out << "</bridgehead>";
+ actions.out << "<bridgehead renderas=\"sect" << level << "\"";
+ if(!id.empty()) actions.out << " id=\"" << id << "\"";
+ actions.out << ">";
+ actions.out << str;
+ actions.out << "</bridgehead>";
             }
         }
     }
@@ -347,20 +362,26 @@
             level = heading_list.get_tag() - block_tags::heading1 + 1;
         }
 
- std::string anchor;
 
         write_anchors(actions, actions.out);
 
         if (!generic && qbk_version_n < 103) // version 1.2 and below
         {
- anchor = actions.section_id + '.' +
- detail::make_identifier(content.get_boostbook());
+ std::string anchor = actions.ids.add(
+ actions.section_id + '.' +
+ detail::make_identifier(content.get_boostbook()),
+ id_generator::generated);
 
- write_bridgehead(actions.out, level,
+ write_bridgehead(actions, level,
                 content.get_boostbook(), anchor, false);
         }
         else
         {
+ id_generator::categories category =
+ !element_id.empty() ?
+ id_generator::explicit_id :
+ id_generator::generated;
+
             std::string id =
                 !element_id.empty() ?
                     element_id.get_quickbook() :
@@ -370,13 +391,14 @@
                             content.get_boostbook()
                     );
 
- anchor = fully_qualified_id(actions.doc_id,
- actions.qualified_section_id, id);
+ std::string anchor = actions.ids.add(
+ fully_qualified_id(actions.doc_id,
+ actions.qualified_section_id, id),
+ category);;
 
- write_bridgehead(actions.out, level,
+ write_bridgehead(actions, level,
                 content.get_boostbook(), anchor, true);
         }
-
     }
 
     void simple_phrase_action::operator()(char mark) const
@@ -588,7 +610,7 @@
     void anchor_action(quickbook::actions& actions, value anchor)
     {
         value_consumer values = anchor;
- actions.anchors.push_back(values.consume().get_quickbook());
+ add_anchor(actions, values.consume().get_quickbook());
         values.finish();
     }
 
@@ -1101,8 +1123,7 @@
             while (arg != args.end())
             {
                 if (!actions.templates.add(
- template_symbol(*tpl, empty_params, arg->content,
- arg->filename, &scope)))
+ template_symbol(*tpl, empty_params, *arg, &scope)))
                 {
                     detail::outerr(actions.filename, pos.line)
                         << "Duplicate Symbol Found" << std::endl;
@@ -1127,7 +1148,8 @@
             //
             // Note: this is now done in the grammar.
 
- if (escape)
+ // TODO: For escape, should this be surrounded in escape comments?
+ if (body.type == template_body::raw_output || escape)
             {
                 // escape the body of the template
                 // we just copy out the literal body
@@ -1247,24 +1269,31 @@
             file_position pos)
     {
         assert(symbol->body.is_block());
-
+
+ std::vector<std::string> callout_ids;
         std::vector<template_body> args;
         unsigned int size = symbol->params.size();
 
         for(unsigned int i = 0; i < size; ++i)
         {
- std::string callout_id = actions.doc_id +
- boost::lexical_cast<std::string>(actions.callout_id_count + i);
+ std::string callout_id1 =
+ actions.ids.add(
+ actions.doc_id + ".c",
+ id_generator::numbered);
+ std::string callout_id2 =
+ actions.ids.add(
+ actions.doc_id + ".c",
+ id_generator::numbered);
 
             std::string code;
- code += "'''";
- code += "<co id=\"" + callout_id + "co\" ";
- code += "linkends=\"" + callout_id + "\" />";
- code += "'''";
+ code += "<co id=\"" + callout_id1 + "\" ";
+ code += "linkends=\"" + callout_id2 + "\" />";
 
             args.push_back(template_body(
                 qbk_value(code, pos, template_tags::phrase),
- actions.filename));
+ actions.filename, template_body::raw_output));
+ callout_ids.push_back(callout_id1);
+ callout_ids.push_back(callout_id2);
         }
         
         call_template(actions, template_escape, symbol, args, pos);
@@ -1277,10 +1306,11 @@
             ++actions.template_depth;
 
             block += "<calloutlist>";
+ int i = 0;
             BOOST_FOREACH(value c, symbol->callouts)
             {
- std::string callout_id = actions.doc_id +
- boost::lexical_cast<std::string>(actions.callout_id_count++);
+ std::string callout_id1 = callout_ids[i++];
+ std::string callout_id2 = callout_ids[i++];
     
                 std::string callout_value;
                 {
@@ -1304,8 +1334,8 @@
                     actions.out.swap(callout_value);
                 }
                 
- block += "<callout arearefs=\"" + callout_id + "co\" ";
- block += "id=\"" + callout_id + "\">";
+ block += "<callout arearefs=\"" + callout_id1 + "\" ";
+ block += "id=\"" + callout_id2 + "\">";
                 block += callout_value;
                 block += "</callout>";
             }
@@ -1326,6 +1356,7 @@
 
         std::string identifier = values.consume(template_tags::identifier).get_quickbook();
 
+ std::vector<std::string> callout_ids;
         std::vector<template_body> args;
 
         BOOST_FOREACH(value arg, values)
@@ -1444,15 +1475,26 @@
         std::string table_id;
         if(qbk_version_n >= 105) {
             if(!element_id.empty()) {
- table_id = fully_qualified_id(actions.doc_id,
- actions.qualified_section_id, element_id);
+ table_id = actions.ids.add(
+ fully_qualified_id(actions.doc_id,
+ actions.qualified_section_id, element_id),
+ id_generator::explicit_id);
             }
             else if(has_title) {
- table_id = fully_qualified_id(actions.doc_id,
- actions.qualified_section_id,
- detail::make_identifier(title));
+ table_id = actions.ids.add(
+ fully_qualified_id(actions.doc_id,
+ actions.qualified_section_id,
+ detail::make_identifier(title)),
+ id_generator::generated);
             }
         }
+ else if (has_title)
+ {
+ table_id = actions.ids.add(
+ fully_qualified_id(actions.doc_id,
+ actions.qualified_section_id, "t"),
+ id_generator::numbered);
+ }
 
         // Emulating the old behaviour which used the width of the final
         // row for span_count.
@@ -1540,17 +1582,17 @@
         actions.qualified_section_id += actions.section_id;
         ++actions.section_level;
 
- if (qbk_version_n < 103) // version 1.2 and below
- {
- actions.out << "\n<section id=\""
- << actions.doc_id << "." << actions.section_id << "\">\n";
- }
- else // version 1.3 and above
- {
- actions.out << "\n<section id=\"" << actions.doc_id
- << "." << actions.qualified_section_id << "\">\n";
- }
+ // TODO: This could be awkward if there's a clash, possibly
+ // needs another category, between explicit and generated.
+ std::string full_id = actions.ids.add(
+ qbk_version_n < 103 ?
+ actions.doc_id + "." + actions.section_id :
+ actions.doc_id + "." + actions.qualified_section_id,
+ !element_id.empty() ?
+ id_generator::explicit_id :
+ id_generator::generated);
 
+ actions.out << "\n<section id=\"" << full_id << "\">\n";
         actions.out << "<title>";
 
         write_anchors(actions, actions.out);
@@ -1561,8 +1603,7 @@
         }
         else // version 1.3 and above
         {
- actions.out << "<link linkend=\"" << actions.doc_id
- << "." << actions.qualified_section_id << "\">"
+ actions.out << "<link linkend=\"" << full_id << "\">"
                 << content.get_boostbook()
                 << "</link>"
                 ;

Modified: branches/quickbook-dev/tools/quickbook/src/actions_class.cpp
==============================================================================
--- branches/quickbook-dev/tools/quickbook/src/actions_class.cpp (original)
+++ branches/quickbook-dev/tools/quickbook/src/actions_class.cpp 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -19,7 +19,8 @@
 
 namespace quickbook
 {
- actions::actions(fs::path const& filein_, fs::path const& xinclude_base_, string_stream& out_)
+ actions::actions(fs::path const& filein_, fs::path const& xinclude_base_,
+ string_stream& out_, id_generator& ids)
         : grammar_()
 
         , doc_title_qbk()
@@ -32,8 +33,7 @@
         , warned_about_breaks(false)
         , context(0)
         , conditional(true)
- , callout_id_count(0)
- , footnote_id_count(0)
+ , ids(ids)
 
         , imported(false)
         , doc_type()

Modified: branches/quickbook-dev/tools/quickbook/src/actions_class.hpp
==============================================================================
--- branches/quickbook-dev/tools/quickbook/src/actions_class.hpp (original)
+++ branches/quickbook-dev/tools/quickbook/src/actions_class.hpp 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -23,7 +23,8 @@
 
     struct actions
     {
- actions(fs::path const& filein_, fs::path const& xinclude_base, string_stream& out_);
+ actions(fs::path const& filein_, fs::path const& xinclude_base, string_stream& out_,
+ id_generator&);
 
     private:
         boost::scoped_ptr<quickbook_grammar> grammar_;
@@ -47,8 +48,7 @@
         bool warned_about_breaks;
         int context;
         bool conditional;
- int callout_id_count;
- int footnote_id_count;
+ id_generator& ids;
 
     // state saved for files and templates.
         bool imported;

Modified: branches/quickbook-dev/tools/quickbook/src/block_element_grammar.cpp
==============================================================================
--- branches/quickbook-dev/tools/quickbook/src/block_element_grammar.cpp (original)
+++ branches/quickbook-dev/tools/quickbook/src/block_element_grammar.cpp 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -34,7 +34,8 @@
                         xinclude, include,
                         template_, template_id, template_formal_arg,
                         template_body, identifier, import,
- element_id, element_id_1_5, element_id_1_6;
+ element_id, element_id_1_5, element_id_1_6,
+ same_line;
     };
 
     void quickbook_grammar::impl::init_block_elements()
@@ -44,7 +45,7 @@
 
         local.element_id =
             !( ':'
- >> ( cl::if_p(qbk_since(105u)) [space]
+ >> ( !(cl::eps_p(qbk_since(105u)) >> space)
>> (+(cl::alnum_p | '_')) [actions.values.entry(ph::arg1, ph::arg2, general_tags::element_id)]
                 | cl::eps_p [actions.element_id_warning]
                 )
@@ -52,16 +53,10 @@
             ;
         
         local.element_id_1_5 =
- cl::if_p(qbk_since(105u)) [
- local.element_id
- ]
- ;
+ !(cl::eps_p(qbk_since(105u)) >> local.element_id);
 
         local.element_id_1_6 =
- cl::if_p(qbk_since(106u)) [
- local.element_id
- ]
- ;
+ !(cl::eps_p(qbk_since(106u)) >> local.element_id);
 
         elements.add
             ("section", element_info(element_info::block, &local.begin_section, block_tags::begin_section))
@@ -208,10 +203,12 @@
             ("table", element_info(element_info::nested_block, &local.table, block_tags::table))
             ;
 
+ local.same_line = (cl::eps_p(*cl::blank_p >> cl::eol_p) | space);
+
         local.table =
- (cl::eps_p(*cl::blank_p >> cl::eol_p) | space)
+ local.same_line
>> local.element_id_1_5
- >> (cl::eps_p(*cl::blank_p >> cl::eol_p) | space)
+ >> local.same_line
>> (*(cl::anychar_p - eol)) [actions.values.entry(ph::arg1, ph::arg2, table_tags::title)]
>> (+eol)
>> *local.table_row

Modified: branches/quickbook-dev/tools/quickbook/src/doc_info_actions.cpp
==============================================================================
--- branches/quickbook-dev/tools/quickbook/src/doc_info_actions.cpp (original)
+++ branches/quickbook-dev/tools/quickbook/src/doc_info_actions.cpp 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -17,6 +17,7 @@
 #include "input_path.hpp"
 #include "actions_class.hpp"
 #include "doc_info_tags.hpp"
+#include "id_generator.hpp"
 
 namespace quickbook
 {
@@ -280,7 +281,7 @@
 
         out << '<' << actions.doc_type << "\n"
             << " id=\""
- << actions.doc_id
+ << actions.ids.add(actions.doc_id, id_generator::explicit_id)
             << "\"\n"
             ;
         
@@ -374,7 +375,10 @@
 
         if (!license.empty())
         {
- tmp << " <legalnotice id=\"legal." << actions.doc_id << "\">\n"
+ tmp << " <legalnotice id=\""
+ << actions.ids.add(actions.doc_id + ".legal",
+ id_generator::generated)
+ << "\">\n"
                 << " <para>\n"
                 << " " << doc_info_output(license, 103) << "\n"
                 << " </para>\n"

Modified: branches/quickbook-dev/tools/quickbook/src/fwd.hpp
==============================================================================
--- branches/quickbook-dev/tools/quickbook/src/fwd.hpp (original)
+++ branches/quickbook-dev/tools/quickbook/src/fwd.hpp 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -18,6 +18,7 @@
     struct actions;
     struct quickbook_grammar;
     struct collector;
+ struct id_generator;
 
     typedef position_iterator<std::string::const_iterator> iterator;
 

Modified: branches/quickbook-dev/tools/quickbook/src/main_grammar.cpp
==============================================================================
--- branches/quickbook-dev/tools/quickbook/src/main_grammar.cpp (original)
+++ branches/quickbook-dev/tools/quickbook/src/main_grammar.cpp 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -145,9 +145,7 @@
             actions.scoped_context(element_info::in_block)
             [ local.blocks
>> *( local.element
- >> cl::if_p(local.is_block)
- [ !(+eol >> local.blocks)
- ]
+ >> !(cl::eps_p(local.is_block) >> +eol >> local.blocks)
                 | local.paragraph_separator >> local.blocks
                 | common
                 | cl::space_p [actions.space_char]
@@ -282,11 +280,10 @@
             ;
 
         local.template_args =
- cl::if_p(qbk_since(105u)) [
- local.template_args_1_5
- ].else_p [
- local.template_args_1_4
- ]
+ cl::eps_p(qbk_since(105u))
+ >> local.template_args_1_5
+ | cl::eps_p(qbk_before(105u))
+ >> local.template_args_1_4
             ;
 
         local.template_args_1_4 = local.template_arg_1_4 >> *(".." >> local.template_arg_1_4);

Modified: branches/quickbook-dev/tools/quickbook/src/phrase_element_grammar.cpp
==============================================================================
--- branches/quickbook-dev/tools/quickbook/src/phrase_element_grammar.cpp (original)
+++ branches/quickbook-dev/tools/quickbook/src/phrase_element_grammar.cpp 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -51,28 +51,28 @@
             ;
 
         local.image =
- blank
- >> cl::if_p(qbk_since(105u)) [
- (+(
- *cl::space_p
- >> +(cl::anychar_p - (cl::space_p | phrase_end | '['))
- )) [actions.values.entry(ph::arg1, ph::arg2)]
- >> hard_space
- >> *actions.values.list()
- [ '['
- >> (*(cl::alnum_p | '_'))
- [actions.values.entry(ph::arg1, ph::arg2)]
- >> space
- >> (*(cl::anychar_p - (phrase_end | '[')))
- [actions.values.entry(ph::arg1, ph::arg2)]
- >> ']'
- >> space
- ]
- ].else_p [
- (*(cl::anychar_p - phrase_end))
- [actions.values.entry(ph::arg1, ph::arg2)]
+ cl::eps_p(qbk_since(105u))
+ >> blank
+ >> (+(
+ *cl::space_p
+ >> +(cl::anychar_p - (cl::space_p | phrase_end | '['))
+ )) [actions.values.entry(ph::arg1, ph::arg2)]
+ >> hard_space
+ >> *actions.values.list()
+ [ '['
+ >> (*(cl::alnum_p | '_'))
+ [actions.values.entry(ph::arg1, ph::arg2)]
+ >> space
+ >> (*(cl::anychar_p - (phrase_end | '[')))
+ [actions.values.entry(ph::arg1, ph::arg2)]
+ >> ']'
+ >> space
                 ]
>> cl::eps_p(']')
+ | cl::eps_p(qbk_before(105u))
+ >> blank
+ >> (*(cl::anychar_p - phrase_end)) [actions.values.entry(ph::arg1, ph::arg2)]
+ >> cl::eps_p(']')
             ;
             
         elements.add

Modified: branches/quickbook-dev/tools/quickbook/src/quickbook.cpp
==============================================================================
--- branches/quickbook-dev/tools/quickbook/src/quickbook.cpp (original)
+++ branches/quickbook-dev/tools/quickbook/src/quickbook.cpp 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -13,6 +13,7 @@
 #include "post_process.hpp"
 #include "utils.hpp"
 #include "input_path.hpp"
+#include "id_generator.hpp"
 #include <boost/program_options.hpp>
 #include <boost/filesystem/v3/path.hpp>
 #include <boost/filesystem/v3/operations.hpp>
@@ -120,12 +121,8 @@
     static int
     parse_document(
         fs::path const& filein_,
- fs::path const& xinclude_base,
- string_stream& out)
- {
- actions actor(filein_, xinclude_base, out);
-
- set_macros(actor);
+ actions& actor)
+ {
         
         try {
             parse_file(filein_, actor);
@@ -158,9 +155,14 @@
       , int linewidth
       , bool pretty_print)
     {
- int result = 0;
         string_stream buffer;
- result = parse_document(filein_, xinclude_base_, buffer);
+ id_generator ids;
+ actions actor(filein_, xinclude_base_, buffer, ids);
+ set_macros(actor);
+
+ int result = parse_document(filein_, actor);
+
+ std::string stage2 = ids.replace_placeholders(buffer.str());
 
         if (result == 0)
         {
@@ -170,7 +172,7 @@
             {
                 try
                 {
- fileout << post_process(buffer.str(), indent, linewidth);
+ fileout << post_process(stage2, indent, linewidth);
                 }
                 catch (quickbook::post_process_failure&)
                 {
@@ -178,13 +180,13 @@
                     ::quickbook::detail::outerr()
                         << "Post Processing Failed."
                         << std::endl;
- fileout << buffer.str();
+ fileout << stage2;
                     return 1;
                 }
             }
             else
             {
- fileout << buffer.str();
+ fileout << stage2;
             }
         }
         return result;

Modified: branches/quickbook-dev/tools/quickbook/src/template_stack.cpp
==============================================================================
--- branches/quickbook-dev/tools/quickbook/src/template_stack.cpp (original)
+++ branches/quickbook-dev/tools/quickbook/src/template_stack.cpp 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -18,10 +18,12 @@
 {
     template_body::template_body(
             value const& content,
- fs::path const& filename
+ fs::path const& filename,
+ content_type type
         )
         : content(content)
         , filename(filename)
+ , type(type)
     {
         assert(content.get_tag() == template_tags::block ||
             content.get_tag() == template_tags::phrase);
@@ -32,7 +34,6 @@
         return content.get_tag() == template_tags::block;
     }
 
-
     template_stack::template_stack()
         : scope(template_stack::parser(*this))
         , scopes()

Modified: branches/quickbook-dev/tools/quickbook/src/template_stack.hpp
==============================================================================
--- branches/quickbook-dev/tools/quickbook/src/template_stack.hpp (original)
+++ branches/quickbook-dev/tools/quickbook/src/template_stack.hpp 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -28,11 +28,18 @@
 
     struct template_body
     {
- template_body(value const&, fs::path const&);
+ enum content_type
+ {
+ quickbook,
+ raw_output
+ };
+
+ template_body(value const&, fs::path const&, content_type = quickbook);
         bool is_block() const;
 
         stored_value content;
         fs::path filename;
+ content_type type;
     };
 
     struct template_scope;
@@ -42,6 +49,17 @@
         template_symbol(
                 std::string const& identifier,
                 std::vector<std::string> const& params,
+ template_body const& body,
+ template_scope const* parent = 0)
+ : identifier(identifier)
+ , params(params)
+ , body(body)
+ , parent(parent)
+ , callouts() {}
+
+ template_symbol(
+ std::string const& identifier,
+ std::vector<std::string> const& params,
                 value const& content,
                 fs::path const& filename,
                 template_scope const* parent = 0)

Modified: branches/quickbook-dev/tools/quickbook/test/Jamfile.v2
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/Jamfile.v2 (original)
+++ branches/quickbook-dev/tools/quickbook/test/Jamfile.v2 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -52,6 +52,7 @@
     [ quickbook-test identifier_1_6 ]
     [ quickbook-test para-test ]
     [ quickbook-test variablelist ]
+ [ quickbook-test table_1_3 ]
     [ quickbook-test table_1_5 ]
     [ quickbook-test image_1_5 ]
     [ quickbook-test list_test ]

Modified: branches/quickbook-dev/tools/quickbook/test/anchor.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/anchor.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/anchor.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -9,24 +9,24 @@
       <anchor id="a1"/>A paragraph containing several anchors. <anchor id="a2"/>We
       want to make sure they appear in the correct place. <anchor id="a3"/>
     </para>
- <bridgehead renderas="sect3" id="anchor_test.anchors.this_heading_shouldn_t_pick_up_the_previous_anchor-heading">
+ <bridgehead renderas="sect3" id="anchor_test.anchors.h0">
       <phrase id="anchor_test.anchors.this_heading_shouldn_t_pick_up_the_previous_anchor"/><link
       linkend="anchor_test.anchors.this_heading_shouldn_t_pick_up_the_previous_anchor">This
       heading shouldn't pick up the previous anchor</link>
     </bridgehead>
     <anchor id="a4"/>
- <bridgehead renderas="sect3" id="anchor_test.anchors.this_heading_should_pick_up_the_previous_anchor-heading">
+ <bridgehead renderas="sect3" id="anchor_test.anchors.h1">
       <phrase id="anchor_test.anchors.this_heading_should_pick_up_the_previous_anchor"/><link
       linkend="anchor_test.anchors.this_heading_should_pick_up_the_previous_anchor">This
       heading should pick up the previous anchor</link>
     </bridgehead>
     <anchor id="a5"/>
- <bridgehead renderas="sect3" id="anchor_test.anchors.and_this_one-heading">
+ <bridgehead renderas="sect3" id="anchor_test.anchors.h2">
       <phrase id="anchor_test.anchors.and_this_one"/><link linkend="anchor_test.anchors.and_this_one">And
       this one</link>
     </bridgehead>
     <anchor id="a6"/>
- <bridgehead renderas="sect3" id="anchor_test.anchors.also_this_one-heading">
+ <bridgehead renderas="sect3" id="anchor_test.anchors.h3">
       <phrase id="anchor_test.anchors.also_this_one"/><link linkend="anchor_test.anchors.also_this_one">Also
       this one</link>
     </bridgehead>

Modified: branches/quickbook-dev/tools/quickbook/test/blocks.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/blocks.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/blocks.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -3,7 +3,7 @@
 <article id="various_blocks" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $"
  xmlns:xi="http://www.w3.org/2001/XInclude">
   <title>Various blocks</title>
- <bridgehead renderas="sect2" id="various_blocks.blockquotes-heading">
+ <bridgehead renderas="sect2" id="various_blocks.h0">
     <phrase id="various_blocks.blockquotes"/><link linkend="various_blocks.blockquotes">Blockquotes</link>
   </bridgehead>
   <para>
@@ -25,7 +25,7 @@
       Blockquote second paragraph.
     </para>
   </blockquote>
- <bridgehead renderas="sect2" id="various_blocks.admonitions-heading">
+ <bridgehead renderas="sect2" id="various_blocks.h1">
     <phrase id="various_blocks.admonitions"/><link linkend="various_blocks.admonitions">Admonitions</link>
   </bridgehead>
   <warning>
@@ -61,7 +61,7 @@
       Warning second paragraph.
     </para>
   </warning>
- <bridgehead renderas="sect2" id="various_blocks.blurb-heading">
+ <bridgehead renderas="sect2" id="various_blocks.h2">
     <phrase id="various_blocks.blurb"/><link linkend="various_blocks.blurb">Blurb</link>
   </bridgehead>
   <sidebar role="blurb">
@@ -69,7 +69,7 @@
     Blurb
   </para>
   </sidebar>
- <bridgehead renderas="sect2" id="various_blocks.inline_blocks-heading">
+ <bridgehead renderas="sect2" id="various_blocks.h3">
     <phrase id="various_blocks.inline_blocks"/><link linkend="various_blocks.inline_blocks">Inline
     blocks</link>
   </bridgehead>

Modified: branches/quickbook-dev/tools/quickbook/test/callouts.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/callouts.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/callouts.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -12,13 +12,13 @@
   <para>
     
 <programlisting><phrase role="keyword">int</phrase> <phrase role="identifier">roll_die</phrase><phrase role="special">()</phrase> <phrase role="special">{</phrase>
- <phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">uniform_int</phrase><phrase role="special">&lt;&gt;</phrase> <phrase role="identifier">dist</phrase><phrase role="special">(</phrase><phrase role="number">1</phrase><phrase role="special">,</phrase> <phrase role="number">6</phrase><phrase role="special">);</phrase> <!--quickbook-escape-prefix--><co id="callout_tests0co" linkends="callout_tests0" /><!--quickbook-escape-postfix-->
+ <phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">uniform_int</phrase><phrase role="special">&lt;&gt;</phrase> <phrase role="identifier">dist</phrase><phrase role="special">(</phrase><phrase role="number">1</phrase><phrase role="special">,</phrase> <phrase role="number">6</phrase><phrase role="special">);</phrase> <co id="callout_tests.c0" linkends="callout_tests.c1" />
 <phrase role="special">}</phrase>
 
 </programlisting>
   </para>
   <calloutlist>
- <callout arearefs="callout_tests0co" id="callout_tests0">
+ <callout arearefs="callout_tests.c0" id="callout_tests.c1">
       <para>
         create a uniform_int distribution
       </para>
@@ -30,13 +30,13 @@
   <para>
     
 <programlisting><phrase role="keyword">int</phrase> <phrase role="identifier">roll_die</phrase><phrase role="special">()</phrase> <phrase role="special">{</phrase>
- <!--quickbook-escape-prefix--><co id="callout_tests1co" linkends="callout_tests1" /><!--quickbook-escape-postfix--><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">variate_generator</phrase><phrase role="special">&lt;</phrase><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">mt19937</phrase><phrase role="special">&amp;,</phrase> <phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">uniform_int</phrase><phrase role="special">&lt;&gt;</phrase> <phrase role="special">&gt;</phrase> <phrase role="identifier">die</phrase><phrase role="special">(</phrase><phrase role="identifier">gen</phrase><phrase role="special">,</phrase> <phrase role="identifier">dist</phrase><phrase role="special">);</phrase>
+ <co id="callout_tests.c2" linkends="callout_tests.c3" /><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">variate_generator</phrase><phrase role="special">&lt;</phrase><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">mt19937</phrase><phrase role="special">&amp;,</phrase> <phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">uniform_int</phrase><phrase role="special">&lt;&gt;</phrase> <phrase role="special">&gt;</phrase> <phrase role="identifier">die</phrase><phrase role="special">(</phrase><phrase role="identifier">gen</phrase><phrase role="special">,</phrase> <phrase role="identifier">dist</phrase><phrase role="special">);</phrase>
 <phrase role="special">}</phrase>
 
 </programlisting>
   </para>
   <calloutlist>
- <callout arearefs="callout_tests1co" id="callout_tests1">
+ <callout arearefs="callout_tests.c2" id="callout_tests.c3">
       <important>
         <para>
           test
@@ -50,13 +50,13 @@
   <para>
     
 <programlisting><phrase role="keyword">int</phrase> <phrase role="identifier">roll_die</phrase><phrase role="special">()</phrase> <phrase role="special">{</phrase>
- <!--quickbook-escape-prefix--><co id="callout_tests2co" linkends="callout_tests2" /><!--quickbook-escape-postfix--><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">variate_generator</phrase><phrase role="special">&lt;</phrase><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">mt19937</phrase><phrase role="special">&amp;,</phrase> <phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">uniform_int</phrase><phrase role="special">&lt;&gt;</phrase> <phrase role="special">&gt;</phrase> <phrase role="identifier">die</phrase><phrase role="special">(</phrase><phrase role="identifier">gen</phrase><phrase role="special">,</phrase> <phrase role="identifier">dist</phrase><phrase role="special">);</phrase>
+ <co id="callout_tests.c4" linkends="callout_tests.c5" /><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">variate_generator</phrase><phrase role="special">&lt;</phrase><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">mt19937</phrase><phrase role="special">&amp;,</phrase> <phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">uniform_int</phrase><phrase role="special">&lt;&gt;</phrase> <phrase role="special">&gt;</phrase> <phrase role="identifier">die</phrase><phrase role="special">(</phrase><phrase role="identifier">gen</phrase><phrase role="special">,</phrase> <phrase role="identifier">dist</phrase><phrase role="special">);</phrase>
 <phrase role="special">}</phrase>
 
 </programlisting>
   </para>
   <calloutlist>
- <callout arearefs="callout_tests2co" id="callout_tests2">
+ <callout arearefs="callout_tests.c4" id="callout_tests.c5">
       <important>
         <para>
           test
@@ -70,13 +70,13 @@
   <para>
     
 <programlisting><phrase role="keyword">int</phrase> <phrase role="identifier">roll_die</phrase><phrase role="special">()</phrase> <phrase role="special">{</phrase>
- <!--quickbook-escape-prefix--><co id="callout_tests3co" linkends="callout_tests3" /><!--quickbook-escape-postfix--><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">variate_generator</phrase><phrase role="special">&lt;</phrase><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">mt19937</phrase><phrase role="special">&amp;,</phrase> <phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">uniform_int</phrase><phrase role="special">&lt;&gt;</phrase> <phrase role="special">&gt;</phrase> <phrase role="identifier">die</phrase><phrase role="special">(</phrase><phrase role="identifier">gen</phrase><phrase role="special">,</phrase> <phrase role="identifier">dist</phrase><phrase role="special">);</phrase>
+ <co id="callout_tests.c6" linkends="callout_tests.c7" /><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">variate_generator</phrase><phrase role="special">&lt;</phrase><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">mt19937</phrase><phrase role="special">&amp;,</phrase> <phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">uniform_int</phrase><phrase role="special">&lt;&gt;</phrase> <phrase role="special">&gt;</phrase> <phrase role="identifier">die</phrase><phrase role="special">(</phrase><phrase role="identifier">gen</phrase><phrase role="special">,</phrase> <phrase role="identifier">dist</phrase><phrase role="special">);</phrase>
 <phrase role="special">}</phrase>
 
 </programlisting>
   </para>
   <calloutlist>
- <callout arearefs="callout_tests3co" id="callout_tests3">
+ <callout arearefs="callout_tests.c6" id="callout_tests.c7">
       <important>
         <para>
           test
@@ -90,24 +90,24 @@
   <para>
     
 <programlisting><phrase role="keyword">int</phrase> <phrase role="identifier">roll_die</phrase><phrase role="special">()</phrase> <phrase role="special">{</phrase>
- <!--quickbook-escape-prefix--><co id="callout_tests4co" linkends="callout_tests4" /><!--quickbook-escape-postfix--><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">variate_generator</phrase><phrase role="special">&lt;</phrase><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">mt19937</phrase><phrase role="special">&amp;,</phrase> <phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">uniform_int</phrase><phrase role="special">&lt;&gt;</phrase> <phrase role="special">&gt;</phrase> <phrase role="identifier">die</phrase><phrase role="special">(</phrase><phrase role="identifier">gen</phrase><phrase role="special">,</phrase> <phrase role="identifier">dist</phrase><phrase role="special">);</phrase>
-<!--quickbook-escape-prefix--><co id="callout_tests5co" linkends="callout_tests5" /><!--quickbook-escape-postfix--><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">uniform_int</phrase><phrase role="special">&lt;&gt;</phrase> <phrase role="identifier">dist</phrase><phrase role="special">(</phrase><phrase role="number">1</phrase><phrase role="special">,</phrase> <phrase role="number">6</phrase><phrase role="special">);</phrase> <!--quickbook-escape-prefix--><co id="callout_tests6co" linkends="callout_tests6" /><!--quickbook-escape-postfix-->
+ <co id="callout_tests.c8" linkends="callout_tests.c9" /><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">variate_generator</phrase><phrase role="special">&lt;</phrase><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">mt19937</phrase><phrase role="special">&amp;,</phrase> <phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">uniform_int</phrase><phrase role="special">&lt;&gt;</phrase> <phrase role="special">&gt;</phrase> <phrase role="identifier">die</phrase><phrase role="special">(</phrase><phrase role="identifier">gen</phrase><phrase role="special">,</phrase> <phrase role="identifier">dist</phrase><phrase role="special">);</phrase>
+<co id="callout_tests.c10" linkends="callout_tests.c11" /><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">uniform_int</phrase><phrase role="special">&lt;&gt;</phrase> <phrase role="identifier">dist</phrase><phrase role="special">(</phrase><phrase role="number">1</phrase><phrase role="special">,</phrase> <phrase role="number">6</phrase><phrase role="special">);</phrase> <co id="callout_tests.c12" linkends="callout_tests.c13" />
 <phrase role="special">}</phrase>
 
 </programlisting>
   </para>
   <calloutlist>
- <callout arearefs="callout_tests4co" id="callout_tests4">
+ <callout arearefs="callout_tests.c8" id="callout_tests.c9">
       <para>
         callout 1
       </para>
     </callout>
- <callout arearefs="callout_tests5co" id="callout_tests5">
+ <callout arearefs="callout_tests.c10" id="callout_tests.c11">
       <para>
         callout 2
       </para>
     </callout>
- <callout arearefs="callout_tests6co" id="callout_tests6">
+ <callout arearefs="callout_tests.c12" id="callout_tests.c13">
       <para>
         create a uniform_int distribution
       </para>
@@ -115,16 +115,16 @@
   </calloutlist>
   <para>
     
-<programlisting><!--quickbook-escape-prefix--><co id="callout_tests7co" linkends="callout_tests7" /><!--quickbook-escape-postfix--><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">uniform_int</phrase><phrase role="special">&lt;&gt;</phrase> <phrase role="identifier">dist</phrase><phrase role="special">(</phrase><phrase role="number">1</phrase><phrase role="special">,</phrase> <phrase role="number">6</phrase><phrase role="special">);</phrase> <!--quickbook-escape-prefix--><co id="callout_tests8co" linkends="callout_tests8" /><!--quickbook-escape-postfix-->
+<programlisting><co id="callout_tests.c14" linkends="callout_tests.c15" /><phrase role="identifier">boost</phrase><phrase role="special">::</phrase><phrase role="identifier">uniform_int</phrase><phrase role="special">&lt;&gt;</phrase> <phrase role="identifier">dist</phrase><phrase role="special">(</phrase><phrase role="number">1</phrase><phrase role="special">,</phrase> <phrase role="number">6</phrase><phrase role="special">);</phrase> <co id="callout_tests.c16" linkends="callout_tests.c17" />
 </programlisting>
   </para>
   <calloutlist>
- <callout arearefs="callout_tests7co" id="callout_tests7">
+ <callout arearefs="callout_tests.c14" id="callout_tests.c15">
       <para>
         callout 2
       </para>
     </callout>
- <callout arearefs="callout_tests8co" id="callout_tests8">
+ <callout arearefs="callout_tests.c16" id="callout_tests.c17">
       <para>
         create a uniform_int distribution
       </para>

Modified: branches/quickbook-dev/tools/quickbook/test/code-block.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/code-block.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/code-block.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -26,7 +26,7 @@
   <para>
     Paragraph.
   </para>
- <bridgehead renderas="sect2" id="indented_code_blocks.code_blocks_separated_by_comment-heading">
+ <bridgehead renderas="sect2" id="indented_code_blocks.h0">
     <phrase id="indented_code_blocks.code_blocks_separated_by_comment"/><link linkend="indented_code_blocks.code_blocks_separated_by_comment">Code
     blocks separated by comment</link>
   </bridgehead>

Modified: branches/quickbook-dev/tools/quickbook/test/doc-info/duplicates-1.1.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/doc-info/duplicates-1.1.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/doc-info/duplicates-1.1.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -17,7 +17,7 @@
     <copyright>
       <year>1963</year> <holder>Jane Doe</holder>
     </copyright>
- <legalnotice id="legal.thing2">
+ <legalnotice id="thing2.legal">
       <para>
         Public Domain
       </para>

Modified: branches/quickbook-dev/tools/quickbook/test/doc-info/duplicates-1.5.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/doc-info/duplicates-1.5.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/doc-info/duplicates-1.5.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -17,7 +17,7 @@
     <copyright>
       <year>1963</year> <holder>Jane Doe</holder>
     </copyright>
- <legalnotice id="legal.thing2">
+ <legalnotice id="thing2.legal">
       <para>
         Public Domain
       </para>

Modified: branches/quickbook-dev/tools/quickbook/test/doc-info/source-mode-1.4.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/doc-info/source-mode-1.4.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/doc-info/source-mode-1.4.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -3,7 +3,7 @@
 <article id="c___test" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $" xmlns:xi="http://www.w3.org/2001/XInclude">
   <title>C++ test</title>
   <articleinfo>
- <legalnotice id="legal.c___test">
+ <legalnotice id="c___test.legal">
       <para>
         <code><phrase role="keyword">def</phrase> <phrase role="identifier">foo</phrase><phrase
         role="special">(</phrase><phrase role="identifier">x</phrase><phrase role="special">):</phrase>

Modified: branches/quickbook-dev/tools/quickbook/test/doc-info/source-mode-1.5.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/doc-info/source-mode-1.5.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/doc-info/source-mode-1.5.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -3,7 +3,7 @@
 <article id="c___test" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $" xmlns:xi="http://www.w3.org/2001/XInclude">
   <title>C++ test</title>
   <articleinfo>
- <legalnotice id="legal.c___test">
+ <legalnotice id="c___test.legal">
       <para>
         <code><phrase role="keyword">def</phrase> <phrase role="identifier">foo</phrase><phrase
         role="special">(</phrase><phrase role="identifier">x</phrase><phrase role="special">):</phrase>

Modified: branches/quickbook-dev/tools/quickbook/test/doc-info/source-mode-1.6.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/doc-info/source-mode-1.6.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/doc-info/source-mode-1.6.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -3,7 +3,7 @@
 <article id="c___test" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $" xmlns:xi="http://www.w3.org/2001/XInclude">
   <title>C++ test</title>
   <articleinfo>
- <legalnotice id="legal.c___test">
+ <legalnotice id="c___test.legal">
       <para>
         <code><phrase role="keyword">def</phrase> <phrase role="identifier">foo</phrase><phrase
         role="special">(</phrase><phrase role="identifier">x</phrase><phrase role="special">):</phrase>

Modified: branches/quickbook-dev/tools/quickbook/test/heading-1.1.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/heading-1.1.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/heading-1.1.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -3,7 +3,7 @@
 <article id="heading_test_1_1" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $"
  xmlns:xi="http://www.w3.org/2001/XInclude">
   <title>Heading Test 1.1</title>
- <bridgehead renderas="sect2" id="heading_test_1_1.generic_header-heading">
+ <bridgehead renderas="sect2" id="heading_test_1_1.h0">
     <phrase id="heading_test_1_1.generic_header"/><link linkend="heading_test_1_1.generic_header">Generic
     header</link>
   </bridgehead>
@@ -51,7 +51,7 @@
         H3
       </bridgehead>
     </section>
- <bridgehead renderas="sect3" id="heading_test_1_1.s1.h4-heading">
+ <bridgehead renderas="sect3" id="heading_test_1_1.s1.h0">
       <phrase id="heading_test_1_1.s1.h4"/><link linkend="heading_test_1_1.s1.h4">H4</link>
     </bridgehead>
     <section id="heading_test_1_1.s3">
@@ -60,7 +60,7 @@
         H5
       </bridgehead>
     </section>
- <bridgehead renderas="sect3" id="heading_test_1_1.s1.h6-heading">
+ <bridgehead renderas="sect3" id="heading_test_1_1.s1.h1">
       <phrase id="heading_test_1_1.s1.h6"/><link linkend="heading_test_1_1.s1.h6">H6</link>
     </bridgehead>
   </section>

Modified: branches/quickbook-dev/tools/quickbook/test/heading-1.5.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/heading-1.5.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/heading-1.5.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -3,76 +3,76 @@
 <article id="heading_test_1_5" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $"
  xmlns:xi="http://www.w3.org/2001/XInclude">
   <title>Heading Test 1.5</title>
- <bridgehead renderas="sect2" id="heading_test_1_5.generic_header-heading">
+ <bridgehead renderas="sect2" id="heading_test_1_5.h0">
     <phrase id="heading_test_1_5.generic_header"/><link linkend="heading_test_1_5.generic_header">Generic
     header</link>
   </bridgehead>
- <bridgehead renderas="sect1" id="heading_test_1_5.level_1-heading">
+ <bridgehead renderas="sect1" id="heading_test_1_5.h2">
     <phrase id="heading_test_1_5.level_1"/><link linkend="heading_test_1_5.level_1">Level
     1</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="heading_test_1_5.level_2-heading">
+ <bridgehead renderas="sect2" id="heading_test_1_5.h3">
     <phrase id="heading_test_1_5.level_2"/><link linkend="heading_test_1_5.level_2">Level
     2</link>
   </bridgehead>
- <bridgehead renderas="sect3" id="heading_test_1_5.level_3-heading">
+ <bridgehead renderas="sect3" id="heading_test_1_5.h4">
     <phrase id="heading_test_1_5.level_3"/><link linkend="heading_test_1_5.level_3">Level
     3</link>
   </bridgehead>
- <bridgehead renderas="sect4" id="heading_test_1_5.level_4-heading">
+ <bridgehead renderas="sect4" id="heading_test_1_5.h5">
     <phrase id="heading_test_1_5.level_4"/><link linkend="heading_test_1_5.level_4">Level
     4</link>
   </bridgehead>
- <bridgehead renderas="sect5" id="heading_test_1_5.level_5-heading">
+ <bridgehead renderas="sect5" id="heading_test_1_5.h6">
     <phrase id="heading_test_1_5.level_5"/><link linkend="heading_test_1_5.level_5">Level
     5</link>
   </bridgehead>
- <bridgehead renderas="sect6" id="heading_test_1_5.level_6-heading">
+ <bridgehead renderas="sect6" id="heading_test_1_5.h8">
     <phrase id="heading_test_1_5.level_6"/><link linkend="heading_test_1_5.level_6">Level
     6</link>
   </bridgehead>
- <bridgehead renderas="sect1" id="heading_test_1_5._emphasis_role__bold__bold__emphasis_-heading">
+ <bridgehead renderas="sect1" id="heading_test_1_5.h9">
     <phrase id="heading_test_1_5._emphasis_role__bold__bold__emphasis_"/><link linkend="heading_test_1_5._emphasis_role__bold__bold__emphasis_"><emphasis
     role="bold">Bold</emphasis></link>
   </bridgehead>
- <bridgehead renderas="sect1" id="heading_test_1_5.comment-heading">
+ <bridgehead renderas="sect1" id="heading_test_1_5.h10">
     <phrase id="heading_test_1_5.comment"/><link linkend="heading_test_1_5.comment">Comment</link>
   </bridgehead>
- <bridgehead renderas="sect1" id="heading_test_1_5._notanid-heading">
+ <bridgehead renderas="sect1" id="heading_test_1_5.h11">
     <phrase id="heading_test_1_5._notanid"/><link linkend="heading_test_1_5._notanid">:notanid</link>
   </bridgehead>
- <bridgehead renderas="sect1" id="heading_test_1_5._also_not_an_id-heading">
+ <bridgehead renderas="sect1" id="heading_test_1_5.h12">
     <phrase id="heading_test_1_5._also_not_an_id"/><link linkend="heading_test_1_5._also_not_an_id">:also
     not an id</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="heading_test_1_5.h1-heading">
+ <bridgehead renderas="sect2" id="heading_test_1_5.h13">
     <phrase id="heading_test_1_5.h1"/><link linkend="heading_test_1_5.h1">H1</link>
   </bridgehead>
   <section id="heading_test_1_5.s1">
     <title><link linkend="heading_test_1_5.s1">S1</link></title>
- <bridgehead renderas="sect2" id="heading_test_1_5.s1.h2-heading">
+ <bridgehead renderas="sect2" id="heading_test_1_5.s1.h0">
       <phrase id="heading_test_1_5.s1.h2"/><link linkend="heading_test_1_5.s1.h2">H2</link>
     </bridgehead>
     <section id="heading_test_1_5.s1.s2">
       <title><link linkend="heading_test_1_5.s1.s2">S2</link></title>
- <bridgehead renderas="sect3" id="heading_test_1_5.s1.s2.h3-heading">
+ <bridgehead renderas="sect3" id="heading_test_1_5.s1.s2.h0">
         <phrase id="heading_test_1_5.s1.s2.h3"/><link linkend="heading_test_1_5.s1.s2.h3">H3</link>
       </bridgehead>
     </section>
- <bridgehead renderas="sect2" id="heading_test_1_5.s1.h4-heading">
+ <bridgehead renderas="sect2" id="heading_test_1_5.s1.h1">
       <phrase id="heading_test_1_5.s1.h4"/><link linkend="heading_test_1_5.s1.h4">H4</link>
     </bridgehead>
     <section id="heading_test_1_5.s1.s3">
       <title><link linkend="heading_test_1_5.s1.s3">S3</link></title>
- <bridgehead renderas="sect4" id="heading_test_1_5.s1.s3.h5-heading">
+ <bridgehead renderas="sect4" id="heading_test_1_5.s1.s3.h0">
         <phrase id="heading_test_1_5.s1.s3.h5"/><link linkend="heading_test_1_5.s1.s3.h5">H5</link>
       </bridgehead>
     </section>
- <bridgehead renderas="sect2" id="heading_test_1_5.s1.h6-heading">
+ <bridgehead renderas="sect2" id="heading_test_1_5.s1.h3">
       <phrase id="heading_test_1_5.s1.h6"/><link linkend="heading_test_1_5.s1.h6">H6</link>
     </bridgehead>
   </section>
- <bridgehead renderas="sect1" id="heading_test_1_5.h7-heading">
+ <bridgehead renderas="sect1" id="heading_test_1_5.h14">
     <phrase id="heading_test_1_5.h7"/><link linkend="heading_test_1_5.h7">H7</link>
   </bridgehead>
 </article>

Modified: branches/quickbook-dev/tools/quickbook/test/heading-1.6.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/heading-1.6.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/heading-1.6.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -3,99 +3,99 @@
 <article id="heading_test_1_6" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $"
  xmlns:xi="http://www.w3.org/2001/XInclude">
   <title>Heading Test 1.6</title>
- <bridgehead renderas="sect2" id="heading_test_1_6.generic_header-heading">
+ <bridgehead renderas="sect2" id="heading_test_1_6.h0">
     <phrase id="heading_test_1_6.generic_header"/><link linkend="heading_test_1_6.generic_header">Generic
     header</link>
   </bridgehead>
- <bridgehead renderas="sect1" id="heading_test_1_6.level_1-heading">
+ <bridgehead renderas="sect1" id="heading_test_1_6.h2">
     <phrase id="heading_test_1_6.level_1"/><link linkend="heading_test_1_6.level_1">Level
     1</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="heading_test_1_6.level_2-heading">
+ <bridgehead renderas="sect2" id="heading_test_1_6.h3">
     <phrase id="heading_test_1_6.level_2"/><link linkend="heading_test_1_6.level_2">Level
     2</link>
   </bridgehead>
- <bridgehead renderas="sect3" id="heading_test_1_6.level_3-heading">
+ <bridgehead renderas="sect3" id="heading_test_1_6.h4">
     <phrase id="heading_test_1_6.level_3"/><link linkend="heading_test_1_6.level_3">Level
     3</link>
   </bridgehead>
- <bridgehead renderas="sect4" id="heading_test_1_6.level_4-heading">
+ <bridgehead renderas="sect4" id="heading_test_1_6.h5">
     <phrase id="heading_test_1_6.level_4"/><link linkend="heading_test_1_6.level_4">Level
     4</link>
   </bridgehead>
- <bridgehead renderas="sect5" id="heading_test_1_6.level_5-heading">
+ <bridgehead renderas="sect5" id="heading_test_1_6.h6">
     <phrase id="heading_test_1_6.level_5"/><link linkend="heading_test_1_6.level_5">Level
     5</link>
   </bridgehead>
- <bridgehead renderas="sect6" id="heading_test_1_6.level_6-heading">
+ <bridgehead renderas="sect6" id="heading_test_1_6.h8">
     <phrase id="heading_test_1_6.level_6"/><link linkend="heading_test_1_6.level_6">Level
     6</link>
   </bridgehead>
- <bridgehead renderas="sect1" id="heading_test_1_6._bold_-heading">
+ <bridgehead renderas="sect1" id="heading_test_1_6.h9">
     <phrase id="heading_test_1_6._bold_"/><link linkend="heading_test_1_6._bold_"><emphasis
     role="bold">Bold</emphasis></link>
   </bridgehead>
- <bridgehead renderas="sect1" id="heading_test_1_6.comment___-heading">
+ <bridgehead renderas="sect1" id="heading_test_1_6.h10">
     <phrase id="heading_test_1_6.comment___"/><link linkend="heading_test_1_6.comment___">Comment</link>
   </bridgehead>
- <bridgehead renderas="sect1" id="heading_test_1_6.h1-heading">
+ <bridgehead renderas="sect1" id="heading_test_1_6.h11">
     <phrase id="heading_test_1_6.h1"/><link linkend="heading_test_1_6.h1">H1</link>
   </bridgehead>
   <section id="heading_test_1_6.s1">
     <title><link linkend="heading_test_1_6.s1">S1</link></title>
- <bridgehead renderas="sect3" id="heading_test_1_6.s1.h2-heading">
+ <bridgehead renderas="sect3" id="heading_test_1_6.s1.h0">
       <phrase id="heading_test_1_6.s1.h2"/><link linkend="heading_test_1_6.s1.h2">H2</link>
     </bridgehead>
     <section id="heading_test_1_6.s1.s2">
       <title><link linkend="heading_test_1_6.s1.s2">S2</link></title>
- <bridgehead renderas="sect3" id="heading_test_1_6.s1.s2.h3-heading">
+ <bridgehead renderas="sect3" id="heading_test_1_6.s1.s2.h0">
         <phrase id="heading_test_1_6.s1.s2.h3"/><link linkend="heading_test_1_6.s1.s2.h3">H3</link>
       </bridgehead>
     </section>
- <bridgehead renderas="sect2" id="heading_test_1_6.s1.h4-heading">
+ <bridgehead renderas="sect2" id="heading_test_1_6.s1.h1">
       <phrase id="heading_test_1_6.s1.h4"/><link linkend="heading_test_1_6.s1.h4">H4</link>
     </bridgehead>
     <section id="heading_test_1_6.s1.s3">
       <title><link linkend="heading_test_1_6.s1.s3">S3</link></title>
- <bridgehead renderas="sect4" id="heading_test_1_6.s1.s3.h5-heading">
+ <bridgehead renderas="sect4" id="heading_test_1_6.s1.s3.h0">
         <phrase id="heading_test_1_6.s1.s3.h5"/><link linkend="heading_test_1_6.s1.s3.h5">H5</link>
       </bridgehead>
     </section>
- <bridgehead renderas="sect2" id="heading_test_1_6.s1.h6-heading">
+ <bridgehead renderas="sect2" id="heading_test_1_6.s1.h3">
       <phrase id="heading_test_1_6.s1.h6"/><link linkend="heading_test_1_6.s1.h6">H6</link>
     </bridgehead>
   </section>
- <bridgehead renderas="sect1" id="heading_test_1_6.h7-heading">
+ <bridgehead renderas="sect1" id="heading_test_1_6.h12">
     <phrase id="heading_test_1_6.h7"/><link linkend="heading_test_1_6.h7">H7</link>
   </bridgehead>
- <bridgehead renderas="sect1" id="heading_test_1_6.a1-heading">
+ <bridgehead renderas="sect1" id="heading_test_1_6.h13">
     <phrase id="heading_test_1_6.a1"/><link linkend="heading_test_1_6.a1">H1</link>
   </bridgehead>
   <section id="heading_test_1_6.s1">
     <title><link linkend="heading_test_1_6.s1">S1</link></title>
- <bridgehead renderas="sect2" id="heading_test_1_6.s1.a2-heading">
+ <bridgehead renderas="sect2" id="heading_test_1_6.s1.h5">
       <phrase id="heading_test_1_6.s1.a2"/><link linkend="heading_test_1_6.s1.a2">H2</link>
     </bridgehead>
     <section id="heading_test_1_6.s1.s2">
       <title><link linkend="heading_test_1_6.s1.s2">S2</link></title>
- <bridgehead renderas="sect3" id="heading_test_1_6.s1.s2.a3-heading">
+ <bridgehead renderas="sect3" id="heading_test_1_6.s1.s2.h1">
         <phrase id="heading_test_1_6.s1.s2.a3"/><link linkend="heading_test_1_6.s1.s2.a3">H3</link>
       </bridgehead>
     </section>
- <bridgehead renderas="sect2" id="heading_test_1_6.s1.a4-heading">
+ <bridgehead renderas="sect2" id="heading_test_1_6.s1.h7">
       <phrase id="heading_test_1_6.s1.a4"/><link linkend="heading_test_1_6.s1.a4">H4</link>
     </bridgehead>
     <section id="heading_test_1_6.s1.s3">
       <title><link linkend="heading_test_1_6.s1.s3">S3</link></title>
- <bridgehead renderas="sect3" id="heading_test_1_6.s1.s3.a5-heading">
+ <bridgehead renderas="sect3" id="heading_test_1_6.s1.s3.h1">
         <phrase id="heading_test_1_6.s1.s3.a5"/><link linkend="heading_test_1_6.s1.s3.a5">H5</link>
       </bridgehead>
     </section>
- <bridgehead renderas="sect3" id="heading_test_1_6.s1.a6-heading">
+ <bridgehead renderas="sect3" id="heading_test_1_6.s1.h8">
       <phrase id="heading_test_1_6.s1.a6"/><link linkend="heading_test_1_6.s1.a6">H6</link>
     </bridgehead>
   </section>
- <bridgehead renderas="sect1" id="heading_test_1_6.a7-heading">
+ <bridgehead renderas="sect1" id="heading_test_1_6.h14">
     <phrase id="heading_test_1_6.a7"/><link linkend="heading_test_1_6.a7">H7</link>
   </bridgehead>
 </article>

Modified: branches/quickbook-dev/tools/quickbook/test/identifier_1_5.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/identifier_1_5.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/identifier_1_5.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -3,7 +3,7 @@
 <article id="identifiers_in_quickbook_1_5" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $"
  xmlns:xi="http://www.w3.org/2001/XInclude">
   <title>Identifiers in quickbook 1.5</title>
- <bridgehead renderas="sect2" id="identifiers_in_quickbook_1_5.test_heading_with__code__phrase_role__identifier__code__phrase___code_-heading">
+ <bridgehead renderas="sect2" id="identifiers_in_quickbook_1_5.h0">
     <phrase id="identifiers_in_quickbook_1_5.test_heading_with__code__phrase_role__identifier__code__phrase___code_"/><link
     linkend="identifiers_in_quickbook_1_5.test_heading_with__code__phrase_role__identifier__code__phrase___code_">Test
     heading with <code><phrase role="identifier">code</phrase></code></link>

Modified: branches/quickbook-dev/tools/quickbook/test/identifier_1_6.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/identifier_1_6.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/identifier_1_6.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -3,7 +3,7 @@
 <article id="identifiers_in_quickbook_1_6" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $"
  xmlns:xi="http://www.w3.org/2001/XInclude">
   <title>Identifiers in quickbook 1.6</title>
- <bridgehead renderas="sect2" id="identifiers_in_quickbook_1_6.test_heading_with__code_-heading">
+ <bridgehead renderas="sect2" id="identifiers_in_quickbook_1_6.h0">
     <phrase id="identifiers_in_quickbook_1_6.test_heading_with__code_"/><link linkend="identifiers_in_quickbook_1_6.test_heading_with__code_">Test
     heading with <code><phrase role="identifier">code</phrase></code></link>
   </bridgehead>

Modified: branches/quickbook-dev/tools/quickbook/test/include/code-include.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/include/code-include.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/include/code-include.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -141,28 +141,28 @@
     <phrase role="comment">// return 'em, foo man!</phrase>
     <phrase role="keyword">return</phrase> <phrase role="string">&quot;foo&quot;</phrase><phrase role="special">;</phrase>
 <phrase role="special">}</phrase>
-<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">string</phrase> <phrase role="identifier">foo_bar</phrase><phrase role="special">()</phrase> <!--quickbook-escape-prefix--><co id="include0co" linkends="include0" /><!--quickbook-escape-postfix-->
+<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">string</phrase> <phrase role="identifier">foo_bar</phrase><phrase role="special">()</phrase> <co id="include.c0" linkends="include.c1" />
 <phrase role="special">{</phrase>
- <phrase role="keyword">return</phrase> <phrase role="string">&quot;foo-bar&quot;</phrase><phrase role="special">;</phrase> <!--quickbook-escape-prefix--><co id="include1co" linkends="include1" /><!--quickbook-escape-postfix-->
+ <phrase role="keyword">return</phrase> <phrase role="string">&quot;foo-bar&quot;</phrase><phrase role="special">;</phrase> <co id="include.c2" linkends="include.c3" />
 <phrase role="special">}</phrase>
 <phrase role="keyword">class</phrase> <phrase role="identifier">x</phrase>
 <phrase role="special">{</phrase>
 <phrase role="keyword">public</phrase><phrase role="special">:</phrase>
 
- <!--quickbook-escape-prefix--><co id="include2co" linkends="include2" /><!--quickbook-escape-postfix--><phrase role="identifier">x</phrase><phrase role="special">()</phrase> <phrase role="special">:</phrase> <phrase role="identifier">n</phrase><phrase role="special">(</phrase><phrase role="number">0</phrase><phrase role="special">)</phrase>
+ <co id="include.c4" linkends="include.c5" /><phrase role="identifier">x</phrase><phrase role="special">()</phrase> <phrase role="special">:</phrase> <phrase role="identifier">n</phrase><phrase role="special">(</phrase><phrase role="number">0</phrase><phrase role="special">)</phrase>
     <phrase role="special">{</phrase>
     <phrase role="special">}</phrase>
 
- <!--quickbook-escape-prefix--><co id="include3co" linkends="include3" /><!--quickbook-escape-postfix--><phrase role="special">~</phrase><phrase role="identifier">x</phrase><phrase role="special">()</phrase>
+ <co id="include.c6" linkends="include.c7" /><phrase role="special">~</phrase><phrase role="identifier">x</phrase><phrase role="special">()</phrase>
     <phrase role="special">{</phrase>
     <phrase role="special">}</phrase>
 
- <!--quickbook-escape-prefix--><co id="include4co" linkends="include4" /><!--quickbook-escape-postfix--><phrase role="keyword">int</phrase> <phrase role="identifier">get</phrase><phrase role="special">()</phrase> <phrase role="keyword">const</phrase>
+ <co id="include.c8" linkends="include.c9" /><phrase role="keyword">int</phrase> <phrase role="identifier">get</phrase><phrase role="special">()</phrase> <phrase role="keyword">const</phrase>
     <phrase role="special">{</phrase>
         <phrase role="keyword">return</phrase> <phrase role="identifier">n</phrase><phrase role="special">;</phrase>
     <phrase role="special">}</phrase>
 
- <!--quickbook-escape-prefix--><co id="include5co" linkends="include5" /><!--quickbook-escape-postfix--><phrase role="keyword">void</phrase> <phrase role="identifier">set</phrase><phrase role="special">(</phrase><phrase role="keyword">int</phrase> <phrase role="identifier">n_</phrase><phrase role="special">)</phrase>
+ <co id="include.c10" linkends="include.c11" /><phrase role="keyword">void</phrase> <phrase role="identifier">set</phrase><phrase role="special">(</phrase><phrase role="keyword">int</phrase> <phrase role="identifier">n_</phrase><phrase role="special">)</phrase>
     <phrase role="special">{</phrase>
         <phrase role="identifier">n</phrase> <phrase role="special">=</phrase> <phrase role="identifier">n_</phrase><phrase role="special">;</phrase>
     <phrase role="special">}</phrase>
@@ -170,33 +170,33 @@
 </programlisting>
   </para>
   <calloutlist>
- <callout arearefs="include0co" id="include0">
+ <callout arearefs="include.c0" id="include.c1">
       <para>
         The <emphasis>Mythical</emphasis> FooBar. See <ulink url="http://en.wikipedia.org/wiki/Foobar">Foobar
         for details</ulink>
       </para>
     </callout>
- <callout arearefs="include1co" id="include1">
+ <callout arearefs="include.c2" id="include.c3">
       <para>
         return 'em, foo-bar man!
       </para>
     </callout>
- <callout arearefs="include2co" id="include2">
+ <callout arearefs="include.c4" id="include.c5">
       <para>
         Constructor
       </para>
     </callout>
- <callout arearefs="include3co" id="include3">
+ <callout arearefs="include.c6" id="include.c7">
       <para>
         Destructor
       </para>
     </callout>
- <callout arearefs="include4co" id="include4">
+ <callout arearefs="include.c8" id="include.c9">
       <para>
         Get the <code><phrase role="identifier">n</phrase></code> member variable
       </para>
     </callout>
- <callout arearefs="include5co" id="include5">
+ <callout arearefs="include.c10" id="include.c11">
       <para>
         Set the <code><phrase role="identifier">n</phrase></code> member variable
       </para>

Modified: branches/quickbook-dev/tools/quickbook/test/include/doc-title1-1.5.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/include/doc-title1-1.5.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/include/doc-title1-1.5.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -3,25 +3,25 @@
 <article id="doc_title_1" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $"
  xmlns:xi="http://www.w3.org/2001/XInclude">
   <title>Doc Title 1</title>
- <bridgehead renderas="sect2" id="doc_title_1.a1-heading">
+ <bridgehead renderas="sect2" id="doc_title_1.h0">
     <phrase id="doc_title_1.a1"/><link linkend="doc_title_1.a1">a1</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="doc_title_1.inc1-heading">
+ <bridgehead renderas="sect2" id="doc_title_1.h1">
     <phrase id="doc_title_1.inc1"/><link linkend="doc_title_1.inc1">inc1</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="doc_title_1.a2-heading">
+ <bridgehead renderas="sect2" id="doc_title_1.h2">
     <phrase id="doc_title_1.a2"/><link linkend="doc_title_1.a2">a2</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="doc_title_1_inc2.inc2-heading">
+ <bridgehead renderas="sect2" id="doc_title_1_inc2.h0">
     <phrase id="doc_title_1_inc2.inc2"/><link linkend="doc_title_1_inc2.inc2">inc2</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="doc_title_1.a3-heading">
+ <bridgehead renderas="sect2" id="doc_title_1.h3">
     <phrase id="doc_title_1.a3"/><link linkend="doc_title_1.a3">a3</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="doc_title_1_inc2.inc3-heading">
+ <bridgehead renderas="sect2" id="doc_title_1_inc2.h1">
     <phrase id="doc_title_1_inc2.inc3"/><link linkend="doc_title_1_inc2.inc3">inc3</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="doc_title_1.a4-heading">
+ <bridgehead renderas="sect2" id="doc_title_1.h4">
     <phrase id="doc_title_1.a4"/><link linkend="doc_title_1.a4">a4</link>
   </bridgehead>
 </article>

Modified: branches/quickbook-dev/tools/quickbook/test/include/doc-title1a-1.5.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/include/doc-title1a-1.5.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/include/doc-title1a-1.5.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -2,25 +2,25 @@
 <!DOCTYPE article PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
 <article id="doc-title" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $" xmlns:xi="http://www.w3.org/2001/XInclude">
   <title>Doc Title 1a</title>
- <bridgehead renderas="sect2" id="doc-title.a1-heading">
+ <bridgehead renderas="sect2" id="doc-title.h0">
     <phrase id="doc-title.a1"/><link linkend="doc-title.a1">a1</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="doc_title_1a.inc1-heading">
+ <bridgehead renderas="sect2" id="doc_title_1a.h0">
     <phrase id="doc_title_1a.inc1"/><link linkend="doc_title_1a.inc1">inc1</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="doc-title.a2-heading">
+ <bridgehead renderas="sect2" id="doc-title.h1">
     <phrase id="doc-title.a2"/><link linkend="doc-title.a2">a2</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="doc_title_1_inc2.inc2-heading">
+ <bridgehead renderas="sect2" id="doc_title_1_inc2.h0">
     <phrase id="doc_title_1_inc2.inc2"/><link linkend="doc_title_1_inc2.inc2">inc2</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="doc-title.a3-heading">
+ <bridgehead renderas="sect2" id="doc-title.h2">
     <phrase id="doc-title.a3"/><link linkend="doc-title.a3">a3</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="doc_title_1_inc2.inc3-heading">
+ <bridgehead renderas="sect2" id="doc_title_1_inc2.h1">
     <phrase id="doc_title_1_inc2.inc3"/><link linkend="doc_title_1_inc2.inc3">inc3</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="doc-title.a4-heading">
+ <bridgehead renderas="sect2" id="doc-title.h3">
     <phrase id="doc-title.a4"/><link linkend="doc-title.a4">a4</link>
   </bridgehead>
 </article>

Modified: branches/quickbook-dev/tools/quickbook/test/include/include-id-1.5.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/include/include-id-1.5.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/include/include-id-1.5.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -3,24 +3,24 @@
 <article id="include_id_test" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $"
  xmlns:xi="http://www.w3.org/2001/XInclude">
   <title>Include Id Test</title>
- <bridgehead renderas="sect2" id="a.simple_include-heading">
+ <bridgehead renderas="sect2" id="a.h0">
     <phrase id="a.simple_include"/><link linkend="a.simple_include">Simple include</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="b.simple_include-heading">
+ <bridgehead renderas="sect2" id="b.h0">
     <phrase id="b.simple_include"/><link linkend="b.simple_include">Simple include</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="c.title__no_id-heading">
+ <bridgehead renderas="sect2" id="c.h0">
     <phrase id="c.title__no_id"/><link linkend="c.title__no_id">Title, no id</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="d.title__no_id-heading">
+ <bridgehead renderas="sect2" id="d.h0">
     <phrase id="d.title__no_id"/><link linkend="d.title__no_id">Title, no id</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="with-id.title_with_id-heading">
+ <bridgehead renderas="sect2" id="with-id.h0">
     <phrase id="with-id.title_with_id"/><link linkend="with-id.title_with_id">Title
     with id</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="with-id.title_with_id-heading">
- <phrase id="with-id.title_with_id"/><link linkend="with-id.title_with_id">Title
+ <bridgehead renderas="sect2" id="with-id.h1">
+ <phrase id="with-id.title_with_id0"/><link linkend="with-id.title_with_id0">Title
     with id</link>
   </bridgehead>
 </article>

Modified: branches/quickbook-dev/tools/quickbook/test/include/include-id-1.6.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/include/include-id-1.6.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/include/include-id-1.6.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -3,33 +3,33 @@
 <article id="include_id_test" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $"
  xmlns:xi="http://www.w3.org/2001/XInclude">
   <title>Include Id Test</title>
- <bridgehead renderas="sect2" id="a.simple_include-heading">
+ <bridgehead renderas="sect2" id="a.h0">
     <phrase id="a.simple_include"/><link linkend="a.simple_include">Simple include</link>
   </bridgehead>
- <bridgehead renderas="sect2" id="b.simple_include-heading">
+ <bridgehead renderas="sect2" id="b.h0">
     <phrase id="b.simple_include"/><link linkend="b.simple_include">Simple include</link>
   </bridgehead>
   <article id="c" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $" xmlns:xi="http://www.w3.org/2001/XInclude">
     <title>Include without id</title>
- <bridgehead renderas="sect2" id="c.title__no_id-heading">
+ <bridgehead renderas="sect2" id="c.h0">
       <phrase id="c.title__no_id"/><link linkend="c.title__no_id">Title, no id</link>
     </bridgehead>
   </article>
   <article id="d" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $" xmlns:xi="http://www.w3.org/2001/XInclude">
     <title>Include without id</title>
- <bridgehead renderas="sect2" id="d.title__no_id-heading">
+ <bridgehead renderas="sect2" id="d.h0">
       <phrase id="d.title__no_id"/><link linkend="d.title__no_id">Title, no id</link>
     </bridgehead>
   </article>
   <article id="e" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $" xmlns:xi="http://www.w3.org/2001/XInclude">
     <title>Include with id</title>
- <bridgehead renderas="sect2" id="e.title_with_id-heading">
+ <bridgehead renderas="sect2" id="e.h0">
       <phrase id="e.title_with_id"/><link linkend="e.title_with_id">Title with id</link>
     </bridgehead>
   </article>
   <article id="f" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $" xmlns:xi="http://www.w3.org/2001/XInclude">
     <title>Include with id</title>
- <bridgehead renderas="sect2" id="f.title_with_id-heading">
+ <bridgehead renderas="sect2" id="f.h0">
       <phrase id="f.title_with_id"/><link linkend="f.title_with_id">Title with id</link>
     </bridgehead>
   </article>

Modified: branches/quickbook-dev/tools/quickbook/test/quickbook-manual.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/quickbook-manual.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/quickbook-manual.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -15,7 +15,7 @@
       <year>2002</year> <year>2004</year> <year>2006</year> <holder>Joel de Guzman,
       Eric Niebler</holder>
     </copyright>
- <legalnotice id="legal.quickbook">
+ <legalnotice id="quickbook.legal">
       <para>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt>)
@@ -103,7 +103,7 @@
   </section>
   <section id="quickbook.change_log">
     <title><link linkend="quickbook.change_log">Change Log</link></title>
- <bridgehead renderas="sect3" id="quickbook.change_log.version_1_3-heading">
+ <bridgehead renderas="sect3" id="quickbook.change_log.h0">
       <phrase id="quickbook.change_log.version_1_3"/><link linkend="quickbook.change_log.version_1_3">Version
       1.3</link>
     </bridgehead>
@@ -459,7 +459,7 @@
             </simpara>
           </listitem>
         </itemizedlist>
- <table frame="all">
+ <table frame="all" id="quickbook.syntax.phrase.simple_formatting.t0">
           <title>More Formatting Samples</title>
           <tgroup cols="2">
             <thead>
@@ -779,7 +779,7 @@
           A C++ comment <code><phrase role="comment">// looks like this</phrase></code>
           whereas a Python comment <code><phrase role="comment">#looks like this</phrase></code>.
         </para>
- <table frame="all">
+ <table frame="all" id="quickbook.syntax.phrase.source_mode.t0">
           <title>Supported Source Modes</title>
           <tgroup cols="2">
             <thead>
@@ -1706,27 +1706,27 @@
 [h5 Heading 5]
 [h6 Heading 6]
 <!--quickbook-escape-postfix--></programlisting>
- <bridgehead renderas="sect1" id="quickbook.syntax.block.headings.heading_1-heading">
+ <bridgehead renderas="sect1" id="quickbook.syntax.block.headings.h0">
           <phrase id="quickbook.syntax.block.headings.heading_1"/><link linkend="quickbook.syntax.block.headings.heading_1">Heading
           1</link>
         </bridgehead>
- <bridgehead renderas="sect2" id="quickbook.syntax.block.headings.heading_2-heading">
+ <bridgehead renderas="sect2" id="quickbook.syntax.block.headings.h1">
           <phrase id="quickbook.syntax.block.headings.heading_2"/><link linkend="quickbook.syntax.block.headings.heading_2">Heading
           2</link>
         </bridgehead>
- <bridgehead renderas="sect3" id="quickbook.syntax.block.headings.heading_3-heading">
+ <bridgehead renderas="sect3" id="quickbook.syntax.block.headings.h2">
           <phrase id="quickbook.syntax.block.headings.heading_3"/><link linkend="quickbook.syntax.block.headings.heading_3">Heading
           3</link>
         </bridgehead>
- <bridgehead renderas="sect4" id="quickbook.syntax.block.headings.heading_4-heading">
+ <bridgehead renderas="sect4" id="quickbook.syntax.block.headings.h3">
           <phrase id="quickbook.syntax.block.headings.heading_4"/><link linkend="quickbook.syntax.block.headings.heading_4">Heading
           4</link>
         </bridgehead>
- <bridgehead renderas="sect5" id="quickbook.syntax.block.headings.heading_5-heading">
+ <bridgehead renderas="sect5" id="quickbook.syntax.block.headings.h4">
           <phrase id="quickbook.syntax.block.headings.heading_5"/><link linkend="quickbook.syntax.block.headings.heading_5">Heading
           5</link>
         </bridgehead>
- <bridgehead renderas="sect6" id="quickbook.syntax.block.headings.heading_6-heading">
+ <bridgehead renderas="sect6" id="quickbook.syntax.block.headings.h5">
           <phrase id="quickbook.syntax.block.headings.heading_6"/><link linkend="quickbook.syntax.block.headings.heading_6">Heading
           6</link>
         </bridgehead>
@@ -1873,7 +1873,7 @@
         <para>
           Quickbook has some predefined macros that you can already use.
         </para>
- <table frame="all">
+ <table frame="all" id="quickbook.syntax.block.predefined_macros.t0">
           <title>Predefined Macros</title>
           <tgroup cols="3">
             <thead>
@@ -1971,7 +1971,7 @@
 
 ]
 <!--quickbook-escape-postfix--></programlisting>
- <bridgehead renderas="sect5" id="quickbook.syntax.block.templates.template_identifier-heading">
+ <bridgehead renderas="sect5" id="quickbook.syntax.block.templates.h0">
           <phrase id="quickbook.syntax.block.templates.template_identifier"/><link
           linkend="quickbook.syntax.block.templates.template_identifier">Template
           Identifier</link>
@@ -1993,7 +1993,7 @@
             </simpara>
           </listitem>
         </itemizedlist>
- <bridgehead renderas="sect5" id="quickbook.syntax.block.templates.formal_template_arguments-heading">
+ <bridgehead renderas="sect5" id="quickbook.syntax.block.templates.h1">
           <phrase id="quickbook.syntax.block.templates.formal_template_arguments"/><link
           linkend="quickbook.syntax.block.templates.formal_template_arguments">Formal
           Template Arguments</link>
@@ -2013,7 +2013,7 @@
           and <literal>what</literal> are actually templates that exist in the duration
           of the template call.
         </para>
- <bridgehead renderas="sect5" id="quickbook.syntax.block.templates.template_body-heading">
+ <bridgehead renderas="sect5" id="quickbook.syntax.block.templates.h2">
           <phrase id="quickbook.syntax.block.templates.template_body"/><link linkend="quickbook.syntax.block.templates.template_body">Template
           Body</link>
         </bridgehead>
@@ -2039,7 +2039,7 @@
           Phrase templates are typically expanded as part of phrases. Like macros,
           block level elements are not allowed in phrase templates.
         </para>
- <bridgehead renderas="sect5" id="quickbook.syntax.block.templates.template_expansion-heading">
+ <bridgehead renderas="sect5" id="quickbook.syntax.block.templates.h3">
           <phrase id="quickbook.syntax.block.templates.template_expansion"/><link
           linkend="quickbook.syntax.block.templates.template_expansion">Template
           Expansion</link>
@@ -2082,7 +2082,7 @@
           are separated by the double dot <literal>&quot;..&quot;</literal> and terminated
           by the close parenthesis.
         </para>
- <bridgehead renderas="sect5" id="quickbook.syntax.block.templates.nullary_templates-heading">
+ <bridgehead renderas="sect5" id="quickbook.syntax.block.templates.h4">
           <phrase id="quickbook.syntax.block.templates.nullary_templates"/><link
           linkend="quickbook.syntax.block.templates.nullary_templates">Nullary Templates</link>
         </bridgehead>
@@ -2174,7 +2174,7 @@
           You have a couple of ways to do it. I personally prefer the explicit empty
           brackets, though.
         </para>
- <bridgehead renderas="sect5" id="quickbook.syntax.block.templates.simple_arguments-heading">
+ <bridgehead renderas="sect5" id="quickbook.syntax.block.templates.h5">
           <phrase id="quickbook.syntax.block.templates.simple_arguments"/><link linkend="quickbook.syntax.block.templates.simple_arguments">Simple
           Arguments</link>
         </bridgehead>
@@ -2248,7 +2248,7 @@
         <para>
           what do you think man?
         </para>
- <bridgehead renderas="sect5" id="quickbook.syntax.block.templates.punctuation_templates-heading">
+ <bridgehead renderas="sect5" id="quickbook.syntax.block.templates.h6">
           <phrase id="quickbook.syntax.block.templates.punctuation_templates"/><link
           linkend="quickbook.syntax.block.templates.punctuation_templates">Punctuation
           Templates</link>
@@ -2327,7 +2327,7 @@
         <para>
           will generate:
         </para>
- <table frame="all">
+ <table frame="all" id="quickbook.syntax.block.tables.t0">
           <title>A Simple Table</title>
           <tgroup cols="3">
             <thead>
@@ -2436,7 +2436,7 @@
         <para>
           and thus:
         </para>
- <table frame="all">
+ <table frame="all" id="quickbook.syntax.block.tables.t1">
           <title>Table with fat cells</title>
           <tgroup cols="2">
             <thead>
@@ -2510,7 +2510,7 @@
     ]
 ]
 <!--quickbook-escape-postfix--></programlisting>
- <table frame="all">
+ <table frame="all" id="quickbook.syntax.block.tables.t2">
           <title>Table with code</title>
           <tgroup cols="2">
             <thead>
@@ -2652,7 +2652,7 @@
         <para>
           QuickBook's import facility provides a nice solution.
         </para>
- <bridgehead renderas="sect5" id="quickbook.syntax.block.import.example-heading">
+ <bridgehead renderas="sect5" id="quickbook.syntax.block.import.h0">
           <phrase id="quickbook.syntax.block.import.example"/><link linkend="quickbook.syntax.block.import.example">Example</link>
         </bridgehead>
         <para>
@@ -2729,7 +2729,7 @@
         <para>
           Some trailing text here
         </para>
- <bridgehead renderas="sect5" id="quickbook.syntax.block.import.code_snippet_markup-heading">
+ <bridgehead renderas="sect5" id="quickbook.syntax.block.import.h1">
           <phrase id="quickbook.syntax.block.import.code_snippet_markup"/><link linkend="quickbook.syntax.block.import.code_snippet_markup">Code
           Snippet Markup</link>
         </bridgehead>
@@ -2750,7 +2750,7 @@
           The comment <code><phrase role="comment">//]</phrase></code> ends a code-snippet
           This too will not be visible in quickbook.
         </para>
- <bridgehead renderas="sect5" id="quickbook.syntax.block.import.special_comments-heading">
+ <bridgehead renderas="sect5" id="quickbook.syntax.block.import.h2">
           <phrase id="quickbook.syntax.block.import.special_comments"/><link linkend="quickbook.syntax.block.import.special_comments">Special
           Comments</link>
         </bridgehead>
@@ -2772,7 +2772,7 @@
           slash-slash, tick and white-space shall be ignored. In the second, the
           initial slash-star-tick and the final star-slash shall be ignored.
         </para>
- <bridgehead renderas="sect5" id="quickbook.syntax.block.import.callouts-heading">
+ <bridgehead renderas="sect5" id="quickbook.syntax.block.import.h3">
           <phrase id="quickbook.syntax.block.import.callouts"/><link linkend="quickbook.syntax.block.import.callouts">Callouts</link>
         </bridgehead>
         <para>
@@ -2789,20 +2789,20 @@
         </para>
         <para>
           
-<programlisting><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">string</phrase> <phrase role="identifier">foo_bar</phrase><phrase role="special">()</phrase> <!--quickbook-escape-prefix--><co id="quickbook0co" linkends="quickbook0" /><!--quickbook-escape-postfix-->
+<programlisting><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">string</phrase> <phrase role="identifier">foo_bar</phrase><phrase role="special">()</phrase> <co id="quickbook.c0" linkends="quickbook.c1" />
 <phrase role="special">{</phrase>
- <phrase role="keyword">return</phrase> <phrase role="string">&quot;foo-bar&quot;</phrase><phrase role="special">;</phrase> <!--quickbook-escape-prefix--><co id="quickbook1co" linkends="quickbook1" /><!--quickbook-escape-postfix-->
+ <phrase role="keyword">return</phrase> <phrase role="string">&quot;foo-bar&quot;</phrase><phrase role="special">;</phrase> <co id="quickbook.c2" linkends="quickbook.c3" />
 <phrase role="special">}</phrase>
 </programlisting>
         </para>
         <calloutlist>
- <callout arearefs="quickbook0co" id="quickbook0">
+ <callout arearefs="quickbook.c0" id="quickbook.c1">
             <para>
               The <emphasis>Mythical</emphasis> FooBar. See <ulink url="
http://en.wikipedia.org/wiki/Foobar">Foobar
               for details</ulink>
             </para>
           </callout>
- <callout arearefs="quickbook1co" id="quickbook1">
+ <callout arearefs="quickbook.c2" id="quickbook.c3">
             <para>
               return 'em, foo-bar man!
             </para>
@@ -3139,7 +3139,7 @@
   </section>
   <section id="quickbook.faq">
     <title><link linkend="quickbook.faq">Frequently Asked Questions</link></title>
- <bridgehead renderas="sect3" id="quickbook.faq.can_i_use_quickbook_for_non_boost_documentation_-heading">
+ <bridgehead renderas="sect3" id="quickbook.faq.h0">
       <phrase id="quickbook.faq.can_i_use_quickbook_for_non_boost_documentation_"/><link
       linkend="quickbook.faq.can_i_use_quickbook_for_non_boost_documentation_">Can
       I use QuickBook for non-Boost documentation?</link>
@@ -3184,7 +3184,7 @@
     <para>
       [cpp]
     </para>
- <table frame="all">
+ <table frame="all" id="quickbook.ref.t0">
       <title>Syntax Compendium</title>
       <tgroup cols="3">
         <thead>

Modified: branches/quickbook-dev/tools/quickbook/test/template-section.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/template-section.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/template-section.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -11,7 +11,7 @@
     <para>
       Hello.
     </para>
- <bridgehead renderas="sect3" id="section_in_a_template.test.just_to_test_id_generation-heading">
+ <bridgehead renderas="sect3" id="section_in_a_template.test.h0">
       <phrase id="section_in_a_template.test.just_to_test_id_generation"/><link linkend="section_in_a_template.test.just_to_test_id_generation">Just
       to test id generation</link>
     </bridgehead>

Modified: branches/quickbook-dev/tools/quickbook/test/unicode-escape.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/unicode-escape.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/unicode-escape.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -2,7 +2,7 @@
 <!DOCTYPE article PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
 <article id="utf_8_test" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $" xmlns:xi="http://www.w3.org/2001/XInclude">
   <title>UTF-8 test</title>
- <bridgehead renderas="sect2" id="utf_8_test.i__xf1_t__xeb_rn__xe2_ti__xf4_n__xe0_liz__xe6_ti__xf8_n-heading">
+ <bridgehead renderas="sect2" id="utf_8_test.h0">
     <phrase id="utf_8_test.i__xf1_t__xeb_rn__xe2_ti__xf4_n__xe0_liz__xe6_ti__xf8_n"/><link
     linkend="utf_8_test.i__xf1_t__xeb_rn__xe2_ti__xf4_n__xe0_liz__xe6_ti__xf8_n">I&#xF1;t&#xEB;rn&#xE2;ti&#xF4;n&#xE0;liz&#xE6;ti&#xF8;n</link>
   </bridgehead>

Modified: branches/quickbook-dev/tools/quickbook/test/unit/Jamfile.v2
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/unit/Jamfile.v2 (original)
+++ branches/quickbook-dev/tools/quickbook/test/unit/Jamfile.v2 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -13,7 +13,7 @@
     ;
 
 run values_test.cpp ../../src/values.cpp ;
-run post_process_test.cpp ../../src/post_process.cpp ;
+run post_process_test.cpp ../../src/post_process.cpp ../../src/id_generator.cpp ;
 run iterator_tests.cpp ../../src/values.cpp ;
 
 # Copied from spirit

Modified: branches/quickbook-dev/tools/quickbook/test/utf-8-bom.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/utf-8-bom.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/utf-8-bom.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -2,7 +2,7 @@
 <!DOCTYPE article PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
 <article id="utf_8_test" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $" xmlns:xi="http://www.w3.org/2001/XInclude">
   <title>UTF-8 test</title>
- <bridgehead renderas="sect2" id="utf_8_test.i__t__rn__ti__n__liz__ti__n-heading">
+ <bridgehead renderas="sect2" id="utf_8_test.h0">
     <phrase id="utf_8_test.i__t__rn__ti__n__liz__ti__n"/><link linkend="utf_8_test.i__t__rn__ti__n__liz__ti__n">Iñtërnâtiônàlizætiøn</link>
   </bridgehead>
   <itemizedlist>

Modified: branches/quickbook-dev/tools/quickbook/test/utf-8.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/utf-8.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/utf-8.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -2,7 +2,7 @@
 <!DOCTYPE article PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
 <article id="utf_8_test" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $" xmlns:xi="http://www.w3.org/2001/XInclude">
   <title>UTF-8 test</title>
- <bridgehead renderas="sect2" id="utf_8_test.i__t__rn__ti__n__liz__ti__n-heading">
+ <bridgehead renderas="sect2" id="utf_8_test.h0">
     <phrase id="utf_8_test.i__t__rn__ti__n__liz__ti__n"/><link linkend="utf_8_test.i__t__rn__ti__n__liz__ti__n">Iñtërnâtiônàlizætiøn</link>
   </bridgehead>
   <itemizedlist>

Modified: branches/quickbook-dev/tools/quickbook/test/xml-escape_1_2.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/xml-escape_1_2.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/xml-escape_1_2.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -4,7 +4,7 @@
 dirname="test_that__amp____lt__are_being_escaped_" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $"
  xmlns:xi="http://www.w3.org/2001/XInclude">
   <libraryinfo>
- <legalnotice id="legal.test_that__amp____lt__are_being_escaped_">
+ <legalnotice id="test_that__amp____lt__are_being_escaped_.legal">
       <para>
         &amp; should be &amp;amp;, &lt; should &amp;lt;
       </para>

Modified: branches/quickbook-dev/tools/quickbook/test/xml-escape_1_5.gold
==============================================================================
--- branches/quickbook-dev/tools/quickbook/test/xml-escape_1_5.gold (original)
+++ branches/quickbook-dev/tools/quickbook/test/xml-escape_1_5.gold 2011-07-25 17:41:36 EDT (Mon, 25 Jul 2011)
@@ -4,7 +4,7 @@
 dirname="test_that__amp____lt__are_being_escaped_" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $"
  xmlns:xi="http://www.w3.org/2001/XInclude">
   <libraryinfo>
- <legalnotice id="legal.test_that__amp____lt__are_being_escaped_">
+ <legalnotice id="test_that__amp____lt__are_being_escaped_.legal">
       <para>
         &amp; should be &amp;amp;, &lt; should &amp;lt;
       </para>


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