Re: [xsl] reliability of MSXML

Subject: Re: [xsl] reliability of MSXML
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 7 Nov 2001 12:28:43 GMT
> How reliable is MS's XSLT technology on the client side ??

Despite being a product of the evil empire I have to admit that it is in
fact rather good.

In this case Your stylesheet is in error. Using xsl:variable with non
empty content produces a result tree fragment not a node set, so you can
not query into $items using /. You can use an extension function to
convert the variable to a node set eg msxsl:node-set($items)/token

Saxon implements the (orphaned) XSLT 1.1 working draft.

XSLT 1.1 got rid of result-tree fragment restrictions and allowed
xsl:variable to creat node sets directly. This is a good thing but
unfortunately XSLT 1.1 was drafted in such a way that it is possible to
use 1.1 features with _having_ to declare version="1.1" in the
xsl:stylesheet. I hope XSLT 2.0 will not make this mistake as it does,
as you see, have a bad effect on portability.

You can use node-set() with saxon as well (either in saxon's extension
namespace or exslt's).

> Is there any brand new version of MSXML more "adherent" to XSLT 1.0
> specifications (what about the XSLT processor in the IE 6.0) ?

XSLT 1.0 (which is what is specifying the error message you see) is a

XSLT 1.1 is a working draft that explictly will not now be progressed on
to a recommendation so I have to say Microsft is fully adherent here.
In fact, early beta releases of msxsl3 did not enforce this restriction
(so your stylesheet would have worked) but people complained and
Microsoft added this error check in order to conform.


This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit or alternatively call
Star Internet for details on the Virus Scanning Service.

 XSL-List info and archive:

Current Thread