Re: [xsl] MSXML3/4 and Version 1.1 support

Subject: Re: [xsl] MSXML3/4 and Version 1.1 support
From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx>
Date: Thu, 23 Aug 2001 12:44:02 +0100
Hi Andrew,

> Are Version 1.1 extensions not supported by MSXML3/4?? Am I going to
> have to resort to the longwinded namespace solution?

MSXML versions 3 and 4 don't support the XSLT 1.1 working draft. To
get the particular functionality that the example you give uses, you
have to use the msxsl:node-set() extension function to convert the
result tree fragment held by the variable into a node set, as follows:

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                xmlns:msxsl="urn:schemas-microsoft-com:xslt"
                extension-element-prefixes="msxsl">

...
  <xsl:value-of
     select="msxsl:node-set($directions)/direction[@nr=@direction]"/>
...

</xsl:stylesheet>

Note that the predicate that you're using will always be false,
because the direction elements don't have 'direction' attributes, so
there are none whose 'nr' attribute equals their 'direction'
attribute. You probably meant the 'direction' attribute of the
*current* node, in which case you need:

  msxsl:node-set($directions)/direction[@nr = current()/@direction]

I hope that helps,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread