Dimitre has a version of msxml that supports exsl,
alternatively I believe you can put in an msxsl script
element that will be ignored by other processors but which
implements exsl:node-set (essentially just needs to be an
identity function)
David
Ahhh excellent - exactly the kind of thing I was looking for,
thanks David
Hmmm, maybe it wasn't :)
Or at least, I can't see how to take advantage of it.
As an example, I currently build a temporary tree and convert it to a
node-set:
<xsl:variable name="foo-rtf">
<xsl:apply-templates mode="build"/>
</xsl:variable>
<xsl:variable name="foo" select="exsl:node-set($foo-rtf)"/>
I then use that variable in several places by using:
<xsl:for-each select="$foo">
<xsl:apply-templates/>
</xsl:for-each>
The only way I can see of making the stylesheet portable is to replace
all occurances of the above for-each, with this choose/when:
<xsl:choose>
<xsl:when test="function-available(msxml:node-set)">
<xsl:for-each select="msxml:node-set($foo-rtf)">
<xsl:call-template name="foo-template"/>
</xsl:for-each>
</xsl:when>
<xsl:when test="function-available(exsl:node-set)">
<xsl:for-each select="exsl:node-set($foo-rtf)">
<xsl:call-template name="foo-template"/>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="error"/>
</xsl:otherwise>
</xsl:choose>
Not only that, but to avoid code duplication I need to separate out the
body of the for-each into a named template - which is even more code.
How can I integrate the msxml:script idea to avoid using
function-available?
(ps is this the way that everyone keeps there stylesheet portable?)
cheers
andrew
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list