The DoCookBook

Recipies for DocBook Developers

Thomas Schraitle

Published: 06 May 2012, 19:40:59+02:00

Draft (Version 0.5)

Draft Ahead!

This book is a draft and still work in progress. You will find funny typos, embarrassing English grammar mistakes from a German native speaker, annoying inconsistencies, missing topics, and plain errors. Nevertheless, I hope the topics are useful and should give you an idea.

Visit this site from time to time and see how the book grows and how more and more of these annoyances will vanish. To accelerate this process, send me praise, critisism, patches, donations, or even write a topic. Read Section 6, “Contribute to the Book” to find more how to support this project.

Revision History
0.5 2012-04-22 ThomasSchraitle, toms

Fifth public release, see https://sf.net/mailarchive/message.php?msg_id=29164534

0.4 2012-01-29 ThomasSchraitle, toms

Fourth public release, see https://sf.net/mailarchive/message.php?msg_id=28755847

0.3 2011-12-28 ThomasSchraitle, toms

Third public release, see http://sf.net/mailarchive/message.php?msg_id=28599375

0.2 2011-12-23 ThomasSchraitle, toms

Second public release, see http://sf.net/mailarchive/message.php?msg_id=28585391

0.1 2011-12-07 ThomasSchraitle, toms

First public revision announced


Table of Contents

Welcome!
1. Audience
2. DocBook 4 or 5?
3. Further Readings
4. Typographical Conventions
5. Feedback
6. Contribute to the Book
7. A Few Words About Piwik
8. Licensed under Creative Commons
9. Acknowledgments
1. Knowing DocBook’s Structure
1.1. Introduction
1.2. Modularize Your Document with XIncludes
1.3. Distinguish Between Section and SectX Elements
1.4. Using Lists
1.5. Inserting Remarks
1.6. Knowing the Difference of Crossreferences and Links
1.7. Inserting Cross References
1.8. Choosing Between Link Methods
1.9. Inserting Inline Quotes
2. Common Customizations
2.1. Introduction
2.2. Finding Professional Fonts
2.3. Writing Customization Layers
2.4. Inserting Date and Time
2.5. Accessing Titles
2.6. Extracting Information from Your Own Processing Instructions
2.7. Retrieving XPath
2.8. Extending Language Files with Your Own Text
2.9. Extracting Language Information
3. Manipulating DocBook Document Structure
3.1. Introduction
3.2. Pretty-Printing DocBook Documents
3.3. Converting DocBook from Version 4 to Version 5
3.4. Converting DocBook from Version 5 to Version 4
3.5. Splitting DocBook Documents
3.6. Extracting One Element from DocBook Document
3.7. Transforming sectX Elements into section Elements
3.8. Transforming section Elements into sectX Elements
3.9. Transforming bridgehead Elements into section Elements
3.10. Moving Block Elements Outside of Paragraphs
3.11. Adding Index Entries (Semi-)Automatically
3.12. Including Revision Information from Version Control Systems
4. Print Customizations
4.1. Introduction
4.2. Designing a Title Page
4.3. Styling Title Pages
4.4. Influencing the Leading
4.5. Hyphenating URLs
4.6. Creating Initials and Drop Caps
4.7. Numbering Part, Chapter, Appendix, and other Titles
5. (X)HTML Customizations
5.1. Introduction
5.2. Adding Authors to Table of Contents
5.3. Creating Permalinks
5.4. Creating Simple Navigation in Chapters
5.5. Implementing “Breadcrumbs”
5.6. Moving the Table of Contents (TOC)
A. Namensnennung – Keine kommerzielle Nutzung – Weitergabe unter gleichen Bedingungen 3.0 Deutschland
B. Attribution-NonCommercial-ShareAlike 3.0 Unported

List of Tables

1.1. Comparison Between section and sectX Elements
1.2. Comparison XML Comments versus Remarks
1.3. Differences Between xref and link
1.4. Internal and External Links Examples
1.5. Different Possibilities for Links
2.1. Extracting Language Information
4.1. Autolabel Parameters and their Default Values
4.2. Possible Formats for Autolabel Parameters
4.3. Parameter Combinations
5.1. Overview of Different HTML Stylesheets

List of Examples

1.1. A Book with XIncluded Chapters
1.2. Fallback Possibility with xi:fallback
1.3. Included Text in a Programlisting
1.4. Unordered List with Three Entries
1.5. Numbered List with Three Entries
1.6. Definition List with Two Entries
1.7. A Remark Inside a Paragraph
1.8. A Cross Reference
1.9. A Hyperlink
2.1. General Customization Layer
2.2. Structure
2.3. Namespace-aware Output of an XPath
3.1. copy.xsl
3.2. pretty.xsl
3.3. db5to4-core.xsl
3.4. db5to4-info.xsl
3.5. db5to4-withinfo.xsl
3.6. dbsplit.xsl
3.7. chunker.xsl
3.8. Extracting Stylesheet rootid.xsl
3.9. rootid-resolve-xrefs.xsl
3.10. Transforms every sectX Element into a section Element
3.11. Transforms every sectX Element into a section Element
3.12. Error Checking of Section Levels
3.13. Transforms every bridgehead Element into a section Element
3.14. move-blocks-outof-para.xsl
3.15. profile-envar.xml
3.16. profile-tag.xsl
3.17. add-indexterms.xsl
3.18. Output of the Transformation
3.19. Stylesheet to Convert Bazaar's Log File
3.20. Mercurial Log File in XML
3.21. Stylesheet hg2revhistory.xsl to Convert Mercurial XML Log Files into DocBook's revhistory
4.1. hyphenate-url.xsl
4.2. initials-baseline.xsl
4.3. Extending autolabel.format
5.1. Permalink Stylesheet (permalinks.xsl)
5.2. simple-navigation.xsl
5.3. db-simple-navigation.xsl