|
Subject: [xsl] XSLT 1.0 - are parentless elements in a node-set siblings? From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx> Date: Mon, 10 Dec 2007 16:06:07 +0000 |
Given:
<foo>
<baz>a</baz>
<baz>b</baz>
<baz>a</baz>
<baz>b</baz>
</foo>
and a stylesheet that finds unique values using the preceding axis on
a node-set:
<xsl:stylesheet
xmlns:exslt="http://exslt.org/common"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:variable name="baz-rtf">
<xsl:copy-of select="//baz"/>
</xsl:variable>
<xsl:variable name="baz" select="exslt:node-set($baz-rtf)"/>
<xsl:template match="/">
<xsl:for-each select="$baz/baz[not(. = preceding::baz)]">
<xsl:value-of select="."/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Xalan produces:
"abab"
whilst Saxon 6.5.5 gives (the expected result):
"ab"
It seems to be because the elements copied to "baz-rtf" don't have a
common parent element, they aren't siblings in Xalan...
If I modify the rtf to have a common parent:
<xsl:variable name="baz-rtf">
<root>
<xsl:copy-of select="//baz"/>
</root>
</xsl:variable>
then it generates the expected results using both Saxon and Xalan...
Which is correct in this case?
cheers
andrew
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] [XSL] Using Sort and Posi, Alice Wei | Thread | RE: [xsl] XSLT 1.0 - are parentless, Michael Kay |
| Re: [xsl] stylesheet expansion, Andrew Welch | Date | RE: [xsl] XSLT 1.0 - are parentless, Michael Kay |
| Month |