Release Notes for the DocBook XSL Stylesheets

$Revision: 7393 $ $Date: 2007-08-30 22:13:49 +0900 (Thu, 30 Aug 2007) $

2007-08-30

This release-notes document is available in the following formats: HTML, PDF, plain text; it provides a per-release list of enhancements and changes to the stylesheets’ public APIs (user-configurable parameters) and excludes descriptions of most bug fixes. For a complete list of all changes (including all bug fixes) that have been made since the previous release, see the separate NEWS (plain text) or NEWS.html files. Also available: An online hyperlinked change history (warning: big file) of all changes made over the entire history of the codebase.

As with all DocBook Project “dot one plus” releases, this release aspires to be stable (in contrast to dot-zero releases, which are experimental).


Table of Contents

Release Notes: 1.73.2
Release: 1.73.1
Gentext
FO
HTML
Manpages
HTMLHelp
Eclipse
JavaHelp
Roundtrip
Params
Release: 1.73.0
Gentext
Common
FO
HTML
Manpages
Eclipse
JavaHelp
Roundtrip
Params
Highlighting
Profiling
Lib
Tools
XSL-Saxon
XSL-Xalan
Release: 1.72.0
Common
FO
HTML
Manpages
Params
Template
Roundtrip
Release: 1.71.1
Common
FO
HTML
Highlighting
Manpages
Params
Profiling
Release: 1.71.0
Common
Extensions
FO
HTML
Highlighting
Manpages
Params
Tools
Release: 1.70.1
FO
HTML
HTMLHelp
Params
Release: 1.70.0
Common
Extensions
FO
HTML
Manpages
Params
Profiling
Tools
WordML
Release 1.69.1
Release 1.69.0
Common
FO
Help
HTML
man
Release 1.68.1
Release 1.68.0
Release 1.67.2
Release 1.67.1
Release 1.67.0
Release 1.66.1
Release 1.65.0
Release 1.64.1
Release 1.61.0
Release 1.60.1
Release 1.59.2
Release 1.59.1
Release 1.58.0
Release 1.57.0
Release 1.56.0
Older releases
About dot-zero releases

Release Notes: 1.73.2

This is solely a minor bug-fix update to the 1.73.1 release. It fixes a packaging error in the 1.73.1 package, as well as a bug in footnote handling in FO output.

Release: 1.73.1

This is mostly a bug-fix update to the 1.73.0 release.

Gentext

The following changes have been made to the gentext code since the 1.73.0 release.

  • Mauritz Jeanson: locale/de.xml

    Applied patch #1766009.
  • Michael(tm) Smith: locale/lv.xml

    Added localization for ProductionSet.

FO

The following changes have been made to the fo code since the 1.73.0 release.

  • Mauritz Jeanson: table.xsl

    Modified the tgroup template so that, for tables with multiple tgroups, 
    a width attribute is output on all corresponding fo:tables. Previously, 
    there was a test prohibiting this (and a comment saying that outputting more
    than one width attribute will cause an error). But this seems to be no longer 
    relevant; it is not a problem with FOP 0.93 or XEP 4.10. Closes bug #1760559.
  • Mauritz Jeanson: graphics.xsl

    Replaced useless <a> elements with warning messages (textinsert extension).
  • Mauritz Jeanson: admon.xsl

    Enabled generation of ids (on fo:wrapper) for indexterms in admonition titles, so that page
    references in the index can be created. Closes bug #1775086.

HTML

The following changes have been made to the html code since the 1.73.0 release.

  • Mauritz Jeanson: titlepage.xsl

    Added <xsl:call-template name="process.footnotes"/> to abstract template
    so that footnotes in info/abstract are processed. Closes bug #1760907.
  • Michael(tm) Smith: pi.xsl; synop.xsl

    Changed handling of HTML output for the cmdsynopsis and
    funcsynopsis elements, such that a@id instances are generated for
    them if they are descendants of any element containing a dbcmdlist
    or dbfunclist PI. Also, update the embedded reference docs for the
    dbcmdlist and dbfunclist PIs to make it clear that they can be
    used within any element for which cmdsynopsis or funcsynopsis are
    valid children.
  • Michael(tm) Smith: formal.xsl

    Reverted the part of revision 6952 that caused a@id anchors to be
    generated for output of informal objects. Thanks to Sam Steingold
    for reporting.
  • Robert Stayton: glossary.xsl

    Account for a glossary with no glossdiv or glossentry children.
  • Mauritz Jeanson: titlepage.xsl

    Modified legalnotice template so that the base.name parameter is calculated 
    in the same way as for revhistory chunks. Using <xsl:apply-templates 
    mode="chunk-filename" select="."/> did not work for single-page output since
    the template with that mode is in chunk-code.xsl.
  • Mauritz Jeanson: graphics.xsl

    Updated support for SVG (must be a child of imagedata in DB 5).
    Added support for MathML in imagedata.
  • Mauritz Jeanson: pi.xsl

    Added documentation for the dbhh PI (used for context-sensitive HTML Help).
    (The two templates matching 'dbhh' are still in htmlhelp-common.xsl).

Manpages

The following changes have been made to the manpages code since the 1.73.0 release.

  • Michael(tm) Smith: endnotes.xsl

    In manpages output, generate warnings about notesources with
    non-para children only if the notesource is a footnote or
    annotation. Thanks to Sam Steingold for reporting problems with
    the existing handling.

HTMLHelp

The following changes have been made to the htmlhelp code since the 1.73.0 release.

  • Michael(tm) Smith: htmlhelp-common.xsl

    Added single-pass namespace-stripping support to the htmlhelp,
    eclipse, and javahelp stylesheets.

Eclipse

