Next / Previous / Contents / Shipman's homepage


This utility program prints a report displaying all the section ID attributes from a DocBook document.

This publication is available in Web form and also as a PDF document. Please forward any comments to

Table of Contents

1. DocBook section IDs need an index
2. Operation of docbookindex
2.1. Sample Makefile rules
3. Installation
4. Design of the report
5. Internal design
5.1. Tool chain selection
5.2. Structure of the XSL-FO output: Page masters
5.3. The report format
6. docbookindex: The script
6.1. Prologue
6.2. Imports
6.3. Manifest constants
6.4. main(): Main program
6.5. argsCheck(): Process the command line arguments and open the input file. This section title was made artificially ridiculously long in order to demonstrate what happens when long titles wrap around for two or even more lines.
6.6. usage(): Usage message
6.7. fatal(): Complain, then die
6.8. getModTime(): Get the file's modification timestamp
6.9. extractTitle: Find the document title
6.10. renderTitle(): Remove tags from a title element. Test case: ABCD
6.11. foRenderContent(): Render text and descendants into FO
6.12. foRenderChild(): Convert one child node to FO
6.13. buildFlowTree: Set up an XSL-FO output document
6.14. addMasters(): Set up the page masters
6.15. buildPageSequence(): Set up the page sequence and headers
6.16. reportSections
6.17. reportLine(): Format one line of the report
6.18. formatLine(): Assemble one block in the report body
6.19. Epilogue