Subject: Re: Problem with identity transform and Saxon
From: Mukul Gandhi <gandhi.mukul@xxxxxxxxx>
Date: Sat, 6 Aug 2005 23:02:37 +0530
|
Hi Kenneth,
I would write identity transform as
> <xsl:template match="@*|node()">
> <xsl:copy>
> <xsl:apply-templates select="@*|node()" />
> </xsl:copy>
> </xsl:template>
I think, the template match=/ is reduntant for a identity stylesheet.
This is superfluous code, so _I would not say this is a Saxon bug_.
Also you are using non standard node-set function which is causing
trouble. This certainly does'nt seem a bug to me..
> <xsl:template match="/">
> <xsl:apply-templates select="exsl-common:node-set($rtf)" />
> </xsl:template>
Regards,
Mukul
On 8/6/05, Kenneth Stephen <marvin.the.cynical.robot@xxxxxxxxx> wrote:
> Hi,
>
> I have the following code :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:exsl-common="http://exslt.org/common"
> version="1.0">
>
> <xsl:variable name="rtf" xml:space="preserve">
> <a>
> <b />
> </a>
> </xsl:variable>
>
> <xsl:template match="/">
> <xsl:apply-templates select="exsl-common:node-set($rtf)" />
> </xsl:template>
>
> <xsl:template match="@*|node()">
> <xsl:copy>
> <xsl:apply-templates select="@*|node()" />
> </xsl:copy>
> </xsl:template>
>
> </xsl:stylesheet>
>
> java net.sf.saxon.Transform <XSL filename> <XSL filename>
>
> produces the following :
>
> Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor
> java.lang.StackOverflowError
> at java.lang.Object.getClass(Native Method)
> at
net.sf.saxon.value.SingletonNode.convertToJava(SingletonNode.java:192)
> at
net.sf.saxon.functions.ExtensionFunctionCall.setupParams(ExtensionFunctionCal
l.ja
> va:330)
> at
net.sf.saxon.functions.ExtensionFunctionCall.call(ExtensionFunctionCall.java:
211)
> at
net.sf.saxon.functions.ExtensionFunctionCall.iterate(ExtensionFunctionCall.ja
va:1
> 11)
> at net.sf.saxon.expr.ItemChecker.iterate(ItemChecker.java:83)
> at net.sf.saxon.value.Closure.iterate(Closure.java:201)
> at net.sf.saxon.value.Value.getIterator(Value.java:202)
> at
net.sf.saxon.instruct.ApplyTemplates$ApplyTemplatesPackage.processLeavingTail
(App
> lyTemplates.java:431)
> at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:276)
> at
net.sf.saxon.instruct.ApplyTemplates$ApplyTemplatesPackage.processLeavingTail
(App
> lyTemplates.java:431)
> .
> .
> .
> .
> at
net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:276)
> Exception in thread "main"
>
> This is with Saxon 8.4. Any ideas on what I'm doing wrong?
>
> Thanks,
> Kenneth
| Current Thread |
|
Mukul Gandhi - 6 Aug 2005 17:32:53 -0000 <=
Michael Kay - 7 Aug 2005 20:20:19 -0000
|
|