DocBook XSL Stylesheets: Reference Documentation Norman Walsh The DocBook Project $Id: reference.xml 7685 2008-02-18 01:51:37Z xmldoc $ Copyright © 1999-2007 Norman Walsh Copyright © 2003 Jiří Kosek Copyright © 2004-2007 Steve Ball Copyright © 2001-2007 The DocBook Project License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. Except as contained in this notice, the names of individuals credited with contribution to this software shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the individuals in question. Any stylesheet derived from this Software that is publically distributed will be identified with a different name and the version strings in any derived Software will be changed so that no possibility of confusion between the derived package and this Software will exist. Warranty THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL NORMAN WALSH OR ANY OTHER CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. About this document This is generated reference documentation for the DocBook XSL stylesheets. It is available in the following formats: ● HTML, PDF, plain text This is primarily documentation on the parameters you can adjust to control the behavior of the stylesheets. Note This is purely reference documentation – not how-to documentation. For a thorough step-by-step how-to guide to publishing content using the DocBook XSL stylesheets, see Bob Stayton’s DocBook XSL: The Complete Guide, available online at http://www.sagehill.net/docbookxsl/index.html This document is divided into three sets of references: the first two sets provides user documentation; the third, developer documentation. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents DocBook XSL Stylesheets User Reference: Parameters DocBook XSL Stylesheets User Reference: PIs DocBook XSL Stylesheets Developer Reference DocBook XSL Stylesheets User Reference: Parameters Abstract This is generated reference documentation for all user-configurable parameters in the DocBook XSL stylesheets. Note This is purely reference documentation – not how-to documentation. For a thorough step-by-step how-to guide to publishing content using the DocBook XSL stylesheets, see Bob Stayton’s DocBook XSL: The Complete Guide, available online at http://www.sagehill.net/docbookxsl/index.html ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents I. HTML Parameter Reference II. FO Parameter Reference III. Manpages Parameter Reference IV. Roundtrip Parameter Reference V. Slides Parameter Reference VI. Website Parameter Reference List of Figures 1. Page Model Part I. HTML Parameter Reference This is reference documentation for all user-configurable parameters in the DocBook XSL HTML stylesheets (for generating HTML output). Table of Contents 1. Admonitions 2. Callouts 3. EBNF 4. ToC/LoT/Index Generation 5. Stylesheet Extensions 6. Automatic labelling 7. HTML 8. XSLT Processing 9. Meta/*Info and Titlepages 10. Reference Pages 11. Tables 12. QAndASet 13. Linking 14. Cross References 15. Lists 16. Bibliography 17. Glossary 18. Miscellaneous 19. Annotations 20. Graphics 21. Chunking 22. Profiling 23. HTML Help 24. Eclipse Help Platform 25. JavaHelp 26. Localization Admonitions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents admon.graphics.extension — Filename extension for admonition graphics admon.graphics.path — Path to admonition graphics admon.graphics — Use graphics in admonitions? admon.textlabel — Use text label in admonitions? admon.style — Specifies the CSS style attribute that should be added to admonitions. Name admon.graphics.extension — Filename extension for admonition graphics Synopsis .png Description Sets the filename extension to use on admonition graphics. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name admon.graphics.path — Path to admonition graphics Synopsis images/ Description Sets the path to the directory containing the admonition graphics (caution.png, important.png etc). This location is normally relative to the output html directory. See base.dir ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name admon.graphics — Use graphics in admonitions? Synopsis Description If true (non-zero), admonitions are presented in an alternate style that uses a graphic. Default graphics are provided in the distribution. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name admon.textlabel — Use text label in admonitions? Synopsis Description If true (non-zero), admonitions are presented with a generated text label such as Note or Warning in the appropriate language. If zero, such labels are turned off, but any title child of the admonition element are still output. The default value is 1. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name admon.style — Specifies the CSS style attribute that should be added to admonitions. Synopsis margin-left: 0.5in; margin-right: 0.5in; Description Specifies the value of the CSS style attribute that should be added to admonitions. Callouts ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents callout.defaultcolumn — Indicates what column callouts appear in by default callout.graphics.extension — Filename extension for callout graphics callout.graphics.number.limit — Number of the largest callout graphic callout.graphics.path — Path to callout graphics callout.graphics — Use graphics for callouts? callout.list.table — Present callout lists using a table? callout.unicode.number.limit — Number of the largest unicode callout character callout.unicode.start.character — First Unicode character to use, decimal value. callout.unicode — Use Unicode characters rather than images for callouts. callouts.extension — Enable the callout extension Name callout.defaultcolumn — Indicates what column callouts appear in by default Synopsis 60 Description If a callout does not identify a column (for example, if it uses the linerange unit), it will appear in the default column. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name callout.graphics.extension — Filename extension for callout graphics Synopsis .png Description Sets the filename extension to use on callout graphics. The Docbook XSL distribution provides callout graphics in the following formats: ● SVG (extension: .svg) ● PNG (extension: .png) ● GIF (extension: .gif) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name callout.graphics.number.limit — Number of the largest callout graphic Synopsis 15 Description If callout.graphics is non-zero, graphics are used to represent callout numbers instead of plain text. The value of callout.graphics.number.limit is the largest number for which a graphic exists. If the callout number exceeds this limit, the default presentation "(plain text instead of a graphic)" will be used. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name callout.graphics.path — Path to callout graphics Synopsis images/callouts/ Description Sets the path to the directory holding the callout graphics. his location is normally relative to the output html directory. see base.dir. Always terminate the directory with / since the graphic file is appended to this string, hence needs the separator. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name callout.graphics — Use graphics for callouts? Synopsis Description If non-zero, callouts are presented with graphics (e.g., reverse-video circled numbers instead of "(1)", "(2)", etc.). Default graphics are provided in the distribution. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name callout.list.table — Present callout lists using a table? Synopsis Description The default presentation of CalloutLists uses an HTML DL. Some browsers don't align DLs very well if callout.graphics are used. With this option turned on, CalloutLists are presented in an HTML TABLE, which usually results in better alignment of the callout number with the callout description. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name callout.unicode.number.limit — Number of the largest unicode callout character Synopsis 10 Description If callout.unicode is non-zero, unicode characters are used to represent callout numbers. The value of callout.unicode.number.limit is the largest number for which a unicode character exists. If the callout number exceeds this limit, the default presentation "(nnn)" will always be used. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name callout.unicode.start.character — First Unicode character to use, decimal value. Synopsis 10102 Description If callout.graphics is zero and callout.unicode is non-zero, unicode characters are used to represent callout numbers. The value of callout.unicode.start.character is the decimal unicode value used for callout number one. Currently, only 10102 is supported in the stylesheets for this parameter. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name callout.unicode — Use Unicode characters rather than images for callouts. Synopsis Description The stylesheets can use either an image of the numbers one to ten, or the single Unicode character which represents the numeral, in white on a black background. Use this to select the Unicode character option. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name callouts.extension — Enable the callout extension Synopsis Description The callouts extension processes areaset elements in ProgramListingCO and other text-based callout elements. EBNF ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents ebnf.table.bgcolor — Background color for EBNF tables ebnf.table.border — Selects border on EBNF tables ebnf.assignment — The EBNF production assignment operator ebnf.statement.terminator — Punctuation that ends an EBNF statement. Name ebnf.table.bgcolor — Background color for EBNF tables Synopsis #F5DCB3 Description Sets the background color for EBNF tables (a pale brown). No bgcolor attribute is output if ebnf.table.bgcolor is set to the null string. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name ebnf.table.border — Selects border on EBNF tables Synopsis Description Selects the border on EBNF tables. If non-zero, the tables have borders, otherwise they don't. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name ebnf.assignment — The EBNF production assignment operator Synopsis ::= Description The ebnf.assignment parameter determines what text is used to show “assignment” in productions in productionsets. While “::=” is common, so are several other operators. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name ebnf.statement.terminator — Punctuation that ends an EBNF statement. Synopsis Description The ebnf.statement.terminator parameter determines what text is used to terminate each production in productionset. Some notations end each statement with a period. ToC/LoT/Index Generation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents annotate.toc — Annotate the Table of Contents? autotoc.label.separator — Separator between labels and titles in the ToC autotoc.label.in.hyperlink — Include label in hyperlinked titles in TOC? process.source.toc — Process a non-empty toc element if it occurs in a source document? process.empty.source.toc — Generate automated TOC if toc element occurs in a source document? bridgehead.in.toc — Should bridgehead elements appear in the TOC? simplesect.in.toc — Should simplesect elements appear in the TOC? manual.toc — An explicit TOC to be used for the TOC toc.list.type — Type of HTML list element to use for Tables of Contents toc.section.depth — How deep should recursive sections appear in the TOC? toc.max.depth — How many levels should be created for each TOC? generate.toc — Control generation of ToCs and LoTs generate.section.toc.level — Control depth of TOC generation in sections generate.index — Do you want an index? index.method — Select method used to group index entries in an index index.on.type — Select indexterms based on type attribute value index.on.role — Select indexterms based on role value index.prefer.titleabbrev — Should abbreviated titles be used as back references? index.term.separator — Override for punctuation separating an index term from its list of page references in an index index.number.separator — Override for punctuation separating page numbers in index index.range.separator — Override for punctuation separating the two numbers in a page range in index Name annotate.toc — Annotate the Table of Contents? Synopsis Description If true, TOCs will be annotated. At present, this just means that the RefPurpose of RefEntry TOC entries will be displayed. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name autotoc.label.separator — Separator between labels and titles in the ToC Synopsis . Description String used to separate labels and titles in a table of contents. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name autotoc.label.in.hyperlink — Include label in hyperlinked titles in TOC? Synopsis Description If the value of autotoc.label.in.hyperlink is non-zero, labels are included in hyperlinked titles in the TOC. If it is instead zero, labels are still displayed prior to the hyperlinked titles, but are not hyperlinked along with the titles. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name process.source.toc — Process a non-empty toc element if it occurs in a source document? Synopsis Description Specifies that the contents of a non-empty "hard-coded" toc element in a source document are processed to generate a TOC in output. Note This parameter has no effect on automated generation of TOCs. An automated TOC may still be generated along with the "hard-coded" TOC. To suppress automated TOC generation, adjust the value of the generate.toc paramameter. The process.source.toc parameter also has no effect if the toc element is empty; handling for empty toc is controlled by the process.empty.source.toc parameter. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name process.empty.source.toc — Generate automated TOC if toc element occurs in a source document? Synopsis Description Specifies that if an empty toc element is found in a source document, an automated TOC is generated at this point in the document. Note Depending on what the value of the generate.toc parameter is, setting this parameter to 1 could result in generation of duplicate automated TOCs. So the process.empty.source.toc is primarily useful as an "override": by placing an empty toc in your document and setting this parameter to 1, you can force a TOC to be generated even if generate.toc says not to. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name bridgehead.in.toc — Should bridgehead elements appear in the TOC? Synopsis Description If non-zero, bridgeheads appear in the TOC. Note that this option is not fully supported and may be removed in a future version of the stylesheets. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name simplesect.in.toc — Should simplesect elements appear in the TOC? Synopsis Description If non-zero, simplesects will be included in the TOC. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name manual.toc — An explicit TOC to be used for the TOC Synopsis Description The manual.toc identifies an explicit TOC that will be used for building the printed TOC. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name toc.list.type — Type of HTML list element to use for Tables of Contents Synopsis dl Description When an automatically generated Table of Contents (or List of Titles) is produced, this HTML element will be used to make the list. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name toc.section.depth — How deep should recursive sections appear in the TOC? Synopsis 2 Description Specifies the depth to which recursive sections should appear in the TOC. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name toc.max.depth — How many levels should be created for each TOC? Synopsis 8 Description Specifies the maximal depth of TOC on all levels. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name generate.toc — Control generation of ToCs and LoTs Synopsis appendix toc,title article/appendix nop article toc,title book toc,title,figure,table,example,equation chapter toc,title part toc,title preface toc,title qandadiv toc qandaset toc reference toc,title sect1 toc sect2 toc sect3 toc sect4 toc sect5 toc section toc set toc,title Description This parameter has a structured value. It is a table of space-delimited path/ value pairs. Each path identifies some element in the source document using a restricted subset of XPath (only the implicit child axis, no wildcards, no predicates). Paths can be either relative or absolute. When processing a particular element, the stylesheets consult this table to determine if a ToC (or LoT(s)) should be generated. For example, consider the entry: book toc,figure This indicates that whenever a book is formatted, a Table Of Contents and a List of Figures should be generated. Similarly, /chapter toc indicates that whenever a document that has a root of chapter is formatted, a Table of Contents should be generated. The entry chapter would match all chapters, but /chapter matches only chapter document elements. Generally, the longest match wins. So, for example, if you want to distinguish articles in books from articles in parts, you could use these two entries: book/article toc,figure part/article toc Note that an article in a part can never match a book/article, so if you want nothing to be generated for articles in parts, you can simply leave that rule out. If you want to leave the rule in, to make it explicit that you're turning something off, use the value “nop”. For example, the following entry disables ToCs and LoTs for articles: article nop Do not simply leave the word “article” in the file without a matching value. That'd be just begging the silly little path/value parser to get confused. Section ToCs are further controlled by the generate.section.toc.level parameter. For a given section level to have a ToC, it must have both an entry in generate.toc and be within the range enabled by generate.section.toc.level. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name generate.section.toc.level — Control depth of TOC generation in sections Synopsis Description The generate.section.toc.level parameter controls the depth of section in which TOCs will be generated. Note that this is related to, but not the same as toc.section.depth, which controls the depth to which TOC entries will be generated in a given TOC. If, for example, generate.section.toc.level is 3, TOCs will be generated in first, second, and third level sections, but not in fourth level sections. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name generate.index — Do you want an index? Synopsis Description Specify if an index should be generated. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name index.method — Select method used to group index entries in an index Synopsis basic Description This parameter lets you select which method to use for sorting and grouping index entries in an index. Indexes in Latin-based languages that have accented characters typically sort together accented words and unaccented words. Thus “Á” (U+00C1 LATIN CAPITAL LETTER A WITH ACUTE) would sort together with “A” (U+0041 LATIN CAPITAL LETTER A), so both would appear in the “A” section of the index. Languages using other alphabets (such as Russian, which is written in the Cyrillic alphabet) and languages using ideographic chararacters (such as Japanese) require grouping specific to the languages and alphabets. The default indexing method is limited. It can group accented characters in Latin-based languages only. It cannot handle non-Latin alphabets or ideographic languages. The other indexing methods require extensions of one type or another, and do not work with all XSLT processors, which is why they are not used by default. The three choices for indexing method are: basic (default) Sort and groups words based only on the Latin alphabet. Words with accented Latin letters will group and sort with their respective primary letter, but words in non-Latin alphabets will be put in the “Symbols” section of the index. kosek This method sorts and groups words based on letter groups configured in the DocBook locale file for the given language. See, for example, the French locale file common/fr.xml. This method requires that the XSLT processor supports the EXSLT extensions (most do). It also requires support for using user-defined functions in xsl:key (xsltproc does not). This method is suitable for any language for which you can list all the individual characters that should appear in each letter group in an index. It is probably not practical to use it for ideographic languages such as Chinese that have hundreds or thousands of characters. To use the kosek method, you must: 1. Use a processor that supports its extensions, such as Saxon 6 or Xalan (xsltproc and Saxon 8 do not). 2. Set the index.method parameter's value to “kosek”. 3. Import the appropriate index extensions stylesheet module fo/ autoidx-kosek.xsl or html/autoidx-kosek.xsl into your customization. kimber This method uses extensions to the Saxon processor to implement sophisticated indexing processes. It uses its own configuration file, which can include information for any number of languages. Each language's configuration can group words using one of two processes. In the enumerated process similar to that used in the kosek method, you indicate the groupings character-by-character. In the between-key process, you specify the break-points in the sort order that should start a new group. The latter configuration is useful for ideographic languages such as Chinese, Japanese, and Korean. You can also define your own collation algorithms and how you want mixed Latin-alphabet words sorted. ● For a whitepaper describing the extensions, see: http:// www.innodata-isogen.com/knowledge_center/white_papers/ back_of_book_for_xsl_fo.pdf. ● To download the extension library, see http://www.innodata-isogen.com/ knowledge_center/tools_downloads/i18nsupport. To use the kimber method, you must: 1. Use Saxon (version 6 or 8) as your XSLT processor. 2. Install and configure the Innodata Isogen library, using the documentation that comes with it. 3. Set the index.method parameter's value to “kimber”. 4. Import the appropriate index extensions stylesheet module fo/ autoidx-kimber.xsl or html/autoidx-kimber.xsl into your customization. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name index.on.type — Select indexterms based on type attribute value Synopsis Description If non-zero, then an index element that has a type attribute value will contain only those indexterm elements with a matching type attribute value. If an index has no type attribute or it is blank, then the index will contain all indexterms in the current scope. If index.on.type is zero, then the type attribute has no effect on selecting indexterms for an index. For those using DocBook version 4.2 or earlier, the type attribute is not available for index terms. However, you can achieve the same effect by using the role attribute in the same manner on indexterm and index, and setting the stylesheet parameter index.on.role to a nonzero value. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name index.on.role — Select indexterms based on role value Synopsis Description If non-zero, then an index element that has a role attribute value will contain only those indexterm elements with a matching role value. If an index has no role attribute or it is blank, then the index will contain all indexterms in the current scope. If index.on.role is zero, then the role attribute has no effect on selecting indexterms for an index. If you are using DocBook version 4.3 or later, you should use the type attribute instead of role on indexterm and index, and set the index.on.type to a nonzero value. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name index.prefer.titleabbrev — Should abbreviated titles be used as back references? Synopsis Description If non-zero, and if a titleabbrev is defined, the abbreviated title is used as the link text of a back reference in the index. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name index.term.separator — Override for punctuation separating an index term from its list of page references in an index Synopsis Description This parameter permits you to override the text to insert between the end of an index term and its list of page references. Typically that might be a comma and a space. Because this text may be locale dependent, this parameter's value is normally taken from a gentext template named 'term-separator' in the context 'index' in the stylesheet locale file for the language of the current document. This parameter can be used to override the gentext string, and would typically be used on the command line. This parameter would apply to all languages. So this text string can be customized in two ways. You can reset the default gentext string using the local.l10n.xml parameter, or you can fill in the content for this normally empty override parameter. The content can be a simple string, or it can be something more complex such as a call-template. For fo output, it could be an fo:leader element to provide space of a specific length, or a dot leader. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name index.number.separator — Override for punctuation separating page numbers in index Synopsis Description This parameter permits you to override the text to insert between page references in a formatted index entry. Typically that would be a comma and a space. Because this text may be locale dependent, this parameter's value is normally taken from a gentext template named 'number-separator' in the context 'index' in the stylesheet locale file for the language of the current document. This parameter can be used to override the gentext string, and would typically be used on the command line. This parameter would apply to all languages. So this text string can be customized in two ways. You can reset the default gentext string using the local.l10n.xml parameter, or you can override the gentext with the content of this parameter. The content can be a simple string, or it can be something more complex such as a call-template. In HTML index output, section title references are used instead of page number references. This punctuation appears between such section titles in an HTML index. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name index.range.separator — Override for punctuation separating the two numbers in a page range in index Synopsis Description This parameter permits you to override the text to insert between the two numbers of a page range in an index. This parameter is only used by those XSL-FO processors that support an extension for generating such page ranges (such as XEP). Because this text may be locale dependent, this parameter's value is normally taken from a gentext template named 'range-separator' in the context 'index' in the stylesheet locale file for the language of the current document. This parameter can be used to override the gentext string, and would typically be used on the command line. This parameter would apply to all languages. So this text string can be customized in two ways. You can reset the default gentext string using the local.l10n.xml parameter, or you can override the gentext with the content of this parameter. The content can be a simple string, or it can be something more complex such as a call-template. In HTML index output, section title references are used instead of page number references. So there are no page ranges and this parameter has no effect. Stylesheet Extensions ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents linenumbering.everyNth — Indicate which lines should be numbered linenumbering.extension — Enable the line numbering extension linenumbering.separator — Specify a separator between line numbers and lines linenumbering.width — Indicates the width of line numbers tablecolumns.extension — Enable the table columns extension function textinsert.extension — Enables the textinsert extension element textdata.default.encoding — Default encoding of external text files which are included using textdata element graphicsize.extension — Enable the getWidth()/getDepth() extension functions graphicsize.use.img.src.path — Prepend img.src.path before filenames passed to extension functions use.extensions — Enable extensions Name linenumbering.everyNth — Indicate which lines should be numbered Synopsis 5 Description If line numbering is enabled, everyNth line will be numbered. Note that numbering is one based, not zero based. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name linenumbering.extension — Enable the line numbering extension Synopsis Description If non-zero, verbatim environments (address, literallayout, programlisting, screen, synopsis) that specify line numbering will have line numbers. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name linenumbering.separator — Specify a separator between line numbers and lines Synopsis Description The separator is inserted between line numbers and lines in the verbatim environment. The default value is a single white space. Note the interaction with linenumbering.width ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name linenumbering.width — Indicates the width of line numbers Synopsis 3 Description If line numbering is enabled, line numbers will appear right justified in a field "width" characters wide. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name tablecolumns.extension — Enable the table columns extension function Synopsis Description The table columns extension function adjusts the widths of table columns in the HTML result to more accurately reflect the specifications in the CALS table. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name textinsert.extension — Enables the textinsert extension element Synopsis Description The textinsert extension element inserts the contents of a file into the result tree (as text). Note To use the textinsert extension element, you must use either Saxon or Xalan as your XSLT processor (it doesn’t work with xsltproc), along with either the DocBook Saxon extensions or DocBook Xalan extensions (for more information about those extensions, see DocBook Saxon Extensions and DocBook Xalan Extensions), and you must set both the use.extensions and textinsert.extension parameters to 1. As an alternative to using the textinsert element, consider using an Xinclude element with the parse="text" attribute and value specified, as detailed in Using XInclude for text inclusions. See Also You can also use the processing instruction to insert external files — both files containing plain text and files with markup content (including HTML content). More information For how-to documentation on inserting contents of external code files and other text files into output, see External code files. For guidelines on inserting contents of HTML files into output, see Inserting external HTML code. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name textdata.default.encoding — Default encoding of external text files which are included using textdata element Synopsis Description Specifies the encoding of any external text files included using textdata element. This value is used only when you do not specify encoding by the appropriate attribute directly on textdata. An empty string is interpreted as the system default encoding. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name graphicsize.extension — Enable the getWidth()/getDepth() extension functions Synopsis Description If non-zero (and if use.extensions is non-zero and if you're using a processor that supports extension functions), the getWidth and getDepth functions will be used to extract image sizes from graphics. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name graphicsize.use.img.src.path — Prepend img.src.path before filenames passed to extension functions Synopsis Description If non-zero img.src.path parameter will be appended before filenames passed to extension functions for measuring image dimensions. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name use.extensions — Enable extensions Synopsis Description If non-zero, extensions may be used. Each extension is further controlled by its own parameter. But if use.extensions is zero, no extensions will be used. Automatic labelling ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents chapter.autolabel — Specifies the labeling format for Chapter titles appendix.autolabel — Specifies the labeling format for Appendix titles part.autolabel — Specifies the labeling format for Part titles reference.autolabel — Specifies the labeling format for Reference titles preface.autolabel — Specifices the labeling format for Preface titles qandadiv.autolabel — Are divisions in QAndASets enumerated? section.autolabel — Are sections enumerated? section.autolabel.max.depth — The deepest level of sections that are numbered. section.label.includes.component.label — Do section labels include the component label? label.from.part — Renumber components in each part? component.label.includes.part.label — Do component labels include the part label? Name chapter.autolabel — Specifies the labeling format for Chapter titles Synopsis Description If non-zero, then chapters will be numbered using the parameter value as the number format if the value matches one of the following: 1 or arabic Arabic numeration (1, 2, 3 ...). A or upperalpha Uppercase letter numeration (A, B, C ...). a or loweralpha Lowercase letter numeration (a, b, c ...). I or upperroman Uppercase roman numeration (I, II, III ...). i or lowerroman Lowercase roman letter numeration (i, ii, iii ...). Any nonzero value other than the above will generate the default number format (arabic). ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name appendix.autolabel — Specifies the labeling format for Appendix titles Synopsis A Description If non-zero, then appendices will be numbered using the parameter value as the number format if the value matches one of the following: 1 or arabic Arabic numeration (1, 2, 3 ...). A or upperalpha Uppercase letter numeration (A, B, C ...). a or loweralpha Lowercase letter numeration (a, b, c ...). I or upperroman Uppercase roman numeration (I, II, III ...). i or lowerroman Lowercase roman letter numeration (i, ii, iii ...). Any nonzero value other than the above will generate the default number format (upperalpha). ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name part.autolabel — Specifies the labeling format for Part titles Synopsis I Description If non-zero, then parts will be numbered using the parameter value as the number format if the value matches one of the following: 1 or arabic Arabic numeration (1, 2, 3 ...). A or upperalpha Uppercase letter numeration (A, B, C ...). a or loweralpha Lowercase letter numeration (a, b, c ...). I or upperroman Uppercase roman numeration (I, II, III ...). i or lowerroman Lowercase roman letter numeration (i, ii, iii ...). Any nonzero value other than the above will generate the default number format (upperroman). ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name reference.autolabel — Specifies the labeling format for Reference titles Synopsis I Description If non-zero, references will be numbered using the parameter value as the number format if the value matches one of the following: 1 or arabic Arabic numeration (1, 2, 3 ...). A or upperalpha Uppercase letter numeration (A, B, C ...). a or loweralpha Lowercase letter numeration (a, b, c ...). I or upperroman Uppercase roman numeration (I, II, III ...). i or lowerroman Lowercase roman letter numeration (i, ii, iii ...). Any non-zero value other than the above will generate the default number format (upperroman). ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name preface.autolabel — Specifices the labeling format for Preface titles Synopsis Description If non-zero then prefaces will be numbered using the parameter value as the number format if the value matches one of the following: 1 or arabic Arabic numeration (1, 2, 3 ...). A or upperalpha Uppercase letter numeration (A, B, C ...). a or loweralpha Lowercase letter numeration (a, b, c ...). I or upperroman Uppercase roman numeration (I, II, III ...). i or lowerroman Lowercase roman letter numeration (i, ii, iii ...). Any nonzero value other than the above will generate the default number format (arabic). ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name qandadiv.autolabel — Are divisions in QAndASets enumerated? Synopsis Description If non-zero, unlabeled qandadivs will be enumerated. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name section.autolabel — Are sections enumerated? Synopsis Description If true (non-zero), unlabeled sections will be enumerated. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name section.autolabel.max.depth — The deepest level of sections that are numbered. Synopsis 8 Description When section numbering is turned on by the section.autolabel parameter, then this parameter controls the depth of section nesting that is numbered. Sections nested to a level deeper than this value will not be numbered. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name section.label.includes.component.label — Do section labels include the component label? Synopsis Description If non-zero, section labels are prefixed with the label of the component that contains them. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name label.from.part — Renumber components in each part? Synopsis Description If label.from.part is non-zero, then numbering of components — preface, chapter, appendix, and reference (when reference occurs at the component level) — is re-started within each part. If label.from.part is zero (the default), numbering of components is not re-started within each part; instead, components are numbered sequentially throughout each book, regardless of whether or not they occur within part instances. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name component.label.includes.part.label — Do component labels include the part label? Synopsis Description If non-zero, number labels for chapter, appendix, and other component elements are prefixed with the label of the part element that contains them. So you might see Chapter II.3 instead of Chapter 3. Also, the labels for formal elements such as table and figure will include the part label. If there is no part element container, then no prefix is generated. This feature is most useful when the label.from.part parameter is turned on. In that case, there would be more than one chapter “1”, and the extra part label prefix will identify each chapter unambiguously. HTML ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents html.base — An HTML base URI html.stylesheet.type — The type of the stylesheet used in the generated HTML html.stylesheet — Name of the stylesheet(s) to use in the generated HTML css.decoration — Enable CSS decoration of elements spacing.paras — Insert additional