The following changes have been made to the eclipse code since the 1.73.0 release.

  • Michael(tm) Smith: eclipse.xsl

    Added single-pass namespace-stripping support to the htmlhelp,
    eclipse, and javahelp stylesheets.

JavaHelp

The following changes have been made to the javahelp code since the 1.73.0 release.

  • Michael(tm) Smith: javahelp.xsl

    Added single-pass namespace-stripping support to the htmlhelp,
    eclipse, and javahelp stylesheets.

Roundtrip

The following changes have been made to the roundtrip code since the 1.73.0 release.

  • Steve Ball: blocks2dbk.xsl; blocks2dbk.dtd; pages2normalise.xsl

    Modularised blocks2dbk to allow customisation,
    Added support for tables to pages2normalise

Params

The following changes have been made to the params code since the 1.73.0 release.

  • Robert Stayton: procedure.properties.xml

    procedure was inheriting keep-together from formal.object.properties, but
    a procedure does not need to be kept together by default.
  • Dave Pawson: title.font.family.xml; component.label.includes.part.label.xml; table.frame.b⋯

    Regular formatting re-org.

Release: 1.73.0

This release includes important bug fixes and adds the following significant feature changes:

New localizations and localization updates

We added two new localizations: Latvian and Esperanto, and made updates to the Czech, Chinese Simplified, Mongolian, Serbian, Italian, and Ukrainian localizations.

ISO690 citation style for bibliography output.

Set the bibliography.style parameter to iso690 to use ISO690 style.

New documentation for processing instructions (PI)

The reference documentation that ships with the release now includes documentation on all PIs that you can use to control output from the stylesheets.

New profiling parameters for audience and wordsize

You can now do profiling based on the values of the audience and wordsize attributes.

Changes to man-page output

The manpages stylesheet now supports single-pass profiling and single-pass DocBook 5 namespace stripping (just as the HTML and FO stylesheets also do). Also, added handling for mediaobject & inlinemediaobject. (Each imagedata, audiodata, or videodata element within a mediaobject or inline mediaobject is now treated as a "notesource" and so handled in much the same way as links and annotation/alt/footnote are in manpages output.) And added the man.authors.section.enabled and man.copyright.section.enabled parameters to enable control over whether output includes auto-generated AUTHORS and COPYRIGHT sections.

Highlighting support for C

The highlighting mechanism for generating syntax-highlighted code snippets in output now supports C code listings (along with Java, PHP, XSLT, and others).

Experimental docbook-xsl-update script

We added an experimental docbook-xsl-update script, the purpose of which is to facilitate easy sync-up to the latest docbook-xsl snapshot (by means of rsync).

Gentext

The following changes have been made to the gentext code since the 1.72.0 release.

  • Michael(tm) Smith: locale/lv.xml; Makefile

    Added Latvian localization file, from Girts Ziemelis.
  • Dongsheng Song: locale/zh_cn.xml

    Brought up to date with en.xml in terms of items. A few strings marked for translation.
  • Jirka Kosek: locale/cs.xml

    Added missing translations
  • Robert Stayton: locale/eo.xml

    New locale for Esperanto.
  • Robert Stayton: locale/mn.xml

    Update from Ganbold Tsagaankhuu.
  • Jirka Kosek: locale/en.xml; locale/cs.xml

    Rules for normalizing glossary entries before they are sorted can be now different for each language.
  • Michael(tm) Smith: locale/sr_Latn.xml; locale/sr.xml

    Committed changes from Miloš Komarčević to Serbian files.
  • Robert Stayton: locale/ja.xml

    Fix chapter in context xref-number-and-title
  • Robert Stayton: locale/it.xml

    Improved version from contributor.
  • Mauritz Jeanson: locale/uk.xml

    Applied patch 1592083.

Common

The following changes have been made to the common code since the 1.72.0 release.

  • Michael(tm) Smith: labels.xsl

    Changed handling of reference auto-labeling such that reference
    (when it appears at the component level) is now affected by the
    label.from.part param, just as preface, chapter, and appendix.
  • Michael(tm) Smith: common.xsl

    Added support to the HTML stylesheets for proper processing of
    orgname as a child of author.
  • Michael(tm) Smith: refentry.xsl

    Refined logging output of refentry metadata-gathering template;
    for some cases of "missing" elements (refmiscinfo stuff, etc.),
    the log messages now include URL to corresponding page in the
    Definitive Guide (TDG).
  • Robert Stayton: titles.xsl

    Add refsection/info/title support.
  • Michael(tm) Smith: titles.xsl

    Added support for correct handling of xref to elements that
    contain info/title descendants but no title children.
    
    This should be further refined so that it handles any *info
    elements. And there are probably some other places where similar
    handling for *info/title should be added.
  • Mauritz Jeanson: pi.xsl

    Modified <xsl:when> in datetime.format template to work
    around Xalan bug.

FO

