Skip to content

Releases: ndw/sinclude

4.2.1

04 Nov 11:26
4.2.1
edea8ad
Compare
Choose a tag to compare

A small bug fix on the new utility method. It now preserves the base URI of the whole document.

4.2.0

04 Nov 10:01
4.2.0
87002aa
Compare
Choose a tag to compare

This release just adds a new API, expandXIncludes(File input, File output) that will expand the XIncludes in the input file, serializing the result in the output file.

Saxon XInclude version 4.1.0

02 Jul 14:58
@ndw ndw
4.1.0
b0f9626
Compare
Choose a tag to compare

In this release, access to the Saxon APIs has been rewritten to use reflection. This allows a single SInclude jar file to work with either Saxon 10 (and probably/possibly earlier releases) and Saxon 11. Maintaining parallel versions was causing too much complexity in downstream projects that use the XInclude library.

There should be no user-visible changes in this release.

Saxon XInclude version 4.0.0

07 Oct 08:57
@ndw ndw
4.0.0
80168b9
Compare
Choose a tag to compare

This release fixes errors in the way same-document references were handled. Per section 4.2 of the spec:

[Definition: xi:include elements in this infoset are recursively processed to create the acquired infoset. For an intra-document reference (via xpointer attribute) the source infoset is used as the acquired infoset.]

For an intra-document (i.e, same document) reference, resolution is performed against the source document that contains the xi:include, not against the the document with XIncludes expanded.

This required a change to an interface, so I bumped the version to 4.0.0. Processing is also performed in a single pass once again.

Same document references that use parse=text are tricky. If the document has a base URI, we attempt to load that URI as a text document. If that fails, we take the "string value" of the XML document. Neither is guaranteed to be precisely correct.

Saxon XInclude version 3.1.1

06 Oct 07:43
@ndw ndw
3.1.1
4745fd4
Compare
Choose a tag to compare

This release fixes a bug in parsing parentheses in fragment identifiers. I'd previously misunderstood the spec to say that all parentheses had to be escaped, but it very clearly says that only unbalanced parentheses have to be escaped.

I've also refactored the code a fair bit to try to improve fragment identifier processing in the face of both recursive XIncludes and XIncludes with same document references. The spec gives me a fair bit of latitude with respect to same document references. In 3.1.1, I attempt a two-pass approach. First any XIncludes that are not same document references are resolved, then, if any same document references were encountered, another pass is made to resolve them.

Saxon XInclude version 3.1.0

03 Oct 09:46
@ndw ndw
3.1.0
bf1b27e
Compare
Choose a tag to compare

Technically, this should be 4.0 because it also introduces a backwards incompatible change. This time, to the DocumentResolver interface. I've added support for passing the encoding to the text document resolver.

Saxon XInclude version 3.0.0

03 Oct 08:45
@ndw ndw
3.0.0
670dd29
Compare
Choose a tag to compare

This release just cleans up the exceptions a little bit. It's a major release only because it includes a backwards incompatible change to the XIncludeIOException. That exception now includes the URI of the document that caused it.

Saxon XInclude version 2.0.0

10 May 11:48
@ndw ndw
2.0.0
e1a6dd8
Compare
Choose a tag to compare

Continuing with the theme of cringe-worthy oversights, the copy attributes functionality of XInclude 1.1 was implemented completely incorrectly. I also added an API to enable or disable the copy attributes behavior. It remains enabled by default.

Saxon XInclude version 1.1.0

09 May 09:38
@ndw ndw
1.1.0
dcb11ba
Compare
Choose a tag to compare

This release fixes a significant bug wherein if you configured a resolver and if the resolver failed to resolve the URI of a document, the XInclude function threw an NPE instead of attempting to use the original, unresolved URI for the document. blush

1.0.0

05 May 09:25
@ndw ndw
1.0.0
443d0a6
Compare
Choose a tag to compare
Saxon XInclude version 1.0.0 released