[xsl] exsl:node-set and Saxon 6.5.5

Subject: [xsl] exsl:node-set and Saxon 6.5.5
From: "Manfred Staudinger" <manfred.staudinger@xxxxxxxxx>
Date: Wed, 21 Feb 2007 23:20:49 +0100
Hi All,

As I rely heavily on the superb diagnostics of Saxon when
testing client-side (browser) XSLT 1.0 I would like to
understand the following.

When I run the stylesheet below with SAXON 6.5.5 (with two
<xsl:copy-of statements) then the (unexpected) output is

<?xml version="1.0" encoding="utf-8"?>
<test>
  <Title>From exsl:node-set($rtf)/a/b:</Title>
  <b>
     <c>
        <d/>
     </c>
  </b>
  <Title>Directly from $rtf/a/b/c:</Title>
  <c>
     <d/>
  </c>
</test>

However, if I delete the first <xsl:copy-of
then I get this error message from the other one
  To use a result tree fragment in a path expression, either
  use exsl:node-set() or specify version='1.1'
as I think correctly.

Did I miss something XSLT-wise ?

Regards, Manfred

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0"
	xmlns:exsl="http://exslt.org/common";
	exclude-result-prefixes="exsl"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:output indent="yes"/>

<xsl:template match="/">
	<xsl:variable name="rtf">
		<a>
			<b>
				<c>
					<d />
				</c>
			</b>
		</a>
	</xsl:variable>
	<test>
		<Title><xsl:text>From exsl:node-set($rtf)/a/b:</xsl:text></Title>
		<xsl:copy-of select="exsl:node-set($rtf)/a/b"/>
		<Title><xsl:text>Directly from $rtf/a/b/c:</xsl:text></Title>
		<xsl:copy-of select="$rtf/a/b/c"/>
	</test>
</xsl:template>
</xsl:stylesheet>

Current Thread