The following changes have been made to the fo code since the 1.72.0 release.

  • Robert Stayton: component.xsl

    Add parameters to the page.sequence utility template.
  • Mauritz Jeanson: xref.xsl

    Added template for xref to area/areaset.
    Part of fix for bug #1675513 (xref to area broken).
  • Michael(tm) Smith: inline.xsl

    Added template match for person element to fo stylesheet.
  • Robert Stayton: lists.xsl

    Added support for spacing="compact" in variablelist, per bug report #1722540.
  • Robert Stayton: table.xsl

    table pgwide="1" should also use pgwide.properties attribute-set.
  • Mauritz Jeanson: inline.xsl

    Make citations numbered if bibliography.numbered != 0.
  • Robert Stayton: param.xweb; param.ent

    Add new profiling parameters for audience and wordsize.
  • Robert Stayton: param.xweb; param.ent

    Added callout.icon.size parameter.
  • Robert Stayton: inline.xsl; xref.xsl

    Add support for xlink as olink.
  • Robert Stayton: autotoc.xsl; param.xweb; param.ent

    Add support for qanda.in.toc to fo TOC.
  • Robert Stayton: component.xsl

    Improved the page.sequence utility template for use with book.
  • Robert Stayton: division.xsl

    Refactored the big book template into smaller pieces.
    Used the "page.sequence" utility template in
    component.xsl to shorten the toc piece.
    Added placeholder templates for front.cover and back.cover.
  • Robert Stayton: param.xweb; param.ent; sections.xsl

    Add section.container.element parameter to enable
    pgwide spans inside sections.
  • Robert Stayton: param.xweb; param.ent; component.xsl

    Add component.titlepage.properties attribute-set to
    support span="all" and other properties.
  • Robert Stayton: htmltbl.xsl; table.xsl

    Apply table.row.properties template to html tr rows too.
    Add keep-with-next to table.row.properties when row is in thead.
  • Robert Stayton: table.xsl

    Add support for default.table.frame parameter.
    Fix bug 1575446 rowsep last check for @morerows.
  • Robert Stayton: refentry.xsl

    Add support for info/title in refsections.
  • David Cramer: qandaset.xsl

    Make fo questions and answers behave the same way as html
  • Jirka Kosek: lists.xsl

    Added missing attribute set for procedure
  • Jirka Kosek: param.xweb; biblio.xsl; docbook.xsl; param.ent; biblio-iso690.xsl

    Added support for formatting biblioentries according to ISO690 citation style.
    New bibliography style can be turned on by setting parameter bibliography.style to "iso690"
    The code was provided by Jana Dvorakova
  • Robert Stayton: param.xweb; param.ent; pagesetup.xsl

    Add header.table.properties and footer.table.properties attribute-sets.
  • Robert Stayton: inline.xsl

    Add fop1.extensions for menuchoice arrow handling exception.

HTML

The following changes have been made to the html code since the 1.72.0 release.

  • Mauritz Jeanson: param.xweb; param.ent

    Moved declaration and documentation of javahelp.encoding from javahelp.xsl to the
    regular "parameter machinery".
  • Michael(tm) Smith: admon.xsl

    Changed handling of titles for note, warning, caution, important,
    tip admonitions: We now output and HTML h3 head only if
    admon.textlabel is non-zero or if the admonition actually contains
    a title; otherwise, we don't output an h3 head at all.
    (Previously, we were outputting an empty h3 if the admon.textlabel
    was zero and if the admonition had no title.)
  • Mauritz Jeanson: xref.xsl

    Added template for xref to area/areaset.
    Part of fix for bug #1675513 (xref to area broken).
  • Mauritz Jeanson: titlepage.xsl; component.xsl; division.xsl; sections.xsl

    Added fixes to avoid duplicate ids when generate.id.attributes = 1.
    This (hopefully) closes bug #1671052.
  • Michael(tm) Smith: formal.xsl; pi.xsl

    Made the dbfunclist PI work as intended. Also added doc for
    dbfunclist and dbcmdlist PIs.
  • Michael(tm) Smith: pi.xsl; synop.xsl

    Made the dbcmdlist work the way it appears to have been intended
    to work. Restored dbhtml-dir template back to pi.xsl.
  • Michael(tm) Smith: titlepage.xsl; param.xweb; param.ent

    Added new param abstract.notitle.enabled.
    If non-zero, in output of the abstract element on titlepages,
    display of the abstract title is suppressed.
    Because sometimes you really don't want or need that title
    there...
  • Michael(tm) Smith: chunk-code.xsl; graphics.xsl

    When we are chunking long descriptions for mediaobject instances
    into separate HTML output files, and use.id.as.filename is
    non-zero, if a mediaobject has an ID, use that ID as the basename
    for the long-description file (otherwise, we generate an ID for it
    and use that ID as the basename for the file).
    The parallels the recent change made to cause IDs for legalnotice
    instances to be used as basenames for legalnotice chunks.
    Also, made some minor refinements to the recent changes for
    legalnotice chunk handling.
  • Michael(tm) Smith: titlepage.xsl

    Added support to the HTML stylesheets for proper processing of
    orgname as a child of author.
  • Michael(tm) Smith: chunk-code.xsl

    When $generate.legalnotice.link is non-zero and
    $use.id.as.filename is also non-zero, if a legalnotice has an ID,
    then instead of assigning the "ln-<generatedID>" basename to the
    output file for that legalnotice, just use its real ID as the
    basename for the file -- as we do when chunking other elements
    that have IDs.
  • David Cramer: xref.xsl

    Handle alt text on xrefs to steps when the step doesn't have a title.
  • David Cramer: lists.xsl

    Added <p> element around term in variablelist when formatted as table to avoid misalignment of term and listitem in xhtml (non-quirks mode) output
  • David Cramer: qandaset.xsl

    Added <p> element around question and answer labels to avoid misalignment of label and listitem in xhtml (non-quirks mode) output
  • David Cramer: lists.xsl

    Added <p> element around callouts to avoid misalignment of callout and listitem in xhtml (non-quirks mode) output
  • Mauritz Jeanson: inline.xsl

    Make citations numbered if bibliography.numbered != 0.
  • Robert Stayton: param.xweb; param.ent

    Add support for new profiling attributes audience and wordsize.
  • Robert Stayton: inline.xsl; xref.xsl

    Add support for xlink olinks.
  • Jirka Kosek: glossary.xsl

    Rules for normalizing glossary entries before they are sorted can be now different for each language.
  • Robert Stayton: chunk-common.xsl; chunk-code.xsl; manifest.xsl; chunk.xsl

    Refactored the chunking modules to move all named templates to
    chunk-common.xsl and all match templates to chunk-code.xsl, in
    order to enable better chunk customization.
    See the comments in chunk.xsl for more details.
  • Robert Stayton: lists.xsl

    Add anchor for xml:id for listitem in varlistentry.
  • Robert Stayton: refentry.xsl

    Add support for info/title in refsections for db5.
  • Jirka Kosek: param.xweb; biblio.xsl; docbook.xsl; param.ent; biblio-iso690.xsl

    Added support for formatting biblioentries according to ISO690 citation style.
    New bibliography style can be turned on by setting parameter bibliography.style to "iso690"
    The code was provided by Jana Dvorakova
  • Robert Stayton: inline.xsl; xref.xsl

    Add call to class.attribute to <a> output elements so they can
    have a class value too.
  • Mauritz Jeanson: glossary.xsl

    Fixed bug #1644881:
    * Added curly braces around all $language attribute values. 
    * Moved declaration of language variable to top level of stylesheet.
    Tested with Xalan, Saxon, and xsltproc.

