I wrote
<msxsl:script language="JScript" implements-prefix="exsl">
function node-set(r) {
some javascript to return the thing cast to a node set
which I'm sure you can do but don't have the doc to hand
}
</msxsl:script>
which isn't entirely true: you could define such a function but
you can't call it node-set as jscript functions can't have - in their
names, and if you call it anything else it doesn't really help.
So you can use the same trick in the other direction: use msxsl:node-set,
and that works natively on msxsl and for exslt processors define that
function using exsltf:function, the following has been tested (for a
change)
As Dimitre has said (and I said in my initial reply) if you are in a
situation where downloading a 3rd party extension to the processor is
OK, a better solution would be to use the msxml4 exslt implementation.
David
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="set.xsl"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exslt="http://exslt.org/common"
xmlns:exsltf="http://exslt.org/functions"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
extension-element-prefixes="exslt exsltf msxsl"
<xsl:variable name="x">
<x>
<a/>
<b/>
<c/>
</x>
</xsl:variable>
<exsltf:function name="msxsl:node-set">
<xsl:param name="x"/>
<exsltf:result select="exslt:node-set($x)"/>
</exsltf:function>
<xsl:template match="/">
[[[<xsl:value-of select="name(msxsl:node-set($x)/*/*[2])"/>]]]
</xsl:template>
</xsl:stylesheet>
--
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
________________________________________________________________________
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list