[xslt] weird func:result/xsl:variable/exsl:node-set interaction
- From: "Brett Kail" <junkaddr hotmail com>
- To: xslt gnome org
- Subject: [xslt] weird func:result/xsl:variable/exsl:node-set interaction
- Date: Wed, 28 May 2003 14:56:07 -0500
Hello,
Below is a reduced testcase of what I was trying to accomplish with
<func:result/>:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
xmlns:func="http://exslt.org/functions"
xmlns:my="http://www.xontech.com/functions"
extension-element-prefixes="func">
<func:function name="my:check">
<xsl:variable name="test">
<node/>
</xsl:variable>
<xsl:variable name="test-node"
select="exsl:node-set($test)/*"/>
<func:result select="$test-node"/>
</func:function>
<xsl:template match="/">
<xsl:copy-of select="my:check()"/>
</xsl:template>
</xsl:stylesheet>
I ran it with 'xsltproc test.xslt test.xslt' and the result is a very
strange element name and namespace that appear to come from invalid memory
reads. I was hoping for something along the lines of:
<?xml version="1.0"?>
<node/>
An 'xsltproc --version' gives:
Using libxml 20507, libxslt 10030 and libexslt 720
xsltproc was compiled against libxml 20507, libxslt 10030 and libexslt 720
libxslt 10030 was compiled against libxml 20507
libexslt 720 was compiled against libxml 20507
I'm working with obscure cases of xslt extensions, so I can understand if
what I'm trying to do is unsupported. However, I think that the invalid
memory reads should probably be looked into :). In an attempt to further
reduce the testcase, I just noticed the removing the extra step with the
second <xsl:variable/> in my:check() seems to work fine (i.e. <func:result
select="exsl:node-set($test)/*"/>).
Thanks!
-Brett
_________________________________________________________________
Add photos to your e-mail with MSN 8. Get 2 months FREE*.
http://join.msn.com/?page=features/featuredemail
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]