Opened 12 years ago

Closed 12 years ago

#4416 closed Bugs (fixed)

Callouts generate duplicated ids in boostbook

Reported by: Andrey Semashev Owned by: Joel de Guzman
Milestone: Boost 1.44.0 Component: quickbook
Version: Boost Release Branch Severity: Problem
Keywords: callout Cc:

Description

It seems that quickbook will duplicate reference ids in the imported code samples, if the code sample template is used more than once. The output contains the following errors:

quickbook.quickbook-to-boostbook bin.v2/libs/log/doc/gcc-4.4.1/release/link-static/log_doc.xml
Generating Output File: bin.v2/libs/log/doc/gcc-4.4.1/release/link-static/log_doc.xml
xslt-xsltproc bin.v2/libs/log/doc/gcc-4.4.1/release/link-static/log_doc.docbook
bin.v2/libs/log/doc/gcc-4.4.1/release/link-static/log_doc.xml:1119: element co: validity error : ID log0co already defined
                  <!--quickbook-escape-prefix--><co id="log0co" linkends="log0"
                                                                               ^
bin.v2/libs/log/doc/gcc-4.4.1/release/link-static/log_doc.xml:1120: element co: validity error : ID log1co already defined
                  <!--quickbook-escape-prefix--><co id="log1co" linkends="log1"
                                                                               ^
bin.v2/libs/log/doc/gcc-4.4.1/release/link-static/log_doc.xml:1121: element co: validity error : ID log2co already defined
cial">),</phrase> <!--quickbook-escape-prefix--><co id="log2co" linkends="log2"
                                                                               ^
bin.v2/libs/log/doc/gcc-4.4.1/release/link-static/log_doc.xml:1122: element co: validity error : ID log3co already defined
                  <!--quickbook-escape-prefix--><co id="log3co" linkends="log3"
                                                                               ^
bin.v2/libs/log/doc/gcc-4.4.1/release/link-static/log_doc.xml:1133: element callout: validity error : ID log0 already defined
          <calloutlist><callout arearefs="log0co" id="log0"><para> file name pat
                                                           ^
bin.v2/libs/log/doc/gcc-4.4.1/release/link-static/log_doc.xml:1133: element callout: validity error : ID log1 already defined
"><para> file name pattern </para></callout><callout arearefs="log1co" id="log1"
                                                                               ^
bin.v2/libs/log/doc/gcc-4.4.1/release/link-static/log_doc.xml:1133: element callout: validity error : ID log2 already defined
tate files every 10 MiB... </para></callout><callout arearefs="log2co" id="log2"
                                                                               ^
bin.v2/libs/log/doc/gcc-4.4.1/release/link-static/log_doc.xml:1133: element callout: validity error : ID log3 already defined
"><para> ...or at midnight </para></callout><callout arearefs="log3co" id="log3"
                                                                               ^

Change History (2)

comment:1 by Daniel James, 12 years ago

(In [63809]) Generate different ids when reusing code snippets.

Generates the ids during template expansion instead of when parsing the code snippet - so that different ids are used for different exapnsions. Refs #4416

comment:2 by Daniel James, 12 years ago

Resolution: fixed
Status: newclosed

(In [63815]) Merge quickbook.

Fixes #4302, #1436, #3907, #4416

Note: See TracTickets for help on using tickets.