<xsl:variable name="foo" select="/root/node"/>
I get a sequence of two nodes rather than the string value of the first
node (as in xslt 1.0)
You'd get two nodes in XSLT1 as well.
how do I get from the sequence to a string?
it depends what string you want to get.
string($foo[1])
is one way, that will get "hello"
alternatively you can use value of which can produce a string by
concatenating space separated string values of each item:
so "hello world"
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0"
<xsl:output method="xml" encoding="utf-8"/>
<xsl:variable name="foo" select="/root/node"/>
<xsl:template match="/">
[<xsl:copy-of select="string($foo[1])"/>]
[<xsl:value-of select="$foo"/>]
</xsl:template>
</xsl:stylesheet>
$ saxon7 string.xml string.xsl
<?xml version="1.0" encoding="utf-8"?>
[hello]
[hello world]
David
--
http://www.dcarlisle.demon.co.uk/matthew
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________