Release Notes for the DocBook XSL Stylesheets

$Revision: 8446 $ $Date: 2009-05-27 17:31:50 -0700 (Wed, 27 May 2009) $

2009-05-27

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.75.1

    FO
    HTML
    Epub
    Params

Release Notes: 1.75.0

    Gentext
    Common
    FO
    HTML
    Manpages
    ePub
    HTMLHelp
    Params
    Highlighting
    XSL-Saxon
    XSL-Xalan

Release Notes: 1.74.3
Release Notes: 1.74.2
Release Notes: 1.74.1

    Gentext
    FO
    HTML
    Manpages
    ePub
    Roundtrip
    Params
    Highlighting

Release Notes: 1.74.0

    Gentext
    Common
    FO
    HTML
    Manpages
    Epub
    HTMLHelp
    Eclipse
    JavaHelp
    Roundtrip
    Slides
    Website
    Params
    Profiling
    Tools
    Extensions
    XSL-Saxon
    XSL-Xalan
    XSL-libxslt

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.75.1

This release includes bug fixes.

The following is a list of changes that have been made since the 1.75.0
release.

FO

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

  ● Keith Fahlgren: block.xsl

    Switching to em dash for character before attribution in epigraph; resolves Bug #2793878

  ● Robert Stayton: lists.xsl

    Fixed bug 2789947, id attribute missing on simplelist fo output.

HTML

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

  ● Keith Fahlgren: block.xsl

    Switching to em dash for character before attribution in epigraph; resolves Bug #2793878

  ● Robert Stayton: lists.xsl

    Fixed bug 2789678: apply-templates line accidentally deleted.

Epub

The following changes have been made to the epub code since the 1.75.0 release.

  ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl

    Added regression and fix to correct "bug" with namespace-prefixed container elements in META-INF/container.xml ; resolves Issue #2790017

  ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/
    onegraphic.xinclude.xml;⋯

    Another attempt at flexible named entity and XInclude processing

  ● Keith Fahlgren: bin/lib/docbook.rb

    Tweaking solution to Bug #2750442 following regression reported by Michael Wiedmann.

Params

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

  ● Mauritz Jeanson: highlight.source.xml

    Updated documentation to reflect changes made in r8419.

Release Notes: 1.75.0

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

Gentext

    Modifications to translations have been made.

Common

    Added support for some format properties on tables using HTML table markup.

    Added two new qanda.defaultlabel values so that numbered sections and
    numbered questions can be distinguished. Satisfies Feature Request #
    1539045.

    Added code to handle acknowledgements in book and part. The element is
    processed similarly to dedication. All acknowledgements will appear as
    front matter, after any dedications.

FO

    The inclusion of highlighting code has been simplified.

    Add support for pgwide on informal objects.

    Added a new parameter, bookmarks.collapse, that controls the initial state
    of the bookmark tree. Closes FR #1792326.

    Add support for more dbfo processing instructions.

    Add new variablelist.term.properties to format terms, per request #
    1968513.

    Add support for @width on screen and programlisting, fixes bug #2012736.

    Add support for writing-mode="rl-tb" (right-to-left) in FO outputs.

    Add writing.mode param for FO output.

HTML

    Convert all calls to class.attribute to calls to common.html.attributes to
    support dir, lang, and title attributes in html output for all elements.
    Fulfills feature request #1993833.

    Inclusion of highlighting code was simplified. Only one import is now
    necessary.

    Add new param index.links.to.section.

    Add support for the new index.links.to.section param which permits precise
    links to indexterms in HTML output rather than to the section title.

ePub

    Slightly more nuanced handling of imageobject alternatives and better
    support in dbtoepub for XIncludes and ENTITYs to resolve Issue #2750442
    reported by Raphael Hertzog.

    Added a colon after an abstract/title when mapping into the dc:description
    for OPF metadata in ePub output to help the flat text have more
    pseudo-semantics (sugestions from Michael Wiedmann)

    Added DocBook subjectset -> OPF dc:subject mapping and tests

    Added DocBook date -> OPF dc:date mapping and tests

    Added DocBook abstract -> OPF dc:description mapping and tests

    Added --output option to dbtoepub based on user request

HTMLHelp

    Add support for generating olink target database for htmlhelp files.

Params

    Add default setting for @rules attribute on HTML markup tables.

    Added a new parameter, bookmarks.collapse, that controls the initial state
    of the bookmark tree. When the parameter has a non-zero value (the
    default), only the top-level bookmarks are displayed initially. Otherwise,
    the whole tree of bookmarks is displayed. This is implemented for FOP 0.9X.
    Closes FR #1792326.

    Add new variablelist.term.properties to format terms, per request #
    1968513.

    Add two new qanda.defaultlabel values so that numbered sections and
    numbered questions can be distinguished. Satisfies Feature Request #
    1539045.

    Add param to control whether an index entry links to a section title or to
    the precise location of the indexterm.

    New attribute list for glossentry in glossary.

    New parameter to support @width on programlisting and screen.

    Add attribute-sets for formatting glossary terms and defs.

Highlighting

    Inclusion of highlighting code was simplified. Only one import is now
    necessary.

The following is a list of changes that have been made since the 1.74.3
release.

Gentext

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

  ● Robert Stayton: locale/sv.xml; locale/ja.xml; locale/pl.xml

    Check in translations of Legalnotice submitted on mailing list.

  ● Robert Stayton: locale/es.xml

    Fix spelling errors in Acknowledgements entries.

  ● Robert Stayton: locale/es.xml

    Check in translations for 4 elements submitted through docbook-apps
    message of 14 April 2009.

  ● David Cramer: locale/zh.xml; locale/ca.xml; locale/ru.xml; locale/ga.xml;
    locale/gl.xml; l⋯

    Internationalized punctuation in glosssee and glossseealso

  ● Robert Stayton: Makefile

    Check in fixes for DSSSL gentext targets from submitted patch #1689633.

  ● Robert Stayton: locale/uk.xml

    Check in major update submitted with bug report #2008524.

  ● Robert Stayton: locale/zh_tw.xml

    Check in fix to Note string submitted in bug #2441051.

  ● Robert Stayton: locale/ru.xml

    Checkin typo fix submitted in bug #2453406.

Common

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

  ● Robert Stayton: gentext.xsl

    Fix extra generated space when xrefstyle includes 'nopage'.

  ● Robert Stayton: table.xsl

    Add support for some format properties on tables using
    HTML table markup.  These include:
      - frame attribute on table (or uses $default.table.frame parameter).
      - rules attribute on table (or uses $default.table.rules parameter).
      - align attribute on td and th
      - valign attribute on td and th
      - colspan on td and th
      - rowspan on td and th
      - bgcolor on td and th

  ● Robert Stayton: olink.xsl

    Add placeholder template to massage olink hot text to make
    customization easier, per Feature Request 1828608.

  ● Robert Stayton: targets.xsl

    Add support for collecting olink targets from a glossary
    generated from a glossary.collection.

  ● Robert Stayton: titles.xsl

    Handle firstterm like glossterm in mode="title.markup".

  ● Robert Stayton: titles.xsl

    Add match on info/title in title.markup templates where missing.

  ● Mauritz Jeanson: titles.xsl

    Changed "ancestor::title" to "(ancestor::title and (@id or @xml:id))".
    This enables proper formatting of inline elements in titles in TOCs,
    as long as these inlines don't have id or xml:id attributes.

  ● Robert Stayton: labels.xsl

    Add two new qanda.defaultlabel values so that numbered sections
    and numbered questions can be distinguished.  Satisfies
    Feature Request #1539045.

  ● Robert Stayton: stripns.xsl; pi.xsl

    Convert function-available(exsl:node-set) to use the new param
    so Xalan bug is isolated.

  ● Mauritz Jeanson: titles.xsl

    Added fixes for bugs #2112656 and #1759205:
    1. Reverted mistaken commits r7485 and r7523.
    2. Updated the template with match="link" and mode="no.anchor.mode" so that
    @endterm is used if it exists and if the link has no content.

  ● Mauritz Jeanson: titles.xsl

    Added code to handle acknowledgements in book and part. The element is processed
    similarly to dedication. All acknowledgements will appear as front matter, after
    any dedications.

  ● Robert Stayton: olink.xsl

    Fix bug #2018717 use.local.olink.style uses wrong gentext context.

  ● Robert Stayton: olink.xsl

    Fix bug #1787167 incorrect hot text for some olinks.

  ● Robert Stayton: common.xsl

    Fix bug #1669654 Broken output if copyright <year> contains a range.

  ● Robert Stayton: labels.xsl

    Fix bug in labelling figure inside appendix inside article inside book.

