RE: [xsl] XSLT 1.0 support in browsers

Subject: RE: [xsl] XSLT 1.0 support in browsers
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 1 May 2007 18:04:06 +0100
Have you looked at the level of support for the xml-stylesheet PI, e.g.
support for the type, title, media and alternate pseudo-attributes, multiple
PIs, and so on?

I noticed recently that some browsers also support PIs that allow you to set
stylesheet parameters, which seems a nice feature.

I think you can get round the whitespace problems by the use of xml:space in
the source document. Not a nice solution, but perhaps a workable fix.

Michael Kay
http://www.saxonica.com/



> -----Original Message-----
> From: Julian Reschke [mailto:julian.reschke@xxxxxx] 
> Sent: 01 May 2007 17:50
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] XSLT 1.0 support in browsers
> 
> Hi,
> 
> recently, I hear the claim "XML on the web has failed" a lot. 
> In particular, in the context of the HTML5 proposal worked on 
> in the WHATWG WG, backed by Apple/Mozilla/Opera.
> 
> Of course, this is not really true. A lot of XML is being 
> exchanged through HTTP, be it in XML-RPC & SOAP (gasp), 
> WebDAV, or RSS and Atom.
> 
> It seems that most of the time people are referring to the 
> support of XML in the browser, mainly with respect to XHTML 
> (which indeed is a failure so far due to the fact that IE 
> doesn't support it), and client-side XSLT.
> 
> There are several ways to do client-side XSLT, one of which 
> is through the xml-stylesheet processing instruction. For a 
> long time, that worked only in IE, but nowadays support in 
> Firefox, Opera and Safari is getting better. In fact, it has 
> become so good that it can *almost* be used portably.
> 
> The purpose of this mail is to document the current 
> shortcomings of the implementations, as experienced by me 
> supporting rfc2629.xslt (the
> RFC2629 XML format is used in the IETF for formatting 
> Internet Drafts and RFCs). My experience is that it's 
> incredibly hard to do complex stuff without either XSLT 1.1 
> (not finished), XSLT 2.0, or at least XSLT 1.0 + node-set 
> extension function, therefore I'm looking at the node-set 
> support as well...
> 
> 
> (1) Internet Explorer (MSXML)
> 
> - It does implement msxsl:node-set, but it would be *really* 
> great if it would also do exslt:node-set, which is supported 
> by Opera and Firefox 3. 
> Putting in special cases just for IE really is a pain. (*)
> 
> - IE suffers from an IMHO bad decision to strip out 
> whitespace before passing the XML document to the XSLT 
> processor (see 
> <http://msdn2.microsoft.com/en-us/library/ms760265.aspx>). I 
> understand that Microsoft can't simple change that without 
> breaking deployed content, but it would be *really* cool if 
> one could "opt out" of that behavior somehow (PI at the start 
> of the document???).
> 
> Summary: good, but room for improvement
> 
> 
> (2) Firefox
> 
> - Works ok (although slow compared to IE), except for the 
> lack of exslt:node-set, which will be fixed in Firefox3.
> 
> Summary: will be good in next release
> 
> 
> (3) Opera
> 
> - Has been improving a lot, and also has exslt:node-set since 
> 9.2 (?), but the current release unfortunately aborts with a 
> fatal error upon complex XPath expressions. Right now 
> unusable for rfc2629.xslt (see 
> <http://greenbytes.de/tech/webdav/rfc2629xslt/rfc2629xslt.html
> #opera>).
> 
> Summary: please fix this, and your XSLT rocks.
> 
> 
> (4) Safari (and WebKit?)
> 
> - I had no opportunity to test lately, but AFAIK it still 
> lacks support for exslt:node-set (see 
> <http://greenbytes.de/tech/webdav/rfc2629xslt/rfc2629xslt.html
> #safari>).
> 
> 
> Julian
> 
> (*) of course that problem could also be solved by 
> Mozilla/Opera/Safari implementing msxsl:node-set().

Current Thread