$Id: RELEASE-NOTES.xml,v 1.30 2004/12/02 08:37:14 xmldoc Exp $
01 December 2004
Table of Contents
These are the release notes for the DocBook XSL Stylesheets. This file documents (mostly) changes to the public APIs. What, exactly, counts as a public API is still somewhat in question, but it includes at least the global parameters.
You may also be interested in the more detailed WhatsNew file.
This release includes a number of bug fixes; for details, see the WhatsNew file.
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:
Make sure that the Saxon 6.5.x jar file and the jar file for
the DocBook XSL Java extensions are in your CLASSPATH
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.xslOr, 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.xslIn 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
A number of important bug fixes, documented in WhatsNew.
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
A number of important bug fixes, documented in WhatsNew.
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.
A number of important bug fixes, documented in WhatsNew.
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.
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.
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.
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.
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.
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".
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.
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.
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.
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.
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.