Manpages

The following changes have been made to the manpages code since the 1.72.0 release.

  • Michael(tm) Smith: param.xweb; docbook.xsl; param.ent

    Added the man.authors.section.enabled and
    man.copyright.section.enabled parameters. Set those to zero when
    you want to suppress display of the auto-generated AUTHORS and
    COPYRIGHT sections. Closes request #1467806. Thanks to Daniel
    Leidert.
  • Michael(tm) Smith: docbook.xsl

    Took the test that the manpages stylesheet does to see if there
    are any Refentry chilren in current doc, and made it
    namespace-agnostic. Reason for that is because the test otherwise
    won't work when it is copied over into the generated
    profile-docbook.xsl stylesheet.
  • Michael(tm) Smith: Makefile

    Added a manpages/profile-docbook.xsl file to enable single-pass
    profiling for manpages output.
  • Michael(tm) Smith: info.xsl

    Output copyright and legalnotice in man-page output in whatever
    place they are in in document order. Closes #1690539. Thanks to
    Daniel Leidert for reporting.
  • Michael(tm) Smith: docbook.xsl

    Restored support for single-pass namespace stripping to manpages
    stylesheet.
  • Michael(tm) Smith: synop.xsl; block.xsl; info.xsl; inline.xsl; lists.xsl; endnotes.xsl; ut⋯

    Changed handling of bold and italic/underline output in manpages
    output. Should be transparent to users, but...
    
    This touches handling of all bold and italic/underline output. The
    exact change is that the mode="bold" and mode="italic" utility
    templates were changed to named templates. (I think maybe I've
    changed it back and forth from mode to named before, so this is
    maybe re-reverting it yet again).
    
    Anyway, the reason for the change is that the templates are
    sometimes call on dynamically node-sets, and using modes to format
    those doesn't allow passing info about the current/real context
    node from the source (not the node-set created by the stylesheet)
    to that formatting stage.
    
    The named templates allow the context to be passed in as a
    parameter, so that the bold/ital formatting template can use
    context-aware condition checking.
    
    This was basically necessary in order to suppress bold formatting
    in titles, which otherwise gets screwed up because of the numbnut
    way that roff handles nested bold/ital.
    
    Closes #1674534). Much thanks to Daniel Leidert, whose in his
    docbook-xsl bug-finding kung-fu has achieved Grand Master status.
  • Michael(tm) Smith: block.xsl

    Fixed handling of example instances by adding the example element
    to the same template we use for processing figure. Closes
    #1674538. Thanks to Daniel Leidert.
  • Michael(tm) Smith: utility.xsl

    Don't include lang in manpages filename/pathname if lang=en (that
    is, only generate lang-qualified file-/pathnames for non-English).
  • Michael(tm) Smith: endnotes.xsl

    In manpages output, emit warnings for notesources (footnote, etc.)
    that have something other than para as a child.
    
    The numbered-with-hanging-indent formatting that's used for
    rendering endnotes in the NOTES section of man pages places some
    limits/assumptions on how the DocBook source is marked up; namely,
    for notesources (footnote, annotation, etc.) that can contain
    block-level children, if the they have a block-level child such as
    a table or itemizedlist or orderedlist that is the first child of
    a footnote, we have no way of rendering/indenting its content
    properly in the endnotes list.
    
    Thus, the manpages stylesheet not emits a warning message for that
    case, and suggests the "fix" (which is to wrap the table or
    itemizedlist or whatever in a para that has some preferatory text.
  • Michael(tm) Smith: utility.xsl

    Added support to mixed-block template for handling tables in
    mixed-blocks (e.g., as child of para) correctly.
  • Michael(tm) Smith: table.xsl; synop.xsl; block.xsl; info.xsl; lists.xsl; refentry.xsl; end⋯

    Reverted necessary escaping of backslash, dot, and dash
    out of the well-intentioned (but it now appears,
    misguided) "marker" mechanism (introduced in the 1.72.0
    release) -- which made use of alternative "marker"
    characters as internal representations of those
    characters, and then replaced them just prior to
    serialization -- and back into what's basically the
    system that was used prior to the 1.69.0 release; that
    is, into a part of stylesheet code that gets executed
    at the beginning of processing -- before any other roff
    markup up is. This change obviates the need for the
    marker system. It also requires a lot less RAM during
    processing (for large files, the marker mechanism
    ending up requiring gigabytes of memory).
    
    Closes bug #1661177. Thanks to Scott Smedley for
    providing a test case (the fvwm man page) that exposed
    the problem with the marker mechanism.
    
    Also moved the mechanism for converting non-breaking
    spaces back into the same area of the stylesheet code.
  • Michael(tm) Smith: lists.xsl

    Fixed problem with incorrect formatting of nested variablelist.
    Closes bug #1650931. Thanks to Daniel "Eagle Eye" Leidert.
  • Michael(tm) Smith: lists.xsl

    Make sure that all listitems in itemizedlist and orderedlist are
    preceded by a blank line. This fixes a regression that occurred
    when instances of the TP macro that were use in a previous
    versions of the list-handling code were switched to RS/RE (because
    TP doesn't support nesting). TP automatically generates a blank
    line, but RS doesn't. So I added a .sp before each .RS
  • Michael(tm) Smith: block.xsl; inline.xsl; param.xweb; docbook.xsl; links.xsl; param.ent

    Made a number of changes related to elements with
    out-of-line content:
    
    - Added handling for mediaobject & inlinemediaobject.
      Each imagedata, audiodata, or videodata element
      within a mediaobject or inline mediaobject is now
      treated as a "notesource" and so handled in much the
      same way as links and annotation/alt/footnotes.
    
      That means a numbered marker is generated inline to
      mark the place in the main flow where the imagedata,
      audiodata, or videodata element occurs, and a
      corresponding numbered endnote for it is generated in
      the endnotes list at the end of the man page; the
      endnote contains the URL from the fileref attribute
      of the imagedata, audiodata, or videodata element.
    
      For mediobject and inlinemediaobject instances that
      have a textobject child, the textobject is displayed
      within the main text flow.
    
    - Renamed several man.link.* params to man.endnotes.*,
      to reflect that fact that the endnotes list now
      contains more than just links. Also did similar
      renaming for a number of stylesheet-internal vars.
    
    - Added support for xlink:href (along with existing
      support for the legacy ulink element).
    
    - Cleaned up and streamlined the endnotes-handling
      code. It's still messy and klunky and the basic
      mechanism it uses is very inefficent for documents
      that contain a lot of notesources, but at least it's
      a bit better than it was.

Eclipse

The following changes have been made to the eclipse code since the 1.72.0 release.

  • Mauritz Jeanson: Makefile

    Fixed bug #1715093: Makefile for creating profiled version of eclipse.xsl added.
  • David Cramer: eclipse.xsl

    Added normalize-space around  to avoid leading whitespace from appearing in the output if there's extra leading whitespace (e.g. <title> Foo</title>) in the source

JavaHelp

The following changes have been made to the javahelp code since the 1.72.0 release.

  • Mauritz Jeanson: javahelp.xsl

    Implemented FR #1230233 (sorted index in javahelp).
  • Mauritz Jeanson: javahelp.xsl

    Added normalize-space() around titles and index entries to work around whitespace problems.
    Added support for glossary and bibliography in toc and map files.

Roundtrip

The following changes have been made to the roundtrip code since the 1.72.0 release.

  • Steve Ball: blocks2dbk.xsl; wordml2normalise.xsl; normalise2sections.xsl; sections2blocks.⋯

    new stylesheets for better word processor support and easier maintenance
  • Steve Ball: template-pages.xml; dbk2wp.xsl; sections-spec.xml

    fixed bugs

Params

The following changes have been made to the params code since the 1.72.0 release.

  • Mauritz Jeanson: htmlhelp.button.back.xml; htmlhelp.button.forward.xml; htmlhelp.button.zo⋯

    Modified refpurpose text.
  • Mauritz Jeanson: htmlhelp.map.file.xml; htmlhelp.force.map.and.alias.xml; htmlhelp.alias.f⋯

    Fixed typos, made some small changes.
  • Mauritz Jeanson: javahelp.encoding.xml

    Moved declaration and documentation of javahelp.encoding from javahelp.xsl to the
    regular "parameter machinery".
  • Mauritz Jeanson: generate.id.attributes.xml

    Added refpurpose text.
  • Mauritz Jeanson: annotation.js.xml; annotation.graphic.open.xml; annotation.graphic.close.⋯

    Added better refpurpose texts.
  • Michael(tm) Smith: chunker.output.cdata-section-elements.xml; chunker.output.standalone.xm⋯

    Fixed some broken formatting in source files for chunker.* params,
    as pointed out by Dave Pawson.
  • Michael(tm) Smith: label.from.part.xml

    Changed handling of reference auto-labeling such that reference
    (when it appears at the component level) is now affected by the
    label.from.part param, just as preface, chapter, and appendix.
  • Mauritz Jeanson: callout.graphics.extension.xml

    Clarified that 'extension' refers to file names.
  • Michael(tm) Smith: abstract.notitle.enabled.xml

    Added new param abstract.notitle.enabled.
    If non-zero, in output of the abstract element on titlepages,
    display of the abstract title is suppressed.
    Because sometimes you really don't want or need that title
    there...
  • Michael(tm) Smith: man.string.subst.map.xml

    Updated manpages string-substitute map to reflect fact that
    because of another recent change to suppress bold markup in .SH
    output, we no longer need to add a workaround for the accidental
    uppercasing of roff escapes that occurred previously.
  • Jirka Kosek: margin.note.float.type.xml; title.font.family.xml; table.frame.border.color.x⋯

    Improved parameter metadata
  • Robert Stayton: profile.wordsize.xml; profile.audience.xml

    Add support for profiling on new attributes audience and wordsize.
  • Robert Stayton: callout.graphics.number.limit.xml; callout.graphics.extension.xml

    Added SVG graphics for fo output.
  • Robert Stayton: callout.icon.size.xml

    Set size of callout graphics.
  • Jirka Kosek: default.units.xml; chunker.output.method.xml; toc.list.type.xml; output.inden⋯

    Updated parameter metadata to the new format.
  • Jirka Kosek: man.output.quietly.xml; title.font.family.xml; footnote.sep.leader.properties⋯

    Added type annotations into parameter definition files.
  • Robert Stayton: section.container.element.xml

    Support spans in sections for certain processors.
  • Robert Stayton: component.titlepage.properties.xml

    Empty attribute set for top level component titlepage block.
    Allows setting a span on title info.
  • Jirka Kosek: bibliography.style.xml

    Added link to WiKi page with description of special markup needed for ISO690 biblioentries
  • Robert Stayton: make.year.ranges.xml

    Clarify that multiple year elements are required.
  • Robert Stayton: id.warnings.xml

    Turn off id.warnings by default.
  • Jirka Kosek: bibliography.style.xml

    Added support for formatting biblioentries according to ISO690 citation style.
    New bibliography style can be turned on by setting parameter bibliography.style to "iso690"
    The code was provided by Jana Dvorakova
  • Robert Stayton: header.table.properties.xml; footer.table.properties.xml

    Support adding table properties to header and footer tables.

Highlighting

The following changes have been made to the highlighting code since the 1.72.0 release.

  • Jirka Kosek: c-hl.xml; xslthl-config.xml

    Added support for C language. Provided by Bruno Guegan.

Profiling

The following changes have been made to the profiling code since the 1.72.0 release.

  • Robert Stayton: profile-mode.xsl

    Add support for new profiling attributes audience and wordsize.

Lib

The following changes have been made to the lib code since the 1.72.0 release.

  • Michael(tm) Smith: lib.xweb

    Changed name of prepend-pad template to pad-string and twheeked so
    it can do both right/left padding.

Tools

The following changes have been made to the tools code since the 1.72.0 release.

  • Michael(tm) Smith: bin; bin/docbook-xsl-update

    Did some cleanup to the install.sh source and added a
    docbook-xsl-update script to the docbook-xsl distro, the purpose
    of which is to facilitate easy sync-up to the latest docbook-xsl
    snapshot (by means of rsync).

XSL-Saxon

The following changes have been made to the xsl-saxon code since the 1.72.0 release.

  • Mauritz Jeanson: xalan27/src/com/nwalsh/xalan/Verbatim.java; xalan27/src/com/nwalsh/xalan/⋯

    Added modifications so that the new callout.icon.size parameter is taken into account. This 
    parameter is used for FO output (where SVG now is the default graphics format for callouts).
  • Mauritz Jeanson: saxon65/src/com/nwalsh/saxon/FormatCallout.java; xalan27/src/com/nwalsh/x⋯

    Added code for generating id attributes on callouts in HTML and FO output.
    These patches enable cross-references to callouts placed by area coordinates.
    It works for graphic, unicode and text callouts. 
    Part of fix for bug #1675513 (xref to area broken).
  • Michael(tm) Smith: saxon65/src/com/nwalsh/saxon/Website.java; xalan27/src/com/nwalsh/xalan⋯

    Copied over Website XSL Java extensions.

XSL-Xalan

The following changes have been made to the xsl-xalan code since the 1.72.0 release.

  • Michael(tm) Smith: Makefile; xalan2

    Turned off xalan2.jar build. This removes DocBook XSL
    Java extensions support for versions of Xalan prior to
    Xalan 2.7. If you are currently using the extensions
    with an earlier version of Xalan, you need to upgrade
    to Xalan 2.7.
  • Mauritz Jeanson: xalan27/src/com/nwalsh/xalan/Verbatim.java; xalan27/src/com/nwalsh/xalan/⋯

    Added modifications so that the new callout.icon.size parameter is taken into account. This 
    parameter is used for FO output (where SVG now is the default graphics format for callouts).
  • Mauritz Jeanson: saxon65/src/com/nwalsh/saxon/FormatCallout.java; xalan27/src/com/nwalsh/x⋯

    Added code for generating id attributes on callouts in HTML and FO output.
    These patches enable cross-references to callouts placed by area coordinates.
    It works for graphic, unicode and text callouts. 
    Part of fix for bug #1675513 (xref to area broken).
  • Michael(tm) Smith: saxon65/src/com/nwalsh/saxon/Website.java; xalan27/src/com/nwalsh/xalan⋯

    Copied over Website XSL Java extensions.

Release: 1.72.0

This release includes important bug fixes and adds the following significant feature changes:

Automatic sorting of glossary entries

The HTML and FO stylesheets now support automatic sorting of glossary entries. To enable glossary sorting, set the value of the glossary.sort parameter to 1 (by default, it’s value is 0). When you enable glossary sorting, glossentry elements within a glossary, glossdiv, or glosslist are sorted on the glossterm, using the current language setting. If you don’t enable glossary sorting, then the order of glossentry elements is left “as is” — that is, they are not sorted but are instead just displayed in document order.

WordML renamed to Roundtrip, OpenOffice support added

Stylesheets for “roundtrip” conversion between documents in OpenOffice format (ODF) and DocBook XML have been added to the set of stylesheets that formerly had the collective title WordML, and that set of stylesheets has been renamed to Roundtrip to better reflect the actual scope and purpose of its contents.

So the DocBook XSL Stylesheets now support roundtrip conversion (with certain limitations) of WordML, OpenOffice, and Apple Pages documents to and from DocBook XML.

Including QandASet questions in TOCs

The HTML stylesheet now provides support for including QandASet questions in the document TOC. To enable display of questions in the document TOC, set the value of the qanda.in.toc to 1 (by default, it’s 0). When you enable qanda.in.toc, then the generated table of contents for a document will include qandaset titles, qandadiv titles, and question elements. The default value of zero excludes them from the TOC.

Note

The qanda.in.toc parameter does not affect any tables of contents that may be generated within a qandaset or qandadiv (only in the document TOC).

Language identifier in man-page filenames and pathnames

Added new parameter man.output.lang.in.name.enabled, which controls whether a language identifier is included in man-page filenames and pathnames. It works like this:

If the value of man.output.lang.in.name.enabled is non-zero, man-page files are output with a language identifier included in their filenames or pathnames as follows:

index.page.number.properties property set

For FO output, use the index.page.number.properties to control formatting of page numbers in index output — to (for example) to display page numbers in index output in a different color (to indicate that they are links).

Crop marks in output from Antenna House XSL Formatter

Support has been added for generating crop marks in print/PDF output generated using Antenna House XSL Formatter

More string-substitution hooks in manpages output

The man.string.subst.map.local.pre and man.string.subst.map.local.post parameters have been added to enable easier control over custom string substitutions.

Moved verbatim properties to attribute-set

The hardcoded properties used in verbatim elements (literallayout, programlisting, screen) were moved to the verbatim.properties attribute-set so they can be more easily customized.

enhanced simple.xlink template

Now the simple.xlink template in inline.xsl works with cross reference elements xref and link as well. Also, more elements call simple.xlink, which enables DB5 xlink functionality.

DocBook 5 compatibility

Stylesheets now consistently support DocBook 5 attributes (such as xml:id). Also, DocBook 5 info elements are now checked along with other *info elements, and the use of name() function was replaced by local-name() so it also matches on DocBook 5 elements. These changes enable reusing the stylesheets with DocBook 5 documents with minimal fixup.

HTML class attributes now handled in class.attribute mode

The HTML class attributes were formerly hardcoded to the element name. Now the class attribute is generated by applying templates in class.attribute mode so class attribute names can be customized. The default is still the element name.

arabic-indic numbering enabled in autolabels

Numbering of chapter, sections, and pages can now use arabic-indic numbering when number format is set to 'arabicindic' or to ١.

The following is a detailed list of changes (not including bug fixes) that have been made since the 1.71.1 release.

Common

The following changes have been made to the common code since the 1.71.1 release.

  • Add support for arabicindic numbering to autolabel.format template.

  • Finish support for @xml:id everywhere @id is used.

  • replace name() with local-name() in most cases.

  • Add support for info.

  • Add utility template tabstyle to return the tabstyle from
    any table element.

FO

The following changes have been made to the fo code since the 1.71.1 release.

  • Add support for sorting glossary entries

  • Add table.row.properties template to customize table rows.

  • Moved all properties to attribute-sets so can be customized more easily.

  • Add index.page.number.properties attribute-set to format page numbers.

  • xref now supports xlink:href, using simple.xlink template.

  • Rewrote simple.xlink, and call it with all charseq templates.

  • Add simple.xlink processing to term and member elements.

  • Add support for crop marks in Antenna House.

HTML

The following changes have been made to the html code since the 1.71.1 release.

  • Add support for sorting glossary entries

  • Add support for qanda.in.toc to add qandaentry questions to document TOC.

  • add simple.xlink support to variablelist term and simplelist member.

  • *.propagates.style now handled in class.attribute mode.

  • add class parameter to class.attribute mode to set default class.

  • Convert all class attributes to use the class.attribute mode
    so class names can be customized more easily.

  • Add class.attribute mode to generate class attributes.

  • Added simple.xlink to most remaining inlines.
    Changed class attributes to applying class.attributes mode.

  • Changed xref template to use simple.xlink tempalte.

  • Improve generate.html.title to work with link targets too.

  • Improved simple.xlink to support link and xref.

  • Use new link.title.attribute now.

  • Rewrote simple.xlink to handle linkend also.
    Better computation of title attribute on link too.

  • Handle Xalan quirk as special case.

  • Add support for info.

  • Fixed imagemaps so they work properly going from calspair coords
    to HTML area coords.

Manpages

The following changes have been made to the manpages code since the 1.71.1 release.

  • Added doc for man.output.lang.in.name.enabled parameter. This
    checkin completes support for writing file/pathnames for man-pages
    with $lang include in the names. Closes #1585967. knightly
    accolades to Daniel Leidert for providing the feature request.

  • Added new param man.output.lang.in.name.enabled, which
    controls whether $LANG value is included in manpages
    filenames and pathnames. It works like this:

    If the value of man.output.lang.in.name.enabled is non-zero,
    man-page files are output with the $lang value included in
    their filenames or pathnames as follows;

    - if man.output.subdirs.enabled is non-zero, each file is
      output to, e.g., a /$lang/man8/foo.8 pathname

    - if man.output.subdirs.enabled is zero, each file is output
      with a foo.$lang.8 filename

  • Use "\e" instead of "\\" for backslash output, because the
    groff docs say that's the correct thing to do; also because
    testing (thanks, Paul Dubois) shows that "\\" doesn't always
    work as expected; for example, "\\" within a table seems to
    mess things up.

  • Added the man.string.subst.map.local.pre and
    man.string.subst.map.local.post parameters. Those parameters
    enable local additions and changes to string-substitution mappings
    without the need to change the value of man.string.subst.map
    parameter (which is for standard system mappings). Closes
    #1456738. Thanks to Sam Steingold for constructing a true
    stylesheet torture test (the clisp docs) that exposed the need for
    these params.

  • Added the Markup element to the list of elements that get output
    in bold. Thanks to Eric S. Raymond.

  • Replaced all dots in roff requests with U+2302 ("house"
    character), and added escaping in output for all instances of dot
    that are not in roff requests. This fixes the problem case where a
    string beginning with a dot (for example, the string ".bashrc")
    might occur at the beginning of a line in output, in which case 
    would mistakenly get interpreted as a roff request. Thanks to Eric
    S. Raymond for pushing to fix this.

  • Made change to ensure that list content nested in
    itemizedlist and orderedlist instances is properly indented. This
    is a switch from using .TP to format those lists to using .RS/.RE
    to format them instead (because .TP does not allow nesting). Closes bug #1602616.
    Thanks to Daniel Leidert.

Params

The following changes have been made to the params code since the 1.71.1 release.

  • Added doc for man.output.lang.in.name.enabled parameter. This
    checkin completes support for writing file/pathnames for man-pages
    with $lang include in the names. Closes #1585967. knightly
    accolades to Daniel Leidert for providing the feature request.

  • Added new param man.output.lang.in.name.enabled, which
    controls whether $LANG value is included in manpages
    filenames and pathnames. It works like this:

    If the value of man.output.lang.in.name.enabled is non-zero,
    man-page files are output with the $lang value included in
    their filenames or pathnames as follows;

    - if man.output.subdirs.enabled is non-zero, each file is
      output to, e.g., a /$lang/man8/foo.8 pathname

    - if man.output.subdirs.enabled is zero, each file is output
      with a foo.$lang.8 filename

  • Added the man.string.subst.map.local.pre and
    man.string.subst.map.local.post parameters. Those parameters
    enable local additions and changes to string-substitution mappings
    without the need to change the value of man.string.subst.map
    parameter (which is for standard system mappings). Closes
    #1456738. Thanks to Sam Steingold for constructing a true
    stylesheet torture test (the clisp docs) that exposed the need for
    these params.

  • Add index.page.number.properties by default.

  • Added index.page.number.properties to allow customizations of page numbers in indexes.

  • Move show-destination="replace" property from template to attribute-set
    so it can be customized.

  • Add support for sorting glossary entries

  • Add option to include qanda in tables of contents.

  • Moved all properties to attribute-sets so can be customized more easily.

Template

The following changes have been made to the template code since the 1.71.1 release.

  • Added workaround for Xalan bug: use for-each and copy instead of copy-of (#1604770).

Roundtrip

The following changes have been made to the roundtrip code since the 1.71.1 release.

  • rename to roundtrip, add OpenOffice support

Release: 1.71.1

This is a minor update to the 1.71.0 release. Along with a number of bug fixes, it includes two feature changes:

  • Added support for profiling based on xml:lang and status attributes.

  • Added initial support in manpages output for footnote, annotation, and alt instances. Basically, they all now get handled the same way ulink instances are. They are treated as a class as "note sources": A numbered marker is generated at the place in the main text flow where they occur, then their contents are displayed in an endnotes section at the end of the man page.

Common

The following changes have been made to the common code since the 1.71.1 release.

  • For backward compatability autoidx-ng.xsl is invoking "kosek" indexing method again.

  • Add support for Xalan generating a root xml:base like saxon.

FO

The following changes have been made to the fo code since the 1.71.1 release.

  • For backward compatability autoidx-ng.xsl is invoking "kosek" indexing method again.

  • Add support for Xalan to add root node xml:base for db5 docs.

  • Added support for profiling based on xml:lang and status attributes.

HTML

The following changes have been made to the html code since the 1.71.1 release.

  • For backward compatability autoidx-ng.xsl is invoking "kosek" indexing method again.

  • Add support for Xalan to add root node xml:base for db5 docs.

  • Added support for profiling based on xml:lang and status attributes.

  • Made changes in namespace declarations to prevent xmllint's
    canonicalizer from treating them as relative namespace URIs.

      - Changed xmlns:k="java:com.isogen.saxoni18n.Saxoni18nService"
        to xmlns:k="http://www.isogen.com/functions/com.isogen.saxoni18n.Saxoni18nService";
        Saxon accepts either form
        (see http://www.saxonica.com/documentation/extensibility/functions.html);
        to Saxon, "the part of the URI before the final '/' is immaterial".

      - Changed, e.g. xmlns:xverb="com.nwalsh.xalan.Verbatim" to
        xmlns:xverb="xalan://com.nwalsh.xalan.Verbatim"; Xalan accepts
        either form
        (see http://xml.apache.org/xalan-j/extensions.html#java-namespace-declare);
        just as Saxon does, it will "simply use the string to the
        right of the rightmost forward slash as the Java class name".

      - Changed xmlns:xalanredirect="org.apache.xalan.xslt.extensions.Redirect"
        to xmlns:redirect="http://xml.apache.org/xalan/redirect", and
        adjusted associated code to make the current Xalan redirect spec.
        (see http://xml.apache.org/xalan-j/apidocs/org/apache/xalan/lib/Redirect.html)

  • Added the html.append and chunk.append parameters. By default, the
    value of both is empty; but the internal DocBook XSL stylesheets
    build sets their value to "<xsl:text>&#x0a;</xsl:text>", in order
    to ensure that all files in the docbook-xsl-doc package end in a
    newline character. (Because diff and some other tools may emit
    error messages and/or not behave as expected when processing
    files that are not newline-terminated.)

Highlighting

The following changes have been made to the highlighting code since the 1.71.1 release.

  • Added license information

Manpages

The following changes have been made to the manpages code since the 1.71.1 release.

  • Added initial support in manpages output for footnoteannotation,
    and alt instances. Basically, they all now get handled the same
    way ulink instances are. They are treated as a class as "note
    sources": A numbered marker is generated at the place in the main
    text flow where they occur, then their contents are displayed in
    an endnotes section at the end of the man page (currently titled
    REFERENCES,&nb