Hi Nancy,
I was able to reproduce the problem you're seeing, and I am looking at it.
In the meantime, could you please open a bug report in bugzilla and include
your attachment.
Thanks!
Ilene Seelemann.
------
XSLT Development, IBM Toronto Lab
Nancy Lehrer
<nancy.lehrer@ver To: [EMAIL PROTECTED]
izon.net> cc:
Subject: Bug found in 2.4.1D relating
to the key() fn
08/13/2002 10:23
AM
Please respond to
xalan-dev
Xalan Developers:
I found the following bug in xalan 2.4.1D
The key() function throws an exception when called in the context of a
local variable. Here is an extremely small transform that can be used to
reproduce the problem. I have verified that this transform works fine in
2.3.1 but does not work in 2.4.1D. I use the key() function in this manner
often in my current application.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="
http://www.w3.org/1999/XSL/Transform"
xmlns:xalan="
http://xml.apache.org/xalan"
extension-element-prefixes="xalan">
<!--
This style sheet illustrates a bug in xalan 2.4D1 when using the
key
function against
a computed node set. This example works in 2.3.1
August 11, 2002
Nancy Lehrer, Sr. Architect JumpStart Wireless
Corporation
[EMAIL PROTECTED]
Test this style sheet
with an input XML doc that looks something like this:
<lookups>
<item
name="a">This is A</item>
<item name="b">This is B</item>
<item
name="c">This is C</item>
</lookups>
-->
<xsl:key name="item-lookup" match="item" use="@name" />
<xsl:template match="/lookups" >
<xsl:variable name="more" >
<more-items>
<item name="c">This is more C</item>
<item name="z">This is more Z</item>
</more-items>
</xsl:variable>
Lookup C:
<xsl:copy-of select="key('item-lookup', 'c')"/>
<!-- This section does not work in xalan 2.4D1, but does work in xalan
2_3_1 -->
<!-- In 2.4D1 it is not just that they product no results, but an
exception is thrown -->
<xsl:for-each select="xalan:nodeset($more)">
Lookup Z:
<xsl:copy-of select="key('item-lookup', 'z')" />
Lookup C again:
<xsl:copy-of select="key('item-lookup', 'c')" />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
I hope this helps you continue to make Xalan and premier product!
Nancy Lehrer
Sr. Architect - JumpStart Wireless
www.jumpstartwireless.com
PS: I realize that 2.4.1D is a developer's release, and therefore is not
completely tested. I am however slightly annoyed at how difficult it is to
find the 2.3.1 release on the website. From my perspective it should be
extremely obvious how to download the last non-developer release from
http://xml.apache.org/xalan-j/index.html page. There is no reference to it
there. I found it from the home apache.org page.