Re: [xsl] C14N and XSLT

Subject: Re: [xsl] C14N and XSLT
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 10 Apr 2018 14:04:28 -0000
> On 10 Apr 2018, at 14:12, Geert Bormans geert@xxxxxxxxxxxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> All,
>
> I am evaluating whether I should make C14N part of an XSLT chain or have
something like XMLStarlet at the end of the process.
>
> I believe that by the book, I can not guarantee an XML serialisation from an
XSLT renders a canonical XML, can I?

Correct, there is no such guarantee. Indeed, I think some of the provisions in
the XSLT/XQuery serialization spec actually guarantee that the output will NOT
be in C14N form.

Unfortunately the Oracle/JDK canonicalizer appears to operate in pull mode,
which makes it difficult to add it to the end of a push-mode JAXP pipeline.
But you could try sending the XSLT output to a PipedOutputStream, and reading
it as a PipedInputStream using the Canonicalizer running in a separate
thread.

Michael Kay
Saxonica


> To me things like <foo></foo> instead of <foo/> are impossible to force, or
did I missed something?
> (I am aware of some undocumented tricks that help me force this in some
processors, but that is no guarantee for a long lasting solution)
>
> I am leaning towards using a C14N dedicated tooling, but the files are big
and XSLT streaming would help
>
> Any thoughts?
>
> Thanks,
>
> Geert
> XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
> EasyUnsubscribe <-list/293509> (by email <>)

Current Thread