elements for spacing? emphasis.propagates.style — Pass emphasis role attribute through to HTML? para.propagates.style — Pass para role attribute through to HTML? phrase.propagates.style — Pass phrase role attribute through to HTML? entry.propagates.style — Pass entry role attribute through to HTML? html.longdesc — Should longdesc URIs be created? html.longdesc.link — Should a link to the longdesc be included in the HTML? make.valid.html — Attempt to make sure the HTML output is valid HTML html.cleanup — Attempt to clean up the resulting HTML? html.append — Specifies content to append to HTML output draft.mode — Select draft mode draft.watermark.image — The URI of the image to be used for draft watermarks generate.id.attributes — Generate ID attributes on container elements? generate.meta.abstract — Generate HTML META element from abstract? Name html.base — An HTML base URI Synopsis Description If html.base is set, it is used for the base element in the head of the html documents. The parameter specifies the base URL for all relative URLs in the document. This is useful for dynamically served html where the base URI needs to be shifted. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name html.stylesheet.type — The type of the stylesheet used in the generated HTML Synopsis text/css Description The type of the stylesheet to place in the HTML link tag. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name html.stylesheet — Name of the stylesheet(s) to use in the generated HTML Synopsis Description The html.stylesheet parameter is either empty, indicating that no stylesheet link tag should be generated in the html output, or it is a list of one or more stylesheet files. Multiple stylesheets are space-delimited. If you need to reference a stylesheet URI that includes a space, encode it with %20. A separate html link element will be generated for each stylesheet in the order they are listed in the parameter. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name css.decoration — Enable CSS decoration of elements Synopsis Description If non-zero, then html elements produced by the stylesheet may be decorated with style attributes. For example, the li tags produced for list items may include a fragment of CSS in the style attribute which sets the CSS property "list-style-type". ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name spacing.paras — Insert additional

