
Revision history
- 1.8.0, 24 Jul 2022
Reworked CSS. The CSS stylesheets, especially the stylesheets related to print output, have been updated and the mechanism by which CSS links are added to the output has changed.
The
$css-links
parameter no longer exists (nor does the corresponding$v:css-links
variable). It has been replaced by the$user-css-links
and$use-docbook-css
parameters.Added an
$output-media
parameter to allow conditional behavior based on output medium (screen or print).Added
$page-style
and$paper-size
parameters for controlling aspects of print output.Some class attribute values have been changed.
The page style, page size, and “draft” classes are now reflected on the top-level
html
element.The class attribute value “
division
” is added tobook
,part
, andreference
elements.The class attribute value “
component
” is added toacknowledgements
,appendix
,article
,bibliography
,chapter
,colophon
,dedication
,glossary
,index
,partintro
,preface
, andrefentry
elements.The class attribute value “
formalobject
” is added toequation
,example
,figure
,formalgroup
, andtable
elements.The class attribute value “
informalobject
” is added toinformalequation
,informalexample
,informalfigure
, andinformaltable
elements.
There is now CSS support for adding a “draft” watermark to documents with a draft status (for both screen and print renderings).
An extra wrapper has been added to the content of
revision
in arevhistory
.A bug has been fixed where
sidebar
was accidentally being rendered in the DocBook namespace.Prism highlighting has been updated to version 1.28.0.
Highlight.js highlighting has been updated to version 11.6.0 and is now part of the distribution rather than relying on CDN access.
- Part I. Introduction
- Preface
- 1. Getting the stylesheets
- 2. Using the stylesheets
- 3. Customizing the stylesheets
- 4. Implementation details
- 5. Building the stylesheets
- Part II. Reference
- I. Parameter reference
- $additional-languages — Additional localization languages (beyond the default language)
- $align-char-default, $align-char-pad, $align-char-width — Support “char” alignment on CALS table cells
- $allow-eval — Process the
eval
processing instruction? - $annotate-toc — Annotate the table-of-contents?
- $annotation-collection — An external collection of annotations
- $annotation-mark — Identifying mark for annotations
- $annotation-placement — Determines where the annotation mark is placed
- $annotation-style — Selects the annotation style
- $annotations-js — Script to support popup (JavaScript) annotations
- $bibliography-collection — An external collection of bibliography entries
- $callout-default-column — Default column for callouts
- $callout-unicode-start — Initial callout character
- $chunk — Produce chunked output?
- $chunk-exclude — XPath expressions for excluding chunks
- $chunk-include — XPath expressions for identifying potential chunks
- $chunk-nav — Add keyboard navigation to chunks?
- $chunk-nav-js — Script to support keyboard navigation
- $chunk-output-base-uri — Output base URI for chunks
- $chunk-renumber-footnotes — Renumber footnotes when chunking?
- $chunk-section-depth — Returns the chunking depth for recursive sections
- $classsynopsis-indent — Indent for
classsynopsis
members - $component-numbers-inherit — Include component labels in section labels?
- $control-js — Script to support theme selection
- $copyright-collapse-years — Collapse sequential copyright years into a range?
- $copyright-year-range-separator — Separator character for copyright year ranges
- $copyright-year-separator — Separator character for copyright years
- $date-date-format, $date-dateTime-format — Format strings for dates and dateTimes
- $dc-metadata — Output Dublin Core metadata?
- $debug — Debugging flags
- $default-float-style — Default float style
- $default-language — Default language
- $default-length-magnitude, $default-length-unit — The magnitude and units of the default length
- $default-personal-name-style — The default style for formatting personal names
- $default-theme — Default theme
- $division-numbers-inherit — Include division labels in component labels?
- $docbook-transclusion — Enable DocBook transclusion processing
- $dynamic-profile-error — How are errors in dynamic profiling handled?
- $dynamic-profiles — Is dynamic profiling enabled?
- $experimental-pmuj — Insert reverse links
- $footnote-numeration — How are footnotes numbered?
- $formal-object-title-placement — Specify placement of title on formal elements
- $funcsynopsis-default-style — Default style for function synopses
- $funcsynopsis-table-threshold — Maximium width of a function synopsis
- $funcsynopsis-trailing-punctuation — Trailing punctuation in function synopses
- $generate-html-page — Generate the HTML page structure around the styled document
- $generate-index — Automatically generate an index?
- $generate-nested-toc — Determines if subsubections appear in the table of contents
- $generate-toc — Generate a table-of-contents?
- $generate-trivial-toc — Generate a trivial table-of-contents?
- $generated-id-root — The string generated as the unique identifier for the root of the tree
- $generated-id-sep — The string generated to separate parts of a unique identifier
- $generator-metadata — Output generator metadata?
- $gentext-language — Specifies language for generated text
- $glossary-collection — An external collection of glossary entries
- $glossary-sort-entries — Sort glossaries?
- $html-extension — The extension used for HTML output when chunking
- $image-ignore-scaling — Ignore scaling?
- $image-nominal-height — Nominal height of an image
- $image-nominal-width — Nominal width of an image
- $image-property-warning — Warn if image properties cannot be obtained?
- $index-on-role, $index-on-type — Make distinct indexes based on role and type?
- $index-show-entries — Make index entries visible in the text?
- $indexed-section-groups — Generate index entries grouped by section
- $lists-of-equations — Generate a list of equations?
- $lists-of-examples — Generate a list of examples?
- $lists-of-figures — Generate a list of figures?
- $lists-of-procedures — Generate a list of figures?
- $lists-of-tables — Generate a list of tables?
- $local-conventions — Transformation for local conventions
- $mathml-js — JavaScript library supporting MathML
- $mediaobject-accessibility — Accessibility settings for media objects
- $mediaobject-exclude-extensions — Exclude media objects by extension
- $mediaobject-input-base-uri — Base URI of images and other media in the XML sources
- $mediaobject-output-base-uri — Base URI of images and other media in the output
- $nominal-page-width — The nominal page width
- $number-single-appendix — Number a single appendix?
- $olink-databases — External olink databases
- $orderedlist-item-numeration — Numeration for nested ordered lists
- $othername-in-middle — Treat othername as a middle name
- $output-media — The intended output media
- $oxy-markup — Is Oxygen change tracking markup rendered?
- $oxy-markup-css — CSS markup for Oxygen changebar markup
- $page-style — Select the page style
- $paper-size — Select the paper style
- $persistent-toc — Generate a persistent Table of Contents?
- $persistent-toc-css — Persistent ToC CSS
- $persistent-toc-js — Script to support the persistent ToC
- $persistent-toc-search — Generate a search box in the persistent ToC
- $pixels-per-inch — The number of pixels per inch
- $procedure-step-numeration — Numeration for nested procedure steps
- $productionset-lhs-rhs-separator — Separator in productions
- $profile-arch — Profile tokens for “arch”
- $profile-audience — Profile tokens for “audience”
- $profile-condition — Profile tokens for “condition”
- $profile-conformance — Profile tokens for “conformance”
- $profile-lang — Profile tokens for “xml:lang”
- $profile-os — Profile tokens for “os”
- $profile-outputformat — Profile tokens for “outputformat”
- $profile-revision — Profile tokens for “revision”
- $profile-revisionflag — Profile tokens for “revisionflag”
- $profile-role — Profile tokens for “role”
- $profile-security — Profile tokens for “security”
- $profile-separator — The profile separator character
- $profile-userlevel — Profile tokens for “userlevel”
- $profile-vendor — Profile tokens for “vendor”
- $profile-wordsize — Profile tokens for “wordsize”
- $theme-picker — Allow users to select themes?
- $transclusion-prefix-separator — Transclusion separator
- $qandadiv-default-toc — Generate a table-of-contents for
qandadiv
elements? - $qandaset-default-label — The default label for
qandaset
elements - $qandaset-default-toc — Generate a table-of-contents for
qandaset
elements? - $relax-ng-grammar — Validation grammar
- $refentry-generate-name — Use “Name” as the title of a
refentry
- $refentry-generate-title — Use the subject of the page as the title of a
refentry
- $resource-base-uri — Base URI of additional resources
- $revhistory-style — Rendering style for
revhistory
elements. - $section-numbers — Are sections numbered?
- $section-numbers-inherit — Include ancestor section labels?
- $section-toc-depth — Depth of sections in the table of contents
- $segmentedlist-style — Choose segmented list presentation style
- $show-remarks — Show
remark
elements? - $sidebar-as-aside — Render
sidebar
as anaside
? - $sort-collation — Sorting collation
- $table-accessibility — Accessibility settings for tables
- $table-footnote-numeration — How are footnotes numbered in tables?
- $use-docbook-css — Create links to standard DocBook CSS stylesheets?
- $user-css-links — A list of user-defined CSS stylesheets
- $variablelist-termlength-threshold — Threshold value for considering
varlistentry
terms “long” - $verbatim-callouts — A list determining how callouts are processed
- $verbatim-line-style — List of verbatim elements to be rendered in the line style
- $verbatim-number-every-nth — Line numbering frequency
- $verbatim-number-first-line — Number the first line?
- $verbatim-number-minlines — Shortest listing to number
- $verbatim-numbered-elements — Verbatim environments that should be numbered
- $verbatim-plain-style — List of verbatim elements to be rendered in the plain style
- $verbatim-space — The space character to use when padding verbatim lines
- $verbatim-style-default — The default verbatim style
- $verbatim-syntax-highlight-css — Stylesheet for syntax highlighting
- $verbatim-syntax-highlight-languages — Languages for which syntax highlighting should be performed
- $verbatim-syntax-highlighter — Selects the syntax highlighter
- $verbatim-trim-trailing-blank-lines — Trim trailing blank lines off verbatim environments?
- $xlink-icon-closed — Icon indicating hidden XLink links
- $xlink-icon-open — XLink CSS
- $xlink-js — Script to support extended XLinks
- $xlink-style — Presentation style for XLink extended links
- $xlink-style-default — Default XLink style
- $xspec — Are we running XSpec tests?
- II. Variables reference
- $v:admonition-icons — Admonition icons
- $arg-choice-def-close-str, … — Punctuation marks used in formatting
cmdsynopsis
- $v:annotation-close — Annotation close button
- $v:bridgehead-map — Maps
bridgehead
renderas
values - $v:chunk — Are we chunking on this run?
- $v:chunk-filter-namespaces — Namespace context for chunking expressions
- $v:chunk-renumber-footnotes — Renumber footnotes when chunking?
- $err:DYNAMIC-PROFILE-EVAL-ERROR — Error evaluating dynamic profile expression
- $err:DYNAMIC-PROFILE-SYNTAX-ERROR — Internal error processing dynamic profiles
- $err:INTERNAL-HIGHLIGHT-ERROR — Internal error in syntax highlighting
- $err:INTERNAL-RENUMBER-ERROR — Internal error in chunk formatting
- $err:INVALID-AREAREFS — Callout area refers to invalid target
- $err:INVALID-CALS — CALS table is invalid
- $err:INVALID-CONSTRAINT — Incorrect constraint reference
- $err:INVALID-DYNAMIC-PROFILE-ERROR — Invalid value specified for
$dynamic-profile-error
- $err:INVALID-INJECT — Invalid callout area specification
- $err:INVALID-NAME-STYLE — Invalid name style
- $err:INVALID-PRODUCTIONRECAP — Incorrect production reference
- $err:INVALID-TEMPLATE — Invalid template reference
- $v:debug — Debugging flags
- $v:dynamic-profile-variables — Names that can be used in dynamic profiling expressions
- $v:formal-object-title-placement — Placement of formal object titles
- $v:highlight-js-head-elements — CSS and JavaScript to support highlight.js
- $v:image-nominal-height — Nominal height of an image
- $v:image-nominal-width — Nominal width of an image
- $v:invisible-characters — A list of characters that are invisible in verbatim environments
- $locales — Available locales
- $v:mediaobject-input-base-uri — Base URI of images and other media in the XML sources
- $v:mediaobject-output-base-uri — Base URI of images and other media in the output
- $v:nominal-page-width — The nominal page width
- $v:olink-databases — External olink databases
- $v:personal-name-styles — The list of known personal name styles
- $v:prism-js-head-elements — CSS and JavaScript to support Prism
- $v:templates — Custom templates for title pages
- $v:theme-list — Enumerates available themes
- $v:title-properties — Controls how titles are formatted
- $v:titlepage-default — Default template for title pages
- $v:toc-close — Persistent ToC close button
- $v:toc-open — Persistent ToC open button
- $v:unit-scale — List of known measurement units and their sizes
- $v:user-title-properties — Controls how titles are formatted
- $v:user-xref-properties — Controls how cross-references are formatted
- $v:verbatim-callouts — A list determining how callouts are processed
- $v:verbatim-line-style — List of verbatim elements to be rendered in the line style
- $v:verbatim-number-every-nth — Line numbering frequency
- $v:verbatim-number-first-line — Always number the first line of a verbatim listing?
- $v:verbatim-number-minlines — Shortest listing to number
- $v:verbatim-numbered-elements — Identifies verbatim elements that should have line numbers
- $v:verbatim-plain-style — List of verbatim elements to be rendered in the plain style
- $v:verbatim-properties — Controls the verbatim properties of an element
- $v:verbatim-space — The space character to use when padding verbatim lines
- $v:verbatim-syntax-highlight-languages — Languages for which syntax highlighting should be performed
- $v:verbatim-syntax-highlight-options — Syntax highlighting options
- $v:verbatim-syntax-highlight-pygments-options — Pygments options
- $v:VERSION — The stylesheet version
- $v:VERSION-ID — A unique version identifier
- $v:xref-properties — Controls how cross-references are formatted
- III. Function reference
- f:absolute-length — Returns the absolute length of a unit of measurement
- f:attributes — Returns the attribute that apply to an output element
- f:cals-colsep — Returns the “colsep” value associated with a CALS table cell
- f:cals-rowsep — Returns the “rowsep” value associated with a CALS table cell
- f:check-gentext — Returns generated text
- f:chunk — Returns chunking attributes
- f:chunk-filename — Returns the filename to use for a particular chunk
- f:chunk-title — Returns the title of a chunk
- f:css-length — Returns a length in the format of a CSS property
- f:css-property — Returns a CSS property for a given value
- f:date-format — Returns the format string for a date
- f:empty-length — Returns a map that represents an empty length
- f:equal-lengths — Returns true if two lengths are equal
- f:generate-id — Generate a unique identifier for an element
- f:gentext — Returns generated text
- f:gentext-letters — Returns the letters for the in-scope language
- f:gentext-letters-for-language — Returns the letters for a language
- f:highlight-verbatim — Syntax highlight verbatim element?
- f:href — Returns the href link to a node
- f:id — Returns an ID for the element
- f:intra-number-separator — Return the intra-number separator
- f:is-empty-length — Tests if a length is empty
- f:is-true — Determines if a given value represents “true”
- f:l10n-language — Returns the best matching localization language
- f:label-separator — Returns the label separator
- f:language — Returns the language associated with an element
- f:length-string — Returns the string representation of a length
- f:length-units — Returns the units associated with a length
- f:make-length — Construct a length from constituent parts
- f:number-separator — Returns the number separator
- f:object-align — Returns the alignment of a media object
- f:object-contentheight — Returns the content height of an object
- f:object-contentwidth — Returns the content width of an object
- f:object-height — Returns the height (depth) of a
mediaobject
- f:object-properties — Returns the properties of an object
- f:object-scale — Returns the scaling factor for an object
- f:object-scalefit — Scale object to fit?
- f:object-valign — Returns the vertical alignment of a media object
- f:object-width — Returns the width of a
mediaobject
- f:orderedlist-item-numeration — Returns the item numeration format for an ordered list
- f:orderedlist-item-number — Returns the item number of an item in an ordered list
- f:orderedlist-startingnumber — Returns the starting number of an ordered list
- f:parse-length — Parse a string into a length
- f:pi — Returns DocBook processing-instruction property values
- f:pi-attributes — Returns processing-instruction pseudo-attributes as attributes
- f:post-label-punctuation — Punctuation that follows a label
- f:refsection — Is this a section in a
refentry
? - f:relative-length — Returns the relative portion of a length, if it has one
- f:resolve-object-uri — Returns the (relative) path to a
mediaobject
- f:section — Is this a section?
- f:section-depth — Returns the section depth of a node
- f:select-mediaobject — Select a media object for presentation
- f:select-mediaobject-data — Selects an appropriate data element for a media object
- f:spaces — Returns a string of spaces
- f:step-number — Returns the step number of a step in an procedure
- f:step-numeration — Returns the step numeration format for a step
- f:syntax-highlight — Performs syntax highlighting
- f:target — Returns the element identified by a particular id
- f:template — Returns the title page template for an element
- f:tokenize-on-char — Tokenize a string at a specific character
- f:unique-id — Returns an ID for the element
- f:verbatim-highlight — Returns the highlight properties for a verbatim environment
- f:verbatim-numbered — Returns true if the listing should be numbered
- f:verbatim-style — Returns the style of a verbatim listing
- f:verbatim-trim-trailing — Return true if trailing blank lines should be trimmed
- f:xlink-style — Returns the XLink style for this document
- f:xpointer-idref — Parses an XPointer for a same-document ID reference
- ext:cwd — Returns the current working directory
- ext:image-metadata — Return intrinsic properties of an image
- ext:image-properties — Return intrinsic properties of an image
- ext:pygmentize — Syntax highlight a listing with pygmentize
- ext:pygmentize-available — Returns true if pygmentize is available
- ext:xinclude — Performs XInclude processing
- ext:validate-with-relax-ng — Returns the current working directory
- IV. Template reference
- t:biblioentry — Format a
biblioentry
element - t:bottom-nav — Generate bottom-of-page navigation links
- t:chunk-cleanup — Cleanup the HTML markup for a DocBook document
- t:chunk-footnotes — Processes footnotes in a chunk
- t:chunk-output — Generate chunked output for a DocBook document
- t:docbook — Process a DocBook document
- t:generate-index — Generate a back-of-the-book style index
- t:imagemap — Process image map areas in an
imageobjectco
- t:index-zone-reference — Process index zone references
- t:inline — Process an inline element
- t:person-name — Formats a personal name
- t:person-name-family-given — Formats a personal name in the “FAMILY-given” style
- t:person-name-first-last — Formats a personal name in the “first-last” style
- t:person-name-last-first — Formats a personal name in the “last-first” style
- t:person-name-list — Formats a sequence of personal names
- t:preprocess — Prepare a DocBook document for processing
- t:process — Process a DocBook document
- t:postprocess — Postprocess a DocBook document
- t:table-footnotes — Process table footnotes
- t:top-nav — Generate top-of-page navigation links
- t:xlink — Supports hypertext linking
- t:biblioentry — Format a
- V. Mode reference
- m:acceptable-mediaobject — Selects media objects for presentation
- m:acceptable-mediaobject-data — Selects media object data elements that may be used
- m:annotation-content — Mode for the content of annotations
- m:ansi — Mode for processing funcsynopsis elements in the “ANSI” style
- m:ansi-table — Mode for processing funcsynopsis elements in the “ANSI” style
- m:attributes — Mode for processing attributes
- m:biblioentry — Mode for processing
biblioentry
bibliographic entries - m:bibliomixed — Mode for processing
bibliomixed
bibliographic entries - m:callout-bug — Mode for producing callout marks
- m:callout-link — Mode for producing callout links
- m:chunk-cleanup — Post-process HTML chunks
- m:chunk-filename — Selects the chunk filename
- m:chunk-output — Performs the final-pass of processing on chunks
- m:chunk-title — Generates the page title for the chunk
- m:chunk-write — Create result documents for chunks
- m:copyright-years — Mode for processing copyright years
- m:crossref — Produce a cross-reference to the element
- m:crossref-inherit-separator — Produce the inherit separator
- m:crossref-label — Produce the label in a cross-reference
- m:crossref-label-separator — Produce the cross-reference label separator
- m:crossref-number — Produce the number in a cross-reference
- m:crossref-number-separator — Produce the cross-reference number separator
- m:crossref-prefix — Produce the cross-reference prefix
- m:crossref-suffix — Produce the cross-reference suffix
- m:crossref-title — Produce the title in a cross-reference
- m:details — Produce details about a media object
- m:details-attribute — Produce the short summary for a media object
- m:docbook — The primary mode for processing DocBook elements
- m:footnote-number — Mode for generating footnote numbers
- m:footnotes — Mode for processing footnotes
- m:generate-titlepage — Generate a title page
- m:headline — Produce a headline title
- m:headline-label — Produce the label for a headline title
- m:headline-label-separator — Produce the headline label separator
- m:headline-number — Produce the headline number
- m:headline-number-separator — Produce the headline number separator
- m:headline-prefix — Generate the headline prefix
- m:headline-suffix — Produce the headline suffix
- m:headline-title — Produce the headline title
- m:highlight-options — Determine the syntax highlighting options for an element
- m:html-body-script — Add script elements to the end of a document
- m:html-head — Construct the HTML
head
element - m:html-head-last — Add elements to the end of the head of a document
- m:html-head-links — Add link elements to the head of a document
- m:html-head-script — Add link elements to the head of a document
- m:htmltable — Mode for processing HTML table elements
- m:index-div — Mode for generating divisions in an index
- m:index-primary — Mode for generating primary index entries
- m:index-secondary — Mode for generating secondary index entries
- m:index-see — Mode for generating index “see” entries
- m:index-seealso — Mode for generating index “see also” entries
- m:index-tertiary — Mode for generating index tertiary entries
- m:kr — Mode for processing funcsynopsis elements in the “K&R” style
- m:kr-args — Mode for processing function arguments
- m:kr-table — Mode for processing funcsynopsis elements in the “K&R” style
- m:kr-table-args — Mode for processing function arguments in a table
- m:link — Process inline links
- m:list-of-equations — Mode for generating a list of equations
- m:list-of-examples — Mode for generating a list of examples
- m:list-of-figures — Mode for generating a list of figures
- m:list-of-procedures — Mode for generating a list of procedures
- m:list-of-tables — Mode for generating a list of tables
- m:production-number — Mode for production numbers
- m:profile — Mode for document profiling
- m:pygments-options — Calculate the Pygments options for an element
- m:revhistory-list — Mode to generate a “list” presentation of
revhistory
- m:revhistory-table — Mode to generate a “table” presentation of
revhistory
- m:seglist-table — Process a
segmentedlist
as a table - m:segtitle-in-seg — Mode for processing segment titles in a segment
- m:synopfragment-bug — Mode for generating the mark for a
synopfragementref
- m:synopsis — Mode for processing programming language synopses
- m:title — Format a title
- m:titlepage — Format elements for the title page
- m:to-uppercase — Produce content in upper-case
- m:toc — Mode for generating tables of contents
- m:toc-entry — Format content for a list-of-titles
- VI. Processing instruction reference
- current-dateTime — Resolves to a formatted date/time string
- db — Provides additional control over rendering
- DocBook-xslTNG-version — Resolves to the DocBook stylesheet version
- system-property — Resolves to an XSLT system property
- I. Parameter reference
- A. GNU Free Documentation License
- Glossary
- References
- Acknowledgements
- Index
- Index by module
- 2.1.1 The sample document: article.xml
- 1.1 An example of
revhistory
rendered as a table - 1.2 An example of
revhistory
rendered as a list - 1.1 Segmented list formatted as a table
- 1.2 Segmented list formatted as a list
- 1.1 Title Properties
- 1.1 Recognized units of measure
- 1.1 Cross-reference Properties (numbered)
- 1.2 Cross-reference Properties (contextual)
- 1.1 An amaryllis
- 2.7.1.1 A contrived effectivity example
- 1.1 An example of char alignment
- 1.1 An example of media object accessibility
- 1.1 An example of char alignment
- 1.1 An example of table accessibility
- 1.1 An example of a
cmdsynopsis
- 1.1 Several dates in ISO 8601 formats
- 1.1 The FAMILY-given name style
- 1.1 The first-last name style
- 1.1 The last-first name style