Upgraded XMLResolver to version 5.2.5.
XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 22 platforms.
Now supports processing DocBook 5.2 documents (new OASIS Standard: "The DocBook Schema Version 5.2").
Some of the following changes are breaking changes, so make sure to read "How to “port” your assemblies to XMLmind Assembly Processor v2".
The following changes were made after reading the clarifications found in DocBook 5.2: The Definitive Guide:
Support of attribute resource
/@transform
when attribute resource
/@grammar
is
not specified.
Attribute output
/@grammar
has been removed from DocBook 5.2.
XMLmind Assembly
Processor still supports it for
compatibility with DocBook 5.1 but reports a warning when output
/@grammar
is
specified.
A module
in a larger structure
can set its resourceref
attribute to the value of the xml:id
of a modular structure
element in the same assembly to
incorporate it. However, because DocBook
5.2: The Definitive Guide is not clear about how this
should be done, this feature is implemented in the most basic
way.
When attribute assembly
/@version
is missing, XMLmind Assembly
Processor now generates a realized document having a root
element with attribute version
=5.2
. In previous versions, the value of added
version
attribute was 5.1
.
Breaking change. Elements structure
/info
and module
/info
do not contribute to the meta-information of the
corresponding realized element. Only element merge
may used to add or replace child
elements in the info
of the corresponding
realized element.
Breaking change. Common attributes (xml:id
, xml:lang
,
xreflabel
, etc) found on module
or structure
do not contribute to the realized document. Only
common attributes found on merge
are copied to the corresponding
realized element, possibly replacing the same common attributes already
set on the resource.
Breaking change. In previous versions, attribute
module
/@contentonly
=true
always implied module
/@omittitles
=true
.
While being almost always what's the author wants to do, this does not
correspond to the documentation of the merge
element.
How to “port” your assemblies to XMLmind Assembly Processor v2:
Convert your structure
/info
(resp. module
/info
) to structure
/merge
(resp. module
/merge
). See
corresponding breaking
change.
What follows used to work with XMLmind Assembly Processor v1:
<module renderas="section"> <info><title>Title of the section</title></info> ...
The following change is needed to make it work with XMLmind Assembly Processor v2:
<module renderas="section"> <merge><title>Title of the section</title></merge> ...
If you want to specify the xml:id
of
the realized element corresponding to a module
having no resourceref
attribute, add this xml:id
to the merge
child element of the module
and not to the
module
itself. See corresponding breaking change.
What follows used to work with XMLmind Assembly Processor v1:
<module renderas="section" xml:id="section_id">
<merge><title>Title of the section</title></merge> ...
The following change is needed to make it work with XMLmind Assembly Processor v2:
<module renderas="section">
<merge xml:id="section_id">
<title>Title of the section</title>
</merge> ...
Add attribute omittitles
=true
to your module
s
having contentonly
=true
. See corresponding breaking change.
What follows used to work with XMLmind Assembly Processor v1:
<module renderas="section">
<info><title>Title of the section</title></info>
<module omittitles=true resourceref="t1" /> ...
The following change is needed to make it work with XMLmind Assembly Processor v2:
<module renderas="section"> <merge><title>Title of the section</title></merge> <module omittitles=true contentonly=true resourceref="t1" /> ...
Other enhancements:
Upgraded XMLResolver to version 5.2.3.
XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 21 platforms.
Upgraded XMLResolver to version 5.2.1.
Upgraded XMLResolver to version 5.2.0.
Modified the language fixup of the XInclude 1.1 implementation in
order to support the lang
attribute in lieu of or in
addition to the xml:lang
attribute. This allows to
use this XInclude 1.1 implementation to process DocBook 4 or XHTML
documents. (Note that this XInclude 1.1 implementation already supported
the id
attribute in lieu of the
xml:id
attribute.)
XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 20 platforms.
Bug fix: made the language fixup of the XInclude 1.1 implementation more conforming to the specification.
Upgraded XMLResolver to version 5.1.1.
Replaced the Apache Commons
Resolver (lib/resolver.jar
) by the XMLResolver
(lib/xmlresolver.jar
).
XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 19 platforms.
XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 18 platforms.
Some internal changes were needed to make XMLmind Assembly Processor compatible with XMLmind XML Editor v10+.
XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported
on Java™ 17 platforms;
on macOS Monterey (version 12.0), including on Macs having an Apple M1 (ARM-based) processor;
on Windows 11.
XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 16 platforms.
XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 15 platforms.
Bug fix: XMLmind Assembly
Processor reported "missing child
element <info>
" warning for assembly elements like
<module renderas="index"/>
.
(<module renderas="index"/>
is realized as a
DocBook index
element and an index
element is not required to start with an
info
element or to have a title.)
XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 14 platforms.
The itemizedlist
which is automatically generated
to represent relationships between topics has now attribute
spacing="compact"
.
XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 13 platforms.
XMLmind Assembly Processor now requires a Java 8+ runtime in order to compile and run.
XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 12 platforms.
XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 11 platforms.
Minor internal changes needed to make XMLmind Assembly Processor compatible with XMLmind XML Editor v8.2.
XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 10 platforms.
Minor internal changes needed to make XMLmind Assembly Processor compatible with XMLmind XML Editor v8.
XMLmind Assembly Processor, which passed all non-regression tests, is now officially supported on Java™ 9 platforms.
Changed "Licensor" from "Pixware SARL" to "XMLmind Software" in all licenses.
Bug fixes:
Info elements copied from the assembly to the realized document
were not given proper xml:base
and xml:lang
attributes.
In practice, due to this bug, it was not possible to successfully
convert to other formats an assembly where some info
elements contained imagedata
.
XMLmind Assembly
Processor v1.0 is the first
version to fully support processing DocBook 5.1
assemblies. This includes XInclude 1.1, DocBook
Transclusion and assembly features such as relationships
and transforms
.
Enhancements:
Element relationships
is now processed.
The linking
attribute of element instance
is supported with the following values:
sourceonly
, targetonly
, normal
,
none
, with the same semantics as the
corresponding linking
attribute of
DITA. Attribute type
of elements
relationships
and relationship
is still ignored.
Bug fixes:
The revhistory
child of the structure
element was ignored.
Incompatibilities:
Attribute omittitles
now discards
title
, titleabbrev
, subtitle
from the included resource. Previously, setting this attribute to true
discarded all the metadata just like
contentonly="true"
.
In structure
and in module
, info
and merge
are used in the same way. These elements may
be used to add or replace metadata in the realized structure
or module
.
The implementation of filterin
and filterout
is completely different from what it was
in previous versions. More information in Section 5.2.1, “About filtering”.
XMLmind Assembly
Processor can now check the
realized document for cross-reference errors, missing image resources,
etc. This is done by passing new -check
option to the
assembly command-line.
Note that if your document requires conditional processing (that is, profiling), then this check step may report false errors. These false errors are caused by the fact that the conditional processing step has not been applied to the realized document prior to the check step.
New option -profile
allows to specify a profiling
attribute. Therefore passing one or more -profile
options to the assembly command-line allows to apply
a profile to the realized document prior to checking it.
Example: two of the chapters referenced by assembly
book.xml
have xml:id="install"
.
First chapter has also os="windows"
. Second chapter
has also os="mac"
.
If you run assembly -check book.xml -
, you'll
get a duplicate ID warning caused by
xml:id="install"
.
On the other hand, if you run
assembly -check -profile os windows book.xml -
,
you'll not have this duplicate ID error. Why that? Because by applying
profile os="windows"
, second chapter (having
os="mac"
) is excluded from the realized document
prior to checking it.
DocBook 5
Transclusion Processor: removed targetptr
from the IDREF-list.
Now uses a built-in XInclude 1.1 processor rather than the XInclude 1.0 implementation provided by the XML parser (that is, Xerces). Note that for now, this built-in XInclude 1.1 processor only supports the XPointer element() scheme.
Now uses a built-in DocBook 5
Transclusion Processor to process trans:idfixup
, trans:suffix
and trans:linkscope
attributes possibly set on xi:include
elements.
Bug fix: in some cases, a processing-instruction was moved (in the realized document) to the beginning of the element containing it and this, no matter its actual location within this parent element.
Minor internal changes.
First release.