elements for spacing? Synopsis Description When non-zero, additional, empty paragraphs are inserted in several contexts (for example, around informal figures), to create a more pleasing visual appearance in many browsers. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name emphasis.propagates.style — Pass emphasis role attribute through to HTML? Synopsis Description If non-zero, the role attribute of emphasis elements will be passed through to the HTML as a class attribute on a span that surrounds the emphasis. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name para.propagates.style — Pass para role attribute through to HTML? Synopsis Description If true, the role attribute of para elements will be passed through to the HTML as a class attribute on the p generated for the paragraph. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name phrase.propagates.style — Pass phrase role attribute through to HTML? Synopsis Description If non-zero, the role attribute of phrase elements will be passed through to the HTML as a class attribute on a span that surrounds the phrase. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name entry.propagates.style — Pass entry role attribute through to HTML? Synopsis Description If true, the role attribute of entry elements will be passed through to the HTML as a class attribute on the td or th generated for the table cell. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name html.longdesc — Should longdesc URIs be created? Synopsis Description If non-zero, HTML files will be created for the longdesc attribute. These files are created from the textobjects in mediaobjects and inlinemediaobject. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name html.longdesc.link — Should a link to the longdesc be included in the HTML? Synopsis Description If non-zero, links will be created to the HTML files created for the longdesc attribute. It makes no sense to enable this option without also enabling the html.longdesc parameter. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name make.valid.html — Attempt to make sure the HTML output is valid HTML Synopsis Description If make.valid.html is true, the stylesheets take extra effort to ensure that the resulting HTML is valid. This may mean that some para tags are translated into HTML divs or that other substitutions occur. This parameter is different from html.cleanup because it changes the resulting markup; it does not use extension functions to manipulate result-tree-fragments and is therefore applicable to any XSLT processor. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name html.cleanup — Attempt to clean up the resulting HTML? Synopsis Description If non-zero, and if the EXSLT extensions are supported by your processor, the resulting HTML will be “cleaned up”. This improves the chances that the resulting HTML will be valid. It may also improve the formatting of some elements. This parameter is different from make.valid.html because it uses extension functions to manipulate result-tree-fragments. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name html.append — Specifies content to append to HTML output Synopsis Description Specifies content to append to the end of HTML files output by the html/ docbook.xsl stylesheet, after the closing tag. You probably don’t want to set any value for this parameter; but if you do, the only value it should ever be set to is a newline character: or ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name draft.mode — Select draft mode Synopsis maybe Description Selects draft mode. If draft.mode is “yes”, the entire document will be treated as a draft. If it is “no”, the entire document will be treated as a final copy. If it is “maybe”, individual sections will be treated as draft or final independently, depending on how their status attribute is set. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name draft.watermark.image — The URI of the image to be used for draft watermarks Synopsis http://docbook.sourceforge.net/release/images/draft.png Description The image to be used for draft watermarks. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name generate.id.attributes — Generate ID attributes on container elements? Synopsis Description If non-zero, the HTML stylesheet will generate ID attributes on containers. For example, the markup:

Some Title Some para.
might produce:

Some Title

Some para.

The alternative is to generate anchors:

Some Title

Some para.

Because the name attribute of the a element and the id attribute of other tags are both of type “ID”, producing both generates invalid documents. As of version 1.50, you can use this switch to control which type of identifier is generated. For backwards-compatibility, generating a anchors is preferred. Note: at present, this switch is incompletely implemented. Disabling ID attributes will suppress them, but enabling ID attributes will not suppress the anchors. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name generate.meta.abstract — Generate HTML META element from abstract? Synopsis Description If non-zero, document abstracts will be reproduced in the HTML head, with >meta name="description" content="..." XSLT Processing ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents rootid — Specify the root element to format suppress.navigation — Disable header and footer navigation suppress.header.navigation — Disable header navigation suppress.footer.navigation — Disable footer navigation header.rule — Rule under headers? footer.rule — Rule over footers? id.warnings — Should warnings be generated for titled elements without IDs? Name rootid — Specify the root element to format Synopsis Description If rootid is not empty, it must be the value of an ID that occurs in the document being formatted. The entire document will be loaded and parsed, but formatting will begin at the element identified, rather than at the root. For example, this allows you to process only chapter 4 of a book. Because the entire document is available to the processor, automatic numbering, cross references, and other dependencies are correctly resolved. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name suppress.navigation — Disable header and footer navigation Synopsis Description If non-zero, header and footer navigation will be suppressed. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name suppress.header.navigation — Disable header navigation Synopsis Description If non-zero, header navigation will be suppressed. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name suppress.footer.navigation — Disable footer navigation Synopsis 0 Description If non-zero, footer navigation will be suppressed. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name header.rule — Rule under headers? Synopsis Description If non-zero, a rule will be drawn below the page headers. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name footer.rule — Rule over footers? Synopsis Description If non-zero, a rule will be drawn above the page footers. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name id.warnings — Should warnings be generated for titled elements without IDs? Synopsis Description If non-zero, the stylesheet will issue a warning for any element (other than the root element) which has a title but does not have an ID. Meta/*Info and Titlepages ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents inherit.keywords — Inherit keywords from ancestor elements? make.single.year.ranges — Print single-year ranges (e.g., 1998-1999) make.year.ranges — Collate copyright years into ranges? author.othername.in.middle — Is othername in author a middle name? blurb.on.titlepage.enabled — Display personblurb and authorblurb on title pages? contrib.inline.enabled — Display contrib output inline? editedby.enabled — Display “Edited by” heading above editor name? abstract.notitle.enabled — Suppress display of abstract titles? othercredit.like.author.enabled — Display othercredit in same style as author? generate.legalnotice.link — Write legalnotice to separate chunk and generate link? generate.revhistory.link — Write revhistory to separate chunk and generate link? html.head.legalnotice.link.types — Specifies link types for legalnotice link in html head html.head.legalnotice.link.multiple — Generate multiple link instances in html head for legalnotice? Name inherit.keywords — Inherit keywords from ancestor elements? Synopsis Description If inherit.keywords is non-zero, the keyword meta for each HTML head element will include all of the keywords from ancestor elements. Otherwise, only the keywords from the current section will be used. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name make.single.year.ranges — Print single-year ranges (e.g., 1998-1999) Synopsis Description If non-zero, year ranges that span a single year will be printed in range notation (1998-1999) instead of discrete notation (1998, 1999). ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name make.year.ranges — Collate copyright years into ranges? Synopsis Description If non-zero, multiple copyright year elements will be collated into ranges. This works only if each year number is put into a separate year element. The copyright element permits multiple year elements. The stylesheet will not successfully parse a complex year element such as 2001,2002,2003 into a range. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name author.othername.in.middle — Is othername in author a middle name? Synopsis Description If non-zero, the othername of an author appears between the firstname and surname. Otherwise, othername is suppressed. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name blurb.on.titlepage.enabled — Display personblurb and authorblurb on title pages? Synopsis Description If non-zero, output from authorblurb and personblurb elements is displayed on title pages. If zero (the default), output from those elements is suppressed on title pages (unless you are using a titlepage customization that causes them to be included). ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name contrib.inline.enabled — Display contrib output inline? Synopsis 1 Description If non-zero (the default), output of the contrib element is displayed as inline content rather than as block content. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name editedby.enabled — Display “Edited by” heading above editor name? Synopsis 1 Description If non-zero, a localized Edited by heading is displayed above editor names in output of the editor element. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name abstract.notitle.enabled — Suppress display of abstract titles? Synopsis Description If non-zero, in output of the abstract element on titlepages, display of the abstract title is suppressed. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name othercredit.like.author.enabled — Display othercredit in same style as author? Synopsis 0 Description If non-zero, output of the othercredit element on titlepages is displayed in the same style as author and editor output. If zero then othercredit output is displayed using a style different than that of author and editor. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name generate.legalnotice.link — Write legalnotice to separate chunk and generate link? Synopsis Description If the value of generate.legalnotice.link is non-zero, the stylesheet: ● writes the contents of legalnotice to a separate HTML file ● inserts a hyperlink to the legalnotice file ● adds (in the HTML head) either a single link or element or multiple link elements (depending on the value of the html.head.legalnotice.link.multiple parameter), with the value or values derived from the html.head.legalnotice.link.types parameter Otherwise, if generate.legalnotice.link is zero, legalnotice contents are rendered on the title page. The name of the separate HTML file is computed as follows: 1. If a filename is given by the processing instruction, that filename is used. 2. If the legalnotice has an id/xml:id attribute, and if use.id.as.filename != 0, the filename is the concatenation of the id value and the value of the html.ext parameter. 3. If the legalnotice does not have an id/xml:id attribute, or if use.id.as.filename = 0, the filename is the concatenation of "ln-", auto-generated id value, and html.ext value. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name generate.revhistory.link — Write revhistory to separate chunk and generate link? Synopsis Description If non-zero, the contents of revhistory are written to a separate HTML file and a link to the file is generated. Otherwise, revhistory contents are rendered on the title page. The name of the separate HTML file is computed as follows: 1. If a filename is given by the processing instruction, that filename is used. 2. If the revhistory has an id/xml:id attribute, and if use.id.as.filename != 0, the filename is the concatenation of the id value and the value of the html.ext parameter. 3. If the revhistory does not have an id/xml:id attribute, or if use.id.as.filename = 0, the filename is the concatenation of "rh-", auto-generated id value, and html.ext value. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name html.head.legalnotice.link.types — Specifies link types for legalnotice link in html head Synopsis copyright Description The value of html.head.legalnotice.link.types is a space-separated list of link types, as described in Section 6.12 of the HTML 4.01 specification. If the value of the generate.legalnotice.link parameter is non-zero, then the stylesheet generates (in the head section of the HTML source) either a single HTML link element or, if the value of the html.head.legalnotice.link.multiple is non-zero, one link element for each link type specified. Each link has the following attributes: ● a rel attribute whose value is derived from the value of html.head.legalnotice.link.types ● an href attribute whose value is set to the URL of the file containing the legalnotice ● a title attribute whose value is set to the title of the corresponding legalnotice (or a title programatically determined by the stylesheet) For example: About the default value In an ideal world, the default value of html.head.legalnotice.link.types would probably be “license”, since the content of the DocBook legalnotice is typically license information, not copyright information. However, the default value is “copyright” for pragmatic reasons: because that’s among the set of “recognized link types” listed in Section 6.12 of the HTML 4.01 specification, and because certain browsers and browser extensions are preconfigured to recognize that value. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name html.head.legalnotice.link.multiple — Generate multiple link instances in html head for legalnotice? Synopsis Description If html.head.legalnotice.link.multiple is non-zero and the value of html.head.legalnotice.link.types contains multiple link types, then the stylesheet generates (in the head section of the HTML source) one link element for each link type specified. For example, if the value of html.head.legalnotice.link.types is “copyright license”: Otherwise, the stylesheet generates generates a single link instance; for example: Reference Pages ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents funcsynopsis.decoration — Decorate elements of a funcsynopsis? funcsynopsis.style — What style of funcsynopsis should be generated? function.parens — Generate parens after a function? refentry.generate.name — Output NAME header before 'RefName'(s)? refentry.generate.title — Output title before 'RefName'(s)? refentry.xref.manvolnum — Output manvolnum as part of refentry cross-reference? citerefentry.link — Generate URL links when cross-referencing RefEntrys? refentry.separator — Generate a separator between consecutive RefEntry elements? refclass.suppress — Suppress display of refclass contents? Name funcsynopsis.decoration — Decorate elements of a funcsynopsis? Synopsis Description If non-zero, elements of the funcsynopsis will be decorated (e.g. rendered as bold or italic text). The decoration is controlled by templates that can be redefined in a customization layer. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name funcsynopsis.style — What style of funcsynopsis should be generated? Synopsis kr Description If funcsynopsis.style is ansi, ANSI-style function synopses are generated for a funcsynopsis, otherwise K&R-style function synopses are generated. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name function.parens — Generate parens after a function? Synopsis Description If non-zero, the formatting of a function element will include generated parentheses. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name refentry.generate.name — Output NAME header before 'RefName'(s)? Synopsis Description If non-zero, a "NAME" section title is output before the list of 'RefName's. This parameter and refentry.generate.title are mutually exclusive. This means that if you change this parameter to zero, you should set refentry.generate.title to non-zero unless you want get quite strange output. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name refentry.generate.title — Output title before 'RefName'(s)? Synopsis Description If non-zero, the reference page title or first name is output before the list of 'RefName's. This parameter and refentry.generate.name are mutually exclusive. This means that if you change this parameter to non-zero, you should set refentry.generate.name to zero unless you want get quite strange output. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name refentry.xref.manvolnum — Output manvolnum as part of refentry cross-reference? Synopsis Description if non-zero, the manvolnum is used when cross-referencing refentrys, either with xref or citerefentry. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name citerefentry.link — Generate URL links when cross-referencing RefEntrys? Synopsis Description If non-zero, a web link will be generated, presumably to an online man->HTML gateway. The text of the link is generated by the generate.citerefentry.link template. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name refentry.separator — Generate a separator between consecutive RefEntry elements? Synopsis Description If true, a separator will be generated between consecutive reference pages. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name refclass.suppress — Suppress display of refclass contents? Synopsis Description If the value of refclass.suppress is non-zero, then display of refclass contents is suppressed in output. Tables ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents default.table.width — The default width of tables nominal.table.width — The (absolute) nominal width of tables table.borders.with.css — Use CSS to specify table, row, and cell borders? table.cell.border.style — Specifies the border style of table cells table.cell.border.thickness — Specifies the thickness of table cell borders table.cell.border.color — Specifies the border color of table cells table.frame.border.style — Specifies the border style of table frames table.frame.border.thickness — Specifies the thickness of the frame border table.frame.border.color — Specifies the border color of table frames default.table.frame — The default framing of tables html.cellspacing — Default value for cellspacing in HTML tables html.cellpadding — Default value for cellpadding in HTML tables Name default.table.width — The default width of tables Synopsis Description If non-zero, this value will be used for the width attribute on tables that do not specify an alternate width (with the or processing instruction). ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name nominal.table.width — The (absolute) nominal width of tables Synopsis 6in Description In order to convert CALS column widths into HTML column widths, it is sometimes necessary to have an absolute table width to use for conversion of mixed absolute and relative widths. This value must be an absolute length (not a percentage). ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name table.borders.with.css — Use CSS to specify table, row, and cell borders? Synopsis Description If non-zero, CSS will be used to draw table borders. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name table.cell.border.style — Specifies the border style of table cells Synopsis solid Description Specifies the border style of table cells. Note To control properties of cell borders in HTML output, you must also turn on the table.borders.with.css parameter. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name table.cell.border.thickness — Specifies the thickness of table cell borders Synopsis 0.5pt Description If non-zero, specifies the thickness of borders on table cells. The units are points. See CSS Note To control properties of cell borders in HTML output, you must also turn on the table.borders.with.css parameter. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name table.cell.border.color — Specifies the border color of table cells Synopsis Description Set the color of table cell borders. If non-zero, the value is used for the border coloration. See CSS. A color is either a keyword or a numerical RGB specification. Keywords are aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, orange, purple, red, silver, teal, white, and yellow. Note To control properties of cell borders in HTML output, you must also turn on the table.borders.with.css parameter. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name table.frame.border.style — Specifies the border style of table frames Synopsis solid Description Specifies the border style of table frames. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name table.frame.border.thickness — Specifies the thickness of the frame border Synopsis 0.5pt Description Specifies the thickness of the border on the table's frame. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name table.frame.border.color — Specifies the border color of table frames Synopsis Description Specifies the border color of table frames. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name default.table.frame — The default framing of tables Synopsis all Description This value will be used when there is no frame attribute on the table. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name html.cellspacing — Default value for cellspacing in HTML tables Synopsis Description If non-zero, this value will be used as the default cellspacing value in HTML tables. nn for pixels or nn% for percentage length. E.g. 5 or 5% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name html.cellpadding — Default value for cellpadding in HTML tables Synopsis Description If non-zero, this value will be used as the default cellpadding value in HTML tables. nn for pixels or nn% for percentage length. E.g. 5 or 5% QAndASet ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents qanda.defaultlabel — Sets the default for defaultlabel on QandASet. qanda.inherit.numeration — Does enumeration of QandASet components inherit the numeration of parent elements? qanda.in.toc — Should qandaentry questions appear in the document table of contents? qanda.nested.in.toc — Should nested answer/qandaentry instances appear in TOC? Name qanda.defaultlabel — Sets the default for defaultlabel on QandASet. Synopsis number Description If no defaultlabel attribute is specified on a qandaset, this value is used. It must be one of the legal values for the defaultlabel attribute, one from none, number or qanda. The default value is 'number'. Meaning qanda - questions are labeled “Q:” and answers are labeled “A:”. number - The entries are enumerated. none - No distinguishing label precedes Questions or Answers. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name qanda.inherit.numeration — Does enumeration of QandASet components inherit the numeration of parent elements? Synopsis Description If non-zero, numbered qandadiv elements and question and answer inherit the enumeration of the ancestors of the qandaset. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name qanda.in.toc — Should qandaentry questions appear in the document table of contents? Synopsis Description If true (non-zero), then the generated table of contents for a document will include qandaset titles, qandadiv titles, and question elements. The default value (zero) excludes them from the TOC. This parameter does not affect any tables of contents that may be generated inside a qandaset or qandadiv. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name qanda.nested.in.toc — Should nested answer/qandaentry instances appear in TOC? Synopsis Description If non-zero, instances of qandaentry that are children of answer elements are shown in the TOC. Linking ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents target.database.document — Name of master database file for resolving olinks targets.filename — Name of cross reference targets data file olink.base.uri — Base URI used in olink hrefs use.local.olink.style — Process olinks using xref style of current document current.docid — targetdoc identifier for the document being processed olink.doctitle — show the document title for external olinks? olink.debug — Turn on debugging messages for olinks olink.properties — Properties associated with the cross-reference text of an olink. olink.lang.fallback.sequence — look up translated documents if olink not found? insert.olink.page.number — Turns page numbers in olinks on and off insert.olink.pdf.frag — Add fragment identifiers for links into PDF files prefer.internal.olink — Prefer a local olink reference to an external reference link.mailto.url — Mailto URL for the LINK REL=made HTML HEAD element ulink.target — The HTML anchor target for ULinks olink.fragid — Names the fragment identifier portion of an OLink resolver query olink.outline.ext — The extension of OLink outline files olink.pubid — Names the public identifier portion of an OLink resolver query olink.sysid — Names the system identifier portion of an OLink resolver query olink.resolver — The root name of the OLink resolver (usually a script) Name target.database.document — Name of master database file for resolving olinks Synopsis olinkdb.xml Description To resolve olinks between documents, the stylesheets use a master database document that identifies the target datafiles for all the documents within the scope of the olinks. This parameter value is the URI of the master document to be read during processing to resolve olinks. The default value is olinkdb.xml. The data structure of the file is defined in the targetdatabase.dtd DTD. The database file provides the high level elements to record the identifiers, locations, and relationships of documents. The cross reference data for individual documents is generally pulled into the database using system entity references or XIncludes. See also targets.filename. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name targets.filename — Name of cross reference targets data file Synopsis target.db Description In order to resolve olinks efficiently, the stylesheets can generate an external data file containing information about all potential cross reference endpoints in a document. This parameter lets you change the name of the generated file from the default name target.db. The name must agree with that used in the target database used to resolve olinks during processing. See also target.database.document. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name olink.base.uri — Base URI used in olink hrefs Synopsis Description When cross reference data is collected for resolving olinks, it may be necessary to prepend a base URI to each target's href. This parameter lets you set that base URI when cross reference data is collected. This feature is needed when you want to link to a document that is processed without chunking. The output filename for such a document is not known to the XSL stylesheet; the only target information consists of fragment identifiers such as #idref. To enable the resolution of olinks between documents, you should pass the name of the HTML output file as the value of this parameter. Then the hrefs recorded in the cross reference data collection look like outfile.html#idref, which can be reached as links from other documents. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name use.local.olink.style — Process olinks using xref style of current document Synopsis Description When cross reference data is collected for use by olinks, the data for each potential target includes one field containing a completely assembled cross reference string, as if it were an xref generated in that document. Other fields record the separate title, number, and element name of each target. When an olink is formed to a target from another document, the olink resolves to that preassembled string by default. If the use.local.olink.style parameter is set to non-zero, then instead the cross reference string is formed again from the target title, number, and element name, using the stylesheet processing the targeting document. Then olinks will match the xref style in the targeting document rather than in the target document. If both documents are processed with the same stylesheet, then the results will be the same. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name current.docid — targetdoc identifier for the document being processed Synopsis Description When olinks between documents are resolved for HTML output, the stylesheet can compute the relative path between the current document and the target document. The stylesheet needs to know the targetdoc identifiers for both documents, as they appear in the target.database.document database file. This parameter passes to the stylesheet the targetdoc identifier of the current document, since that identifier does not appear in the document itself. This parameter can also be used for print output. If an olink's targetdoc id differs from the current.docid, then the stylesheet can append the target document's title to the generated olink text. That identifies to the reader that the link is to a different document, not the current document. See also olink.doctitle to enable that feature. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name olink.doctitle — show the document title for external olinks? Synopsis no Description When olinks between documents are resolved, the generated text may not make it clear that the reference is to another document. It is possible for the stylesheets to append the other document's title to external olinks. For this to happen, two parameters must be set. ● This olink.doctitle parameter should be set to either yes or maybe to enable this feature. ● And you should also set the current.docid parameter to the document id for the document currently being processed for output. Then if an olink's targetdoc id differs from the current.docid value, the stylesheet knows that it is a reference to another document and can append the target document's title to the generated olink text. The text for the target document's title is copied from the olink database from the ttl element of the top-level div for that document. If that ttl element is missing or empty, no title is output. The supported values for olink.doctitle are: yes Always insert the title to the target document if it is not the current document. no Never insert the title to the target document, even if requested in an xrefstyle attribute. maybe Only insert the title to the target document, if requested in an xrefstyle attribute. An xrefstyle attribute may override the global setting for individual olinks. The following values are supported in an xrefstyle attribute using the select: syntax: docname Insert the target document name for this olink using the docname gentext template, but only if the value of olink.doctitle is not no. docnamelong Insert the target document name for this olink using the docnamelong gentext template, but only if the value of olink.doctitle is not no. nodocname Omit the target document name even if the value of olink.doctitle is yes. Another way of inserting the target document name for a single olink is to employ an xrefstyle attribute using the template: syntax. The %o placeholder (the letter o, not zero) in such a template will be filled in with the target document's title when it is processed. This will occur regardless of the value of olink.doctitle. Note that prior to version 1.66 of the XSL stylesheets, the allowed values for this parameter were 0 and 1. Those values are still supported and mapped to 'no' and 'yes', respectively. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name olink.debug — Turn on debugging messages for olinks Synopsis Description If non-zero, then each olink will generate several messages about how it is being resolved during processing. This is useful when an olink does not resolve properly and the standard error messages are not sufficient to find the problem. You may need to read through the olink XSL templates to understand the context for some of the debug messages. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name olink.properties — Properties associated with the cross-reference text of an olink. Synopsis replace Description This attribute set is applied to the fo:basic-link element of an olink. It is not applied to the optional page number or optional title of the external document. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name olink.lang.fallback.sequence — look up translated documents if olink not found? Synopsis Description This parameter defines a list of lang values to search among to resolve olinks. Normally an olink tries to resolve to a document in the same language as the olink itself. The language of an olink is determined by its nearest ancestor element with a lang attribute, otherwise the value of the l10n.gentext.default.lang parameter. An olink database can contain target data for the same document in multiple languages. Each set of data has the same value for the targetdoc attribute in the document element in the database, but with a different lang attribute value. When an olink is being resolved, the target is first sought in the document with the same language as the olink. If no match is found there, then this parameter is consulted for additional languages to try. The olink.lang.fallback.sequence must be a whitespace separated list of lang values to try. The first one with a match in the olink database is used. The default value is empty. For example, a document might be written in German and contain an olink with targetdoc="adminguide". When the document is processed, the processor first looks for a target dataset in the olink database starting with: . If there is no such element, then the olink.lang.fallback.sequence parameter is consulted. If its value is, for example, “fr en”, then the processor next looks for targetdoc="adminguide" lang="fr", and then for targetdoc="adminguide" lang= "en". If there is still no match, it looks for targetdoc="adminguide" with no lang attribute. This parameter is useful when a set of documents is only partially translated, or is in the process of being translated. If a target of an olink has not yet been translated, then this parameter permits the processor to look for the document in other languages. This assumes the reader would rather have a link to a document in a different language than to have a broken link. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name insert.olink.page.number — Turns page numbers in olinks on and off Synopsis no Description The value of this parameter determines if cross references made between documents with olink will include page number citations. In most cases this is only applicable to references in printed output. The parameter has three possible values. no No page number references will be generated for olinks. yes Page number references will be generated for all olink references. The style of page reference may be changed if an xrefstyle attribute is used. maybe Page number references will not be generated for an olink element unless it has an xrefstyle attribute whose value specifies a page reference. Olinks that point to targets within the same document are treated as xrefs, and controlled by the insert.xref.page.number parameter. Page number references for olinks to external documents can only be inserted if the information exists in the olink database. This means each olink target element (div or obj) must have a page attribute whose value is its page number in the target document. The XSL stylesheets are not able to extract that information during processing because pages have not yet been created in XSLT transformation. Only the XSL-FO processor knows what page each element is placed on. Therefore some postprocessing must take place to populate page numbers in the olink database. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name insert.olink.pdf.frag — Add fragment identifiers for links into PDF files Synopsis Description The value of this parameter determines whether the cross reference URIs to PDF documents made with olink will include fragment identifiers. When forming a URI to link to a PDF document, a fragment identifier (typically a '#' followed by an id value) appended to the PDF filename can be used by the PDF viewer to open the PDF file to a location within the document instead of the first page. However, not all PDF files have id values embedded in them, and not all PDF viewers can handle fragment identifiers. If insert.olink.pdf.frag is set to a non-zero value, then any olink targeting a PDF file will have the fragment identifier appended to the URI. The URI is formed by concatenating the value of the olink.base.uri parameter, the value of the baseuri attribute from the document element in the olink database with the matching targetdoc value, and the value of the href attribute for the targeted element in the olink database. The href attribute contains the fragment identifier. If insert.olink.pdf.frag is set to zero (the default value), then the href attribute from the olink database is not appended to PDF olinks, so the fragment identifier is left off. A PDF olink is any olink for which the baseuri attribute from the matching document element in the olink database ends with '.pdf'. Any other olinks will still have the fragment identifier added. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name prefer.internal.olink — Prefer a local olink reference to an external reference Synopsis Description If you are re-using XML content modules in multiple documents, you may want to redirect some of your olinks. This parameter permits you to redirect an olink to the current document. For example: you are writing documentation for a product, which includes 3 manuals: a little installation booklet (booklet.xml), a user guide (user.xml), and a reference manual (reference.xml). All 3 documents begin with the same introduction section (intro.xml) that contains a reference to the customization section (custom.xml) which is included in both user.xml and reference.xml documents. How do you write the link to custom.xml in intro.xml so that it is interpreted correctly in all 3 documents? ● If you use xref, it will fail in user.xml. ● If you use olink (pointing to reference.xml), the reference in user.xml will point to the customization section of the reference manual, while it is actually available in user.xml. If you set the prefer.internal.olink parameter to a non-zero value, then the processor will first look in the olink database for the olink's targetptr attribute value in document matching the current.docid parameter value. If it isn't found there, then it tries the document in the database with the targetdoc value that matches the olink's targetdoc attribute. This feature permits an olink reference to resolve to the current document if there is an element with an id matching the olink's targetptr value. The current document's olink data must be included in the target database for this to work. Caution There is a potential for incorrect links if the same id attribute value is used for different content in different documents. Some of your olinks may be redirected to the current document when they shouldn't be. It is not possible to control individual olink instances. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name link.mailto.url — Mailto URL for the LINK REL=made HTML HEAD element Synopsis Description If not the empty string, this address will be used for the rel=made link element in the html head ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name ulink.target — The HTML anchor target for ULinks Synopsis _top Description If ulink.target is non-zero, its value will be used for the target attribute on anchors generated for ulinks. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name olink.fragid — Names the fragment identifier portion of an OLink resolver query Synopsis fragid= Description The fragment identifier portion of an olink target. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name olink.outline.ext — The extension of OLink outline files Synopsis .olink Description The extension to be expected for OLink outline files Bob has this parameter as dead. Please don't use ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name olink.pubid — Names the public identifier portion of an OLink resolver query Synopsis pubid Description ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name olink.sysid — Names the system identifier portion of an OLink resolver query Synopsis sysid Description FIXME ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name olink.resolver — The root name of the OLink resolver (usually a script) Synopsis /cgi-bin/olink Description FIXME: Cross References ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents collect.xref.targets — Controls whether cross reference data is collected insert.xref.page.number — Turns page numbers in xrefs on and off use.role.as.xrefstyle — Use role attribute for xrefstyle on xref? xref.with.number.and.title — Use number and title in cross references xref.label-page.separator — Punctuation or space separating label from page number in xref xref.label-title.separator — Punctuation or space separating label from title in xref xref.title-page.separator — Punctuation or space separating title from page number in xref Name collect.xref.targets — Controls whether cross reference data is collected Synopsis no Description In order to resolve olinks efficiently, the stylesheets can generate an external data file containing information about all potential cross reference endpoints in a document. This parameter determines whether the collection process is run when the document is processed by the stylesheet. The default value is no, which means the data file is not generated during processing. The other choices are yes, which means the data file is created and the document is processed for output, and only, which means the data file is created but the document is not processed for output. See also targets.filename. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name insert.xref.page.number — Turns page numbers in xrefs on and off Synopsis no Description The value of this parameter determines if cross references (xrefs) in printed output will include page number citations. It has three possible values. no No page number references will be generated. yes Page number references will be generated for all xref elements. The style of page reference may be changed if an xrefstyle attribute is used. maybe Page number references will not be generated for an xref element unless it has an xrefstyle attribute whose value specifies a page reference. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name use.role.as.xrefstyle — Use role attribute for xrefstyle on xref? Synopsis Description If non-zero, the role attribute on xref will be used to select the cross reference style. The DocBook Technical Committee recently added an xrefstyle attribute for this purpose. If the xrefstyle attribute is present, role will be ignored, regardless of this setting. Until an official DocBook release that includes the new attribute, this flag allows role to serve that purpose. Example The following small stylesheet shows how to configure the stylesheets to make use of the cross reference style: With this stylesheet, the cross references in the following document: Book Preface Normal: . Title: . First Chapter Irrelevant. will appear as: Normal: Chapter 1. Title: Chapter 1, First Chapter. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name xref.with.number.and.title — Use number and title in cross references Synopsis Description A cross reference may include the number (for example, the number of an example or figure) and the title which is a required child of some targets. This parameter inserts both the relevant number as well as the title into the link. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name xref.label-page.separator — Punctuation or space separating label from page number in xref Synopsis Description This parameter allows you to control the punctuation of certain types of generated cross reference text. When cross reference text is generated for an xref or olink element using an xrefstyle attribute that makes use of the select: feature, and the selected components include both label and page but no title, then the value of this parameter is inserted between label and page number in the output. If a title is included, then other separators are used. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name xref.label-title.separator — Punctuation or space separating label from title in xref Synopsis : Description This parameter allows you to control the punctuation of certain types of generated cross reference text. When cross reference text is generated for an xref or olink element using an xrefstyle attribute that makes use of the select: feature, and the selected components include both label and title, then the value of this parameter is inserted between label and title in the output. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Name xref.title-page.separator — Punctuation or space separating title from page number in xref Synopsis Description This parameter allows you to control the punctuation of certain types of generated cro