FO

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

  ● Jirka Kosek: highlight.xsl

    Inclusion of highlighting code was simplified. Only one import is now necessary.

  ● Robert Stayton: fop1.xsl

    Add the new fop extensions namespace declaration, in case FOP
    extension functions are used.

  ● Robert Stayton: formal.xsl

    Add support for pgwide on informal objects.

  ● Robert Stayton: docbook.xsl

    Fixed spurious closing quote on line 134.

  ● Robert Stayton: docbook.xsl; autoidx-kosek.xsl; autoidx.xsl

    Convert function-available for node-set() to use
    new $exsl.node.set.available param in test.

  ● David Cramer: xref.xsl

    Suppress extra space after xref when xrefstyle='select: label nopage' (#2740472)

  ● Mauritz Jeanson: pi.xsl

    Fixed doc bug for row-height.

  ● David Cramer: glossary.xsl

    Internationalized punctuation in glosssee and glossseealso

  ● Robert Stayton: param.xweb; param.ent; htmltbl.xsl; table.xsl

    Add support for some format properties on tables using
    HTML table markup.  These include:
      - frame attribute on table (or uses $default.table.frame parameter).
      - rules attribute on table (or uses $default.table.rules parameter).
      - align attribute on td and th
      - valign attribute on td and th
      - colspan on td and th
      - rowspan on td and th
      - bgcolor on td and th

  ● Robert Stayton: table.xsl

    Add support bgcolor in td and th
    elements in HTML table markup.

  ● Robert Stayton: htmltbl.xsl

    Add support for colspan and rowspan and bgcolor in td and th
    elements in HTML table markup.

  ● Robert Stayton: param.xweb

    Fix working of page-master left and right margins.

  ● Mauritz Jeanson: param.xweb; param.ent; fop1.xsl

    Added a new parameter, bookmarks.collapse, that controls the initial state of the bookmark tree. When the parameter has a non-zero value (the default), only the top-level bookmarks are displayed initially. Otherwise, the whole tree of bookmarks is displayed.  This is implemented for FOP 0.9X. Closes FR #1792326.

  ● Robert Stayton: table.xsl; pi.xsl

    Add support for dbfo row-height processing instruction, like that in dbhtml.

  ● Robert Stayton: lists.xsl

    Add support for dbfo keep-together processing instruction for
    entire list instances.

  ● Robert Stayton: lists.xsl; block.xsl

    Add support fo dbfo keep-together processing instruction to
    more blocks like list items and paras.

  ● Robert Stayton: lists.xsl; param.xweb; param.ent

    Add new variablelist.term.properties to format terms, per request # 1968513.

  ● Robert Stayton: inline.xsl

    In simple.xlink, rearrange order of processing.

  ● Robert Stayton: xref.xsl

    Handle firstterm like glossterm in mode="xref-to".

  ● Robert Stayton: glossary.xsl; xref.xsl; pi.xsl; footnote.xsl

    Implement simple.xlink for glosssee and glossseealso so they can use
    other types of linking besides otherterm.

  ● Robert Stayton: qandaset.xsl

    Add two new qanda.defaultlabel values so that numbered sections and numbered questions can be distinguished.  Satisfies Feature Request #1539045.

  ● Robert Stayton: titlepage.xsl

    For the book title templates, I changed info/title to book/info/title
    so other element's titles will not be affected.

  ● Robert Stayton: xref.xsl; verbatim.xsl

    Use param exsl.node.set.available to test for function.

  ● Robert Stayton: param.xweb; param.ent; footnote.xsl

    Start using new param exsl.node.set.available to work around Xalan bug.

  ● Robert Stayton: titlepage.templates.xml

    Add comment on use of t:predicate for editor to prevent
    extra processing of multiple editors. Fixes bug 2687842.

  ● Robert Stayton: xref.xsl; autoidx.xsl

    An indexterm primary, secondary, or tertiary element with an id or xml:id
    now outputs that ID, so that index entries can be cross referenced to.

  ● Mauritz Jeanson: synop.xsl

    Added modeless template for ooclass|oointerface|ooexception.
    Closes bug #1623468.

  ● Robert Stayton: xref.xsl

    Add template with match on indexterm in mode="xref-to" to fix bug 2102592.

  ● Robert Stayton: xref.xsl

    Now xref to qandaentry will use the label element in a question for
    the link text if it has one.

  ● Robert Stayton: inline.xsl

    Add id if specified from @id to output for quote and phrase so
    they can be xref'ed to.

  ● Robert Stayton: xref.xsl

    Add support for xref to phrase, simpara, anchor, and quote.
    This assumes the author specifies something using xrefstyle since
    the elements don't have ordinary link text.

  ● Robert Stayton: toc.xsl

    Fix bug in new toc templates.

  ● Mauritz Jeanson: titlepage.xsl; component.xsl; division.xsl; xref.xsl;
    titlepage.templates⋯

    Added code to handle acknowledgements in book and part. The element is processed
    similarly to dedication. All acknowledgements will appear as front matter, after
    any dedications.

  ● Robert Stayton: toc.xsl

    Rewrite toc templates to support an empty toc or populated toc
    in all permitted contexts.  Same for lot elements.
    This fixes bug #1595969 for FO outputs.

  ● Robert Stayton: index.xsl

    Fix indents for seealsoie so they are consistent.

  ● Mauritz Jeanson: param.xweb

    Removed duplicate (monospace.font.family).

  ● Robert Stayton: param.xweb; param.ent

    Add glossentry.list.item.properties.

  ● Robert Stayton: param.xweb; param.ent

    Add monospace.verbatim.font.width param to support @width on programlisting.

  ● Robert Stayton: verbatim.xsl

    Put programlisting in fo:block-container with writing-mode="lr-tb"
    when text direction is right to left because all program languages
    are left-to-right.

  ● Robert Stayton: verbatim.xsl

    Add support for @width on screen and programlisting, fixes bug #2012736.

  ● Robert Stayton: xref.xsl

    Fix bug #1973585 xref to para with xrefstyle not handled correctly.

  ● Mauritz Jeanson: block.xsl

    Added support for acknowledgements in article.
    Support in book/part remains to be added.

  ● Robert Stayton: xref.xsl

    Fix bug #1787167 incorrect hot text for some olinks.

  ● Robert Stayton: fo.xsl

    Add writing-mode="tb-rl" as well since some XSL-FO processors support it.

  ● Robert Stayton: autotoc.xsl; lists.xsl; glossary.xsl; fo.xsl; table.xsl;
    pagesetup.xsl

    Add support for writing-mode="rl-tb" (right-to-left) in FO outputs.
    Changed instances of margin-left to margin-{$direction.align.start}
    and margin-right to margin-{$direction.align.end}. Those direction.align
    params are computed from the writing mode value in each locale's
    gentext key named 'writing-mode', introduced in 1.74.3 to add
    right-to-left support to HTML outputs.

  ● Robert Stayton: param.xweb; param.ent

    Add attribute-sets for formatting glossary terms and defs.

  ● Robert Stayton: param.xweb; param.ent

    Add writing.mode param for FO output.

  ● Robert Stayton: autotoc.xsl

    Fix bug 1546008: in qandaentry in a TOC, use its blockinfo/titleabbrev or blockinfo/title
    instead of question, if available. For DocBook 5, use the info versions.

  ● Keith Fahlgren: verbatim.xsl

    Add better pointer to README for XSLTHL

  ● Keith Fahlgren: verbatim.xsl

    More tweaking the way that XSLTHL does or does not get called

  ● Keith Fahlgren: verbatim.xsl

    Alternate attempt at sanely including/excluding XSLTHT code

HTML

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

  ● Robert Stayton: lists.xsl

    Removed redundant lang and title attributes on list element inside
    div element for lists.

  ● Robert Stayton: inline.xsl; titlepage.xsl; division.xsl; toc.xsl;
    sections.xsl; table.xsl;⋯

    Convert all calls to class.attribute to calls to common.html.attributes
    to support dir, lang, and title attributes in html output for all elements.
    Fulfills feature request #1993833.

  ● Robert Stayton: chunk-common.xsl

    Fix bug #2750253 wrong links in list of figures in chunk.html
    when target html is in a subdirectory and dbhtml filename used.

  ● Jirka Kosek: highlight.xsl

    Inclusion of highlighting code was simplified. Only one import is now necessary.

  ● Robert Stayton: chunk-common.xsl; chunktoc.xsl; docbook.xsl;
    chunk-changebars.xsl; autoidx⋯

    Convert function-available for node-set() to use
    new $exsl.node.set.available param in test.

  ● Mauritz Jeanson: pi.xsl

    Fixed doc bug for row-height.

  ● David Cramer: glossary.xsl

    Internationalized punctuation in glosssee and glossseealso

  ● Robert Stayton: lists.xsl; html.xsl; block.xsl

    More elements get common.html.attributes.
    Added locale.html.attributes template which does the lang,
    dir, and title attributes, but not the class attribute
    (used on para, for example).

  ● Robert Stayton: lists.xsl

    Replace more literal class atts with mode="class.attribute" to support
    easier customization.

  ● Robert Stayton: glossary.xsl

    Support olinking in glosssee and glossseealso.

  ● Robert Stayton: inline.xsl

    In simple.xlink, rearrange order of processing.

  ● Robert Stayton: xref.xsl

    Handle firstterm like glossterm in mode="xref-to".

  ● Robert Stayton: lists.xsl; html.xsl; block.xsl

    Added template named common.html.attributes to output
    class, title, lang, and dir for most elements.
    Started adding it to some list and block elements.

  ● Robert Stayton: qandaset.xsl

    Add two new qanda.defaultlabel values so that numbered sections
    and numbered questions can be distinguished.  Satisfies
    Feature Request #1539045.

  ● Robert Stayton: param.xweb; chunk-code.xsl; param.ent; xref.xsl;
    chunkfast.xsl; verbatim.x⋯

    Use new param exsl.node.set.available to test, handles Xalan bug.

  ● Robert Stayton: autoidx.xsl

    Use named anchors for primary, secondary, and tertiary ids so
    duplicate entries with different ids can still have an id output.

  ● Robert Stayton: param.xweb; param.ent

    Add new param index.links.to.section.

  ● Robert Stayton: xref.xsl; autoidx.xsl

    Pass through an id on primary, secondary, or tertiary to
    the index entry, so that one could link to an index entry.
    You can't link to the id on an indexterm because that is
    used to place the main anchor in the text flow.

  ● Robert Stayton: autoidx.xsl

    Add support for the new index.links.to.section param which permits
    precise links to indexterms in HTML output rather than to
    the section title.

  ● Mauritz Jeanson: synop.xsl

    Added modeless template for ooclass|oointerface|ooexception.
    Closes bug #1623468.

  ● Robert Stayton: qandaset.xsl

    Make sure a qandaset has an anchor, even when it has no title,
    because it may be referenced in a TOC or xref.
    Before, the anchor was output by the title, but there was no
    anchor if there was no title.

  ● Robert Stayton: xref.xsl

    Add a template for indexterm with mode="xref-to" to fix bug 2102592.

  ● Robert Stayton: xref.xsl

    Now xref to qandaentry will use the label element in a question for
    the link text if it has one.

  ● Robert Stayton: qandaset.xsl; html.xsl

    Create separate templates for computing label of question and answer
    in a qandaentry, so such can be used for the alt text of an xref
    to a qandaentry.

  ● Robert Stayton: inline.xsl; xref.xsl

    Now support xref to phrase, simpara, anchor, and quote,
    most useful when an xrefstyle is used.

  ● Robert Stayton: toc.xsl

    Rewrite toc templates to support an empty toc or populated toc
    in all permitted contexts.  Same for lot elements.
    This fixes bug #1595969 for HTML outputs.

  ● Mauritz Jeanson: titlepage.xsl; component.xsl; division.xsl; xref.xsl;
    titlepage.templates⋯

    Added code to handle acknowledgements in book and part. The element is processed
    similarly to dedication. All acknowledgements will appear as front matter, after
    any dedications.

  ● Robert Stayton: index.xsl

    Rewrote primaryie, secondaryie and tertiaryie templates to handle
    nesting of elements and seeie and seealsoie, as reported in
    bug # 1168912.

  ● Robert Stayton: autotoc.xsl

    Fix simplesect in toc problem.

  ● Robert Stayton: verbatim.xsl

    Add support for @width per bug report #2012736.

  ● Robert Stayton: formal.xsl; htmltbl.xsl

    Fix bug #1787140 HTML tables not handling attributes correctly.

  ● Robert Stayton: param.xweb

    Move writing-mode param.

  ● Keith Fahlgren: refentry.xsl

    Remove a nesting of <p> inside <p> for refclass (made XHTML* invalid, made HTML silly)

  ● Robert Stayton: table.xsl

    Fix bug #1945872 to allow passthrough of colwidth values to
    HTML table when no tablecolumns.extension is available and
    when no instance of * appears in the table's colspecs.

  ● Mauritz Jeanson: block.xsl

    Added support for acknowledgements in article.
    Support in book/part remains to be added.

  ● Robert Stayton: chunk-common.xsl

    Fix bug #1787167 incorrect hot text for some olinks.

  ● Robert Stayton: qandaset.xsl

    Fix bug 1546008: in qandaentry in a TOC, use its blockinfo/titleabbrev or blockinfo/title
    instead of question, if available. For DocBook 5, use the info versions.

  ● Robert Stayton: chunktoc.xsl

    Add support for generating olink database when using chunktoc.xsl.

  ● Keith Fahlgren: verbatim.xsl

    Add better pointer to README for XSLTHL

  ● Keith Fahlgren: verbatim.xsl

    Another stab at fixing the stupid XSLTHT includes across processors (Saxon regression reported by Sorin Ristache)

  ● Keith Fahlgren: verbatim.xsl

    More tweaking the way that XSLTHL does or does not get called

  ● Keith Fahlgren: verbatim.xsl

    Alternate attempt at sanely including/excluding XSLTHT code

Manpages

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

  ● Robert Stayton: table.xsl

    Convert function-available test for node-set() function to
    test of $exsl.node.set.available param.

  ● Mauritz Jeanson: lists.xsl

    Added a template for bibliolist. Closes bug #1815916.

ePub

The following changes have been made to the epub code since the 1.74.3 release.

  ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/
    onegraphic.xinclude.xml;⋯

    Slightly more nuanced handling of imageobject alternatives and better support in dbtoepub for XIncludes and ENTITYs to resolve Issue #2750442 reported by Raphael Hertzog.

  ● Keith Fahlgren: docbook.xsl

    Add a colon after an abstract/title when mapping into the dc:description for OPF metadata in ePub output to help the flat text have more pseudo-semantics (sugestions from Michael Wiedmann)

  ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl; bin/spec/
    files/de.xml

    Correctly set dc:language in OPF metadata when i18nizing. Closes Bug #2755150

  ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; docbook.xsl

    Corrected namespace declarations for literal XHTML elements to make them serialize "normally"

  ● Keith Fahlgren: docbook.xsl

    Be a little bit more nuanced about dates

  ● Keith Fahlgren: docbook.xsl; bin/spec/epub_realbook_spec.rb; bin/spec/files
    /orm.book.001.x⋯

    Add DocBook subjectset -> OPF dc:subject mapping and tests

  ● Keith Fahlgren: docbook.xsl; bin/spec/epub_realbook_spec.rb; bin/spec/files
    /orm.book.001.x⋯

    Add DocBook date -> OPF dc:date mapping and tests

  ● Keith Fahlgren: docbook.xsl; bin/spec/epub_realbook_spec.rb; bin/spec/files
    /orm.book.001.x⋯

    Add DocBook abstract -> OPF dc:description mapping and tests

  ● Robert Stayton: docbook.xsl

    Check in patch submitted by user to add opf:file-as attribute
    to dc:creator element.

  ● Keith Fahlgren: bin/dbtoepub

    Adding --output option to dbtoepub based on user request

  ● Keith Fahlgren: docbook.xsl; bin/spec/epub_spec.rb

    Cleaning and regularizing the generation of namespaced nodes for OPF, NCX, XHTML and other outputted filetypes (hat tip to bobstayton for pointing out the silly, incorrect code)

  ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/
    refclass.xml

    Remove a nesting of <p> inside <p> for refclass (made XHTML* invalid, made HTML silly)

  ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/
    blockquotepre.xml

    Added regression test and fix for XHTML validation problem with <a>s added inside <blockquote>; This potentially causes another problem (where something is referenced by has no anchor, but someone reporting that should cause the whole <a id='thing'/> thing to be reconsidered with modern browsers in mind.

HTMLHelp

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

  ● Robert Stayton: htmlhelp-common.xsl

    Add support for generating olink target database for htmlhelp files.

Params

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

  ● Robert Stayton: default.table.rules.xml

    Add default setting for @rules attribute on HTML markup tables.

  ● Mauritz Jeanson: bookmarks.collapse.xml

    Added a new parameter, bookmarks.collapse, that controls the initial state
    of the bookmark tree. When the parameter has a non-zero value (the default),
    only the top-level bookmarks are displayed initially. Otherwise, the whole
    tree of bookmarks is displayed.

    This is implemented for FOP 0.9X. Closes FR #1792326.

  ● Robert Stayton: variablelist.term.properties.xml

    Add new variablelist.term.properties to format terms, per
    request # 1968513.

  ● Robert Stayton: qanda.defaultlabel.xml

    Add two new qanda.defaultlabel values so that numbered sections
    and numbered questions can be distinguished.  Satisfies
    Feature Request #1539045.

  ● Robert Stayton: index.links.to.section.xml

    Change default to 1 to match past behavior.

  ● Robert Stayton: exsl.node.set.available.xml

    Isolate this text for Xalan bug regarding exsl:node-set available.
    If it is ever fixed in Xalan, just fix it here.

  ● Robert Stayton: index.links.to.section.xml

    Add param to control whether an index entry links to
    a section title or to the precise location of the
    indexterm.

  ● Robert Stayton: glossentry.list.item.properties.xml

    New attribute list for glossentry in glossary.

  ● Robert Stayton: monospace.verbatim.font.width.xml

    New parameter to support @width on programlisting and screen.

  ● Mauritz Jeanson: highlight.source.xml

    Updated and reorganized the description.

  ● Robert Stayton: page.margin.outer.xml; page.margin.inner.xml

    Add caveat about XEP bug when writing-mode is right-to-left.

  ● Robert Stayton: article.appendix.title.properties.xml; writing.mode.xml;
    body.start.indent⋯

    Change 'left' to 'start' and 'right' to 'end' to support right-to-left
    writing mode.

  ● Robert Stayton: glossdef.block.properties.xml;
    glossdef.list.properties.xml; glossterm.blo⋯

    Add attribute-sets for formatting glossary terms and defs.

  ● Robert Stayton: glossterm.separation.xml

    Clarify the description.

  ● Robert Stayton: make.year.ranges.xml

    Now handles year element containing a comma or dash without error.

Highlighting

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

  ● Jirka Kosek: README

    Inclusion of highlighting code was simplified. Only one import is now necessary.

  ● Keith Fahlgren: README

    Adding XSLTHL readme

  ● Keith Fahlgren: common.xsl

    Alternate attempt at sanely including/excluding XSLTHT code

XSL-Saxon

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

  ● Mauritz Jeanson: src/com/nwalsh/saxon/Text.java

    Added a fix that prevents output of extra blank line.
    Hopefully this closes bug #894805.

XSL-Xalan

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

  ● Mauritz Jeanson: src/com/nwalsh/xalan/Text.java

    Added a fix that prevents output of extra blank line.
    Hopefully this closes bug #894805.

Release Notes: 1.74.3

This release fixes some bugs in the 1.74.2 release.

See highlighting/README for XSLTHL usage instructions.

Release Notes: 1.74.2

This release fixes some bugs in the 1.74.1 release.

Release Notes: 1.74.1

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

Gentext

    Kirghiz locale added and Chinese translations have been simplified.

    Somme support for gentext and right-to-left languages has been added.

FO

    Various bugs have been resolved.

    Support for a new processing instruction: dbfo funcsynopsis-style has been
    added.

    Added new param email.mailto.enabled for FO output. Patch from Paolo
    Borelli.

    Support for documented metadata in fop1 mode has been added.

Highlighting

    Support for the latest version of XSLTHL 2.0 and some new language syntaxes
    have been added to a variety of outputs.

Manpages

    Added man.output.better.ps.enabled param (zero default). It non-zero, no
    such markup is embedded in generated man pages, and no enhancements are
    included in the PostScript output generated from those man pages by the man
    -Tps command.

HTML

    Support for writing.mode to set text direction and alignment based on
    document locale has been added.

    Added a new top-level stylesheet module, chunk-changebars.xsl, to be used
    for generating chunked output with highlighting based on change
    (@revisionflag) markup. The module imports/includes the standard chunking
    and changebars templates and contains additional logic for chunked output.
    See FRs #1015180 and #1819915.

ePub

    Covers now look better in Adobe Digital Editions thanks to a patch from
    Paul Norton of Adobe

    Cover handling now more generic (including limited DocBook 5.0 cover
    support thanks to patch contributed by Liza Daly.

    Cover markup now carries more reliably into files destined for .mobi and
    the Kindle.

    dc:identifiers are now generated from more types of numbering schemes.

    Both SEO and semantic structure of chunked ePub output by ensuring that we
    always send out one and only one h1 in each XHTML chunk.

    Primitive support for embedding a single font added.

    Support for embedding a CSS customizations added.

Roundtrip

    Support for imagedata-metadata and table as images added.

    Support for imagedata-metadata and legalnotice as images added.

Params

    man.output.better.ps.enabled added for Manpages output

    writing.mode.xml added to set text direction.

    Added new param email.mailto.enabled for FO output. Patch from Paolo
    Borelli. Closes #2086321.

    highlight.source upgraded to support the latest version of XSLTHL 2.0.

The following is a list of changes that have been made since the 1.74.0
release.

Gentext

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

  ● Michael(tm) Smith: locale/ky.xml; Makefile

    new Kirghiz locale from Ilyas Bakirov

  ● Mauritz Jeanson: locale/en.xml

    Added "Acknowledgements".

  ● Dongsheng Song: locale/zh_cn.xml

    Simplified Chinese translation.

  ● Robert Stayton: locale/lv.xml; locale/ca.xml; locale/pt.xml; locale/tr.xml;
    locale/af.xml;⋯

    Add writing-mode gentext string to support right-to-left languages.

FO

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

  ● David Cramer: footnote.xsl

    Added a check to confirm that a footnoteref's linkend points to a footnote. Stylesheets stop processing if not and provide a useful error message.

  ● Mauritz Jeanson: spaces.xsl

    Convert spaces to fo:leader also in elements in the DB 5 namespace.

  ● Mauritz Jeanson: pi.xsl; synop.xsl

    Added support for a new processing instruction: dbfo funcsynopsis-style.
    Closes bug #1838213.

  ● Michael(tm) Smith: inline.xsl; param.xweb; param.ent

    Added new param email.mailto.enabled for FO output.
    Patch from Paolo Borelli. Closes #2086321.

  ● Mauritz Jeanson: docbook.xsl

    Added support for document metadata for fop1 (patch #2067318).

  ● Jirka Kosek: param.ent; param.xweb; highlight.xsl

    Upgraded to support the latest version of XSLTHL 2.0
     -- nested markup in highlited code is now processed
     -- it is no longer needed to specify path XSLTHL configuration file using Java property
     -- support for new languages, including Perl, Python and Ruby was added

HTML

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

  ● Robert Stayton: param.xweb; docbook.xsl; param.ent; html.xsl

    Add support for writing.mode to set text direction and alignment based on document locale.

  ● Mauritz Jeanson: chunk-changebars.xsl

    Added a new top-level stylesheet module, chunk-changebars.xsl, to be
    used for generating chunked output with highlighting based on change
    (@revisionflag) markup. The module imports/includes the standard chunking
    and changebars templates and contains additional logic for chunked output.
    See FRs #1015180 and #1819915.

Manpages

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

  ● Michael(tm) Smith: docbook.xsl

    Put the following at the top of generated roff for each page:
      \" t
    purpose is to explicitly tell AT&T troff that the page needs to be
    pre-processed through tbl(1); groff can figure it out
    automatically, but apparently AT&T troff needs to be explicitly told

ePub

The following changes have been made to the epub code since the 1.74.0 release.

  ● Keith Fahlgren: docbook.xsl

    Patch from Paul Norton of Adobe to get covers to look better in Adobe Digital Editions

  ● Keith Fahlgren: bin/spec/epub_regressions_spec.rb; bin/spec/files/
    v5cover.xml; bin/spec/sp⋯

    Patch contributed by Liza Daly to make ePub cover handling more generic. Additionally
    DocBook 5.0's <cover> now has some limited support:

    - should reference a cover in the OPF guide for a DocBook 5.0 test document

  ● Keith Fahlgren: bin/spec/files/isbn.xml; bin/spec/files/issn.xml; bin/spec/
    files/biblioid.⋯

    Liza Daly reported that the dc:identifer-generation code was garbage (she was right).

    Added new tests:
    - should include at least one dc:identifier
    - should include an ISBN as URN for dc:identifier if an ISBN was in the metadata
    - should include an ISSN as URN for dc:identifier if an ISSN was in the metadata
    - should include an biblioid as a dc:identifier if an biblioid was in the metadata
    - should include a URN for a biblioid with @class attribute as a dc:identifier if an biblioid was in the metadata

  ● Keith Fahlgren: docbook.xsl; bin/spec/epub_spec.rb

    Improve both SEO and  semantic structure of chunked ePub output by ensuring that
    we always send out one and only one h1 in each XHTML chunk.

    DocBook::Epub
    - should include one and only one <h1> in each HTML file in rendered ePub files
    for <book>s
    - should include one and only one <h1> in each HTML file in rendered ePub files
    for <book>s even if they do not have section markup

  ● Keith Fahlgren: docbook.xsl; bin/spec/epub_realbook_spec.rb; bin/spec/files
    /orm.book.001.x⋯

    Adding better support for covers in epub files destined for .mobi and the Kindle

  ● Keith Fahlgren: bin/dbtoepub; bin/lib/docbook.rb; bin/spec/files/
    DejaVuSerif.otf; docbook.⋯

    Adding primitive support for embedding a single font

  ● Keith Fahlgren: bin/dbtoepub; bin/lib/docbook.rb; bin/spec/files/
    test_cust.xsl; bin/spec/e⋯

    Adding support for user-specified customization layers in dbtoepub

  ● Keith Fahlgren: bin/dbtoepub; bin/spec/epub_regressions_spec.rb; bin/lib/
    docbook.rb; bin/s⋯

    Adding CSS support to .epub target & dbtoepub:
        -c, --css [FILE]                 Use FILE for CSS on generated XHTML.


    DocBook::Epub
    ...
    - should include a CSS link in HTML files when a CSS file has been provided
    - should include CSS file in .epub when a CSS file has been provided
    - should include a CSS link in OPF file when a CSS file has been provided

Roundtrip

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

  ● Steve Ball: blocks2dbk.xsl; template.xml; template.dot

    added support for imagedata-metadata
    added support for table as images

  ● Steve Ball: blocks2dbk.xsl; normalise2sections.xsl; sections2blocks.xsl

    Improved support for personname inlines.

  ● Steve Ball: blocks2dbk.xsl; blocks2dbk.dtd; template.xml

    Added support for legalnotice.

  ● Steve Ball: blocks2dbk.xsl; wordml2normalise.xsl

    added support for orgname in author

  ● Steve Ball: specifications.xml; supported.xml; blocks2dbk.xsl;
    wordml2normalise.xsl; dbk2w⋯

    Updated specification.
    to-DocBook: add cols attribute to tgroup
    from-DocBook: fix for blockquote title

Params

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

  ● The change was to add man.output.better.ps.enabled parameter, with its
    default value set to zero. If the value of the man.output.better.ps.enabled
    parameter is non-zero, certain markup is embedded in each generated man
    page such that PostScript output from the man -Tps command for that page
    will include a number of enhancements designed to improve the quality of
    that output. If man.output.better.ps.enabled is zero (the default), no such
    markup is embedded in generated man pages, and no enhancements are included
    in the PostScript output generated from those man pages by the man -Tps
    command. WARNING: The enhancements provided by this parameter rely on
    features that are specific to groff (GNU troff) and that are not part of
    "classic" AT&T troff or any of its derivatives. Therefore, any man pages
    you generate with this parameter enabled will be readable only on systems
    on which the groff (GNU troff) program is installed, such as GNU/Linux
    systems. The pages will not not be readable on systems on with the classic
    troff (AT&T troff) command is installed. NOTE: The value of this parameter
    only affects PostScript output generated from the man command. It has no
    effect on output generated using the FO backend. TIP: You can generate
    PostScript output for any man page by running the following command: man
    FOO -Tps > FOO.ps You can then generate PDF output by running the following
    command: ps2pdf FOO.ps

  ● Robert Stayton: writing.mode.xml

    writing mode param used to set text direction.

  ● Michael(tm) Smith: email.mailto.enabled.xml

    Added new param email.mailto.enabled for FO output.
    Patch from Paolo Borelli. Closes #2086321.

  ● Jirka Kosek: highlight.source.xml; highlight.xslthl.config.xml

    Upgraded to support the latest version of XSLTHL 2.0
     -- nested markup in highlited code is now processed
     -- it is no longer needed to specify path XSLTHL configuration file using Java property
     -- support for new languages, including Perl, Python and Ruby was added

Highlighting

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

  ● Jirka Kosek: cpp-hl.xml; c-hl.xml; tcl-hl.xml; php-hl.xml; common.xsl;
    perl-hl.xml; delphi⋯

    Upgraded to support the latest version of XSLTHL 2.0
     -- nested markup in highlited code is now processed
     -- it is no longer needed to specify path XSLTHL configuration file using Java property
     -- support for new languages, including Perl, Python and Ruby was added

Release Notes: 1.74.0

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

.epub target

    Paul Norton (Adobe) and Keith Fahlgren(O'Reilly Media) have donated code
    that generates .epub documents from DocBook input. An alpha-reference
    implementation in Ruby has also been provided.

    .epub is an open standard of the The International Digital Publishing Forum
    (IDPF), a the trade and standards association for the digital publishing
    industry.

    Read more about this target in epub/README

XHTML 1.1 target

    To support .epub output, a strict XHTML 1.1 target has been added. The
    stylesheets for this output are generated and are quite similar to the
    XHTML target.

Gentext updates

    A number of locales have been updated.

Roundtrip improvements

    Table, figure, template syncronization, and character style improvements
    have been made for WordML & Pages. Support added for OpenOffice.org.

First implementation of a libxslt extension

    A stylesheet extension for libxslt, written in Python, has been added. The
    extension is a function for adjusting column widths in CALS tables. See
    extensions/README.LIBXSLT for more information.

The following is a list of changes that have been made since the 1.73.2
release.

Gentext

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

  ● Michael(tm) Smith: locale/id.xml

    Checked in changes to Indonesion locale submitted by Euis Luhuanam a long time ago.

  ● Michael(tm) Smith: locale/lt.xml

    Added changes to Lithuanian locate submitted a long time back by Nikolajus Krauklis.

  ● Michael(tm) Smith: locale/hu.xml

    fixed error in lowercase.alpha definition in Hungarian locale

  ● Michael(tm) Smith: locale/nb.xml

    Corrected language code for nb locale, and restored missing "startquote" key.

  ● Michael(tm) Smith: locale/ja.xml

    Committed changes to ja locale file, from Akagi Kobayashi. Adds bracket quotes around many xref instances that did not have them
    before.

  ● Michael(tm) Smith: Makefile

    "no" locale is now "nb"

  ● Michael(tm) Smith: locale/nb.xml

    Update Norwegian Bokmål translation. Thanks to Hans F. Nordhaug.

  ● Michael(tm) Smith: locale/no.xml; locale/nb.xml

    per message from Hans F. Nordhaug, correct identifier for
    Norwegian Bokmål is "nb" (not "no") and has been for quite some
    time now...

  ● Michael(tm) Smith: locale/ja.xml

    Converted ja.xml source file to use real unicode characters so
    that the actual glyphs so up when you edit it in a text editor
    (instead of the character references).

  ● Michael(tm) Smith: locale/ja.xml

    Checked in changes to ja.xml locale file. Thanks to Akagi Kobayashi.

  ● Michael(tm) Smith: locale/it.xml

    Changes from Federico Zenith

  ● Dongsheng Song: locale/zh_cn.xml

    Added missing translations.

Common

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

  ● Michael(tm) Smith: l10n.xsl

    Added new template "l10.language.name" for retrieving the
    English-language name of the lang setting of the current document.
    Closes #1916837. Thanks to Simon Kennedy.

  ● Michael(tm) Smith: refentry.xsl

    fixed syntax error

  ● Michael(tm) Smith: refentry.xsl

    fixed a couple of typos

  ● Michael(tm) Smith: refentry.xsl

    refined handling of cases where refentry "source" or "manual"
    metadata is missing or when we use fallback content instead. We
    now report a Warning if we use fallback content.

  ● Michael(tm) Smith: refentry.xsl

    don't use refmiscinfo@class=date value as fallback for refentry
    "source" or "manual" metadata fields

  ● Michael(tm) Smith: refentry.xsl

    Made reporting of missing refentry metadata more quiet:

      - we no longer report anything if usable-but-not-preferred
        metadata is found; we just quietly use whatever we manage to
        find

      - we now only report missing "source" metadata if the refentry
        is missing BOTH "source name" and "version" metadata; if it
        has one but not the other, we use whichever one it has and
        don't report anything as missing

    The above changes were made because testing with some "real world"
    source reveals that some authors are intentionally choosing to use
    "non preferred" markup for some metadata, and also choosing to
    omit "source name" or "version" metadata in there DocBook XML. So
    it does no good to give them pedantic reminders about what they
    already know...

    Also, changed code to cause "fixme" text to be inserted in output
    in particular cases:

      - if we can't manage to find any "source" metadata at all, we
        now put fixme text into the output

      - if we can't manage to find any "manual" metadata a all, we
        now put fixme text into the output

    The "source" and "manual" metadata is necessary information, so
    buy putting the fixme stuff in the output, we alert users to the
    need problem of it being missing.

  ● Michael(tm) Smith: refentry.xsl

    When generating manpages output, we no longer report anything if
    the refentry source is missing date or pubdate content. In
    practice, many users intentionally omit the date from the source
    because they explicitly want it to be generated.

  ● Michael(tm) Smith: l10n.xml

    further change needed for switch from no locale to nb.

  ● Michael(tm) Smith: common.xsl

    Added support for orgname in authorgroup. Thanks to Camille
    Bégnis.

  ● Michael(tm) Smith: Makefile

    "no" locale is now "nb"

  ● Mauritz Jeanson: stripns.xsl

    Removed the template matching "ng:link|db:link" (in order to make @xlink:show
    work with <link> elements). As far as I can tell, this template is no longer needed.

  ● Mauritz Jeanson: entities.ent

    Moved declaration of comment.block.parents entity to common/entities.ent.

  ● Mauritz Jeanson: titles.xsl

    Added an update the fix made in revision 7528 (handling of xref/link in no.anchor.mode mode).
    Having xref in title is not a problem as long as the target is not an ancestor element.
    Closes bug #1838136.

    Note that an xref that is in a title and whose target is an ancestor element is still not
    rendered in the TOC. This could be considered a bug, but on the other hand I cannot really
    see the point in having such an xref in a document.

  ● Mauritz Jeanson: titles.xsl

    Added a "not(ancestor::title)" test to work around "too many nested
    apply-templates" problems when processing xrefs or links in no.anchor.mode mode.
    Hopefully, this closes bug #1811721.

  ● Mauritz Jeanson: titles.xsl

    Removed old template matching "link" in no.anchor.mode mode.

  ● Mauritz Jeanson: titles.xsl

    Process <link> in no.anchor.mode mode with the same template as <xref>.
    Closes bug #1759205 (Empty link in no.anchor.mode mode).

  ● Mauritz Jeanson: titles.xsl

    In no.anchor.mode mode, do not output anchors for elements that are descendants
    of <title>. Previously, having inline elements with @id/@xml:id in <title>s
    resulted in anchors both in the TOC and in the main flow. Closes bug #1797492.

FO

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

  ● Mauritz Jeanson: pi.xsl

    Updated documentation for keep-together.

  ● Mauritz Jeanson: task.xsl

    Enabled use of the keep-together PI on task elements.

  ● Robert Stayton: index.xsl

    FOP1 requires fo:wrapper for inline index entries, not fo:inline.

  ● Robert Stayton: index.xsl

    Fixed non-working inline.or.block template for indexterm wrappers.
    Add fop1 to list of processors using inline.or.block.

  ● Mauritz Jeanson: table.xsl

    Fixed bug #1891965 (colsep in entytbl not working).

  ● Mauritz Jeanson: titlepage.xsl

    Added support for title in revhistory. Closes bug #1842847.

  ● Mauritz Jeanson: pi.xsl

    Small doc cleanup (dbfo float-type).

  ● Mauritz Jeanson: titlepage.xsl

    Insert commas between multiple copyright holders.

  ● Mauritz Jeanson: autotoc.xsl; division.xsl

    Added modifications to support nested set elements. See bug #1853172.

  ● David Cramer: glossary.xsl

    Added normalize-space to xsl:sorts to avoid missorting of glossterms due to stray leading spaces.

  ● David Cramer: glossary.xsl

    Fixed bug #1854199: glossary.xsl should use the sortas attribute on glossentry

  ● Mauritz Jeanson: inline.xsl

    Added a template for citebiblioid. The hyperlink target is the parent of the referenced biblioid,
    and the "hot text" is the biblioid itself enclosed in brackets.

  ● Mauritz Jeanson: inline.xsl

    Moved declaration of comment.block.parents entity to common/entities.ent.

  ● Mauritz Jeanson: docbook.xsl

    Updated message about unmatched element.

  ● Mauritz Jeanson: param.xweb

    Added link to profiling chapter of TCG.

  ● Mauritz Jeanson: refentry.xsl

    Fixed typo (refsynopsysdiv -> refsynopsisdiv).

  ● David Cramer: fop.xsl; fop1.xsl; ptc.xsl; xep.xsl

    Added test to check generate.index param when generating pdf bookmarks

  ● Mauritz Jeanson: graphics.xsl

    Added support for MathML in imagedata.

  ● Michael(tm) Smith: math.xsl

    Removed unnecessary extra test condition in test express that
    checks for passivetex.

  ● Michael(tm) Smith: math.xsl

    Don't use fo:instream-foreign-object if we are processing with
    passivetex. Closes #1806899. Thanks to Justus Piater.

  ● Mauritz Jeanson: component.xsl

    Added code to output a TOC for an appendix in an article when
    generate.toc='article/appendix toc'. Closes bug #1669658.

  ● Dongsheng Song: biblio-iso690.xsl

    Change encoding from "windows-1250" to "UTF-8".

  ● Mauritz Jeanson: pi.xsl

    Updated documentation for dbfo_label-width.

  ● Mauritz Jeanson: lists.xsl

    Added support for the dbfo_label-width PI in calloutlists.

  ● Robert Stayton: biblio.xsl

    Support finding glossary database entries inside bibliodivs.

  ● Robert Stayton: formal.xsl

    Complete support for <?dbfo pgwide="1"?> for informal
    elements too.

  ● Mauritz Jeanson: table.xsl

    In the table.block template, added a check for the dbfo_keep-together PI, so that
    a table may break (depending on the PI value) at a page break. This was needed
    since the outer fo:block that surrounds fo:table has keep-together.within-column="always"
    by default, which prevents the table from breaking. Closes bug #1740964 (Titled
    table does not respect dbfo PI).

  ● Mauritz Jeanson: pi.xsl

    Added a few missing @role="tcg".

  ● Mauritz Jeanson: inline.xsl

    Use normalize-space() in glossterm comparisons (as in html/inline.xsl).

  ● Mauritz Jeanson: autoidx.xsl

    Removed the [&scope;] predicate from the target variable in the template with name="reference".
    This filter was the cause of missing index backlinks when @zone and @type were used on indexterms,
    with index.on.type=1. Closes bug #1680836.

  ● Michael(tm) Smith: inline.xsl; xref.xsl; footnote.xsl

    Added capability in FO output for displaying URLs for all
    hyperlinks (elements marked up with xlink:href attributes) in the
    same way as URLs for ulinks are already handled (which is to say,
    either inline or as numbered footnotes).

    Background on this change:
    DocBook 5 allows "ubiquitous" linking, which means you can make
    any element a hyperlink just by adding an xlink:href attribute to
    it, with the value set to an external URL. That's in contrast to
    DocBook 4, which only allows you to use specific elements (e.g.,
    the link and ulink elements) to mark up hyperlinks.

    The existing FO stylesheets have a mechanism for handling display
    of URLs for hyperlinks that are marked up with ulink, but they did
    not handle display of URLs for elements that were marked up with
    xlink:href attributes. This change adds handling for those other
    elements, enabling the URLs they link to be displayed either
    inline or as numbered footnotes (depending on what values the user
    has the ulink.show and ulink.footnotes params set to).

    Note that this change only adds URL display support for elements
    that call the simple.xlink template -- which currently is most
    (but not all) inline elements.

    This change also moves the URL display handling out of the ulink
    template and into a new "hyperlink.url.display" named template;
    the ulink template and the simple.xlink named template now both
    call the hyperlink.url.display template.

    Warning: In the stylesheet code that determines what footnote
    number to assign to each footnote or external hyperlink, there is
    an XPath expression for determining whether a particular
    xlink:href instance is an external hyperlink; that expression is
    necessarily a bit complicated and further testing may reveal that
    it doesn't handle all cases as expected -- so some refinements to
    it may need to be done later.

    Closes #1785519. Thanks to Ken Morse for reporting and
    troubleshooting the problem.

HTML

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

  ● Keith Fahlgren: inline.xsl; synop.xsl

    Work to make HTML and XHTML targets more valid

  ● Keith Fahlgren: table.xsl

    Add better handling for tables that have footnotes in the titles

  ● Keith Fahlgren: biblio.xsl

    Add anchors to bibliodivs

  ● Keith Fahlgren: formal.xsl; Makefile; htmltbl.xsl

    Initial checkin/merge of epub target from work provided by Paul Norton of Adobe
    and Keith Fahlgren of O'Reilly.

    This change includes new code for generating the XHTML 1.1 target sanely.

  ● Mauritz Jeanson: biblio.xsl

    Added code for creating URLs from biblioids with @class="doi" (representing Digital
    Object Identifiers). See FR #1934434 and http://doi.org.

    To do: 1) Add support for FO output. 2) Figure out how @class="doi" should be handled
    for bibliorelation, bibliosource and citebiblioid.

  ● Norman Walsh: formal.xsl

    Don't use xsl:copy because it forces the resulting element to be in the same namespace as the source element; in the XHTML stylesheets, that's wrong. But the HTML-to-XHTML converter does the right thing with literal result elements, so use one of them.

  ● Michael(tm) Smith: Makefile

    Added checks and hacks to various makefiles to enable building
    under Cygwin. This stuff is ugly and maybe not worth the mess and
    trouble, but does seem to work as expected and not break anything
    else.

  ● Michael(tm) Smith: docbook.xsl

    added "exslt" namespace binding to html/docbook.xsl file (in
    addition to existing "exsl" binding. reason is because lack of it
    seems to cause processing problems when using the profiled
    version of the stylsheet

  ● Norman Walsh: chunk-common.xsl

    Rename link

  ● Mauritz Jeanson: table.xsl

    Added a fix to make rowsep apply to the last row of thead in entrytbl.

  ● Michael(tm) Smith: synop.xsl

    Simplified and streamlined handling of output for ANSI-style
    funcprototype output, to correct a problem that was causing type
    data to be lost in the output parameter definitions. For example,
    for an instance like this:
      <paramdef>void *<parameter>dataptr</parameter>[]</paramdef>
    ... the brackets (indicating an array type) were being dropped.

  ● Michael(tm) Smith: synop.xsl

    Changed HTML handling of K&R-style paramdef output. The parameter
    definitions are no longer output in a table (though the prototype
    still is). The reason for the change is that the
    kr-tabular-funcsynopsis-mode template was causing type data to be
    lost in the output parameter definitions. For example, for an
    instance like this:
      <paramdef>void *<parameter>dataptr</parameter>[]</paramdef>
    ... the brackets (indicating an array type) were being dropped.
    The easiest way to deal with the problem is to not try to chop up
    the parameter definitions and display them in table format, but to
    instead just output them as-is. May not look quite as pretty, but
    at least we can be sure no information is being lost...

  ● Michael(tm) Smith: pi.xsl

    updated wording of doc for funcsynopsis-style PI

  ● Michael(tm) Smith: param.xweb; param.ent; synop.xsl

    Removed the funcsynopsis.tabular.threshold param. It's no longer
    being used in the code and hasn't been since mid 2006.

  ● Mauritz Jeanson: graphics.xsl

    Added support for the img.src.path parameter for SVG graphics. Closes bug #1888169.

  ● Mauritz Jeanson: chunk-common.xsl

    Added missing space.

  ● Norman Walsh: component.xsl

    Fix bug where component titles inside info elements were not handled properly

  ● Michael(tm) Smith: pi.xsl

    Moved dbhtml_stop-chunking embedded doc into alphabetical order,
    fixed text of TCG section it see-also'ed.

  ● David Cramer: pi.xsl

    Added support for <?dbhtml stop-chunking?> processing instruction

  ● David Cramer: chunk-common.xsl; pi.xsl

    Added support for <?dbhtml stop-chunking?> processing instruction

  ● David Cramer: glossary.xsl

    Fixed bug #1854199: glossary.xsl should use the sortas attribute on glossentry. Also added normalize-space to avoid missorting due to stray leading spaces.

  ● Mauritz Jeanson: inline.xsl

    Added a template for citebiblioid. The hyperlink target is the parent of the referenced biblioid,
    and the "hot text" is the biblioid itself enclosed in brackets.

  ● Mauritz Jeanson: inline.xsl

    Added support for @xlink:show in the simple.xlink template. The "new" and "replace"
    values are supported (corresponding to values of "_blank" and "_top" for the
    ulink.target parameter). I have assumed that @xlink:show should override ulink.target
    for external URI links. This closes bugs #1762023 and #1727498.

  ● Mauritz Jeanson: inline.xsl

    Moved declaration of comment.block.parents entity to common/entities.ent.

  ● Mauritz Jeanson: param.xweb

    Added link to profiling chapter of TCG.

  ● Dongsheng Song: biblio-iso690.xsl

    Change encoding from "windows-1250" to "UTF-8".

  ● Robert Stayton: biblio.xsl

    Add support in biblio collection to entries in bibliodivs.

  ● Mauritz Jeanson: pi.xsl

    Added missing @role="tcg".

  ● Mauritz Jeanson: chunk-common.xsl; titlepage.xsl

    Refactored legalnotice/revhistory chunking, so that the use.id.as.filename
    parameter as well as the dbhtml_filename PI are taken into account. A new named
    template in titlepage.xsl is used to compute the filename.

  ● Mauritz Jeanson: chunk-common.xsl; titlepage.xsl

    An update to the fix for bug #1790495 (r7433):
    The "ln-" prefix is output only when the legalnotice doesn't have an
    @id/@xml:id, in which case the stylesheets generate an ID value,
    resulting in a filename like "ln-7e0fwgj.html". This is useful because
    without the prefix, you wouldn't know that the file contained a legalnotice.
    The same logic is also applied to revhistory, using an "rh-" prefix.

  ● Mauritz Jeanson: autoidx.xsl

    Removed the [&scope;] predicate from the target variable in the template with name="reference".
    This filter was the cause of missing index backlinks when @zone and @type were used on indexterms,
    with index.on.type=1. Closes bug #1680836.

  ● Mauritz Jeanson: titlepage.xsl

    Added 'ln-' prefix to the name of the legalnotice chunk, in order to match the
    <link href"..."> that is output by make.legalnotice.head.links (chunk-common.xsl).
    Modified the href attribute on the legalnotice link.
    Closes bug #1790495.

Manpages

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

  ● Michael(tm) Smith: other.xsl

    slightly adjusted spacing around admonition markers

  ● Michael(tm) Smith: refentry.xsl; utility.xsl

    make sure refsect3 titles are preceded by a line of space, and
    make the indenting of their child content less severe

  ● Michael(tm) Smith: block.xsl

    only indent verbatim environments in TTY output, not in non-TTY/PS

  ● Michael(tm) Smith: block.xsl

    made another adjustment to correct vertical alignment of admonition marker

  ● Michael(tm) Smith: block.xsl; other.xsl

    Adjusted/corrected alignment of adominition marker in PS/non-TTY output.

  ● Michael(tm) Smith: endnotes.xsl

    For PS/non-TTY output, display footnote/endnote numbers in
    superscript.

  ● Michael(tm) Smith: table.xsl; synop.xsl; utility.xsl

    Changed handling of hanging indents for cmdsynopsis, funcsynopsis,
    and synopfragment such that they now look correct in non-TTY/PS
    output. We now use the groff \w escape to hang by the actual width
    -- in the current font -- of the command, funcdef, or
    synopfragment references number (as opposed to hanging by the
    number of characters). This rendering in TTY output remains the
    same, since the width in monospaced TTY output is the same as the
    number of characters.

    Also, created new synopsis-block-start and synopsis-block-end
    templates to use for cmdsynopsis and funcsynopsis instead of the
    corresponding verbatim-* templates.

    Along with those changes, also corrected a problem that caused the
    content of synopfragment to be dropped, and made a
    vertical-spacing change to adjust spacing around table titles and
    among sibling synopfragment instances.

  ● Michael(tm) Smith: other.xsl

    use common l10.language.name template to retrieve English-language name

  ● Michael(tm) Smith: synop.xsl; inline.xsl

    added comment in code explaining why we don't put filename output
    in italic (despite the fact that man guidelines say we should)

  ● Michael(tm) Smith: inline.xsl

    put filename output in monospace instead of italic

  ● Michael(tm) Smith: synop.xsl

    put cmdsynopsis in monospace

  ● Michael(tm) Smith: inline.xsl

    removed template match for literal. template matches for monospace
    inlines are all imported from the HTML stylesheet

  ● Michael(tm) Smith: block.xsl

    don't indent verbatim environments that are descendants of
    refsynopsisdiv, not put backgrounds behind them

  ● Michael(tm) Smith: inline.xsl

    set output of the literal element in monospace. this causes all
    inline monospace instances in the git man pages to be set in
    monospace (since DocBook XML source for git docs is generated with
    asciidoc and asciidoc consistently outputs only <literal> for
    inline monospace (not <command> or <code> or anything else).
    Of course this only affects non-TTY output...

  ● Michael(tm) Smith: utility.xsl

    Added inline.monoseq named template.

  ● Michael(tm) Smith: utility.xsl

    don't bother using a custom register to store the previous
    font-family value when setting blocks of text in code font; just
    use \F[] .fam with no arg to switch back

  ● Michael(tm) Smith: endnotes.xsl

    put links in blue in PS output (note that this matches how groff
    renders content marked up with the .URL macro)

  ● Michael(tm) Smith: endnotes.xsl; param.xweb; param.ent

    removed man.links.are.underlined and added man.font.links. Also,
    changed the default font formatting for links to bold.

  ● Michael(tm) Smith: endnotes.xsl; param.xweb; param.ent

    Added new param man.base.url.for.relative.links .. specifies a
    base URL for relative links (for ulink, @xlink:href, imagedata,
    audiodata, videodata) shown in the generated NOTES section of
    man-page output. The value of man.base.url.for.relative.links is
    prepended to any relative URI that is a value of ulink url,
    xlink:href, or fileref attribute.

    If you use relative URIs in link sources in your DocBook refentry
    source, and you leave man.base.url.for.relative.links unset, the
    relative links will appear "as is" in the NOTES section of any
    man-page output generated from your source. That's probably not
    what you want, because such relative links are only usable in the
    context of HTML output. So, to make the links meaningful and
    usable in the context of man-page output, set a value for
    man.base.url.for.relative.links that points
    to the online version of HTML output generated from your DocBook
    refentry source. For example:

      <xsl:param name="man.base.url.for.relative.links"
      >http://www.kernel.org/pub/software/scm/git/docs/</xsl:param>

  ● Michael(tm) Smith: info.xsl

    If a source refentry contains a Documentation or DOCUMENTATION
    section, don't report it as having missing AUTHOR information.
    Also, if missing a contrib/personblurb for a person or org, report
    pointers to http://docbook.sf.net/el/personblurb and to
    http://docbook.sf.net/el/contrib

  ● Michael(tm) Smith: info.xsl

    If we encounter an author|editor|othercredit instance that lacks a
    personblurb or contrib, report it to the user (because that means
    we have no information about that author|editor|othercredit to
    display in the generated AUTHOR|AUTHORS section...)

  ● Michael(tm) Smith: info.xsl; docbook.xsl; other.xsl

    if we can't find any usable author data, emit a warning and insert
    a fixme in the output

  ● Michael(tm) Smith: info.xsl

    fixed bug in indenting of output for contrib instances in AUTHORS
    section. Thanks to Daniel Leidert and the fglrx docs for exposing
    the bug.

  ● Michael(tm) Smith: block.xsl

    for a para or simpara that is the first child of a callout,
    suppress the .sp or .PP that would normally be output (because in
    those cases, the output goes into a table cell, and the .sp or .PP
    markup causes a spurious linebreak before it when displayed

  ● Michael(tm) Smith: lists.xsl

    Added support for rendering co callouts and calloutlist instances.
    So you can now use simple callouts -- marking up programlisting
    and such with co instances -- and have the callouts displayed in
    man-page output. ("simple callouts" means using co@id and
    callout@arearefs pointing to co@id instances; in man/roff output,
    we can't/don't support markup that uses areaset and area)

  ● Michael(tm) Smith: block.xsl

    only put a line of space after a verbatim if it's followed by a
    text node or a paragraph

  ● Michael(tm) Smith: utility.xsl

    put verbatim environments in slightly smaller font in non-TTY
    output

  ● Michael(tm) Smith: lists.xsl

    minor whitespace-only reformatting of lists.xsl source

  ● Michael(tm) Smith: lists.xsl

    Made refinements/fixes to output of orderedlist and itemizedlist
    -- in part, to get mysql man pages to display correctly. This
    change causes a "\c" continuation marker to be added between
    listitem markers and contents (to ensure that the content remains
    on the same line as the marker when displayed)

  ● Michael(tm) Smith: block.xsl

    put a line of vertical space after all verbatim output that has
    sibling content following it (not just if that sibling content is
    a text node)

  ● Michael(tm) Smith: block.xsl

    refined spacing around titles for admonitions

  ● Michael(tm) Smith: block.xsl; other.xsl

    Deal with case of verbatim environments that have a linebreak
    after the opening tag. Assumption is that users generally don't
    want that linebreak to appear in output, so we do some groff
    hackery to mess with vertical spacing and close the space.

  ● Michael(tm) Smith: inline.xsl

    indexterm instances now produce groff comments like this:

      .\" primary: secondary: tertiary

    remark instances, if non-empty, now produce groff comments

  ● Michael(tm) Smith: charmap.groff.xsl; other.xsl

    convert no-break space character to groff "\ \&" (instead of just
    "\ "). the reason is that if a space occurs at the end of a line,
    our processing causes it to be eaten. a real-world case of this is
    the mysql(1) man page. appending the "\&" prevents that

  ● Michael(tm) Smith: block.xsl

    output "sp" before simpara output, not after it (outputting it
    after results in undesirable whitespace in particular cases; for
    example, in the hg/mercurial docs

  ● Michael(tm) Smith: table.xsl; synop.xsl; utility.xsl

    renamed from title-preamble to pinch.together and replaced "sp -1"
    between synopsis fragments with call to pinch.together instead

  ● Michael(tm) Smith: table.xsl

    use title-preamble template for table titles (instead of "sp -1"
    hack), and "sp 1" after all tables (instead of just "sp"

  ● Michael(tm) Smith: utility.xsl

    created title-preamble template for suppressing line spacing after
    headings

  ● Michael(tm) Smith: info.xsl

    further refinement of indenting in AUTHORS section

  ● Michael(tm) Smith: block.xsl; other.xsl

    refined handling of admonitions

  ● Michael(tm) Smith: lists.xsl

    Use RS/RE in another place where we had IP ""

  ● Michael(tm) Smith: info.xsl

    Replace (ab)use of IP with "sp -1" in AUTHORS section with RS/RE
    instead.

  ● Michael(tm) Smith: table.xsl; synop.xsl; info.xsl

    changed all instances of ".sp -1n" to ".sp -1"

  ● Michael(tm) Smith: other.xsl

    add extra line before SH heads only in non-TTY output

  ● Michael(tm) Smith: block.xsl

    Reworked output for admonitions (caution, important, note, tip,
    warning). In TTY output, admonitions now get indented. In non-TTY
    output, a colored marker (yellow) is displayed next to them.

  ● Michael(tm) Smith: other.xsl

    Added BM/EM macros for putting a colored marker in margin next to
    a block of text.

  ● Michael(tm) Smith: utility.xsl

    created make.bold.title template by moving title-bolding part out
    from nested-section-title template. This allows the bolding to
    also be used by the template for formatting admonitions

  ● Michael(tm) Smith: info.xsl

    put .br before copyright contents to prevent them from getting run in

  ● Michael(tm) Smith: refentry.xsl; other.xsl; utility.xsl

    made point size of output for Refsect2 and Refsect3 heads bigger

  ● Michael(tm) Smith: other.xsl

    put slightly more space between SH head and underline in non-TTY
    output

  ● Michael(tm) Smith: param.xweb; param.ent; other.xsl

    Added the man.charmap.subset.profile.english parameter and refined
    the handling of charmap subsets to differentiate between English
    and non-English source.

    This way charmap subsets are now handled is this:

    If the value of the man.charmap.use.subset parameter is non-zero,
    and your DocBook source is not written in English (that is, if its
    lang or xml:lang attribute has a value other than en), then the
    character-map subset specified by the man.charmap.subset.profile
    parameter is used instead of the full roff character map.

    Otherwise, if the lang or xml:lang attribute on the root element
    in your DocBook source or on the first refentry element in your
    source has the value en or if it has no lang or xml:lang
    attribute, then the character-map subset specified by the
    man.charmap.subset.profile.english parameter is used instead of
    man.charmap.subset.profile.

    The difference between the two subsets is that
    man.charmap.subset.profile provides mappings for characters in
    Western European languages that are not part of the Roman
    (English) alphabet (ASCII character set).

  ● Michael(tm) Smith: other.xsl

    Various updates, mainly related to uppercasing SH titles:

      - added a "Language: " metadata line to the top comment area of
        output man pages, to indicate the language the page is in

      - added a "toupper" macro of doing locale-aware uppercasing of
        SH titles and cross-references to SH titles; the mechanism
        relies on the uppercase.alpha and lowercase.alpha DocBook
        gentext keys to do locale-aware uppercasing based on the
        language the page is written in

      - added a "string.shuffle" template, which provides a library
        function for "shuffling" two strings together into a single
        string; it takes the first character for the first string, the
        first character from second string, etc. The only current use
        for it is to generate the argument for the groff tr request
        that does string uppercasing.

      - added make.tr.uppercase.arg and make.tr.normalcase.arg named
        templates for use in generating groff code for uppercasing and
        "normal"-casing SH titles

      - made the BB/BE "background drawing" macros have effect only in
        non-TTY output

      - output a few comments in the top part of source

  ● Michael(tm) Smith: utility.xsl

    removed some leftover kruft

  ● Michael(tm) Smith: refentry.xsl

    To create the name(s) for each man page, we now replace any spaces
    in the refname(s) with underscores. This ensures that tools like
    lexgrog(1) will be able to parse the name (lexgrog won't parse
    names that contain spaces).

  ● Michael(tm) Smith: docbook.xsl

    Put a comment into source of man page to indicate where the main
    content starts. (We now have a few of macro definitions at the
    start of the source, so putting this comment in helps those that
    might be viewing the source.)

  ● Michael(tm) Smith: refentry.xsl

    refined mechanism for generating SH titles

  ● Michael(tm) Smith: charmap.groff.xsl

    Added zcaron, Zcaron, scaron, and Scaron to the groff character map.
    This means that generated Finnish man pages will no longer contain
    any raw accented characters -- they'll instead by marked up with
    groff escapes.

  ● Michael(tm) Smith: other.xsl; utility.xsl

    corrected a regression I introduced about a year ago that caused
    dots to be output just as "\." -- instead needs to be "\&." (which
    is what it will be now, after this change)

  ● Michael(tm) Smith: refentry.xsl

    Changed backend handling for generating titles for SH sections and
    for cross-references to those sections. This should have no effect
    on TTY output (behavior should remain the same hopefully) but
    results in titles in normal case (instead of uppercase) in PS
    output.

  ● Michael(tm) Smith: info.xsl

    use make.subheading template to make subheadings for AUTHORS and
    COPYRIGHT sections (instead of harcoding roff markup)

  ● Michael(tm) Smith: block.xsl

    put code font around programlisting etc.

  ● Michael(tm) Smith: synop.xsl; docbook.xsl

    embed custom macro definitions in man pages, plus wrap synopsis in
    code font

  ● Michael(tm) Smith: endnotes.xsl

    use the make.subheading template to generated SH subheading for
    endnotes section.

  ● Michael(tm) Smith: lists.xsl

    Added some templates for generating if-then-else conditional
    markup in groff, so let's use those instead of hard-coding it in
    multiple places...

  ● Michael(tm) Smith: other.xsl; utility.xsl

    Initial checkin of some changes related to making PS/PDF output
    from "man -l -Tps" look better. The current changes:

      - render synopsis and verbatim sections in a monospace/code font

      - put a light-grey background behind all programlisting, screen,
        and literallayout instances

      - prevent SH heads in PS output from being rendered in uppercase
        (as they are in console output)

      - also display xrefs to SH heads in PS output in normal case
        (instead of uppercase)

      - draw a line under SH heads in PS output

    The changes made to the code to support the above features were:

      - added some embedded/custom macros: one for conditionally
        upper-casing SH x-refs, one for redefining the SH macro
        itself, with some conditional handling for PS output, and
        finally a macro for putting a background/screen (filled box)
        around a block of text (e.g., a program listing) in PS output

      - added utility templates for wrapping blocks of text in code
        font; also templates for inline code font

  ● Robert Stayton: refentry.xsl

    refpurpose nodes now get apply-templates instead of just normalize-space().

  ● Michael(tm) Smith: lists.xsl

    Fixed alignment of first lined of text for each listitem in
    orderedlist output for TTY. Existing code seemed to have been
    causing an extra undesirable space to appear.

  ● Michael(tm) Smith: lists.xsl

    Wrapped some roff conditionals around roff markup for orderedlist
    and itemizedlist output, so that the lists look acceptable in PS
    output as well as TTY.

  ● Michael(tm) Smith: pi.xsl; synop.xsl; param.xweb; param.ent

    Added the man.funcsynopsis.style parameter. Has the same effect in
    manpages output as the funcsynopsis.style parameter has in HTML
    output -- except that its default value is 'ansi' instead of 'kr'.

  ● Michael(tm) Smith: synop.xsl

    Reworked handling of K&R funcprototype output. It no longer relies
    on the HTML kr-tabular templates, but instead just does direct
    transformation to roff. For K&R output, it displays the paramdef
    output in an indented list following the prototype.

  ● Michael(tm) Smith: synop.xsl

    Properly integrated handling for K&R output into manpages
    stylesheet. The choice between K&R output and ANSI output is
    currently controlled through use of the (HTML) funcsynopsis.style
    parameter. Note that because the mechanism does currently rely on
    funcsynopsis.style, the default in manpages output is now K&R
    (because that's the default of that param). But I suppose I ought
    to create a man.funcsynopsis.style and make the default for that
    ANSI (to preserve the existing default behavior).

  ● Michael(tm) Smith: docbook.xsl

    added manpages/pi.xsl file

  ● Michael(tm) Smith: .cvsignore; pi.xsl

    Added "dbman funcsynopsis-style" PI and incorporated it into the
    doc build.

  ● Michael(tm) Smith: refentry.xsl

    Fixed regression that caused an unescaped dash to be output
    between refname and refpurpose content. Closes bug #1894244.
    Thanks to Daniel Leidert.

  ● Michael(tm) Smith: other.xsl

    Fixed problem with dots being escaped in filenames of generated
    man files. Closes #1827195. Thanks to Daniel Leidert.

  ● Michael(tm) Smith: inline.xsl

    Added support for processing structfield (was appearing in roff
    output surrounded by HTML <em> tags; fixed so that it gets roff
    ital markup). Closes bug #1858329.  Thanks to Sam Varshavchik.

Epub

The following changes have been made to the epub code since the 1.73.2 release.

  ● Keith Fahlgren: bin/spec/README; bin/spec/epub_realbook_spec.rb

    'Realbook' spec now passes

  ● Keith Fahlgren: bin/dbtoepub; README; bin/spec/README; bin/lib/docbook.rb;
    bin/spec/epub_r⋯

    Very primitive Windows support for dbtoepub reference implementation; README for running tests and for the .epub target in general; shorter realbook test document (still fails for now)

  ● Keith Fahlgren: bin/dbtoepub; bin/spec/epub_regressions_spec.rb; bin/lib/
    docbook.rb; bin/s⋯

    Changes to OPF spine to not duplicate idrefs for documents with parts not at the root; regression specs for same

  ● Keith Fahlgren: docbook.xsl

    Fixing linking to cover @id, distinct from other needs of cover-image-id (again, thanks to Martin Goerner)

  ● Keith Fahlgren: docbook.xsl

    Updating the title of the toc element in the guide to be more explicit (thanks to Martin Goerner)

  ● Keith Fahlgren: bin/spec/examples/amasque_exploded/content.opf; bin/spec/
    examples/amasque_⋯

    Initial checkin/merge of epub target from work provided by Paul Norton of Adobe
    and Keith Fahlgren of O'Reilly.

  ● Keith Fahlgren: docbook.xsl

    == General epub test support

    $ spec -O ~/.spec.opts spec/epub_spec.rb

    DocBook::Epub
    - should be able to be created
    - should fail on a nonexistent file
    - should be able to render to a file
    - should create a file after rendering
    - should have the correct mimetype after rendering
    - should be valid .epub after rendering an article
    - should be valid .epub after rendering an article without sections
    - should be valid .epub after rendering a book
    - should be valid .epub after rendering a book even if it has one graphic
    - should be valid .epub after rendering a book even if it has many graphics
    - should be valid .epub after rendering a book even if it has many duplicated graphics
    - should report an empty file as invalid
    - should confirm that a valid .epub file is valid
    - should not include PDFs in rendered epub files as valid image inclusions
    - should include a TOC link in rendered epub files for <book>s

    Finished in 20.608395 seconds

    15 examples, 0 failures


    == Verbose epub test coverage against _all_ of the testdocs

    Fails on only (errors truncated):
    1)
    'DocBook::Epub should be able to render a valid .epub for the test document /Users/keith/work/docbook-dev/trunk/xsl/epub/bin/spec/testdocs/calloutlist.003.xml [30]' FAILED
    'DocBook::Epub should be able to render a valid .epub for the test document /Users/keith/work/docbook-dev/trunk/xsl/epub/bin/spec/testdocs/cmdsynopsis.001.xml [35]' FAILED
    ....

    Finished in 629.89194 seconds

    224 examples, 15 failures

    224 examples, 15 failures yields 6% failure rate

HTMLHelp

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

  ● Mauritz Jeanson: htmlhelp-common.xsl

    Added <xsl:with-param name="quiet" select="$chunk.quietly"/> to calls to
    the write.chunk, write.chunk.with.doctype, and write.text.chunk templates.
    This makes chunk.quietly=1 suppress chunk filename messages also for help
    support files (which seems to be what one would expect). See bug #1648360.

Eclipse

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

  ● David Cramer: eclipse.xsl

    Use sortas attributes (if they exist) when sorting indexterms

  ● David Cramer: eclipse.xsl

    Added support for indexterm/see in eclipse index.xml

  ● Mauritz Jeanson: eclipse.xsl

    Added <xsl:with-param name="quiet" select="$chunk.quietly"/>
    to helpidx template.

  ● David Cramer: eclipse.xsl

    Generate index.xml file and add related goo to plugin.xml file. Does not yet support see and seealso.

  ● Mauritz Jeanson: eclipse.xsl

    Added <xsl:with-param name="quiet" select="$chunk.quietly"/> to calls to
    the write.chunk, write.chunk.with.doctype, and write.text.chunk templates.
    This makes chunk.quietly=1 suppress chunk filename messages also for help
    support files (which seems to be what one would expect). See bug #1648360.

JavaHelp

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

  ● Mauritz Jeanson: javahelp.xsl

    Added <xsl:with-param name="quiet" select="$chunk.quietly"/> to calls to
    the write.chunk, write.chunk.with.doctype, and write.text.chunk templates.
    This makes chunk.quietly=1 suppress chunk filename messages also for help
    support files (which seems to be what one would expect). See bug #1648360.

Roundtrip

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

  ● Steve Ball: blocks2dbk.xsl; wordml2normalise.xsl

    fix table/cell borders for wordml, fix formal figure, add emphasis-strong

  ● Mauritz Jeanson: supported.xml

    Changed @cols to 5.

  ● Steve Ball: blocks2dbk.xsl; blocks2dbk.dtd; template.xml

    added pubdate, fixed metadata handling in biblioentry

  ● Steve Ball: supported.xml

    Added support for edition.

  ● Steve Ball: docbook-pages.xsl; wordml-blocks.xsl; docbook.xsl; wordml.xsl;
    pages-normalise⋯

    Removed stylesheets for old, deprecated conversion method.

  ● Steve Ball: specifications.xml; dbk2ooo.xsl; blocks2dbk.xsl; dbk2pages.xsl;
    blocks2dbk.dtd⋯

    Added support for Open Office, added edition element, improved list and table support in Word and Pages

  ● Steve Ball: normalise-common.xsl; blocks2dbk.xsl; dbk2pages.xsl;
    template-pages.xml; templ⋯

    Fixed bug in WordML table handling, improved table handling for Pages 08, synchronised WordML and Pages templates.

  ● Steve Ball: normalise-common.xsl; blocks2dbk.xsl; wordml2normalise.xsl;
    dbk2wp.xsl

    fix caption, attributes

  ● Steve Ball: specifications.xml; blocks2dbk.xsl; wordml2normalise.xsl;
    blocks2dbk.dtd; temp⋯

    Fixes to table and list handling

  ● Steve Ball: blocks2dbk.xsl

    added support for explicit emphasis character styles

  ● Steve Ball: wordml2normalise.xsl

    added support for customisation in image handling

  ● Steve Ball: blocks2dbk.xsl

    Added inlinemediaobject support for metadata.

  ● Steve Ball: normalise-common.xsl; blocks2dbk.xsl; template.xml;
    dbk2wordml.xsl; dbk2wp.xsl

    Added support file. Added style locking. Conversion bug fixes.

Slides

The following changes have been made to the slides code since the 1.73.2
release.

  ● Michael(tm) Smith: fo/Makefile; html/Makefile

    Added checks and hacks to various makefiles to enable building
    under Cygwin. This stuff is ugly and maybe not worth the mess and
    trouble, but does seem to work as expected and not break anything
    else.

  ● Jirka Kosek: html/plain.xsl

    Added support for showing foil number

Website

The following changes have been made to the website code since the 1.73.2
release.

  ● Michael(tm) Smith: extensions/saxon64/.classes/.gitignore; extensions/
    xalan2/.classes/com/⋯

    renamed a bunch more .cvsignore files to .gitignore (to facilitate use of git-svn)

Params

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

  ● Keith Fahlgren: epub.autolabel.xml

    New parameter for epub, epub.autolabel

  ● Mauritz Jeanson: table.frame.border.color.xml; table.cell.padding.xml;
    table.cell.border.t⋯

    Added missing refpurposes and descriptions.

  ● Keith Fahlgren: ade.extensions.xml

    Extensions to support Adobe Digital Editions extensions in .epub output.

  ● Mauritz Jeanson: fop.extensions.xml; fop1.extensions.xml

    Clarified that fop1.extensions is for FOP 0.90 and later. Version 1 is not here yet...

  ● Michael(tm) Smith: man.links.are.underlined.xml;
    man.endnotes.list.enabled.xml; man.font.l⋯

    removed man.links.are.underlined and added man.font.links. Also,
    changed the default font formatting for links to bold.

  ● Michael(tm) Smith: man.base.url.for.relative.links.xml

    Added new param man.base.url.for.relative.links .. specifies a
    base URL for relative links (for ulink, @xlink:href, imagedata,
    audiodata, videodata) shown in the generated NOTES section of
    man-page output. The value of man.base.url.for.relative.links is
    prepended to any relative URI that is a value of ulink url,
    xlink:href, or fileref attribute.

    If you use relative URIs in link sources in your DocBook refentry
    source, and you leave man.base.url.for.relative.links unset, the
    relative links will appear "as is" in the NOTES section of any
    man-page output generated from your source. That's probably not
    what you want, because such relative links are only usable in the
    context of HTML output. So, to make the links meaningful and
    usable in the context of man-page output, set a value for
    man.base.url.for.relative.links that points
    to the online version of HTML output generated from your DocBook
    refentry source. For example:

      <xsl:param name="man.base.url.for.relative.links"
      >http://www.kernel.org/pub/software/scm/git/docs/</xsl:param>

  ● Michael(tm) Smith: man.string.subst.map.xml

    squeeze .sp\n.sp into a single .sp (to prevent a extra, spurious
    line of whitespace from being inserted after programlisting etc.
    in certain cases)

  ● Michael(tm) Smith: refentry.manual.fallback.profile.xml;
    refentry.source.fallback.profile.⋯

    don't use refmiscinfo@class=date value as fallback for refentry
    "source" or "manual" metadata fields

  ● Michael(tm) Smith: man.charmap.subset.profile.xml; man.charmap.enabled.xml;
    man.charmap.su⋯

    made some further doc tweaks related to the
    man.charmap.subset.profile.english param

  ● Michael(tm) Smith: man.charmap.subset.profile.xml; man.charmap.enabled.xml;
    man.charmap.su⋯

    Added the man.charmap.subset.profile.english parameter and refined
    the handling of charmap subsets to differentiate between English
    and non-English source.

    This way charmap subsets are now handled is this:

    If the value of the man.charmap.use.subset parameter is non-zero,
    and your DocBook source is not written in English (that is, if its
    lang or xml:lang attribute has a value other than en), then the
    character-map subset specified by the man.charmap.subset.profile
    parameter is used instead of the full roff character map.

    Otherwise, if the lang or xml:lang attribute on the root element
    in your DocBook source or on the first refentry element in your
    source has the value en or if it has no lang or xml:lang
    attribute, then the character-map subset specified by the
    man.charmap.subset.profile.english parameter is used instead of
    man.charmap.subset.profile.

    The difference between the two subsets is that
    man.charmap.subset.profile provides mappings for characters in
    Western European languages that are not part of the Roman
    (English) alphabet (ASCII character set).

  ● Michael(tm) Smith: man.charmap.subset.profile.xml

    Added to default charmap used by manpages:

      - the "letters" part of the 'C1 Controls And Latin-1 Supplement
        (Latin-1 Supplement)' Unicode block
      - Latin Extended-A block (but not all of the characters from
        that block have mappings in groff, so some of them are still
        passed through as-is)

    The effects of this change are that in man pages generated for
    most Western European languages and for Finnish, all characters
    not part of the Roman alphabet are (e.g., "accented" characters)
    are converted to groff escapes.

    Previously, by default we passed through those characters as is
    (and users needed to use the full charmap if they wanted to have
    those characters converted).

    As a result of this change, man pages generated for Western
    European languages will be viewable in some environments in which
    they are not viewable if the "raw" non-Roman characters are in them.

  ● Mauritz Jeanson: generate.legalnotice.link.xml;
    generate.revhistory.link.xml

    Added information on how the filename is computed.

  ● Mauritz Jeanson: default.table.width.xml

    Clarified PI usage.

  ● Michael(tm) Smith: man.funcsynopsis.style.xml

    Added the man.funcsynopsis.style parameter. Has the same effect in
    manpages output as the funcsynopsis.style parameter has in HTML
    output -- except that its default value is 'ansi' instead of 'kr'.

  ● Michael(tm) Smith: funcsynopsis.tabular.threshold.xml

    Removed the funcsynopsis.tabular.threshold param. It's no longer
    being used in the code and hasn't been since mid 2006.

  ● Mauritz Jeanson: table.properties.xml

    Set keep-together.within-column to "auto". This seems to be the most sensible
    default value for tables.

  ● Mauritz Jeanson: informal.object.properties.xml;
    admon.graphics.extension.xml; informalequ⋯

    Several small documentation fixes.

  ● Mauritz Jeanson: manifest.in.base.dir.xml

    Wording fixes.

  ● Mauritz Jeanson: header.content.properties.xml;
    footer.content.properties.xml

    Added refpurpose.

  ● Mauritz Jeanson: ulink.footnotes.xml; ulink.show.xml

    Updated for DocBook 5.

  ● Mauritz Jeanson: index.method.xml; glossterm.auto.link.xml

    Spelling and wording fixes.

  ● Mauritz Jeanson: callout.graphics.extension.xml

    Clarifed available graphics formats and extensions.

  ● Mauritz Jeanson: footnote.sep.leader.properties.xml

    Corrected refpurpose.

  ● Jirka Kosek: footnote.properties.xml

    Added more properties which make it possible to render correctly footnotes placed inside verbatim elements.

  ● Mauritz Jeanson: img.src.path.xml

    img.src.path works with inlinegraphic too.

  ● Mauritz Jeanson: saxon.character.representation.xml

    Added TCG link.

  ● Mauritz Jeanson: img.src.path.xml

    Updated description of img.src.path. Bug #1785224 revealed that
    there was a risk of misunderstanding how it works.

Profiling

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

  ● Jirka Kosek: xsl2profile.xsl

    Added new rules to profile all content generated by HTML Help (including alias files)

  ● Robert Stayton: profile-mode.xsl

    use mode="profile" instead of xsl:copy-of for attributes so
    they can be more easily customized.

Tools

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

  ● Michael(tm) Smith: make/Makefile.DocBook

    various changes and additions to support making with asciidoc as
    an input format

  ● Michael(tm) Smith: make/Makefile.DocBook

    make dblatex the default PDF maker for the example makefile

  ● Michael(tm) Smith: xsl/build/html2roff.xsl

    Reworked handling of K&R funcprototype output. It no longer relies
    on the HTML kr-tabular templates, but instead just does direct
    transformation to roff. For K&R output, it displays the paramdef
    output in an indented list following the prototype.

  ● Mauritz Jeanson: xsl/build/make-xsl-params.xsl

    Made attribute-sets members of the param list. This enables links to attribute-sets in the
    reference documentation.

  ● Michael(tm) Smith: xsl/build/html2roff.xsl

    use .BI handling in K&R funsynopsis output for manpages, just as
    we do already of ANSI output

  ● Michael(tm) Smith: xsl/build/html2roff.xsl

    Implemented initial support for handling tabular K&R output of
    funcprototype in manpages output. Accomplished by adding more
    templates to the intermediate HTML-to-roff stylesheet that the
    build uses to create the manpages/html-synop.xsl stylesheet.

  ● Michael(tm) Smith: xsl/build/doc-link-docbook.xsl

    Made the xsl/tools/xsl/build/doc-link-docbook.xsl stylesheet
    import profile-docbook.xsl, so that we can do profiling of release
    notes. Corrected some problems in the target for the release-notes
    HTML build.

Extensions

The following changes have been made to the extensions code since the 1.73.2
release.

  ● Keith Fahlgren: Makefile

    Use DOCBOOK_SVN variable everywhere, please; build with PDF_MAKER

  ● Michael(tm) Smith: Makefile

    moved extensions build targets from master xsl/Makefile to
    xsl/extensions/Makefile

  ● Michael(tm) Smith: .cvsignore

    re-adding empty extensions subdir

XSL-Saxon

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

  ● Michael(tm) Smith: VERSION

    bring xsl2, xsl-saxon, and xsl-xalan VERSION files up-to-date with
    recent change to snapshot build infrastructure

  ● Michael(tm) Smith: nbproject/build-impl.xml; nbproject/project.properties

    Changed hard-coded file references in "clean" target to variable
    references. Closes #1792043. Thanks to Daniel Leidert.

  ● Michael(tm) Smith: VERSION; Makefile

    Did post-release wrap-up of xsl-saxon and xsl-xalan dirs

  ● Michael(tm) Smith: nbproject/build-impl.xml; VERSION; Makefile; test

    More tweaks to get release-ready

XSL-Xalan

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

  ● Michael(tm) Smith: VERSION

    bring xsl2, xsl-saxon, and xsl-xalan VERSION files up-to-date with
    recent change to snapshot build infrastructure

  ● Michael(tm) Smith: nbproject/build-impl.xml

    Changed hard-coded file references in "clean" target to variable
    references. Closes #1792043. Thanks to Daniel Leidert.

  ● Michael(tm) Smith: Makefile; VERSION

    Did post-release wrap-up of xsl-saxon and xsl-xalan dirs

  ● Michael(tm) Smith: Makefile; nbproject/build-impl.xml; VERSION

    More tweaks to get release-ready

XSL-libxslt

The following changes have been made to the xsl-libxslt code since the 1.73.2
release.

  ● Mauritz Jeanson: python/xslt.py

    Print the result to stdout if no outfile has been given.
    Some unnecessary semicolons removed.

  ● Mauritz Jeanson: python/xslt.py

    Added a function that quotes parameter values (to ensure that they are interpreted as strings).
    Replaced deprecated functions from the string module with string methods.

  ● Michael(tm) Smith: python/README; python/README.LIBXSLT

    renamed xsl-libxslt/python/README to xsl-libxslt/python/README.LIBXSLT

  ● Mauritz Jeanson: python/README

    Tweaked the text a little.

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:

      ● 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

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 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 (currently titled
    REFERENCES, for English output, but will be changed to NOTES).

    This support is not yet complete. It works for most "normal"
    cases, but probably mishandles a good number of cases. More
    testing will be needed to expose the problems. It may well also
    introduce some bugs and regressions in other areas, including
    basic paragraph handling, handling of "mixed block" content,
    handling of other indented content, and handling of authorblurb
    and personblurb in the AUTHORS section.

Params

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

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

  ● 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.)

Profiling

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

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

Release: 1.71.0

This is mainly a bug fix release, but it also includes two significant feature
changes:

Highlighting support added

    The stylesheets now include support for source-code highlighting in output
    of programlisting instances (controlled through the highlight.source
    parameter). The Java-based implementation requires Saxon and makes use of
    Michal Molhanec’s XSLTHL. More details are available at Jirka Kosek’s
    website:

        http://xmlguru.cz/2006/07/docbook-syntax-highlighting

    The support is currently limited to highlighting of XML, Java, PHP, Delphi,
    Modula-2 sources, and INI files.

Changes to autoindexing

    The templates that handle alternative indexing methods were reworked to
    avoid errors produced by certain processors not being able to tolerate the
    presence of unused functions. With this release, none of the code for the
    'kimber' or 'kosek' methods is included in the default stylesheets. In
    order to use one of those methods, your customization layer must import one
    of the optional stylesheet modules:

      ● html/autoidx-kosek.xsl
      ● html/autoidx-kimber.xsl
      ● fo/autoidx-kosek.xsl
      ● fo/autoidx-kimber.xsl

    See the index.method parameter reference page for more information.

    Two other changes to note:

      ● The default indexing method now can handle accented characters in
        latin-based alphabets, not just English. This means accented latin
        letters will group and sort with their unaccented counterpart.
      ● The default value for the index.method parameter was changed from
        'english' to 'basic' because now the default method can handle
        latin-based alphabets, not just English.

The following is a list of changes that have been made since the 1.70.1
release.

Common

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

  ● Added reference.autolabel parameter for controlling labels on
    reference output.

  ● Support rows that are *completely* overlapped by the preceding row

  ● New modules for supporting indexing extensions.

  ● Support startinglinenumber on orderedlist

Extensions

The following changes have been made to the extensions code since the 1.70.1
release.

  ● Completely reworked extensions build system; now uses NetBeans and ant

FO

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

  ● xsl:sort lang attribute now uses two-char substring of lang attribute.

  ● Support titlecase "Java", "Perl", and "IDL" as values for the
    language attribute on classsynopsis, etc. (instead of just
    lowercase "java", "perl", and "idl"). Also support "c++" and "C++"
    (instead of just "cpp").

    Affects HTML, FO, and manpages output. Closes bug 1552332. Thanks
    to "Brian A. Vanderburg II".

  ● Added support for the reference.autolabel param in (X)HTML and FO
    output.

  ● Support rows that are *completely* overlapped by the preceding row

  ● Rearranged templates for the 3 indexing methods
    and changed method named 'english' to 'basic'.

  ● New modules for supporting indexing extensions.

  ● Turn off blank-body for fop1.extensions too since fop 0.92
    does not support it either.

  ● Add Xalan variant to test for exslt:node-set function.
    Xalan can use function named node-set(), but doesn't
    recognize it using function-available().

  ● Added support to FO stylesheets for handling instances of Org
    where it occurs outside of *info content. In HTML stylesheets,
    moved handling of Org out of info.xsl and into inline.xsl. In both
    FO and HTML stylesheets, added support for correctly processing
    Affiliation and Jobtitle.

  ● Don't output punctuation between Refname and Refpurpose if
    Refpurpose is empty. Also corrected handling of Refsect2/title
    instances, and removed some debugging stuff that was generated in
    manpages output to mark the ends of sections.

  ● Added new email.delimiters.enabled param. If non-zero (the
    default), delimiters are generated around e-mail addresses (output
    of the email element). If zero, the delimiters are suppressed.

  ● Initial support of syntax highlighting of programlistings.

  ● Chapter after preface should restart numbering of pages.

HTML

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

  ● xsl:sort lang attribute now uses two-char substring of lang attribute.

  ● Support titlecase "Java", "Perl", and "IDL" as values for the
    language attribute on classsynopsis, etc. (instead of just
    lowercase "java", "perl", and "idl"). Also support "c++" and "C++"
    (instead of just "cpp").

    Affects HTML, FO, and manpages output. Closes bug 1552332. Thanks
    to "Brian A. Vanderburg II".

  ● Added support for the reference.autolabel param in (X)HTML and FO
    output.

  ● Support rows that are *completely* overlapped by the preceding row

  ● Rearranged templates for the 3 indexing methods
    and changed method named 'english' to 'basic'.

  ● New modules for supporting indexing extensions.

  ● Added several new HTML parameters for controlling appearance of
    content on HTML title pages:

    contrib.inline.enabled:
      If non-zero (the default), output of the contrib element is
      displayed as inline content rather than as block content.

    othercredit.like.author.enabled:
      If non-zero, output of the othercredit element on titlepages is
      displayed in the same style as author and editor output. If zero
      (the default), othercredit output is displayed using a style
      different than that of author and editor.

    blurb.on.titlepage.enabled:
      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).

    editedby.enabled
      If non-zero (the default), a localized Edited by heading is
      displayed above editor names in output of the editor element.

  ● Add Xalan variant to test for exslt:node-set function.
    Xalan can use function named node-set(), but doesn't
    recognize it using function-available().

  ● Added support to FO stylesheets for handling instances of Org
    where it occurs outside of *info content. In HTML stylesheets,
    moved handling of Org out of info.xsl and into inline.xsl. In both
    FO and HTML stylesheets, added support for correctly processing
    Affiliation and Jobtitle.

  ● Don't output punctuation between Refname and Refpurpose if
    Refpurpose is empty. Also corrected handling of Refsect2/title
    instances, and removed some debugging stuff that was generated in
    manpages output to mark the ends of sections.

  ● Added new email.delimiters.enabled param. If non-zero (the
    default), delimiters are generated around e-mail addresses (output
    of the email element). If zero, the delimiters are suppressed.

  ● Added qanda.nested.in.toc param. Default value is zero. If
    non-zero, instances of "nested" Qandaentry (ones that are children
    of Answer elements) are displayed in the TOC. Closes patch 1509018
    (from Daniel Leidert). Currently on affects HTML output (no patch
    for FO output provided).

  ● Improved handling of relative locations generated files

  ● Initial support of syntax highlighting of programlistings.

  ● Support org

  ● Support person

  ● Support $keep.relative.image.uris also when chunking

Highlighting

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

  ● Initial support of syntax highlighting of programlistings.

Manpages

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

  ● Suppress footnote markers and output warning that footnotes are
    not yet supported.

  ● Handle instances of address/otheraddr/ulink in author et al in the
    same way as email instances; that is, display them on the same
    linke as the author, editor, etc., name.

  ● Don't number or link-list any Ulink instance whose string value is
    identical to the value of its url attribute. Just display it inline.

  ● Don't output punctuation between Refname and Refpurpose if
    Refpurpose is empty. Also corrected handling of Refsect2/title
    instances, and removed some debugging stuff that was generated in
    manpages output to mark the ends of sections.

  ● Added new email.delimiters.enabled param. If non-zero (the
    default), delimiters are generated around e-mail addresses (output
    of the email element). If zero, the delimiters are suppressed.

  ● In manpages output, if the last/nearest *info element for
    particular Refentry has multiple Copyright and/or Legalnotice
    children, process them all (not just the first ones). Closes bug
    1524576. Thanks to Sam Steingold for the report and to Daniel
    Leidert for providing a patch.

Params

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

  ● Added reference.autolabel parameter for controlling labels on
    reference output.

  ● Added namespace declarations to document elements for all param files.

  ● Updated index.method doc to describe revised setup for importing index
     extensions.

  ● Added several new HTML parameters for controlling appearance of
    content on HTML title pages:

    contrib.inline.enabled:
      If non-zero (the default), output of the contrib element is
      displayed as inline content rather than as block content.

    othercredit.like.author.enabled:
      If non-zero, output of the othercredit element on titlepages is
      displayed in the same style as author and editor output. If zero
      (the default), othercredit output is displayed using a style
      different than that of author and editor.

    blurb.on.titlepage.enabled:
      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).

    editedby.enabled
      If non-zero (the default), a localized Edited by heading is
      displayed above editor names in output of the editor element.

  ● Added new email.delimiters.enabled param. If non-zero (the
    default), delimiters are generated around e-mail addresses (output
    of the email element). If zero, the delimiters are suppressed.

  ● Added qanda.nested.in.toc param. Default value is zero. If
    non-zero, instances of "nested" Qandaentry (ones that are children
    of Answer elements) are displayed in the TOC. Closes patch 1509018
    (from Daniel Leidert). Currently on affects HTML output (no patch
    for FO output provided).

  ● Initial support of syntax highlighting of programlistings.

Tools

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

  ● Racheted down font sizes of headings in example makefile FO output.

  ● Added param and attribute set to example makefile, for getting
    wrapping in verbatims in FO output.

  ● Renamed Makefile.paramDoc to Makefile.docParam.

  ● Added Makefile.paramDoc file, for creating versions of param.xsl
    files with doc embedded.

  ● Added variable to example makefile for controlling whether HTML or
    XHTML is generated.

Release: 1.70.1

This is a stable release of the 1.70 stylesheets. It includes only a few small
changes from 1.70.0.

The following is a list of changes that have been made since the 1.70.0
release.

FO

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

  ● Added three new attribute sets (revhistory.title.properties,
    revhistory.table.properties and revhistory.table.cell.properties) for
    controlling appearance of revhistory in FO output.

    Modified: fo/block.xsl,1.34; fo/param.ent,1.101; fo/param.xweb,1.114; fo/
    titlepage.xsl,1.41; params/revhistory.table.cell.properties.xml,1.1; params
    /revhistory.table.properties.xml,1.1; params/
    revhistory.title.properties.xml,1.1 - Jirka Kosek

  ● Support DBv5 revisions with full author name (not only authorinitials)

    Modified: fo/block.xsl,1.33; fo/titlepage.xsl,1.40 - Jirka Kosek

HTML

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

  ● Support DBv5 revisions with full author name (not only authorinitials)

    Modified: html/block.xsl,1.23; html/titlepage.xsl,1.34 - Jirka Kosek

HTMLHelp

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

  ● htmlhelp.generate.index is now param, not variable. This means that you can
    override its setting from outside. This is useful when you generate
    indexterms on the fly (see http://www.xml.com/pub/a/2004/07/14/dbndx.html?
    page=3).

    Modified: htmlhelp/htmlhelp-common.xsl,1.38 - Jirka Kosek

  ● Support chunk.tocs.and.lots in HTML Help

    Modified: htmlhelp/htmlhelp-common.xsl,1.37 - Jirka Kosek

Params

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

  ● Added three new attribute sets (revhistory.title.properties,
    revhistory.table.properties and revhistory.table.cell.properties) for
    controlling appearance of revhistory in FO output.

    Modified: fo/block.xsl,1.34; fo/param.ent,1.101; fo/param.xweb,1.114; fo/
    titlepage.xsl,1.41; params/revhistory.table.cell.properties.xml,1.1; params
    /revhistory.table.properties.xml,1.1; params/
    revhistory.title.properties.xml,1.1 - Jirka Kosek

Release: 1.70.0

As with all DocBook Project dot-zero releases, this is an experimental release.
It will be followed shortly by a stable release.

This release adds a number of new features, including:

  ● support for selecting alternative index-collation methods (in particular,
    support for using a collation library developed by Eliot Kimber)

  ● improved handling of DocBook 5 document instances (through a
    namespace-stripping mechanism)

  ● full support for CALS and HTML tables in manpages output

  ● a mechanism for preserving relative URIs in documents that make use of
    XInclude

  ● support for the "new" .90 version of FOP

  ● enhanced capabilities for controlling formatting of lists in HTML and FO
    output

  ● autogeneration of AUTHOR and COPYRIGHT sections in manpages output

  ● support for generating crop marks in FO/PDF output

  ● support for qandaset as a root element in FO output

  ● support for floatstyle and orient on all table types

  ● support for floatstyle in figure, and example

  ● pgwide.properties attribute-set supports extending figure, example and
    table into the left indent area instead of spanning multiple columns.

The following is a detailed list of enhancements and API changes that have been
made since the 1.69.1 release.

Common

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

  ● Add the xsl:key for the kimber indexing method.

    Modified: common/autoidx-ng.xsl,1.2 - Robert Stayton

  ● Add support for qandaset.

    Modified: common/labels.xsl,1.37; common/subtitles.xsl,1.7; common/
    titles.xsl,1.35 - Robert Stayton

  ● Support dbhtml/dbfo start PI for orderedlist numbering in both HTML and FO

    Modified: common/common.xsl,1.61; html/lists.xsl,1.50 - Norman Walsh

  ● Added CVS header.

    Modified: common/stripns.xsl,1.12 - Robert Stayton

  ● Changed content model of text element to ANY rather than #PCDATA because
    they could contain markup.

    Modified: common/targetdatabase.dtd,1.7 - Robert Stayton

  ● Added refentry.meta.get.quietly param.

    If zero (the default), notes and warnings about "missing" markup are
    generated during gathering of refentry metadata. If non-zero, the metadata
    is gathered "quietly" -- that is, the notes and warnings are suppressed.

    NOTE: If you are processing a large amount of refentry content, you may be
    able to speed up processing significantly by setting a non-zero value for
    refentry.meta.get.quietly.

    Modified: common/refentry.xsl,1.17; manpages/param.ent,1.15; manpages/
    param.xweb,1.17; params/refentry.meta.get.quietly.xml,1.1 - Michael(tm)
    Smith

  ● After namespace stripping, the source document is the temporary tree
    created by the stripping process and it has the wrong base URI for relative
    references. Earlier versions of this code used to try to fix that by
    patching the elements with relative @fileref attributes. That was
    inadequate because it calculated an absolute base URI without considering
    that there might be xml:base attributes already in effect. It seems obvious
    now that the right thing to do is simply to put the xml:base on the root of
    the document. And that seems to work.

    Modified: common/stripns.xsl,1.7 - Norman Walsh

  ● Added support for "software" and "sectdesc" class values on refmiscinfo;
    "software" is treated identically to "source", and "setdesc" is treated
    identically to "manual".

    Modified: common/refentry.xsl,1.10; params/
    man.th.extra2.max.length.xml,1.3; params/
    refentry.source.name.profile.xml,1.4 - Michael(tm) Smith

  ● Added support for DocBook 5 namespace-stripping in manpages stylesheet.
    Closes request #1210692.

    Modified: common/common.xsl,1.56; manpages/docbook.xsl,1.57 - Michael(tm)
    Smith

  ● Added <xsl:template match="/"> to make stripns.xsl usable as a standalone
    stylesheet for stripping out DocBook 5/NG to DocBook 4. Note that DocBook
    XSLT drivers that include this stylesheet all override the match="/"
    template.

    Modified: common/stripns.xsl,1.4 - Michael(tm) Smith

  ● Number figures, examples, and tables from book if there is no prefix (i.e.
    if chapter.autolabel is set to 0). This avoids having the list of figures
    where the figures mysteriously restart their numeration periodically when
    chapter.autolabel is set to 0.

    Modified: common/labels.xsl,1.36 - David Cramer

  ● Add task template in title.markup mode.

    Modified: common/titles.xsl,1.34 - Robert Stayton

  ● Add children (with ids) of formal objects to target data.

    Modified: common/targets.xsl,1.10 - Robert Stayton

  ● Added support for case when personname doesn't contain specific name markup
    (as allowed in DocBook 5.0)

    Modified: common/common.xsl,1.54 - Jirka Kosek

Extensions

The following changes have been made to the extensions code since the 1.69.1
release.

  ● Support Xalan 2.7

    Modified: extensions/xalan27/.cvsignore,1.1; extensions/xalan27/
    build.xml,1.1; extensions/xalan27/nbproject/.cvsignore,1.1; extensions/
    xalan27/nbproject/build-impl.xml,1.1; extensions/xalan27/nbproject/
    genfiles.properties,1.1; extensions/xalan27/nbproject/
    project.properties,1.1; extensions/xalan27/nbproject/project.xml,1.1;
    extensions/xalan27/src/com/nwalsh/xalan/CVS.java,1.1; extensions/xalan27/
    src/com/nwalsh/xalan/Callout.java,1.1; extensions/xalan27/src/com/nwalsh/
    xalan/FormatCallout.java,1.1; extensions/xalan27/src/com/nwalsh/xalan/
    FormatDingbatCallout.java,1.1; extensions/xalan27/src/com/nwalsh/xalan/
    FormatGraphicCallout.java,1.1; extensions/xalan27/src/com/nwalsh/xalan/
    FormatTextCallout.java,1.1; extensions/xalan27/src/com/nwalsh/xalan/
    FormatUnicodeCallout.java,1.1; extensions/xalan27/src/com/nwalsh/xalan/
    Func.java,1.1; extensions/xalan27/src/com/nwalsh/xalan/
    ImageIntrinsics.java,1.1; extensions/xalan27/src/com/nwalsh/xalan/
    Params.java,1.1; extensions/xalan27/src/com/nwalsh/xalan/Table.java,1.1;
    extensions/xalan27/src/com/nwalsh/xalan/Text.java,1.1; extensions/xalan27/
    src/com/nwalsh/xalan/Verbatim.java,1.1 - Norman Walsh

  ● Handle the case where the imageFn is actually a URI. This still needs work.

    Modified: extensions/saxon643/com/nwalsh/saxon/ImageIntrinsics.java,1.4 -
    Norman Walsh

FO

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

  ● Adapted to the new indexing code. Now works just like a wrapper that calls
    kosek indexing method, originally implemented here.

    Modified: fo/autoidx-ng.xsl,1.5 - Jirka Kosek

  ● Added parameters for header/footer table minimum height.

    Modified: fo/pagesetup.xsl,1.60; fo/param.ent,1.100; fo/param.xweb,1.113 -
    Robert Stayton

  ● Add the index.method parameter.

    Modified: fo/param.ent,1.99; fo/param.xweb,1.112 - Robert Stayton

  ● Integrate support for three indexing methods: - the original English-only
    method. - Jirka Kosek's method using EXSLT extensions. - Eliot Kimber's
    method using Saxon extensions. Use the 'index.method' parameter to select.

    Modified: fo/autoidx.xsl,1.38 - Robert Stayton

  ● Add support for TOC for qandaset in fo output.

    Modified: fo/autotoc.xsl,1.30; fo/qandaset.xsl,1.20 - Robert Stayton

  ● Added parameter ulink.hyphenate.chars. Added parameter insert.link
    .page.number.

    Modified: fo/param.ent,1.98; fo/param.xweb,1.111 - Robert Stayton

  ● Implemented feature request #942524 to add insert.link.page.number to allow
    link element cross references to have a page number.

    Modified: fo/xref.xsl,1.67 - Robert Stayton

  ● Add support for ulink.hyphenate.chars so more characters can be break
    points in urls.

    Modified: fo/xref.xsl,1.66 - Robert Stayton

  ● Implemented patch #1075144 to make the url text in a ulink in FO output an
    active link as well.

    Modified: fo/xref.xsl,1.65 - Robert Stayton

  ● table footnotes now have their own table.footnote.properties attribute set.

    Modified: fo/footnote.xsl,1.23 - Robert Stayton

  ● Add qandaset to root.elements.

    Modified: fo/docbook.xsl,1.41 - Robert Stayton

  ● Added mode="page.sequence" to make it easier to put content into a page
    sequence. First used for qandaset.

    Modified: fo/component.xsl,1.37 - Robert Stayton

  ● Implemented feature request #1434408 to support formatting of biblioentry.

    Modified: fo/biblio.xsl,1.35 - Robert Stayton

  ● Added biblioentry.properties.

    Modified: fo/param.ent,1.97; fo/param.xweb,1.110 - Robert Stayton

  ● Support PTC/Arbortext bookmarks

    Modified: fo/docbook.xsl,1.40; fo/ptc.xsl,1.1 - Norman Walsh

  ● Added table.footnote.properties to permit table footnotes to format
    differently from regular footnotes.

    Modified: fo/param.ent,1.96; fo/param.xweb,1.109 - Robert Stayton

  ● Refactored table templates to unify their processing and support all
    options in all types. Now table and informaltable, in both Cals and Html
    markup, use the same templates where possible, and all support pgwide,
    rotation, and floats. There is also a placeholder table.container template
    to support wrapping a table in a layout table, so the XEP table title
    "continued" extension can be more easily implemented.

    Modified: fo/formal.xsl,1.52; fo/htmltbl.xsl,1.9; fo/table.xsl,1.48 -
    Robert Stayton

  ● Added new attribute set toc.line.properties for controlling appearance of
    lines in ToC/LoT

    Modified: fo/autotoc.xsl,1.29; fo/param.ent,1.95; fo/param.xweb,1.108 -
    Jirka Kosek

  ● Added support for float to example and equation. Added support for pgwide
    to figure, example, and equation (the latter two via a dbfo pgwide="1"
    processing instruction).

    Modified: fo/formal.xsl,1.51 - Robert Stayton

  ● Add pgwide.properties attribute-set.

    Modified: fo/param.ent,1.94; fo/param.xweb,1.107 - Robert Stayton

  ● Added refclass.suppress param.

    If the value of refclass.suppress is non-zero, then display refclass
    contents is suppressed in output. Affects HTML and FO output only.

    Modified: fo/param.ent,1.93; fo/param.xweb,1.106; html/param.ent,1.90; html
    /param.xweb,1.99; params/refclass.suppress.xml,1.1 - Michael(tm) Smith

  ● Improved support for task subelements

    Modified: fo/task.xsl,1.3; html/task.xsl,1.3 - Jirka Kosek

  ● Adjusted spacing around K&R-formatted Funcdef and Paramdef output such that
    it can more easily be discerned where one ends and the other begins. Closes
    #1213264.

    Modified: fo/synop.xsl,1.18 - Michael(tm) Smith

  ● Made handling of paramdef/parameter in FO output consistent with that in
    HTML and manpages output. Closes #1213259.

    Modified: fo/synop.xsl,1.17 - Michael(tm) Smith

  ● Made handling of Refnamediv consistent with formatting in HTML and manpages
    output; specifically, changed so that Refname (comma-separated list of
    multiple instances found) is used (instead of Refentrytitle as previously),
    then em-dash, then the Refpurpose. Closes #1212562.

    Modified: fo/refentry.xsl,1.30 - Michael(tm) Smith

  ● Added output of Releaseinfo to recto titlepage ("copyright" page) for Book
    in FO output. This makes it consistent with HTML output. Closes #1327034.
    Thanks to Paul DuBois for reporting.

    Modified: fo/titlepage.templates.xml,1.28 - Michael(tm) Smith

  ● Added condition for setting block-progression-dimension.minimum on
    table-row, instead of height, when fop1.extensions is non-zero. For an
    explanation of the reason for the change, see: http://wiki.apache.org/
    xmlgraphics-fop/Troubleshooting/CommonLogMessages

    Modified: fo/pagesetup.xsl,1.59 - Michael(tm) Smith

  ● Added new refclass.suppress param for suppressing display of Refclass in
    HTML and FO output. Did not add it to manpages because manpages stylesheet
    is currently just silently ignoring Refclass anyway. Closes request #
    1461065. Thanks to Davor Ocelic (docelic) for reporting.

    Modified: fo/refentry.xsl,1.29; html/refentry.xsl,1.23 - Michael(tm) Smith

  ● Add support for keep-together PI to informal objects.

    Modified: fo/formal.xsl,1.50 - Robert Stayton

  ● Add support for fop1.extensions.

    Modified: fo/formal.xsl,1.49; fo/graphics.xsl,1.44; fo/table.xsl,1.47 -
    Robert Stayton

  ● Add support for fop1 bookmarks.

    Modified: fo/docbook.xsl,1.39 - Robert Stayton

  ● Add fop1.extentions parameter to add support for fop development version.

    Modified: fo/param.ent,1.92; fo/param.xweb,1.105 - Robert Stayton

  ● Start supporting fop development version, which will become fop version 1.

    Modified: fo/fop1.xsl,1.1 - Robert Stayton

  ● Add template for task in mode="xref-to".

    Modified: fo/xref.xsl,1.63; html/xref.xsl,1.57 - Robert Stayton

  ● table footnotes now also get footnote.properties attribute-set.

    Modified: fo/footnote.xsl,1.22 - Robert Stayton

  ● Added index.separator named template to compute the separator punctuation
    based on locale.

    Modified: fo/autoidx.xsl,1.36 - Robert Stayton

  ● Added support for link, olink, and xref within OO Classsynopsis and
    children. (Because DocBook NG/5 allows it).

    Modified: fo/synop.xsl,1.15; html/synop.xsl,1.19 - Michael(tm) Smith

  ● Support date as an inline

    Modified: fo/inline.xsl,1.43; html/inline.xsl,1.46 - Norman Walsh

  ● Added new parameter keep.relative.image.uris

    Modified: fo/param.ent,1.91; fo/param.xweb,1.104; html/param.ent,1.87; html
    /param.xweb,1.96; params/keep.relative.image.uris.xml,1.1 - Norman Walsh

  ● Map Unicode space characters U+2000-U+200A to fo:leaders.

    Modified: fo/docbook.xsl,1.38; fo/passivetex.xsl,1.4; fo/spaces.xsl,1.1 -
    Jirka Kosek

  ● Output a real em dash for em-dash dingbat (instead of two hypens).

    Modified: fo/fo.xsl,1.7 - Michael(tm) Smith

  ● Support default label width parameters for itemized and ordered lists

    Modified: fo/lists.xsl,1.64; fo/param.ent,1.90; fo/param.xweb,1.103; params
    /itemizedlist.label.width.xml,1.1; params/orderedlist.label.width.xml,1.1 -
    Norman Walsh

  ● Generate localized title for Refsynopsisdiv if no appropriate Title
    descendant found in source. Closes #1212398. This change makes behavior for
    the Synopsis title consistent with the behavior of HTML and manpages
    output.

    Also, added xsl:use-attribute-sets="normal.para.spacing" to block generated
    for Cmdsynopsis output. Previously, that block had no spacing at all
    specified, which resulted it being crammed up to closely to the Synopsis
    head.

    Modified: fo/refentry.xsl,1.28; fo/synop.xsl,1.13 - Michael(tm) Smith

  ● Added parameters to support localization of index item punctuation.

    Modified: fo/autoidx.xsl,1.35 - Robert Stayton

  ● Added index.number.separator, index.range.separator, and
    index.term.separator parameters to support localization of punctuation in
    index entries.

    Modified: fo/param.ent,1.89; fo/param.xweb,1.102 - Robert Stayton

  ● Added "Cross References" section in HTML doc (for consistency with the FO
    doc). Also, moved the existing FO "Cross References" section to follow the
    "Linking" section.

    Modified: fo/param.xweb,1.101; html/param.xweb,1.95 - Michael(tm) Smith

  ● Added ID attribues to all Reference elements (e.g., id="tables" for the doc
    for section on Table params). So pages for all subsections of ref docs now
    have stable filenames instead of arbitrary generated filenames.

    Modified: fo/param.xweb,1.100; html/param.xweb,1.94 - Michael(tm) Smith

  ● Added two new parameters for handling of multi-term varlistentry elements:

    variablelist.term.break.after: When the variablelist.term.break.after is
    non-zero, it will generate a line break after each term multi-term
    varlistentry.

    variablelist.term.separator: When a varlistentry contains multiple term
    elements, the string specified in the value of the
    variablelist.term.separator parameter is placed after each term except the
    last. The default is ", " (a comma followed by a space). To suppress
    rendering of the separator, set the value of variablelist.term.separator to
    the empty string ("").

    These parameters are primarily intended to be useful if you have multi-term
    varlistentries that have long terms.

    Closes #1306676. Thanks to Sam Steingold for providing an example "lots of
    long terms" doc that demonstrated the value of having these options.

    Also, added normalize-space() call to processing of each term.

    This change affects all output formats (HTML, PDF, manpages). The default
    behavior should pretty much remain the same as before, but it is possible
    (as always) that the change may introduce some new bugginess.

    Modified: fo/lists.xsl,1.62; fo/param.ent,1.88; fo/param.xweb,1.99; html/
    lists.xsl,1.48; html/param.ent,1.86; html/param.xweb,1.93; manpages/
    lists.xsl,1.22; manpages/param.ent,1.14; manpages/param.xweb,1.16; params/
    variablelist.term.break.after.xml,1.1; params/
    variablelist.term.separator.xml,1.1 - Michael(tm) Smith

  ● Add sidebar titlepage placeholder attset for styles.

    Modified: fo/titlepage.xsl,1.37 - Robert Stayton

  ● Add titlepage for sidebar.

    Modified: fo/titlepage.templates.xml,1.27 - Robert Stayton

  ● Implemented RFE #1292615.

    Added bunch of new parameters (attribute sets) that affect list
    presentation: list.block.properties, itemizedlist.properties, orderedlist
    .properties, itemizedlist.label.properties and orderedlist.label
    .properties. Default behaviour of stylesheets has not been changed but
    further customizations will be much more easier.

    Modified: fo/lists.xsl,1.61; fo/param.ent,1.87; fo/param.xweb,1.98; params/
    itemizedlist.label.properties.xml,1.1; params/
    itemizedlist.properties.xml,1.1; params/list.block.properties.xml,1.1;
    params/orderedlist.label.properties.xml,1.1; params/
    orderedlist.properties.xml,1.1 - Jirka Kosek

  ● Implemented RFE #1242092.

    You can enable crop marks in your document by setting crop.marks=1 and
    xep.extensions=1. Appearance of crop marks can be controlled by parameters
    crop.mark.bleed (6pt), crop.mark.offset (24pt) and crop.mark.width (0.5pt).

    Also there is new named template called user-xep-pis. You can overwrite it
    in order to produce some PIs that can control XEP as described in http://
    www.renderx.com/reference.html#Output_Formats

    Modified: fo/docbook.xsl,1.36; fo/param.ent,1.86; fo/param.xweb,1.97; fo/
    xep.xsl,1.23; params/crop.mark.bleed.xml,1.1; params/
    crop.mark.offset.xml,1.1; params/crop.mark.width.xml,1.1; params/
    crop.marks.xml,1.1 - Jirka Kosek

HTML

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

  ● implemented index.method parameter and three methods.

    Modified: html/autoidx.xsl,1.28 - Robert Stayton

  ● added index.method parameter to support 3 indexing methods.

    Modified: html/param.ent,1.94; html/param.xweb,1.103 - Robert Stayton

  ● Implemented feature request #1072510 as a processing instruction to permit
    including external HTML content into HTML output.

    Modified: html/pi.xsl,1.9 - Robert Stayton

  ● Added new parameter chunk.tocs.and.lots.has.title which controls presence
    of title in a separate chunk with ToC/LoT. Disabling title can be very
    useful if you are generating frameset output (well, yes those frames, but
    some customers really want them ;-).

    Modified: html/chunk-code.xsl,1.15; html/param.ent,1.93; html/
    param.xweb,1.102; params/chunk.tocs.and.lots.has.title.xml,1.1 - Jirka
    Kosek

  ● Support dbhtml/dbfo start PI for orderedlist numbering in both HTML and FO

    Modified: common/common.xsl,1.61; html/lists.xsl,1.50 - Norman Walsh

  ● Allow ToC without title also for set and book.

    Modified: html/autotoc.xsl,1.37; html/division.xsl,1.12 - Jirka Kosek

  ● Implemented floats uniformly for figure, example, equation and
    informalfigure, informalexample, and informalequation.

    Modified: html/formal.xsl,1.22 - Robert Stayton

  ● Added the autotoc.label.in.hyperlink param.

    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.

    Closes patch #1065868. Thanks to anatoly techtonik for the patch.

    Modified: html/autotoc.xsl,1.36; html/param.ent,1.92; html/
    param.xweb,1.101; params/autotoc.label.in.hyperlink.xml,1.1 - Michael(tm)
    Smith

  ● Added two new params: html.head.legalnotice.link.types and html.head.
    legalnotice.link.multiple.

    If the value of the generate.legalnotice.link 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:

    <link rel="copyright" href="ln-id2524073.html" title="Legal Notice">

    Closes #1476450. Thanks to Sam Steingold.

    Modified: html/chunk-common.xsl,1.45; html/param.ent,1.91; html/
    param.xweb,1.100; params/generate.legalnotice.link.xml,1.4; params/
    html.head.legalnotice.link.multiple.xml,1.1; params/
    html.head.legalnotice.link.types.xml,1.1 - Michael(tm) Smith

  ● Added refclass.suppress param.

    If the value of refclass.suppress is non-zero, then display refclass
    contents is suppressed in output. Affects HTML and FO output only.

    Modified: fo/param.ent,1.93; fo/param.xweb,1.106; html/param.ent,1.90; html
    /param.xweb,1.99; params/refclass.suppress.xml,1.1 - Michael(tm) Smith

  ● Improved support for task subelements

    Modified: fo/task.xsl,1.3; html/task.xsl,1.3 - Jirka Kosek

  ● Added new refclass.suppress param for suppressing display of Refclass in
    HTML and FO output. Did not add it to manpages because manpages stylesheet
    is currently just silently ignoring Refclass anyway. Closes request #
    1461065. Thanks to Davor Ocelic (docelic) for reporting.

    Modified: fo/refentry.xsl,1.29; html/refentry.xsl,1.23 - Michael(tm) Smith

  ● Process alt text with normalize-space(). Replace tab indents with spaces.

    Modified: html/graphics.xsl,1.57 - Robert Stayton

  ● Content of citation element is automatically linked to the bibliographic
    entry with the corresponding abbrev.

    Modified: html/biblio.xsl,1.26; html/inline.xsl,1.47; html/xref.xsl,1.58 -
    Jirka Kosek

  ● Add template for task in mode="xref-to".

    Modified: fo/xref.xsl,1.63; html/xref.xsl,1.57 - Robert Stayton

  ● Suppress ID warnings if the .warnings parameter is 0

    Modified: html/html.xsl,1.17 - Norman Walsh

  ● Add support for floatstyle to figure.

    Modified: html/formal.xsl,1.21 - Robert Stayton

  ● Handling of xref to area/areaset need support in extensions code also. I
    currently have no time to touch extensions code, so code is here to be
    enabled when extension is fixed also.

    Modified: html/xref.xsl,1.56 - Jirka Kosek

  ● Added 3 parameters for overriding gentext for index punctuation.

    Modified: html/param.ent,1.89; html/param.xweb,1.98 - Robert Stayton

  ● Added parameters to support localization of index item punctuation. Added
    index.separator named template to compute the separator punctuation based
    on locale.

    Modified: html/autoidx.xsl,1.27 - Robert Stayton

  ● Added a <div class="{$class}-contents"> wrapper around output of contents
    of all formal objects. Also, added an optional <br class="{class}-break"/>
    linebreak after all formal objects.

    WARNING: Because this change places an additional DIV between the DIV
    wrapper for the equation and the equation contents, it may break some
    existing CSS stylesheets that have been created with the assumption that
    there would never be an intervening DIV there.

    The following is an example of what Equation output looks like as a result
    of the changes described above.

    <div class="equation"> <a name="three" id="three"></a>

    <p class="title"><b>(1.3)</b></p>

    <div class="equation-contents"> <span class="mathphrase">1+1=3</span> </
    div> </div><br class="equation-break">

    Rationale: These changes allow CSS control of the placement of the
    formal-object title relative to the formal-object contents. For example,
    using the CSS "float" property enables the title and contents to be
    rendered on the same line. Example stylesheet:

    .equation { margin-top: 20px; margin-bottom: 20px; } .equation-contents {
    float: left; }

    .equation .title { margin-top: 0; float: right; margin-right: 200px; }

    .equation .title b { font-weight: normal; }

    .equation-break { clear: both; }

    Note that the purpose of the ".equation-break" class is to provide a way to
    clear off the floats.

    If you want to instead have the equation title rendered to the left of the
    equation contents, you can do something like this:

    .equation { margin-top: 20px; width: 300px; margin-bottom: 20px; }
    .equation-contents { float: right; }

    .equation .title { margin-top: 0; float: left; margin-right: 200px; }

    .equation .title b { font-weight: normal; }

    .equation-break { clear: both; }

    Modified: html/formal.xsl,1.20 - Michael(tm) Smith

  ● Added a chunker.output.quiet top-level parameter so that the chunker can be
    made quiet by default

    Modified: html/chunker.xsl,1.26 - Norman Walsh

  ● Added support for link, olink, and xref within OO Classsynopsis and
    children. (Because DocBook NG/5 allows it).

    Modified: fo/synop.xsl,1.15; html/synop.xsl,1.19 - Michael(tm) Smith

  ● New parameter: id.warnings. If non-zero, warnings are generated for titled
    objects that don't have titles. True by default; I wonder if this will be
    too aggressive?

    Modified: html/biblio.xsl,1.25; html/component.xsl,1.27; html/
    division.xsl,1.11; html/formal.xsl,1.19; html/glossary.xsl,1.20; html/
    html.xsl,1.13; html/index.xsl,1.16; html/param.ent,1.88; html/
    param.xweb,1.97; html/refentry.xsl,1.22; html/sections.xsl,1.30; params/
    id.warnings.xml,1.1 - Norman Walsh

  ● If the keep.relative.image.uris parameter is true, don't use the absolute
    URI (as calculated from xml:base) in the img src attribute, us the value
    the author specified. Note that we still have to calculate the absolute
    filename for use in the image intrinsics extension.

    Modified: html/graphics.xsl,1.56 - Norman Walsh

  ● Support date as an inline

    Modified: fo/inline.xsl,1.43; html/inline.xsl,1.46 - Norman Walsh

  ● Added new parameter keep.relative.image.uris

    Modified: fo/param.ent,1.91; fo/param.xweb,1.104; html/param.ent,1.87; html
    /param.xweb,1.96; params/keep.relative.image.uris.xml,1.1 - Norman Walsh

  ● Added two new parameters for handling of multi-term varlistentry elements:

    variablelist.term.break.after: When the variablelist.term.break.after is
    non-zero, it will generate a line break after each term multi-term
    varlistentry.

    variablelist.term.separator: When a varlistentry contains multiple term
    elements, the string specified in the value of the
    variablelist.term.separator parameter is placed after each term except the
    last. The default is ", " (a comma followed by a space). To suppress
    rendering of the separator, set the value of variablelist.term.separator to
    the empty string ("").

    These parameters are primarily intended to be useful if you have multi-term
    varlistentries that have long terms.

    Closes #1306676. Thanks to Sam Steingold for providing an example "lots of
    long terms" doc that demonstrated the value of having these options.

    Also, added normalize-space() call to processing of each term.

    This change affects all output formats (HTML, PDF, manpages). The default
    behavior should pretty much remain the same as before, but it is possible
    (as always) that the change may introduce some new bugginess.

    Modified: fo/lists.xsl,1.62; fo/param.ent,1.88; fo/param.xweb,1.99; html/
    lists.xsl,1.48; html/param.ent,1.86; html/param.xweb,1.93; manpages/
    lists.xsl,1.22; manpages/param.ent,1.14; manpages/param.xweb,1.16; params/
    variablelist.term.break.after.xml,1.1; params/
    variablelist.term.separator.xml,1.1 - Michael(tm) Smith

  ● Added "wrapper-name" param to inline.charseq named template, enabling it to
    output inlines other than just "span". Acronym and Abbrev templates now use
    inline.charseq to output HTML "acronym" and "abbr" elements (instead of
    "span"). Closes #1305468. Thanks to Sam Steingold for suggesting the
    change.

    Modified: html/inline.xsl,1.45 - Michael(tm) Smith

Manpages

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

  ● Added the following params:

    - man.indent.width (string-valued) - man.indent.refsect (boolean) -
    man.indent.blurbs (boolean) - man.indent.lists (boolean) -
    man.indent.verbatims (boolean)

    Note that in earlier snapshots, man.indent.width was named
    man.indentation.default.value and the boolean params had names like
    man.indentation.*.adjust. Also the man.indent.blurbs param was called
    man.indentation.authors.adjust (or something).

    The behavior now is: If the value of a particular man.indent.* boolean
    param is non-zero, the corresponding contents (refsect*, list items,
    authorblurb/personblurb, vervatims) are displayed with a left margin
    indented by a width equal to the value of man.indent.width.

    Modified: params/man.indent.blurbs.xml,1.1; manpages/docbook.xsl,1.74;
    manpages/info.xsl,1.20; manpages/lists.xsl,1.30; manpages/other.xsl,1.20;
    manpages/param.ent,1.22; manpages/param.xweb,1.24; manpages/
    refentry.xsl,1.14; params/man.indent.lists.xml,1.1; params/
    man.indent.refsect.xml,1.1; params/man.indent.verbatims.xml,1.1; params/
    man.indent.width.xml,1.1 - Michael(tm) Smith

  ● Added man.table.footnotes.divider param.

    In each table that contains footenotes, the string specified by the man.
    table.footnotes.divider parameter is output before the list of footnotes
    for the table.

    Modified: manpages/docbook.xsl,1.73; manpages/links.xsl,1.6; manpages/
    param.ent,1.21; manpages/param.xweb,1.23; params/
    man.table.footnotes.divider.xml,1.1 - Michael(tm) Smith

  ● Added the man.output.in.separate.dir, man.output.base.dir, and
    man.output.subdirs.enabled parameters.

    The man.output.base.dir parameter specifies the base directory into which
    man-page files are output. The man.output.subdirs.enabled parameter
    controls whether the files are output in subdirectories within the base
    directory.

    The values of the man.output.base.dir and man.output.subdirs.enabled
    parameters are used only if the value of man.output.in.separate.dir
    parameter is non-zero. If the value of man.output.in.separate.dir is zero,
    man-page files are not output in a separate directory.

    Modified: manpages/docbook.xsl,1.72; manpages/param.ent,1.20; manpages/
    param.xweb,1.22; params/man.output.base.dir.xml,1.1; params/
    man.output.in.separate.dir.xml,1.1; params/
    man.output.subdirs.enabled.xml,1.1 - Michael(tm) Smith

  ● Added man.font.table.headings and man.font.table.title params, for
    controlling font in table headings and titles.

    Modified: manpages/docbook.xsl,1.71; manpages/param.ent,1.19; manpages/
    param.xweb,1.21; params/man.font.table.headings.xml,1.1; params/
    man.font.table.title.xml,1.1 - Michael(tm) Smith

  ● Added man.font.funcsynopsisinfo and man.font.funcprototype params, for
    specifying the roff font (for example, BI, B, I) for funcsynopsisinfo and
    funcprototype output.

    Modified: manpages/block.xsl,1.19; manpages/docbook.xsl,1.69; manpages/
    param.ent,1.18; manpages/param.xweb,1.20; manpages/synop.xsl,1.29; manpages
    /table.xsl,1.21; params/man.font.funcprototype.xml,1.1; params/
    man.font.funcsynopsisinfo.xml,1.1 - Michael(tm) Smith

  ● Added man.segtitle.suppress param.

    If the value of man.segtitle.suppress is non-zero, then display of segtitle
    contents is suppressed in output.

    Modified: manpages/docbook.xsl,1.68; manpages/param.ent,1.17; manpages/
    param.xweb,1.19; params/man.segtitle.suppress.xml,1.1 - Michael(tm) Smith

  ● Added man.output.manifest.enabled and man.output.manifest.filename params.

    If man.output.manifest.enabled is non-zero, a list of filenames for man
    pages generated by the stylesheet transformation is written to the file
    named by man.output.manifest.filename

    Modified: manpages/docbook.xsl,1.67; manpages/other.xsl,1.19; manpages/
    param.ent,1.16; manpages/param.xweb,1.18; params/
    man.output.manifest.enabled.xml,1.1; params/
    man.output.manifest.filename.xml,1.1; tools/make/Makefile.DocBook,1.4 -
    Michael(tm) Smith

  ● Added refentry.meta.get.quietly param.

    If zero (the default), notes and warnings about "missing" markup are
    generated during gathering of refentry metadata. If non-zero, the metadata
    is gathered "quietly" -- that is, the notes and warnings are suppressed.

    NOTE: If you are processing a large amount of refentry content, you may be
    able to speed up processing significantly by setting a non-zero value for
    refentry.meta.get.quietly.

    Modified: common/refentry.xsl,1.17; manpages/param.ent,1.15; manpages/
    param.xweb,1.17; params/refentry.meta.get.quietly.xml,1.1 - Michael(tm)
    Smith

  ● Changed names of all boolean indentation params to man.indent.* Also
    discarded individual man.indent.*.value params and switched to just using a
    common man.indent.width param (3n by default).

    Modified: manpages/docbook.xsl,1.66; manpages/info.xsl,1.19; manpages/
    lists.xsl,1.29; manpages/other.xsl,1.18; manpages/refentry.xsl,1.13 -
    Michael(tm) Smith

  ● Added boolean man.output.in.separate.dir param, to control whether or not
    man files are output in separate directory.

    Modified: manpages/docbook.xsl,1.65; manpages/utility.xsl,1.14 - Michael
    (tm) Smith

  ● Added options for controlling indentation of verbatim output. Controlled
    through the man.indentation.verbatims.adjust and
    man.indentation.verbatims.value params. Closes #1242997

    Modified: manpages/block.xsl,1.15; manpages/docbook.xsl,1.64 - Michael(tm)
    Smith

  ● Added options for controlling indentation in lists and in *blurb output in
    the AUTHORS section. Controlled through the man.indentation.lists.adjust,
    man.indentation.lists.value, man.indentation.authors.adjust, and
    man.indentation.authors.value parameters. Default is 3 characters (instead
    of the roff default of 8 characters). Closes #1449369.

    Also, removed the indent that was being set on informalexample outuput. I
    will instead add an option for indenting verbatims, which I think is what
    the informalexample indent was intended for originally.

    Modified: manpages/block.xsl,1.14; manpages/docbook.xsl,1.63; manpages/
    info.xsl,1.18; manpages/lists.xsl,1.28 - Michael(tm) Smith

  ● Changed line-spacing call before synopfragment to use ".sp -1n" ("n" units
    specified) instead of plain ".sp -1"

    Modified: manpages/synop.xsl,1.28 - Michael(tm) Smith

  ● Added support for writing man files into a specific output directory and
    into appropriate subdirectories within that output directory. Controlled
    through the man.base.dir parameter (similar to the base.dir support in the
    HTML stylesheet) and the man.subdirs.enabled parameter, which automatically
    determines the name of an appropriate subdir (for example, man/man7, man/
    man1, etc.) based on the section number/manvolnum of the source Refentry.

    Closes #1255036 and #1170317. Thanks to Denis Bradford for the original
    feature request, and to Costin Stroie for submitting a patch that was very
    helpful in implementing the support.

    Modified: manpages/docbook.xsl,1.62; manpages/utility.xsl,1.13 - Michael
    (tm) Smith

  ● Refined XPath statements and notification messages for refentry metadata
    handling.

    Modified: common/common.xsl,1.59; common/refentry.xsl,1.14; manpages/
    docbook.xsl,1.61; manpages/other.xsl,1.17 - Michael(tm) Smith

  ● Added support for copyright and legalnotice. The manpages stylesheets now
    output a COPYRIGHT section, after the AUTHORS section, if a copyright or
    legalnotice is found in the source. The section contains the copyright
    contents followed by the legalnotice contents. Closes #1450209.

    Modified: manpages/docbook.xsl,1.59; manpages/info.xsl,1.17 - Michael(tm)
    Smith

  ● Drastically reworked all of the XPath expressions used in refentry metadata
    gathering -- completely removed $parentinfo and turned $info into a set of
    nodes that includes the *info contents of the Refentry plus the *info
    contents all all of its ancestor elements. The basic XPath expression now
    used throughout is (using the example of checking for a date):

    (($info[//date])[last()]/date)[1].

    That selects the "last" *info/date date in document order -- that is, the
    one eitther on the Refentry itself or on the closest ancestor to the
    Refentry.

    It's likely this change may break some things; may need to pick up some
    pieces later.

    Also, changed the default value for the man.th.extra2.max.length from 40 to
    30.

    Modified: common/common.xsl,1.58; common/refentry.xsl,1.7; params/
    man.th.extra2.max.length.xml,1.2; params/refentry.date.profile.xml,1.2;
    params/refentry.manual.profile.xml,1.2; params/
    refentry.source.name.profile.xml,1.2; params/
    refentry.version.profile.xml,1.2; manpages/docbook.xsl,1.58; manpages/
    other.xsl,1.15 - Michael(tm) Smith

  ● Added support for DocBook 5 namespace-stripping in manpages stylesheet.
    Closes request #1210692.

    Modified: common/common.xsl,1.56; manpages/docbook.xsl,1.57 - Michael(tm)
    Smith

  ● Fixed handling of table footnotes. With this checkin, the table support in
    the manpages stylesheet is now basically feature complete. So this change
    closes request #619532, "No support for tables" -- the oldest currently
    open manpages feature request, submitted by Ben Secrest (blsecres) on
    2002-10-07. Congratulations to me [patting myself on the back].

    Modified: manpages/block.xsl,1.11; manpages/docbook.xsl,1.55; manpages/
    table.xsl,1.15 - Michael(tm) Smith

  ● Added handling for table titles. Also fixed handling of nested tables; nest
    tables are now "extracted" and displayed just after their parent tables.

    Modified: manpages/docbook.xsl,1.54; manpages/table.xsl,1.14 - Michael(tm)
    Smith

  ● Added option for turning off bold formatting in Funcsynopsis. Boldface
    formatting in function synopsis is mandated in the man(7) man page and is
    used almost universally in existing man pages. Despite that, it really does
    look like crap to have an entire Funcsynopsis output in bold, so I added
    params for turning off the bold formatting and/or replacing it with a
    different roff special font (e.g., "RI" for alternating roman/italic
    instead of the default "BI" for alternating bold/italic). The new params
    are "man.funcprototype.font" and "man.funcsynopsisinfo.font". To be
    documented later.

    Closes #1452247. Thanks to Joe Orton for the feature request.

    Modified: params/man.string.subst.map.xml,1.16; manpages/block.xsl,1.10;
    manpages/docbook.xsl,1.51; manpages/inline.xsl,1.16; manpages/
    synop.xsl,1.27 - Michael(tm) Smith

  ● Use AUTHORS instead of AUTHOR if we have multiple people to attribute.
    Also, fixed checking such that we generate author section even if we don't
    have an author (as long as there is at least one other person/entity we can
    put in the section). Also adjusted assembly of content for Author metainfo
    field such that we now not only use author, but try to find a "best match"
    if we can't find an author name to put there.

    Closes #1233592. Thanks to Sam Steingold for the request.

    Modified: manpages/info.xsl,1.12 - Michael(tm) Smith

  ● Changes for request #1243027, "Impove handling of AUTHOR section." This
    adds support for Collab, Corpauthor, Corpcredt, Orgname, Publishername, and
    Publisher. Also adds support for output of Affiliation and its children,
    and support for using gentext strings for auto-attributing roles (Author,
    Editor, Publisher, Translator, etc.). Also did a lot of code cleanup and
    modularization of all the AUTHOR handling code. And fixed a bug that was
    causing Author info to not be picked up correctly for metainfo comment we
    embed in man-page source.

    Modified: manpages/info.xsl,1.11 - Michael(tm) Smith

  ● Support bold output for "emphasis remap='B'". (because Eric Raymond's
    doclifter(1) tool converts groff source marked up with ".B" request or "\
    fB" escapes to DocBook "emphasis remap='B'".)

    Modified: manpages/inline.xsl,1.14 - Michael(tm) Smith

  ● Added support for Segmentedlist. Details: Output is tabular, with no option
    for "list" type output. Output for Segtitle elements can be supressed by
    setting man.segtitle.suppress. If Segtitle content is output, it is
    rendered in italic type (not bold because not all terminals support bold
    and so italic ensures the stand out on those terminals). Extra space (.sp
    line) at end of table code ensures that it gets handled correctly in the
    case where its source is the child of a Para. Closes feature-request #
    1400097. Thanks to Daniel Leidert for the patch and push, and to Alastair
    Rankine for filing the original feature request.

    Modified: manpages/lists.xsl,1.23; manpages/utility.xsl,1.10 - Michael(tm)
    Smith

  ● Improved handling or Author/Editor/Othercredit.

    Reworked content of (non-visible) comment added at top of each page
    (metadata stuff).

    Added support for generating a manifest file (useful for cleaning up after
    builds, etc.)

    Modified: manpages/docbook.xsl,1.46; manpages/info.xsl,1.9; manpages/
    other.xsl,1.12; manpages/utility.xsl,1.6 - Michael(tm) Smith

  ● Added two new parameters for handling of multi-term varlistentry elements:

    variablelist.term.break.after: When the variablelist.term.break.after is
    non-zero, it will generate a line break after each term multi-term
    varlistentry.

    variablelist.term.separator: When a varlistentry contains multiple term
    elements, the string specified in the value of the
    variablelist.term.separator parameter is placed after each term except the
    last. The default is ", " (a comma followed by a space). To suppress
    rendering of the separator, set the value of variablelist.term.separator to
    the empty string ("").

    These parameters are primarily intended to be useful if you have multi-term
    varlistentries that have long terms.

    Closes #1306676. Thanks to Sam Steingold for providing an example "lots of
    long terms" doc that demonstrated the value of having these options.

    Also, added normalize-space() call to processing of each term.

    This change affects all output formats (HTML, PDF, manpages). The default
    behavior should pretty much remain the same as before, but it is possible
    (as always) that the change may introduce some new bugginess.

    Modified: fo/lists.xsl,1.62; fo/param.ent,1.88; fo/param.xweb,1.99; html/
    lists.xsl,1.48; html/param.ent,1.86; html/param.xweb,1.93; manpages/
    lists.xsl,1.22; manpages/param.ent,1.14; manpages/param.xweb,1.16; params/
    variablelist.term.break.after.xml,1.1; params/
    variablelist.term.separator.xml,1.1 - Michael(tm) Smith

Params

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

  ● New parameters to set header/footer table minimum height.

    Modified: params/footer.table.height.xml,1.1; params/
    header.table.height.xml,1.1 - Robert Stayton

  ● Support multiple indexing methods for different languages.

    Modified: params/index.method.xml,1.1 - Robert Stayton

  ● Remove qandaset and qandadiv from generate.toc for fo output because
    formerly it wasn't working, but now it is and the default behavior should
    stay the same.

    Modified: params/generate.toc.xml,1.8 - Robert Stayton

  ● add support for page number references to link element too.

    Modified: params/insert.link.page.number.xml,1.1 - Robert Stayton

  ● Add support for more characters to hyphen on when ulink.hyphenate is turned
    on.

    Modified: params/ulink.hyphenate.chars.xml,1.1; params/
    ulink.hyphenate.xml,1.3 - Robert Stayton

  ● New attribute-set to format biblioentry and bibliomixed.

    Modified: params/biblioentry.properties.xml,1.1 - Robert Stayton

  ● Added new parameter chunk.tocs.and.lots.has.title which controls presence
    of title in a separate chunk with ToC/LoT. Disabling title can be very
    useful if you are generating frameset output (well, yes those frames, but
    some customers really want them ;-).

    Modified: html/chunk-code.xsl,1.15; html/param.ent,1.93; html/
    param.xweb,1.102; params/chunk.tocs.and.lots.has.title.xml,1.1 - Jirka
    Kosek

  ● Added new attribute set toc.line.properties for controlling appearance of
    lines in ToC/LoT

    Modified: params/toc.line.properties.xml,1.1 - Jirka Kosek

  ● Allow table footnotes to have different properties from regular footnotes.

    Modified: params/table.footnote.properties.xml,1.1 - Robert Stayton

  ● Set properties for pgwide="1" objects.

    Modified: params/pgwide.properties.xml,1.1 - Robert Stayton

  ● Added the autotoc.label.in.hyperlink param.

    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.

    Closes patch #1065868. Thanks to anatoly techtonik for the patch.

    Modified: html/autotoc.xsl,1.36; html/param.ent,1.92; html/
    param.xweb,1.101; params/autotoc.label.in.hyperlink.xml,1.1 - Michael(tm)
    Smith

  ● Added two new params: html.head.legalnotice.link.types and html.head.
    legalnotice.link.multiple.

    If the value of the generate.legalnotice.link 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:

    <link rel="copyright" href="ln-id2524073.html" title="Legal Notice">

    Closes #1476450. Thanks to Sam Steingold.

    Modified: html/chunk-common.xsl,1.45; html/param.ent,1.91; html/
    param.xweb,1.100; params/generate.legalnotice.link.xml,1.4; params/
    html.head.legalnotice.link.multiple.xml,1.1; params/
    html.head.legalnotice.link.types.xml,1.1 - Michael(tm) Smith

  ● Added the following params:

    - man.indent.width (string-valued) - man.indent.refsect (boolean) -
    man.indent.blurbs (boolean) - man.indent.lists (boolean) -
    man.indent.verbatims (boolean)

    Note that in earlier snapshots, man.indent.width was named
    man.indentation.default.value and the boolean params had names like
    man.indentation.*.adjust. Also the man.indent.blurbs param was called
    man.indentation.authors.adjust (or something).

    The behavior now is: If the value of a particular man.indent.* boolean
    param is non-zero, the corresponding contents (refsect*, list items,
    authorblurb/personblurb, vervatims) are displayed with a left margin
    indented by a width equal to the value of man.indent.width.

    Modified: params/man.indent.blurbs.xml,1.1; manpages/docbook.xsl,1.74;
    manpages/info.xsl,1.20; manpages/lists.xsl,1.30; manpages/other.xsl,1.20;
    manpages/param.ent,1.22; manpages/param.xweb,1.24; manpages/
    refentry.xsl,1.14; params/man.indent.lists.xml,1.1; params/
    man.indent.refsect.xml,1.1; params/man.indent.verbatims.xml,1.1; params/
    man.indent.width.xml,1.1 - Michael(tm) Smith

  ● Added man.table.footnotes.divider param.

    In each table that contains footenotes, the string specified by the man.
    table.footnotes.divider parameter is output before the list of footnotes
    for the table.

    Modified: manpages/docbook.xsl,1.73; manpages/links.xsl,1.6; manpages/
    param.ent,1.21; manpages/param.xweb,1.23; params/
    man.table.footnotes.divider.xml,1.1 - Michael(tm) Smith

  ● Added the man.output.in.separate.dir, man.output.base.dir, and
    man.output.subdirs.enabled parameters.

    The man.output.base.dir parameter specifies the base directory into which
    man-page files are output. The man.output.subdirs.enabled parameter
    controls whether the files are output in subdirectories within the base
    directory.

    The values of the man.output.base.dir and man.output.subdirs.enabled
    parameters are used only if the value of man.output.in.separate.dir
    parameter is non-zero. If the value of man.output.in.separate.dir is zero,
    man-page files are not output in a separate directory.

    Modified: manpages/docbook.xsl,1.72; manpages/param.ent,1.20; manpages/
    param.xweb,1.22; params/man.output.base.dir.xml,1.1; params/
    man.output.in.separate.dir.xml,1.1; params/
    man.output.subdirs.enabled.xml,1.1 - Michael(tm) Smith

  ● Added man.font.table.headings and man.font.table.title params, for
    controlling font in table headings and titles.

    Modified: manpages/docbook.xsl,1.71; manpages/param.ent,1.19; manpages/
    param.xweb,1.21; params/man.font.table.headings.xml,1.1; params/
    man.font.table.title.xml,1.1 - Michael(tm) Smith

  ● Added man.font.funcsynopsisinfo and man.font.funcprototype params, for
    specifying the roff font (for example, BI, B, I) for funcsynopsisinfo and
    funcprototype output.

    Modified: manpages/block.xsl,1.19; manpages/docbook.xsl,1.69; manpages/
    param.ent,1.18; manpages/param.xweb,1.20; manpages/synop.xsl,1.29; manpages
    /table.xsl,1.21; params/man.font.funcprototype.xml,1.1; params/
    man.font.funcsynopsisinfo.xml,1.1 - Michael(tm) Smith

  ● Changed to select="0" in refclass.suppress (instead of ..>0</..)

    Modified: params/refclass.suppress.xml,1.3 - Michael(tm) Smith

  ● Added man.segtitle.suppress param.

    If the value of man.segtitle.suppress is non-zero, then display of segtitle
    contents is suppressed in output.

    Modified: manpages/docbook.xsl,1.68; manpages/param.ent,1.17; manpages/
    param.xweb,1.19; params/man.segtitle.suppress.xml,1.1 - Michael(tm) Smith

  ● Added man.output.manifest.enabled and man.output.manifest.filename params.

    If man.output.manifest.enabled is non-zero, a list of filenames for man
    pages generated by the stylesheet transformation is written to the file
    named by man.output.manifest.filename

    Modified: manpages/docbook.xsl,1.67; manpages/other.xsl,1.19; manpages/
    param.ent,1.16; manpages/param.xweb,1.18; params/
    man.output.manifest.enabled.xml,1.1; params/
    man.output.manifest.filename.xml,1.1; tools/make/Makefile.DocBook,1.4 -
    Michael(tm) Smith

  ● Added refclass.suppress param.

    If the value of refclass.suppress is non-zero, then display refclass
    contents is suppressed in output. Affects HTML and FO output only.

    Modified: fo/param.ent,1.93; fo/param.xweb,1.106; html/param.ent,1.90; html
    /param.xweb,1.99; params/refclass.suppress.xml,1.1 - Michael(tm) Smith

  ● Added refentry.meta.get.quietly param.

    If zero (the default), notes and warnings about "missing" markup are
    generated during gathering of refentry metadata. If non-zero, the metadata
    is gathered "quietly" -- that is, the notes and warnings are suppressed.

    NOTE: If you are processing a large amount of refentry content, you may be
    able to speed up processing significantly by setting a non-zero value for
    refentry.meta.get.quietly.

    Modified: common/refentry.xsl,1.17; manpages/param.ent,1.15; manpages/
    param.xweb,1.17; params/refentry.meta.get.quietly.xml,1.1 - Michael(tm)
    Smith

  ● Added support for "software" and "sectdesc" class values on refmiscinfo;
    "software" is treated identically to "source", and "setdesc" is treated
    identically to "manual".

    Modified: common/refentry.xsl,1.10; params/
    man.th.extra2.max.length.xml,1.3; params/
    refentry.source.name.profile.xml,1.4 - Michael(tm) Smith

  ● Drastically reworked all of the XPath expressions used in refentry metadata
    gathering -- completely removed $parentinfo and turned $info into a set of
    nodes that includes the *info contents of the Refentry plus the *info
    contents all all of its ancestor elements. The basic XPath expression now
    used throughout is (using the example of checking for a date):

    (($info[//date])[last()]/date)[1].

    That selects the "last" *info/date date in document order -- that is, the
    one eitther on the Refentry itself or on the closest ancestor to the
    Refentry.

    It's likely this change may break some things; may need to pick up some
    pieces later.

    Also, changed the default value for the man.th.extra2.max.length from 40 to
    30.

    Modified: common/common.xsl,1.58; common/refentry.xsl,1.7; params/
    man.th.extra2.max.length.xml,1.2; params/refentry.date.profile.xml,1.2;
    params/refentry.manual.profile.xml,1.2; params/
    refentry.source.name.profile.xml,1.2; params/
    refentry.version.profile.xml,1.2; manpages/docbook.xsl,1.58; manpages/
    other.xsl,1.15 - Michael(tm) Smith

  ● Added option for turning off bold formatting in Funcsynopsis. Boldface
    formatting in function synopsis is mandated in the man(7) man page and is
    used almost universally in existing man pages. Despite that, it really does
    look like crap to have an entire Funcsynopsis output in bold, so I added
    params for turning off the bold formatting and/or replacing it with a
    different roff special font (e.g., "RI" for alternating roman/italic
    instead of the default "BI" for alternating bold/italic). The new params
    are "man.funcprototype.font" and "man.funcsynopsisinfo.font". To be
    documented later.

    Closes #1452247. Thanks to Joe Orton for the feature request.

    Modified: params/man.string.subst.map.xml,1.16; manpages/block.xsl,1.10;
    manpages/docbook.xsl,1.51; manpages/inline.xsl,1.16; manpages/
    synop.xsl,1.27 - Michael(tm) Smith

  ● fop.extensions now only for FOP version 0.20.5 and earlier.

    Modified: params/fop.extensions.xml,1.4 - Robert Stayton

  ● Support for fop1 different from fop 0.20.5 and earlier.

    Modified: params/fop1.extensions.xml,1.1 - Robert Stayton

  ● Reset default value to empty string so template uses gentext first, then
    the parameter value if not empty.

    Modified: params/index.number.separator.xml,1.2; params/
    index.range.separator.xml,1.2; params/index.term.separator.xml,1.2 - Robert
    Stayton

  ● New parameter: id.warnings. If non-zero, warnings are generated for titled
    objects that don't have titles. True by default; I wonder if this will be
    too aggressive?

    Modified: html/biblio.xsl,1.25; html/component.xsl,1.27; html/
    division.xsl,1.11; html/formal.xsl,1.19; html/glossary.xsl,1.20; html/
    html.xsl,1.13; html/index.xsl,1.16; html/param.ent,1.88; html/
    param.xweb,1.97; html/refentry.xsl,1.22; html/sections.xsl,1.30; params/
    id.warnings.xml,1.1 - Norman Walsh

  ● Added new parameter keep.relative.image.uris

    Modified: fo/param.ent,1.91; fo/param.xweb,1.104; html/param.ent,1.87; html
    /param.xweb,1.96; params/keep.relative.image.uris.xml,1.1 - Norman Walsh

  ● Support default label width parameters for itemized and ordered lists

    Modified: fo/lists.xsl,1.64; fo/param.ent,1.90; fo/param.xweb,1.103; params
    /itemizedlist.label.width.xml,1.1; params/orderedlist.label.width.xml,1.1 -
    Norman Walsh

  ● Added parameters to localize punctuation in indexes.

    Modified: params/index.number.separator.xml,1.1; params/
    index.range.separator.xml,1.1; params/index.term.separator.xml,1.1 - Robert
    Stayton

  ● Added two new parameters for handling of multi-term varlistentry elements:

    variablelist.term.break.after: When the variablelist.term.break.after is
    non-zero, it will generate a line break after each term multi-term
    varlistentry.

    variablelist.term.separator: When a varlistentry contains multiple term
    elements, the string specified in the value of the
    variablelist.term.separator parameter is placed after each term except the
    last. The default is ", " (a comma followed by a space). To suppress
    rendering of the separator, set the value of variablelist.term.separator to
    the empty string ("").

    These parameters are primarily intended to be useful if you have multi-term
    varlistentries that have long terms.

    Closes #1306676. Thanks to Sam Steingold for providing an example "lots of
    long terms" doc that demonstrated the value of having these options.

    Also, added normalize-space() call to processing of each term.

    This change affects all output formats (HTML, PDF, manpages). The default
    behavior should pretty much remain the same as before, but it is possible
    (as always) that the change may introduce some new bugginess.

    Modified: fo/lists.xsl,1.62; fo/param.ent,1.88; fo/param.xweb,1.99; html/
    lists.xsl,1.48; html/param.ent,1.86; html/param.xweb,1.93; manpages/
    lists.xsl,1.22; manpages/param.ent,1.14; manpages/param.xweb,1.16; params/
    variablelist.term.break.after.xml,1.1; params/
    variablelist.term.separator.xml,1.1 - Michael(tm) Smith

  ● Convert 'no' to string in default value.

    Modified: params/olink.doctitle.xml,1.4 - Robert Stayton

  ● Implemented RFE #1292615.

    Added bunch of new parameters (attribute sets) that affect list
    presentation: list.block.properties, itemizedlist.properties, orderedlist
    .properties, itemizedlist.label.properties and orderedlist.label
    .properties. Default behaviour of stylesheets has not been changed but
    further customizations will be much more easier.

    Modified: fo/lists.xsl,1.61; fo/param.ent,1.87; fo/param.xweb,1.98; params/
    itemizedlist.label.properties.xml,1.1; params/
    itemizedlist.properties.xml,1.1; params/list.block.properties.xml,1.1;
    params/orderedlist.label.properties.xml,1.1; params/
    orderedlist.properties.xml,1.1 - Jirka Kosek

  ● Implemented RFE #1242092.

    You can enable crop marks in your document by setting crop.marks=1 and
    xep.extensions=1. Appearance of crop marks can be controlled by parameters
    crop.mark.bleed (6pt), crop.mark.offset (24pt) and crop.mark.width (0.5pt).

    Also there is new named template called user-xep-pis. You can overwrite it
    in order to produce some PIs that can control XEP as described in http://
    www.renderx.com/reference.html#Output_Formats

    Modified: fo/docbook.xsl,1.36; fo/param.ent,1.86; fo/param.xweb,1.97; fo/
    xep.xsl,1.23; params/crop.mark.bleed.xml,1.1; params/
    crop.mark.offset.xml,1.1; params/crop.mark.width.xml,1.1; params/
    crop.marks.xml,1.1 - Jirka Kosek

  ● Changed short descriptions in doc for *autolabel* params to match new
    autolabel behavior.

    Modified: params/appendix.autolabel.xml,1.5; params/
    chapter.autolabel.xml,1.4; params/part.autolabel.xml,1.5; params/
    preface.autolabel.xml,1.4 - Michael(tm) Smith

Profiling

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

  ● Profiling now works together with namespace stripping (V5 documents).
    Namespace striping should work with all stylesheets named profile-, even if
    they are not supporting namespace stripping in a non-profiling variant.

    Modified: profiling/profile-mode.xsl,1.4; profiling/xsl2profile.xsl,1.7 -
    Jirka Kosek

  ● Moved profiling stage out of templates. This make possible to reuse
    profiled content by several templates and still maintaing node indentity
    (needed for example for HTML Help where content is processed multiple
    times).

    I don't know why this was not on the top level before. Maybe some XSLT
    processors choked on it. I hope this will be OK now.

    Modified: profiling/xsl2profile.xsl,1.5 - Jirka Kosek

Tools

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

  ● Moved Makefile.DocBook from contrib module to xsl module.

    Modified: tools/make/Makefile.DocBook,1.1 - Michael(tm) Smith

WordML

The following changes have been made to the wordml code since the 1.69.1
release.

  ● added contrib element, better handling of default paragraph style

    Modified: wordml/pages-normalise.xsl,1.6; wordml/supported.xml,1.2; wordml/
    wordml-final.xsl,1.14 - Steve Ball

  ● added bridgehead

    Modified: wordml/docbook-pages.xsl,1.6; wordml/docbook.xsl,1.17; wordml/
    pages-normalise.xsl,1.5; wordml/template-pages.xml,1.7; wordml/
    template.dot,1.4; wordml/template.xml,1.14; wordml/wordml-final.xsl,1.13 -
    Steve Ball

  ● added blocks stylesheet to support bibliographies, glossaries and qandasets

    Modified: wordml/Makefile,1.4; wordml/README,1.3; wordml/
    blocks-spec.xml,1.1; wordml/docbook-pages.xsl,1.5; wordml/docbook.xsl,1.16;
    wordml/pages-normalise.xsl,1.4; wordml/sections-spec.xml,1.3; wordml/
    specifications.xml,1.13; wordml/template-pages.xml,1.6; wordml/
    template.dot,1.3; wordml/template.xml,1.13; wordml/wordml-blocks.xsl,1.1;
    wordml/wordml-final.xsl,1.12; wordml/wordml-sections.xsl,1.3 - Steve Ball

  ● added mediaobject caption

    Modified: wordml/docbook-pages.xsl,1.4; wordml/docbook.xsl,1.15; wordml/
    specifications.xml,1.12; wordml/template-pages.xml,1.5; wordml/
    template.dot,1.2; wordml/template.xml,1.12; wordml/wordml-final.xsl,1.11 -
    Steve Ball

  ● added callouts

    Modified: wordml/docbook-pages.xsl,1.3; wordml/docbook.xsl,1.14; wordml/
    pages-normalise.xsl,1.3; wordml/specifications.xml,1.11; wordml/
    template-pages.xml,1.4; wordml/wordml-final.xsl,1.10 - Steve Ball

  ● added Word template file

    Modified: wordml/template.dot,1.1 - Steve Ball

  ● added abstract, fixed itemizedlist, ulink

    Modified: wordml/specifications.xml,1.10; wordml/wordml-final.xsl,1.9 -
    Steve Ball

  ● fixed Makefile added many features to Pages support added revhistory,
    inlines, highlights, abstract

    Modified: wordml/Makefile,1.2; wordml/docbook-pages.xsl,1.2; wordml/
    pages-normalise.xsl,1.2; wordml/sections-spec.xml,1.2; wordml/
    specifications.xml,1.9; wordml/template-pages.xml,1.3; wordml/
    template.xml,1.11; wordml/wordml-final.xsl,1.8; wordml/
    wordml-sections.xsl,1.2 - Steve Ball

  ● fixed handling linebreaks when generating WordML added Apple Pages support

    Modified: wordml/docbook.xsl,1.13; wordml/template-pages.xml,1.2 - Steve
    Ball

Release 1.69.1

This release is a minor bug-fix update to the 1.69.0 release. Along with bug
fixes, it includes one configuration-parameter change: The default value of the
annotation.support parameter is now 0 (off). The reason for that change is that
there have been reports that annotation handling is causing a significant
performance degradation in processing of large documents with xsltproc.

Release 1.69.0

The release includes major feature changes, particularly in the manpages
stylesheets, as well as a large number of bug fixes.

As with all DocBook Project “dot zero” releases, this is an experimental
release .

Common

  ● This release adds localizations for the following languages: Albanian,
    Amharic, Azerbaijani, Hindi, Irish (Gaelic), Gujarati, Kannada, Mongolian,
    Oriya, Punjabi, Tagalog, Tamil, and Welsh.

  ● Added support for specifying number format for auto labels for chapter,
    appendix, part, and preface. Contolled with the appendix.autolabel,
    chapter.autolabel, part.autolabel, and preface.autolabel parameters.

  ● Added basic support for biblioref cross referencing.

  ● Added support for align on caption in mediaobject.

  ● Added support for processing documents that use the DocBook V5 namespace.

  ● Added support for termdef and mathphrase.

  ● EXPERIMENTAL: Incorporated the Slides and Website stylesheets into the
    DocBook XSL stylesheets package. So, for example, Website documents can now
    be processed using the following URI for the driver Website tabular.xsl
    file:

    http://docbook.sourceforge.net/release/xsl/current/website/tabular.xsl

  ● A procedure without a title is now treated as an “informal” procedure
    (meaning that it is not added to any generated “list of procedures” and has
    no affect on numbering of generated labels for other procedures).

  ● docname is no longer added to olink when pointing to a root element.

  ● Added support for generation of choice separator in inline simplelist. This
    enables auto-generation of an appropriate localized “choice separator” (for
    example, “and” or “or”) before the final item in an inline simplelist.

    To indicate that you want a choice separator generated for a particular
    list, you need to put a processing instruction (PI) of the form <?
    dbchoice choice="foo"?> as a child of the list. For example:

      <para>Choose from
      ONE and ONLY ONE of the following:
      <simplelist type="inline">
      <?dbchoice choice="or" ?>
      <member>A</member>
      <member>B</member>
      <member>C</member>.</simplelist></para>

    Output (for English):

        Choose from ONE and only ONE of the following choices: A, B, or C.

    As a temporary workaround for the fact that most of the DocBook non-English
    locale files don't have a localization for the word “or”, you can put in a
    literal string to be used; example for French: <?dbchoice choice="ou">.
    That is, use “ou” instead of “or”.

FO

  ● Added content-type property to external-graphic element, based on imagedata
    format attribute.

  ● Added support for generating <rx:meta-field creator="$VERSION"/> field for
    XEP output. This makes the DocBook XSL stylesheet version information
    available through the Document Properties menu in Acrobat Reader and other
    PDF viewers.

  ● Trademark symbol handling made consistent with handling of same in HTML
    stylesheets. Prior to this change, if you processed a document that
    contained no value for the class attribute on the trademark element, the
    HTML stylesheets would default to rendering a superscript TM symbol after
    the trademark contents, but the FO stylesheets would render nothing.

  ● Added support for generating XEP bookmarks for refentry.

  ● Added support for HTML markup table border attribute, applied to each table
    cell.

  ● The table.width template can now sum column specs if none use % or *.

  ● Added fox:destination extension inside fox:outline to support linking to
    internal destinations.

  ● Added support for customizing abstract with property sets. Controlled with
    the abstract.properties and abstract.title.properties parameters.

  ● Add footnotes in table title to table footnote set, and add support for
    table footnotes to HTML table markup.

  ● Added support for title in glosslist.

  ● Added support for itemizedlist symbol none.

  ● Implemented the new graphical.admonition.properties and
    nongraphical.admonition.properties attribute sets.

  ● Added id to formalpara and some other blocks that were missing it.

  ● Changed the anchor template to output fo:inline instead of fo:wrapper.

  ● Added support for toc.max.depth parameter.

Help

  ● Eclipse Help: Added support for generating olink database.

HTML

  ● Added a first cut at support in HTML output for DocBook 5 style annotation
    s. Controlled using the annotation.support parameter, and implemented using
    JavaScript and CSS styling. For more details, see the documentation for the
    annotation.js, annotation.css, annotation.graphic.open, and
    annotation.graphic.close parameters.

  ● Generate client-side image map for imageobjectco with areas using calspair
    units

  ● Added support for <?img.src.path?> PI.

  ● Added support for passing img.src.path to DocBook Java XSLT image
    extensions when appropriate. Controlled using the
    graphicsize.use.img.src.path parameter.

  ● Added support for (not valid for DocBook 4) xlink:href on area and (not
    valid for DocBook 4) alt in area.

  ● Added new parameter default.table.frame to control table framing if there
    is no frame attribute on a table.

  ● Added initial, experimental support for generating content for the HTML
    title attribute from content of the alt element. This change adds support
    for the following inline elements only (none of them are block elements):
    abbrev, accel, acronym, action, application, authorinitials, beginpage,
    citation, citerefentry, citetitle, city, classname, code, command,
    computeroutput, constant, country, database, email, envar, errorcode,
    errorname, errortext, errortype, exceptionname, fax, filename, firstname,
    firstterm, foreignphrase, function, glossterm, guibutton, guiicon, guilabel
    , guimenu, guimenuitem, guisubmenu, hardware, honorific, interface,
    interfacename, keycap, keycode, keysym, lineage, lineannotation, literal,
    markup, medialabel, methodname, mousebutton, option, optional, otheraddr,
    othername, package, parameter, personname, phone, pob, postcode,
    productname, productnumber, prompt, property, quote, refentrytitle, remark,
    replaceable, returnvalue, tag, shortcut, state, street, structfield,
    structname, subscript, superscript, surname, symbol, systemitem, tag,
    termdef, token, trademark, type, uri, userinput, varname, and wordasword

  ● Added support for chunking revhistory into separate file (similar to the
    support for doing same with legalnotice). Patch from Thomas Schraitle.
    Controlled through new generate.revhistory.link parameter.

  ● l10n.xsl: Made language codes RFC compliant. Added a new boolean config
    parameter, l10n.lang.value.rfc.compliant. If it is non-zero (the default),
    any underscore in a language code will be converted to a hyphen in HTML
    output. If it is zero, the language code will be left as-is.

man

This release closes out 44 manpages stylesheet bug reports and feature
requests. It adds more than 35 new configuration parameters for controlling
aspects of man-page output -- including hyphenation and justification, handling
of links, conversion of Unicode characters, and contents of man-page headers
and footers.

  ● New options for globally disabling/enabling hyphenation and justification:
    man.justify and man.hyphenate.

    Note that the default for the both of those is zero (off), because
    justified text looks good only when it is also hyphenated; to quote the
    “Hyphenation” node from the groff info page:

        Since the odds are not great for finding a set of words, for every
        output line, which fit nicely on a line without inserting excessive
        amounts of space between words, `gtroff' hyphenates words so that it
        can justify lines without inserting too much space between words.

    The problem is that groff can end up hyphenating a lot of things that you
    don't want hyphenated (variable names and command names, for example).
    Keeping both justification and hyphenation disabled ensures that hyphens
    won't get inserted where you don't want to them, and you don't end up with
    lines containing excessive amounts of space between words. These default
    settings run counter to how most existing man pages are formatted. But
    there are some notable exceptions, such as the perl man pages.

  ● Added parameters for controlling hyphenation of computer inlines,
    filenames, and URLs. By default, even when hyphenation is enabled
    (globally), hyphenation is now suppressed for "computer inlines"
    (currently, just classname, constant, envar, errorcode, option, replaceable
    , userinput, type, and varname, and for filenames, and for URLs from link.
    It can be (re)enabled using the man.hyphenate.computer.inlines,
    man.hyphenate.filenames, and man.hyphenate.urls parameters.

  ● Implemented a new system for replacing Unicode characters. There are two
    parts to the new system: a “string substitution map” for doing “essential”
    replacements, and a “character map” that can optionally be disabled and
    enabled.

    The new system fixes all open bugs that had to do with literal Unicode
    numbered entities such as &#8220; and &#8221; showing up in output, and
    greatly expands the ability of the stylesheets to generate “good” roff
    equivalents for Unicode symbols and special characters.

    Here are some details...

    The previous manpages mechanism for replacing Unicode symbols and special
    characters with roff equivalents (the replace-entities template) was not
    scalable and not complete. The mechanism handled a somewhat arbitrary
    selection of less than 20 or so Unicode characters. But there are
    potentially more than 800 Unicode special characters that have some groff
    equivalent they can be mapped to. And there are about 34 symbols in the
    Latin-1 (ISO-8859-1) block alone. Users might reasonably expect that if
    they include any of those Latin-1 characters in their DocBook source
    documents, they will get correctly converted to known roff equivalents in
    output.

    In addition to those common symbols, certain users may have a need to use
    symbols from other Unicode blocks. Say, somebody who is documenting an
    application related to math might need to use a bunch of symbols from the
    “Mathematical Operators” Unicode block (there are about 65 characters in
    that block that have reasonable roff equivalents). Or somebody else might
    really like Dingbats -- such as the checkmark character -- and so might use
    a bunch of things from the “Dingbat” block (141 characters in that that
    have roff equivalents or that can at least be “degraded” somewhat
    gracefully into roff).

    So, the old replace-entities mechanism was replaced with a completely
    different mechanism that is based on use of two “maps”: a “substitution
    map” and a “character map” (the latter in a format compliant with the XSLT
    2.0 spec and therefore completely “forward compatible” with XSLT 2.0).

    The substitution map is controlled through the man.string.subst.map
    parameter, and is used to replace things like the backslash character
    (which needs special handling to prevent it from being interpreted as a
    roff escape). The substitution map cannot be disabled, because disabling it
    will cause the output to be broken. However, you can add to it and change
    it if needed.

    The “character map” mechanism, on the other hand, can be completely
    disabled. It is enabled by default, and, by default, does replacement of
    all Latin-1 symbols, along with most special spaces, dashes, and quotes
    (about 75 characters by default). Also, you can optionally enable a “full”
    character map that provides support for converting all 800 or so of the
    characters that have some reasonable groff equivalent.

    The character-map mechanism is controlled through the following parameters:

    man.charmap.enabled

        turns character-map support on/off

    man.charmap.use.subset

        specifies that a subset of the character map is used instead of the
        full map

    man.charmap.subset.profile

        specifies profile of character-map subset

    man.charmap.uri

        specifies an alternate character map to use instead of the “standard”
        character map provided in the distribution

  ● Implemented out-of-line handling of display of URLs for links (currently,
    only for ulink). This gives you three choices for handling of links:

     1. Number and list links. Each link is numbered inline, with a number in
        square brackets preceding the link contents, and a numbered list of all
        links is added to the end of the document.

     2. Only list links. Links are not numbered, but an (unnumbered) list of
        links is added to the end of the document.

     3. Suppress links. Don't number links and don't add any list of links to
        the end of the document.

    You can also choose whether links should be underlined. The default is “the
    works” -- list, number, and underline links. You can use the
    man.links.list.enabled, man.links.are.numbered, and
    man.links.are.underlined parameters to change the defaults. The default
    heading for the link list is REFERENCES. You can be change that using the
    man.links.list.heading parameter.

  ● Changed default output encoding to UTF-8. This does not mean that man pages
    are output in raw UTF-8, because the character map is applied before final
    output, causing all UTF-8 characters covered in the map to be converted to
    roff equivalents.

  ● Added support for processing refsect3 and formalpara and nested refsection
    elements, down to any arbitrary level of nesting.

  ● Output of the NAME and SYNOPSIS and AUTHOR headings and the headings for
    admonitions (note, caution, etc.) are no longer hard-coded for English.
    Instead, headings are generated for those in the correct locale (just as
    the FO and HTML stylesheets do).

  ● Re-worked mechanism for assembling page headers/footers (the contents of
    the .TH macro “title line”).

    Here are some details...

    All man pages contain a .TH roff macro whose contents are used for
    rendering the “title line” displayed in the header and footer of each page.
    Here are a couple of examples of real-world man pages that have useful page
    headers/footers:

      gtk-options(7)    GTK+ User's Manual   gtk-options(7) <-- header
      GTK+ 1.2              2003-10-20       gtk-options(7) <-- footer

      svgalib(7)       Svgalib User Manual       svgalib(7) <-- header
      Svgalib 1.4.1      16 December 1999        svgalib(7) <-- footer

    And here are the terms with which the groff_man(7) man page refers to the
    various parts of the header/footer:

      title(section)  extra3  title(section)  <- header
      extra2          extra1  title(section)  <- footer

    Or, using the names with which the man(7) man page refers to those same
    fields:

      title(section)  manual  title(section)  <- page header
      source          date    title(section)  <- page footer

    The easiest way to control the contents of those fields is to mark up your
    refentry content like the following (note that this is a “minimal”
    example).

      <refentry>
        <info>
          <date>2003-10-20</date> 1
        </info>
        <refmeta>
          <refentrytitle>gtk-options</refentrytitle> 2
          <manvolnum>7</manvolnum> 3
          <refmiscinfo class="source-name">GTK+</refmiscinfo> 4
          <refmiscinfo class="version">1.2</refmiscinfo> 5
          <refmiscinfo class="manual">GTK+ User's Manual</refmiscinfo> 6
        </refmeta>
        <refnamediv>
          <refname>gtk-options</refname>
          <refpurpose>Standard Command Line Options for GTK+ Programs</refpurpose>
        </refnamediv>
        <refsect1>
          <title>Description</title>
          <para>This manual page describes the command line options, which
          are common to all GTK+ based applications.</para>
        </refsect1>
      </refentry>

    1  Sets the “date” part of the header/footer.

    2  Sets the “title” part.

    3  Sets the “section” part.

    4  Sets the “source name” part.

    5  Sets the “version” part.

    6  Sets the “manual” part.

    Below are explanations of the steps the stylesheets take to attempt to
    assemble and display “good” headers and footer. [In the descriptions, note
    that *info is the refentry “info” child (whatever its name), and parentinfo
    is the “info” child of its parent (again, whatever its name).]

    extra1 field (date)

        Content of the “extra1” field is what shows up in the center footer
        position of each page. The man(7) man page describes it as “the date of
        the last revision”.

        To provide this content, if the refentry.date.profile.enabled is
        non-zero, the stylesheets check the value of refentry.date.profile.

        Otherwise, by default, they check for a date or pubdate not only in the
        *info contents, but also in the parentinfo contents.

        If a date cannot be found, the stylesheets now automatically generate a
        localized “long format” date, ensuring that this field always has
        content in output.

        However, if for some reason you want to suppress this field, you can do
        so by setting a non-zero value for man.th.extra1.suppress.

    extra2 field (source)

        On Linux systems and on systems with a modern groff, the content of the
        “extra2” field are what shows up in the left footer position of each
        page.

        The man(7) man page describes this as “the source of the command”, and
        provides the following examples:

          ○ For binaries, use somwething like: GNU, NET-2, SLS Distribution,
            MCC Distribution.

          ○ For system calls, use the version of the kernel that you are
            currently looking at: Linux 0.99.11.

          ○ For library calls, use the source of the function: GNU, BSD 4.3,
            Linux DLL 4.4.1.

        In practice, there are many pages that simply have a version number in
        the “source” field. So, it looks like what we have is a two-part field,
        Name Version, where:

        Name

            product name (e.g., BSD) or org. name (e.g., GNU)

        Version

            version name

        Each part is optional. If the Name is a product name, then the Version
        is probably the version of the product. Or there may be no Name, in
        which case, if there is a Version, it is probably the version of the
        item itself, not the product it is part of. Or, if the Name is an
        organization name, then there probably will be no Version.

        To provide this content, if the refentry.source.name.profile.enabled
        and refentry.version.profile.enabled parameter are non-zero, the
        stylesheets check the value of refentry.source.name.profile
        refentry.version.profile.

        Otherwise, by default, they check the following places, in the
        following order:

         1. *info/productnumber

         2. *info/productnumber

         3. refmeta/refmiscinfo[@class = 'version']

         4. parentinfo/productnumber

         5. *info/productname

         6. parentinfo/productname

         7. refmeta/refmiscinfo

         8. [nothing found, so leave it empty]

    extra3 field

        On Linux systems and on systems with a modern groff, the content of the
        “extra3” field are what shows up in the center header position of each
        page. Some man pages have “extra2” content, some don't. If a particular
        man page has it, it is most often “context” data about some larger
        system the documented item belongs to (for example, the name or
        description of a group of related applications). The stylesheets now
        check the following places, in the following order, to look for content
        to add to the “extra3” field.

         1. parentinfo/title

         2. parent's title

         3. refmeta/refmiscinfo

         4. [nothing found, so leave it empty]

  ● Reworked *info gathering. For each refentry found, the stylesheets now
    cache its *info content, then check for any valid parent of it that might
    have metainfo content and cache that, if found; they then then do all
    further matches against those node-sets (rather than re-selecting the
    original *info nodes each time they are needed).

  ● New option for breaking strings after forward slashes. This enables long
    URLs and pathnames to be broken across lines. Controlled through
    man.break.after.slash parameter.

  ● Output for servicemark and trademark are now (SM) and (TM). There is a
    groff "\(tm" escape, but output from that is not acceptable.

  ● New option for controlling the length of the title part of the .TH title
    line. Controlled through the man.th.title.max.length parameter.

  ● New option for specifying output encoding of each man page; controlled with
    man.output.encoding (similar to the HTML chunker.output.encoding 
    parameter).

  ● New option for suppressing filename messages when generating output;
    controlled with man.output.quietly (similar to the HTML chunk.quietly
    parameter).

  ● The text of cross-references to first-level refentry (refsect1, top-level
    refsection, refnamediv, and refsynopsisdiv) are now capitalized.

  ● Cross-references to refnamediv now use the localized NAME title instead of
    using the first refname child. This makes the output inconsistent with HTML
    and FO output, but for man-page output, it seems to make better sense to
    have the NAME. (It may actually make better sense to do it that way in HTML
    and FO output as well...)

  ● Added support for processing funcparams.

  ● Removed the space that was being output between funcdef and paramdef;
    example: was: float rand (void); now: float rand(void)

  ● Turned off bold formatting for the type element when it occurs within a
    funcdef or paramdef

  ● Corrected rendering of simplelist. Any <simplelist type="inline" instance
    is now rendered as a comma-separated list (also with an optional localized
    “and” or “or” before the last item -- see description elsewhere in these
    release notes). Any simplelist instance whose type is not inline is
    rendered as a one-column vertical list (ignoring the values of the type and
    columns attributes if present)

  ● Comment added at top of roff source for each page now includes DocBook XSL
    stylesheets version number (as in the HTML stylesheets)

  ● Made change to prevent “sticky” fonts changes. Now, when the manpages
    stylesheets encounter node sets that need to be boldfaced or italicized,
    they put the \fBfoo\fR and \fIbar\fR groff bold/italic instructions
    separately around each node in the set.

  ● synop.xsl: Boldface everything in funcsynopsis output except parameters
    (which are in ital). The man(7) man page says:

        For functions, the arguments are always specified using italics, even
        in the SYNOPSIS section, where the rest of the function is specified in
        bold.

    A look through the contents of the man/man2 directory shows that most (all)
    existing pages do follow this “everything in funcsynopsis bold” rule. That
    means the type content and any punctuation (parens, semicolons, varargs)
    also must be bolded.

  ● Removed code for adding backslashes before periods/dots in roff source,
    because backslashes in front of periods/dots in roff source are needed only
    in the very rare case where a period is the very first character in a line,
    without any space in front of it. A better way to deal with that rare case
    is for you to add a zero-width space in front of the offending dot(s) in
    your source

  ● Removed special handling of the quote element. That was hard-coded to cause
    anything marked up with the quote element to be output preceded by two
    backticks and followed by two apostrophes -- that is, that old-school
    kludge for generating “curly” quotes in Emacs and in X-Windows fonts. While
    Emacs still seems to support that, I don't think X-Windows has for a long
    time now. And, anyway, it looks (and has always looked) like crap when
    viewed on a normal tty/console. In addition, it breaks localiztion of quote
    . By default, quote content is output with localized quotation marks,
    which, depending on the locale, may or may not be left and right double
    quotation marks.

  ● Changed mappings for left and right single quotation marks. Those had
    previously been incorrectly mapped to the backtick (&#96;) and apostrophe
    (&39;) characters (for kludgy reasons -- see above). They are now correctly
    mapped to the \(oq and \(cq roff escapes. If you want the old (broken)
    behavior, you need to manually change the mappings for those in the value
    of the man.string.subst.map parameter.

  ● Removed xref.xsl file. Now, of the various cross-reference elements, only
    the ulink element is handled differently; the rest are handled exactly as
    the HTML stylesheets handle them, except that no hypertext links are
    generated. (Because there is no equivalent hypertext mechanism is man
    pages.)

  ● New option for making “subheading dividers” in generated roff source. The
    dividers are not visible in the rendered man page; they are just there to
    make the source readable. Controlled using man.subheading.divider.

  ● Fixed many places where too much space was being added between lines.

Release 1.68.1

The release adds localization support for Farsi (thanks to Sina Heshmati) and
improved support for the XLink-based DocBook NG db:link element. Other than
that, it is a minor bug-fix update to the 1.68.0 release. The main thing it
fixes is a build error that caused the XSLT Java extensions to be jarred up
with the wrong package structure. Thanks to Jens Stavnstrup for quickly
reporting the problem, and to Mauritz Jeanson for investigating and finding the
cause.

Release 1.68.0

This release includes some features changes, particularly for FO/PDF output,
and a number of bug fixes.

FO

  ● Moved footnote properties to attribute-sets.

  ● Added support for side floats, margin notes, and custom floats.

  ● Added new parameters body.start.indent and body.end.indent to the
    set.flow.properties template.

  ● Added support for xml:id

  ● Added support for refdescriptor.

  ● Added support for multiple refnamedivs.

  ● Added index.entry.properties attribute-set to support customization of
    index entries.

  ● Added set.flow.properties template call to each fo:flow to support
    customizations entry point.

  ● Add support for @floatstyle in figure

  ● Moved hardcoded properties for index division titles to the
    index.div.title.properties attribute-set.

  ● Added support for table-layout="auto" for XEP.

  ● Added index.div.title.properties attribute-set.

  ● $verbose parameter is now passed to most elements.

  ● Added refentry to toc in part, as it is permitted by the DocBook schema/
    DTD.

  ● Added backmatter elements and article to toc in part, since they are
    permitted by the DocBook schema/DTD.

  ● Added mode="toc" for simplesect, since it is now permitted in the toc if
    simplesect.in.toc is set.

  ● Moved hard-coded properties to nongraphical.admonintion.properties and
    graphical.admonition.properties attribute sets.

  ● Added support for sidebar-width and float-type processing instructions in
    sidebar.

  ● For tables with HTML markup elements, added support for dbfo bgcolor PI,
    the attribute-sets named table.properties, informaltable.properties,
    table.table.properties, and table.cell.padding. Also added support for the
    templates named table.cell.properties and table.cell.block.properties so
    that tabstyles can be implemented. Also added support for tables containing
    only tr instead of tbody with tr.

  ● Added new paramater hyphenate.verbatim.characters which can specify
    characters after which a line break can occur in verbatim environments.
    This parameter can be used to extend the initial set of characters which
    contain only space and non-breakable space.

  ● Added itemizedlist.label.markup to enable selection of different bullet
    symbol. Also added several potential bullet characters, commented out by
    default.

  ● Enabled all id's in XEP output for external olinking.

HTML

  ● Added support for refdescriptor.

  ● Added support for multiple refnamedivs.

  ● Added support for xml:id

  ● refsynopsisdiv as a section for counting section levels

Images

  ● Added new SVG admonition graphics and navigation images.

Release 1.67.2

This release fixes a table bug introduced in the 1.67.1 release.

Release 1.67.1

This release includes a number of bug fixes.

The following lists provide details about API and feature changes.

FO

  ● Tables: Inherited cell properties are now passed to the
    table.cell.properties template so they can be overridden by a
    customization.

  ● Tables: Added support for bgcolor PI on table row element.

  ● TOCs: Added new parameter simplesect.in.toc; default value of 0 causes
    simplesect to be omitted from TOCs; to cause simplesect to be included in
    TOCs, you must set the value of simplesect.in.toc to 1.Comment from Norm:

        Simplesect elements aren't supposed to appear in the ToC at all... The
        use case for simplesect is when, for example, every chapter in a book
        ends with "Exercises" or "For More Information" sections and you don't
        want those to appear in the ToC.

  ● Sections: Reverted change that caused a variable reference to be used in a
    template match and rewrote code to preserve intended semantics.

  ● Lists: Added workaround to prevent "* 0.60 + 1em" garbage in list output
    from PassiveTeX

  ● Moved the literal attributes from component.title to the
    component.title.properties attribute-set so they can be customized.

  ● Lists: Added glossdef's first para to special handling in
    fo:list-item-body.

HTML

  ● TOCs: Added new parameter simplesect.in.toc; for details, see the list of
    FO changes for this release.

  ● Indexing: Added new parameter index.prefer.titleabbrev; when set to 1,
    index references will use titleabbrev instead of title when available.

HTML Help

  ● Added support for generating windows-1252-encoded output using Saxon; for
    more details, see the list of XSL Java extensions changes for this release.

man pages

  ● Replaced named/numeric character-entity references for non-breaking space
    with groff equivalent (backslash-tilde).

XSL Java extensions

  ● Saxon extensions: Added the Windows1252 class. It extends Saxon 6.5.x with
    the windows-1252 character set, which is particularly useful when
    generating HTML Help for Western European Languages (code from Pontus
    Haglund and contributed to the DocBook community by Sectra AB, Sweden).

    To use:

     1. Make sure that the Saxon 6.5.x jar file and the jar file for the
        DocBook XSL Java extensions are in your CLASSPATH

     2. Create a DocBook XSL customization layer -- a file named
        mystylesheet.xsl or whatever -- that, at a minimum, contains the
        following:

          <xsl:stylesheet
            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
            version='1.0'>
            <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/htmlhelp/htmlhelp.xsl"/>
            <xsl:output method="html" encoding="WINDOWS-1252" indent="no"/>
            <xsl:param name="htmlhelp.encoding" select="'WINDOWS-1252'"></xsl:param>
            <xsl:param name="chunker.output.encoding" select="'WINDOWS-1252'"></xsl:param>
            <xsl:param name="saxon.character.representation" select="'native'"></xsl:param>
          </xsl:stylesheet>

        Invoke Saxon with the encoding.windows-1252 Java system property set to
        com.nwalsh.saxon.Windows1252; for example

          java \
            -Dencoding.windows-1252=com.nwalsh.saxon.Windows1252 \
          com.icl.saxon.StyleSheet \
          mydoc.xml mystylesheet.xsl

        Or, for a more complete "real world" case showing other options you'll
        typically want to use:

          java \
            -Dencoding.windows-1252=com.nwalsh.saxon.Windows1252 \
            -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl \
            -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl \
            -Djavax.xml.transform.TransformerFactory=com.icl.saxon.TransformerFactoryImpl \
          com.icl.saxon.StyleSheet \
            -x org.apache.xml.resolver.tools.ResolvingXMLReader \
            -y org.apache.xml.resolver.tools.ResolvingXMLReader \
            -r org.apache.xml.resolver.tools.CatalogResolver \
          mydoc.xml mystylesheet.xsl

        In both cases, the "mystylesheet.xsl" file should be a DocBook
        customization layer containing the parameters show in step 2.

  ● Saxon extensions: Removed Saxon 8 extensions from release package

Release 1.67.0

  ● A number of important bug fixes.

  ● Added Saxon8 extensions

  ● Enabled dbfo table-width on entrytbl in FO output

  ● Added support for role=strong on emphasis in FO output

  ● Added new FO parameter hyphenate.verbatim that can be used to turn on
    "intelligent" wrapping of verbatim environments.

  ● Replaced all <tt></tt> output with <code></code>

  ● Changed admon.graphic.width template to a mode so that different
    admonitions can have different graphical widths.

  ● Deprecated the HTML shade.verbatim parameter (use CSS instead)

  ● Wrapped ToC refentrytitle/refname and refpurpose in span with class values.
    This makes it possible to style them using a CSS stylesheet.

  ● Use strong/em instead of b/i in HTML output

  ● Added support for converting Emphasis to groff italic and Emphasis role=
    'bold' to bold. Controlled by emphasis.propagates.style param, but not
    documented yet using litprog system. Will do that next (planning to add
    some other parameter-controllable options for hyphenation and handling of
    line spacing).

  ● callout.graphics.number.limit.xml param: Changed the default from 10 to 15.

  ● verbatim.properties: Added hyphenate=false

  ● Saxon and Xalan Text.java extensions: Added support for URIResolver() on
    insertfile href's

  ● Added generated RELEASE-NOTES.txt file.

  ● Added INSTALL file (executable file for generating catalog.xml)

  ● Removed obsolete tools directory from package

Release 1.66.1

  ● A number of important bug fixes.

  ● Now xml:base attributes that are generated by an XInclude processor are
    resolved for image files.

  ● Rewrote olink templates to support several new features.

      ○ Extended full olink support to FO output.

      ○ Add support for xrefstyle attribute in olinks.

      ○ New parameters to support new olink features: insert.olink.page.number,
        insert.olink.pdf.frag, olink.debug, olink.lang.fallback.sequence,
        olink.properties, prefer.internal.olink. See the reference page for
        each parameter for more information.

  ● Added index.on.type parameter for new type attribute introduced in DocBook
    4.3 for indexterms and index. This allows you to create multiple indices
    containing different categories of entries. For users of 4.2 and earlier,
    you can use the new parameter index.on.role instead.

  ● Added new section.autolabel.max.depth parameter to turn off section
    numbering below a certain depth. This permits you to number major section
    levels and leave minor section levels unnumbered.

  ● Added footnote.sep.leader.properties attribute set to format the line
    separating footnotes in printed output.

  ● Added parameter img.src.path as a prefix to HTML img src attributes. The
    prefix is added to whatever path is already generated by the stylesheet for
    each image file.

  ● Added new attribute-sets informalequation.properties,
    informalexample.properties, informalfigure.properties, and
    informaltable.properties, so each such element type can be formatted
    individually if needed.

  ● Add component.label.includes.part.label parameter to add any part number to
    chapter, appendix and other component labels when the label.from.part
    parameter is nonzero. This permits you to distinguish multiple chapters
    with the same chapter number in cross references and the TOC.

  ● Added chunk.separate.lots parameter for HTML output. This parameter lets
    you generate separate chunk files for each LOT (list of tables, list of
    figures, etc.).

  ● Added several table features:

      ○ Added table.table.properties attribute set to add properties to the
        fo:table element.

      ○ Added placeholder templates named table.cell.properties and
        table.cell.block.properties to enable adding properties to any
        fo:table-cell or the cell's fo:block, respectively. These templates are
        a start for implementing table styles.

  ● Added new attribute set component.title.properties for easy modifications
    of component's title formatting in FO output.

  ● Added Saxon support for an encoding attribute on the textdata element.
    Added new parameter textdata.default.encoding which specifies encoding when
    encoding attribute on textdata is missing.

  ● Template label.this.section now controls whole section label, not only
    sub-label which corresponds to particular label. Former behaviour was IMHO
    bug as it was not usable.

  ● Formatting in titleabbrev for TOC and headers is preserved when there are
    no hotlink elements in the title. Formerly the title showed only the text
    of the title, no font changes or other markup.

  ● Added intial.page.number template to set the initial-page-number property
    for page sequences in print output. Customizing this template lets you
    change when page numbering restarts. This is similar to the
    format.page.number template that lets you change how the page number
    formatting changes in the output.

  ● Added force.page.count template to set the force-page-count property for
    page sequences in print output. This is similar to the format.page.number
    template.

  ● Sort language for localized index sorting in autoidx-ng.xsl is now taken
    from document lang, not from system environment.

  ● Numbering and formatting of normal and ulink footnotes (if turned on) has
    been unified. Now ulink footnotes are mixed in with any other footnotes.

  ● Added support for renderas attribute in section and sect1 et al. This
    permits you to render a given section title as if it were a different
    level.

  ● Added support for label attribute in footnote to manually supply the
    footnote mark.

  ● Added support for DocBook 4.3 corpcredit element.

  ● Added support for a dbfo keep-together PI for formal objects (table,
    figure, example, equation, programlisting). That permits a formal object to
    be kept together if it is not already, or to be broken if it is very long
    and the default keep-together is not appropriate.

  ● For graphics files, made file extension matching case insensitive, and
    updated the list of graphics extensions.

  ● Allow calloutlist to have block content before the first callout

  ● Added dbfo-need processing instruction to provide soft page breaks.

  ● Added implementation of existing but unused default.image.width parameter
    for graphics.

  ● Support DocBook NG tag inline element.

  ● It appears that XEP now supports Unicode characters in bookmarks. There is
    no further need to strip accents from characters.

  ● Make segmentedlist HTML markup more semantic and available to CSS styles.

  ● Added user.preroot placeholder template to permit xsl-stylesheet and other
    PIs and comments to be output before the HTML root element.

  ● Non-chunked legalnotice now gets an <a name="id"> element in HTML output so
    it can be referenced with xref or link.

  ● In chunked HTML output, changed link rel="home" to rel="start", and link
    rel="previous" to rel="prev", per W3C HTML 4.01 spec.

  ● Added several patches to htmlhelp from W. Borgert

  ● Added Bosnian locale file as common/bs.xml.

Release 1.65.0

  ● A number of important bug fixes.

  ● Added a workaround to allow these stylesheets to process DocBook NG
    documents. (It’s a hack that pre-processes the document to strip off the
    namespace and then uses exsl:node-set to process the result.)

  ● Added alternative indexing mechanism which has better internationalization
    support. New indexing method allows grouping of accented letters like e, é,
    ë into the same group under letter "e". It can also treat special letters
    (e.g. "ch") as one character and place them in the correct position (e.g.
    between "h" and "i" in Czech language).

    In order to use this mechanism you must create customization layer which
    imports some base stylesheet (like fo/docbook.xsl, html/chunk.xsl) and then
    includes appropriate stylesheet with new indexing code (fo/autoidx-ng.xsl
    or html/autoidx-ng.xsl). For example:

    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    version="1.0">

    <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>
    <xsl:include href="http://docbook.sourceforge.net/release/xsl/current/fo/autoidx-ng.xsl"/>

    </xsl:stylesheet>

    New method is known to work with Saxon and it should also work with
    xsltproc 1.1.1 and later. Currently supported languages are English, Czech,
    German, French, Spanish and Danish.

Release 1.64.1

General bug fixes and improvements. Sorry about the failure to produce an
updated release notes file for 1.62.0—1.63.2

  ● In the course of fixing bug #849787, wrapping Unicode callouts with an
    appropriate font change in the Xalan extensions, I discovered that the
    Xalan APIs have changed a bit. So xalan2.jar will work with older Xalan 2
    implementations, xalan25.jar works with Xalan 2.5.

Release 1.61.0

Lots of bug fixes and improvements.

  ● Initial support for timestamp PI. From now you can use <?dbtimestamp format
    ="Y-m-d H:M:S"?> to get current datetime in your document. Added
    localization support for datetime PI

  ● Added level 6 to test for section depth in section.level template so that
    section.title.level6.properties will be used for sections that are 6 deep
    or deeper. This should also cause a h6 to be created in html output.

  ● Don't use SVG graphics if use.svg=0

  ● Now uses number-and-title-template for sections only if section.autolabel
    is not zero.

  ● Added missing 'english-language-name' attribute to the l10n element, and
    the missing 'style' attribute to the template element so the current
    gentext documents will validate.

  ● Corrected several references to parameter qanda.defaultlabel that were
    missing the "$".

  ● Now accepts admon.textlabel parameter to turn off Note, Warning, etc.
    label.

  ● FeatReq #684561: support more XEP metadata

  ● Added hyphenation support. Added support for coref. Added beginpage
    support. (does nothing; see TDG).

  ● Added support for hyphenation-character, hyphenation-push-character-count,
    and hyphenation-remain-character-count

  ● Added root.properties, ebnf.assignment, and ebnf.statement.terminator

  ● Support bgcolor PI in table cells; make sure rowsep and colsep don't have
    any effect on the last row or column

  ● Handle othercredit on titlepage a little better

  ● Applied fix from Jeff Beal that fixed the bug that put secondary page
    numbers on primary entries. Same with tertiary page numbers on secondary
    entries.

  ● Added definition of missing variable collection.

  ● Make footnote formatting 'normal' even when it occurs in a context that has
    special formatting

  ● Added warning when glossary.collection is not blank, but it cannot open the
    specified file.

  ● Pick up the frame attribute on table and informaltable.

  ● indexdiv/title in non-autogenerated indexes are now picked up.

  ● Removed (unused) component.title.properties

  ● Move IDs from page-sequences down to titlepage blocks

  ● Use proportional-column-width(1) on more tables.

    Use proportional-column-width() for header/footer tables; suppress
    relative-align when when using FOP

  ● Check for glossterm.auto.link when linking firstterms; don't output gl.
    prefix on glossterm links

  ● Generate Part ToCs

  ● Support glossary, bibliography, and index in component ToCs.

  ● Refactored chunking code so that customization of chunk algorithm and chunk
    elements is more practical

  ● Support textobject/phrase on inlinemediaobject.

  ● Support 'start' PI on ordered lists

  ● Fixed test of $toc PI to turn on qandaset TOC.

  ● Added process.chunk.footnotes to sect2 through 5 to fix bug of missing
    footnotes when chunk level greater than 1.

  ● Added paramater toc.max.depth which controls maximal depth of ToC as
    requested by PHP-DOC group.

  ● Exempted titleabbrev from preamble processing in lists, and fixed
    variablelist preamble code to use the same syntax as the other lists.

  ● Added support for elements between variablelist and first varlistentry
    since DocBook 4.2 supports that now.

Release 1.60.1

Lots of bug fixes.

  ● The format of the titlepage.templates.xml files and the stylesheet that
    transforms them have been significantly changed. All of the attributes used
    to control the templates are now namespace qualified. So what used to be:

    <t:titlepage element="article" wrapper="fo:block">

    is now:

    <t:titlepage t:element="article" t:wrapper="fo:block">

    Attributes from other namespaces (including those that are unqualified) are
    now copied directly through. In practice, this means that the names that
    used to be “fo:” qualified:

    <title named-template="component.title"
           param:node="ancestor-or-self::article[1]"
           fo:text-align="center"
           fo:keep-with-next="always"
           fo:font-size="&hsize5;"
           fo:font-weight="bold"
           fo:font-family="{$title.font.family}"/>

    are now unqualified:

    <title t:named-template="component.title"
           param:node="ancestor-or-self::article[1]"
           text-align="center"
           keep-with-next="always"
           font-size="&hsize5;"
           font-weight="bold"
           font-family="{$title.font.family}"/>

    The t:titlepage and t:titlepage-content elements both generate wrappers
    now. And unqualified attributes on those elements are passed through. This
    means that you can now make the title font apply to ane entire titlepage
    and make the entire “recto” titlepage centered by specifying the font and
    alignment on the those elements:

    <t:titlepage t:element="article" t:wrapper="fo:block"
                 font-family="{$title.font.family}">

      <t:titlepage-content t:side="recto"
                 text-align="center">

  ● Support use of titleabbrev in running headers and footers.

  ● Added (experimental) xref.with.number.and.title parameter to enable number/
    title cross references even when the default would be just the number.

  ● Generate part ToCs if they're requested.

  ● Use proportional-column-width() in header/footer tables.

  ● Handle alignment correctly when screenshot wraps a graphic in a figure.

  ● Format chapter and appendix cross references consistently.

  ● Attempt to support tables with multiple tgroups in FO.

  ● Output fo:table-columns in simplelist tables.

  ● Use titlepage.templates.xml for indexdiv and glossdiv formatting.

  ● Improve support for new bibliography elements.

  ● Added footnote.number.format, table.footnote.number.format,
    footnote.number.symbols, and table.footnote.number.symbols for better
    control of footnote markers.

  ● Added glossentry.show.acronyms.

  ● Suppress the draft-mode page masters when draft-mode is “no”.

  ● Make blank pages verso not recto. D'Oh!

  ● Improved formatting of ulink footnotes.

  ● Fixed bugs in graphic width/height calculations.

  ● Added class attributes to inline elements.

  ● Don't add “.html” to the filenames identified with the “dbhtml” PI.

  ● Don't force a ToC when sections contain refentrys.

  ● Make section title sizes a function of the body.master.size.

Release 1.59.2

The 1.59.2 fixes an FO bug in the page masters that causes FOP to fail.

  ● Removed the region-name from the region-body of blank pages. There's no
    reason to give the body of blank pages a unique name and doing so causes a
    mismatch that FOP detects.

  ● Output IDs for the first paragraphs in listitems.

  ● Fixed some small bugs in the handling of page numbers in double-sided mode.

  ● Attempt to prevent duplicated IDs from being produced when endterm on xref
    points to something with nested structure.

  ● Fix aligment problems in equations.

  ● Output the type attribute on unordered lists (UL) in HTML only if the
    css.decoration parameter is true.

  ● Calculate the font size in formal.title.properties so that it's 1.2 times
    the base font size, not a fixed "12pt".

Release 1.59.1

The 1.59.1 fixes a few bugs.

  ● Added Bulgarian localization.

  ● Indexing improvements; localize book indexes to books but allow setindex to
    index an entire set.

  ● The default value for rowsep and colsep is now "1" as per CALS.

  ● Added support for titleabbrev (use them for cross references).

  ● Improvements to mediaobject for selecting print vs. online images.

  ● Added seperate property sets for figures, examples, equations, tabless, and
    procedures.

  ● Make lineannotations italic.

  ● Support xrefstyle attribute.

  ● Make endterm on xref higher priority than xreflabel target.

  ● Glossary formatting improvements.

Release 1.58.0

The 1.58.0 adds some initial support for extensions in xsltproc, adds a few
features, and fixes bugs.

  ● This release contains the first attempt at extension support for xsltproc.
    The only extension available to date is the one that adjusts table column
    widths. Run extensions/xsltproc/python/xslt.py.

  ● Fixed bugs in calculation of adjusted column widths to correct for rounding
    errors.

  ● Support nested refsection elements correctly.

  ● Reworked gentext.template to take context into consideration. The name of
    elements in localization files is now an xpath-like context list, not just
    a simple name.

  ● Made some improvements to bibliography formatting.

  ● Improved graphical formatting of admonitions.

  ● Added support for entrytbl.

  ● Support spanning index terms.

  ● Support bibliosource.

Release 1.57.0

  ● The 1.57.0 release wasn't documented here. Oops.

Release 1.56.0

The 1.56.0 release fixes bugs.

  ● Reworked chunking. This will break all existing customizations layers that
    change the chunking algorithm. If you're customizing chunking, look at the
    new “content” parameter that's passed to process-chunk-element and friends.

  ● Support continued and inherited numeration in orderedlist formatting for
    FOs.

  ● Added Thai localization.

  ● Tweaked stylesheet documentation stylesheets to link to TDG and the
    parameter references.

  ● Allow title on tables of contents ("Table of Contents") to be optional.
    Added new keyword to generate.toc. Support tables of contents on sections.

  ● Made separate parameters for table borders and table cell borders:
    table.frame.border.color, table.frame.border.style,
    table.frame.border.thickness, table.cell.border.color,
    table.cell.border.style, and table.cell.border.thickness.

  ● Suppress formatting of “endofrange” indexterms. This is only half-right.
    They should generate a range, but I haven't figured out how to do that yet.

  ● Support revdescription. (Bug #582192)

  ● Added default.float.class and fixed figure floats. (Bug #497603)

  ● Fixed formatting of sbr in FOs.

  ● Added context to the “missing template” error message.

  ● Process arg correctly in a group. (Bug #605150)

  ● Removed 'keep-with-next' from formal.title.properties attribute set now
    that the stylesheets support the option of putting such titles below the
    object. Now the $placement value determines if 'keep-with-next' or
    'keep-with-previous' is used in the title block.

  ● Wrap “url()” around external-destinations when appropriate.

  ● Fixed typo in compact list spacing. (Bug #615464)

  ● Removed spurious hash in anchor name. (Bug #617717)

  ● Address is now displayed verbatim on title pages. (Bug #618600)

  ● The bridgehead.in.toc parameter is now properly supported.

  ● Improved effectiveness of HTML cleanup by increasing the number of places
    where it is used. Improve use of HTML cleanup in XHTML stylesheets.

  ● Support table of contents for appendix in article. (Bug #596599)

  ● Don't duplicate footnotes in bibliographys and glossarys. (Bug #583282)

  ● Added default.image.width. (Bug #516859)

  ● Totally reworked funcsynopsis code; it now supports a 'tabular'
    presentation style for 'wide' prototypes; see
    funcsynopsis.tabular.threshold. (HTML only right now, I think, FO support,
    uh, real soon now.)

  ● Reworked support for difference marking; toned down the colors a bit and
    added a “system.head.content” template so that the diff CSS wasn't
    overriding “user.head.content”. (Bug #610660)

  ● Added call to the “*.head.content” elements when writing out long
    description chunks.

  ● Make sure legalnotice link is correct even when chunking to a different
    base.dir.

  ● Use CSS to set viewport characteristics if css.decoration is non-zero, use
    div instead of p for making graphic a block element; make figure titles the
    default alt text for images in a figure.

  ● Added space-after to list.block.spacing.

  ● Reworked section.level template to give “correct” answer instead of being
    off by one.

  ● When processing tables, use the tabstyle attribute as the division class.

  ● Fixed bug in html2xhtml.xsl that was causing the XHTML chunker to output
    HTML instead of XHTML.

Older releases

To view the release notes for older releases, see http://cvs.sourceforge.net/
viewcvs.py/docbook/xsl/RELEASE-NOTES.xml. Be aware that there were no release
notes for releases prior to the 1.50.0 release.

About dot-zero releases

DocBook Project “dot zero” releases should be considered experimental and are
always followed by stable “dot one plus” releases, usually within two or three
weeks. Please help to ensure the stability of “dot one plus” releases by
carefully testing each “dot zero” release and reporting back about any problems
you find.

It is not recommended that you use a “dot zero” release in a production system.
Instead, you should wait for the “dot one” or greater versions.

