$Id: RELEASE-NOTES.html 338816 2004-08-18 11:48:41Z englich $
08 May 2003
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.
Release 1.65.0
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.
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.
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.
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.
Release 1.55.0
The 1.55.0 fixes a few bugs and reorganizes some parameters.
Added Lithuanian and Vietnamese localizations.
Support orientation, rotated-width, and rotated-height on a <?dbfo> processing instruction to rotate table cells in FO output.
Restart all books on page 1.
Added experimental “chunkfast” support.
Support automatic indexes in webpage elements. This isn't as useful as it first sounds, because as the code stands only a single page (not an entire site) will be indexed. Also, moving this directly into the autoidx.xsl file may not be the best strategy. It would be better if it was somehow contained in the Website stylesheets.
Fixed bug where <?dbhtml> processing instructions to specify filenames and directories were used even if they occurred in components that weren't being chunked.
Allow generate.toc parameter to control ToCs in article appendixes. Suppressed by default.
Fixed bug where the code that searches for pseudo-attributes in processing instructions would match suffixes instead of only whole attributes. (In other words, “xxxfoo” would match “foo”.)
Left-align monospaced verbatim environments in FO.
Release 1.54.1
The 1.54.1 release fixes a couple of bugs in 1.54.0.
Remove spurious character from common.xsl. This bug was a fatal error in Xalan2.
Make sure empty cells inherit from their row.
Actually support refsection in HTML.
Release 1.54.0
The 1.54.0 release fixes some bugs and adds a couple of new features.
New option to generate back-of-book FO indexes with page-number ranges in place of sequences (e.g., 1-4 instead of 1,2,3,4) (make.index.markup).
Experimental support for generating ToCs/LoTs as separate HTML chunks (chunk.tocs.and.lots).
New option to generate HTML Help indexes using HHK files, allowing see-also processing & referencing of exact locations of index terms (htmlhelp.use.hhk).
Olink processing tweaks.
Improvements in graphic and table processing.
Additions and workarounds for better compatibility with FO engines (FOP, PassiveTeX, XEP).
Bug fixes for FO profiling, indexing of Refentrys.
Release 1.53.0
The 1.53.0 release fixes some bugs, refactors page masters, and adds some new parameters.
Reworked page headers and footers.
Support numbered bibliography styles.
Added new property set for inline monospaced elements.
Added menuchoice separator parameter.
Added property sets for each section level heading to remove hard coded font sizes.
Make table headers bold by default in FO.
Use basic initial-page-number property instead of extended force-page-count property to get components to start on odd pages in double.sided mode.
Added format.page.number template to set the page number format for all page sequences
Don't include equations without titles in the LoT for equations.
Added support for para.propagates.style.
Added cell padding and spacing parameters for HTML.
Added tr.attributes named template (for odd-row coloring and such).
Release 1.52.0
The 1.52.0 release contains a lot of significant changes. Make sure you read the ChangeLog as well.
Created a complete and consistent set of chunking parameters: chunker.output.cdata-section-elements chunker.output.doctype-public chunker.output.doctype-system chunker.output.encoding chunker.output.indent chunker.output.media-type chunker.output.method chunker.output.omit-xml-declaration chunker.output.standalone. Removed default.encoding (use chunker.output.encoding instead); removed output.method (use chunker.output.method instead).
Added a large number of HTML Help parameters: htmlhelp.button.back, htmlhelp.button.forward, htmlhelp.button.hideshow, htmlhelp.button.home.url, htmlhelp.button.home, htmlhelp.button.jump1.title, htmlhelp.button.jump1.url, htmlhelp.button.jump1, htmlhelp.button.jump2.title, htmlhelp.button.jump2.url, htmlhelp.button.jump2, htmlhelp.button.locate, htmlhelp.button.next, htmlhelp.button.options, htmlhelp.button.prev, htmlhelp.button.print, htmlhelp.button.refresh, htmlhelp.button.stop, htmlhelp.button.zoom, htmlhelp.hhc.binary, htmlhelp.hhk, htmlhelp.hhp.window, htmlhelp.show.advanced.search, htmlhelp.show.favorities, htmlhelp.show.menu.xml, and htmlhelp.only.
Support for new style OLinks. Added target.database.document, use.local.olink.style, current.docid, and olink.doctitle.
Added experimental support for xref styles. Added use.role.as.xrefstyle.
Completely reworked page master/page sequence configuration.
Support cross-references to paragraphs by using the nearest containing section title as the cross-reference text. Is this a good idea?
Removed unused chunk.datafile.
Added header/footer parameters: footer.rule, footers.on.blank.pages, header.rule, and headers.on.blank.pages.
Added column parameters: column.count.back, column.count.body, column.count.front, column.count.index, column.count.lot, column.count.of.index, column.count.titlepage, and column.count.
Added draft.mode.
Added glossary.as.blocks, glosslist.as.blocks, glossterm.separation, glossterm.width.
Added suppress.footer.navigation and suppress.header.navigation.
Added make.graphic.viewport, nominal.image.depth, nominal.image.width, and use.embed.for.svg
Added refentry.title.properties and section.title.properties
Added use.embed.for.svg
Added generate.meta.abstract.xml
Release 1.51.0
Added an extension function to determine the intrinsic size of an image. Works for the image formats supported by the Java Image class and or PostScript-derived formats.
Added callout bullets 11-15.
Removed obsolete using.chunker parameter.
Added points.per.em parameter.
Added generate.manifest parameter.
Added manifest parameter.
Added compact.list.item.spacing parameter.
Added html.extra.head.links parameter.
Added use.svg parameter; support SVG in HTML.
Convert the library code to a literate programming style with xweb.
Support xref to any element that has a title (at least when it has a title).
Pass MathML through unchanged.
Completely reworked support for graphic attributes in HTML.
Add additional LINK elements to the HTML HEAD (for site navigation as in Mozilla---note, however, that Mozilla has disabled this recently for the 1.0 release).
Support shade.verbatim parameter in FO.
Support compact list spacing in FO.
Release 1.50.0
This release introduces a new version numbering scheme. Version numbers are now three part: major.middle.minor. Changes to the middle version number indicate a change in the public API. Changes in only the minor number indicate simply a new release.
The generate.*.toc and generate.*.lot parameters have been replaced by a single structured parameter, generate.toc.
It's likely that the HTML and FO stylesheets do not handle ToC generation in exactly the same way, but they should.
Added strip-attributes.xsl to the profiling stylesheets. This allows one to strip off, for example, profiling attributes after a document has been profiled.
Improved numeration of footnotes and table footnotes. Made table footnotes render “properly” in FOs.
Added a formal.title.placement parameter, allowing users to select placement of formal object titles either above or below the object.
Improved control over delimiters for TeX equations.
Support classsynopsis and friends in FOs.
Changed HTML stylesheets to use em instead of i for emphasis.
Added chunk.quietly parameter.
Improved profiling code to support the full range of profiling attributes and to support one-pass profiling (if your XSLT processor understands the EXSLT node-set function.