This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: MSXML3/4 and Version 1.1 support
- To: "Pywell, Andrew" <Andrew dot Pywell at compaq dot com>
- Subject: Re: [xsl] MSXML3/4 and Version 1.1 support
- From: Jeni Tennison <mail at jenitennison dot com>
- Date: Thu, 23 Aug 2001 12:44:02 +0100
- CC: "'xsl-list at lists dot mulberrytech dot com'" <xsl-list at lists dot mulberrytech dot com>
- Organization: Jeni Tennison Consulting Ltd
- References: <B1A56583152FD31199A100508B2C100B01A44905@zuoexc3.emea.cpqcorp.net>
- Reply-To: xsl-list at lists dot mulberrytech dot com
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