Code: Select all
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:math="http://www.w3.org/2005/xpath-functions/math"
exclude-result-prefixes="xs math"
version="3.0">
<xsl:mode streamable="yes" on-no-match="shallow-copy"/>
<xsl:template match="A">
<ANew>
<xsl:apply-templates/>
</ANew>
</xsl:template>
<xsl:template match="F">
<FNew>
<xsl:apply-templates/>
</FNew>
</xsl:template>
</xsl:stylesheet>
Now when I run this against an input document like
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<Root>
<Head>
<A/>
<B/>
</Head>
<Grp>
<D/>
<E/>
<SubGrp>
<E/>
<F/>
</SubGrp>
<SubGrp>
<E/>
<F/>
</SubGrp>
</Grp>
<Grp>
<D/>
<E/>
<SubGrp>
<E/>
<F/>
</SubGrp>
<SubGrp>
<E/>
<F/>
</SubGrp>
</Grp>
</Root>
Oxygen runs the transformation successfully but displays a transformation problem
Code: Select all
Engine name: Saxon-EE 9.7.0.14 (External)
Severity: warning
Description: Requested initial mode is streamable, but the supplied input is not streamed
which suggests I don't get streamed processing which I would like to get. In earlier versions of oXygen and the Saxon 9.7 EE plugin I would get an error that streamable processing requires a SaxSource or StreamSource as the input so I suppose the problem still is that oXygen does not supply a SaxSource or StreamSource but a DOMSource or similar.
Is there no way to integrate the Saxon 9.7 EE plugin so that streamed processing with a default mode works, supposedly by having oXygen provide a SaxSource or StreamSource to Saxon? After all one of the important new features in XSLT 3.0 is streaming and I would like to use that inside of oXygen, without having to resort to rewriting the XSLT to use xsl:stream/xsl:source-document or having to run Saxon from the command line.