Release of XMLmind XSL-FO Converter v6.0
October 29, 2018
Submitted by Hussein Shafie, XMLmind Software.
XMLmind XSL-FO Converter Evaluation Edition v6.0 can be downloaded from http://www.xmlmind.com/foconverter/downloadeval.shtml.
Changes
Enhancements:
- Extension attribute
xfc:label-format
has now an "inherit
" parameter. Example: xfc:label-format="%{lower-alpha;inherit})". Setting the "inherit
" parameter specifies that a numberedfo:list-block
“inherits” the numbering of its ancestor numberedfo:list-block
s. In other words, this parameter may be used to implement what is often called multi-level numbering (e.g. 1.A.a.)More information in "The xfc:label-format extension attribute".
- Extension attribute
xfc:render-as-table
may be used as a quick and easy workaround for one of the most annoying limitations of XMLmind XSL-FO Converter: afo:block
having a border and/or background color and containing several other blocks, lists or tables is very poorly rendered in RTF, WML, DOCX and ODT. (Such containerfo:block
s are quite commonly used, for example, to represent complex notes, admonitions or sidebars.)The reason of this limitation is due to the fact that the RTF, WML, DOCX and ODT output formats can —to make it simple— only contain a “flat” sequence of styled paragraphs and tables.
Example:
<fo:block margin="0.5em 2em" padding="1em 4em" border="1px solid #800000" background="#FFF0F0" xfc:render-as-table="true"> <fo:block space-before="0.5em" space-after="0.5em">First paragraph.</fo:block> <fo:block space-before="0.5em" space-after="0.5em">Second paragraph.</fo:block> <fo:block space-before="0.5em" space-after="0.5em">Third paragraph.</fo:block> </fo:block>
A
fo:block
having attributexfc:render-as-table="true"
is automatically converted to an equivalentfo:table
by XMLmind XSL-FO Converter.More information in "The xfc:render-as-table extension attribute".
- The two above extension attributes are showcased in new article "How to adapt your existing XSLT stylesheet to the specificities of XMLmind XSL-FO Converter (PDF, RTF, WML, DOCX, ODT)".
- RTF, WML, DOCX output formats: the empty placeholder paragraph contained in an empty table cell now inherits its font and text color from its ancestors. In previous versions of XFC, this placeholder always used the default font (e.g. Calibri 11pt) and the default text color.
- XMLmind XSL Utility and XMLmind XSL Server:
- Modified the DocBook XSL stylesheets so they use the two new
extension attributes:
- Attribute
xfc:label-format
is used to create proper RTF, WML, DOCX and ODT ordered lists, including nested ordered lists which inherit their numberings from their ordered list ancestors (that is, support for DocBookorderedlist/@inheritnum="inherit"
). - Attribute
xfc:render-as-table
is used to render notes and sidebars. This attribute enables a workaround for a limitation of XMLmind XSL-FO Converter: afo:block
having a border and/or background color and containing several other blocks, lists or tables is very poorly rendered in RTF, WML, DOCX and ODT.
- Attribute
- Upgraded the following components:
- Upgraded XMLmind
DITA Converter (ditac for short)
to version 3.3.0_01 which
- in addition to syntax highlighting, can add line numbers
and expand tabs in any element specializing
pre
; - fully supports Lightweight DITA
(AKA LwDITA), whether XDITA (very small subset of DITA XML, plus new audio and video elements), HDITA (topics and maps written in HTML5) or MDITA
http://docs.oasis-open.org/dita/LwDITA/v1.0/cn01/LwDITA-v1.0-cn01.html#what-is-mdita
Extended Profile (topics and maps written in Markdown).
More information in "Fancy code blocks" and in "Lightweight DITA support".
Please note that Markdown support of any kind in any XMLmind tool requires using a Java™ 1.8+ runtime.
- in addition to syntax highlighting, can add line numbers
and expand tabs in any element specializing
- Upgraded XMLmind Web Help Compiler (whc for short) to version 2.1.3_02.
- Upgraded Saxon to version 9.8.0.14.
- Upgraded the Apache Batik plug-in to version 1.10.
- Upgraded the Apache FOP plug-in to version 2.3.
- Upgraded XMLmind
DITA Converter (ditac for short)
to version 3.3.0_01 which
- Modified the DocBook XSL stylesheets so they use the two new
extension attributes:
- XMLmind XSL-FO Converter, which passed all non-regression tests, is
now officially supported on Java™ 10 and Java™ 11
platforms.
Java 10 and 11 regression
[JDK-8211422]
For some PNG images,
- Apache FOP reports error "I/O error while extracting image metadata: Error reading PNG metadata" and fails to render the PNG image.
- XMLmind XSL-FO Converter reports warning "cannot get the
resolution of image 'file:/tmp/XXX.png': Error reading PNG
metadata" and renders the image using default image resolution
(96dpi; may be changed using option
-imageResolution=DPI
or option/r DPI
).
For now, the only workaround for this bug is to open the faulty PNG image in an image editor (e.g. GIMP) and to re-export it as PNG under the same filename.
- All programs which are part of XMLmind XSL-FO Converter are now officially supported on macOS Mojave (version 10.14).
Bug fixes:
- DOCX output format only: a table contained in a list itself contained in a table often had incorrect left and right margins (the left and right padding of first table cell were added to the left and right margins of the table).
- DOCX output format only: MS-Word failed to load files where a list was the last child of a table cell, when the last item of this list was a nested table.
- “Bare URLs” specified as in the following example:
<fo:external-graphic src=" https://www.acme.com/logo.png "/>
were not trimmed before being parsed. (The recommended way to specify an URL being:<fo:external-graphic src="url(https://www.acme.com/logo.png)"/>
.) - Forgot to document the
xfc:restart-numbering
extension attribute, which is very useful when using named paragraph styles to create numbered lists.
Regressions:
- The alternative implementation of XMLmind XSL-FO Converter engine for .NET, leveraging the obsolete Visual J# runtime has been discontinued.
- Graphical application
controlapp
which allowed to stop, configure or reconfigure and start or restart both the bundled Jetty Servlet Container and the XMLmind XSL Server WebApp has been discontinued. XMLmind XSL Server is now available only as standard, ready to deploy,xslsrv.war
.
Version 5.5 (March 27, 2018)
Enhancements:
- XMLmind XSL-FO Converter, which passed all non-regression tests, is now officially supported on Java™ 9 platforms.
- Added command-line option
-docx.variant=MS-Word_major_version [ strict ]?
. Examples:-docx.variant=14
,-docx.variant=15strict
. (Corresponding option for the .NET version is:/variant
.)This option may be used to mark generated DOCX files as being compatible with MS-Word having specified major version. Any major version other than 14 (MS-Word 2010), 15 (MS-Word 2013), 16 (MS-Word 2016) is currently ignored.
Moreover suffix "
strict
" (supported only when MS-Word_major_version >= 15) may be used to generate DOCX files marked as being "Strict Open XML".Unless this option is used, the generated DOCX files are not marked as being compatible with a specific version of MS-Word.
Specifying
-docx.variant=15
suppresses the "[Compatibility Mode]" text appearing in the title bar of MS-Word 2013 and 2016.Note that specifying
-docx.variant=15
does not prevent the generated DOCX file from being opened in MS-Word 2007 and 2010. However specifying-docx.variant=15strict
generates "Strict Open XML" files which are not supported by MS-Word 2007 and 2010. - Changed the technology used to implement the context-sensitive
online help from obsolete JavaHelp to a dedicated, embedded Web browser
displaying Web Help.
if the Java™ runtime used to run
xslutil
is older than version 1.8.0_40, the system Web browser rather than the dedicated, embedded Web browser is used to display the Web Help, which is much less convenient for the user. - Upgraded the following components in both XMLmind XSL Utility and
XMLmind XSL Server:
- Upgraded XMLmind DITA Converter (ditac for short) to version 3.2.4.
- Upgraded XMLmind Web Help Compiler (whc for short) to version 2.1.2.
- Upgraded XMLmind Assembly Processor to version v1.0.3.
- Upgraded Saxon to version 9.8.0.8.
Bug fixes:
- Converting a DocBook document with the draft mode turned on relied
on downloading
http://docbook.sourceforge.net/release/images/draft.png
. Now XMLmind XSL Utility and XMLmind XSL Server use a local copy of this graphics file. - XMLmind XSL Server: converting a document whose location is an URL
having a fragment identifier (e.g. ending with
#foo
) caused the conversion to fail with the following error:Error: net.sf.saxon.trans.XPathException: Base URI {...} contains a fragment identifier
.
Regressions:
- In order to make it compatible with Java™ 9, new
ext/lib/jai_imageio.jar
no longer supports the JPEG 2000 image file format.