xsl-list
[Top] [All Lists]

Re: [xsl] XSLT 1.0 support in browsers, as of June 2008

2008-06-18 04:35:24
Hi,

Why do you want static content transformed in the browser?

I think I found the rfc2629.xslt here:
http://greenbytes.de/tech/webdav/rfc2629xslt/rfc2629.xslt

I would bet your Opera problems are because it (still) does not support
the document function.

best,
-Rob


On Wed, 2008-06-18 at 10:04 +0200, Julian Reschke wrote:
(this updates a summary I sent one year ago with the latest browser 
releases)

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. (*)

2008-06: we've got a solution to that one (thanks to David Carlisle): 
<http://dpcarlisle.blogspot.com/2007/05/exslt-node-set-function.html>

- 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

2008-06: Firefox 3 ships, and exslt:node-set works finally.


(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.

2008-06: Opera 9.5 fixes this, but introduces a new bug (CSS not being 
applied to transformation result). Opera bug 337388.


(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>).

2008-06: exslt:node-set is there (as of Safari 3.1 I think).


Julian

(*) of course that problem could also be solved by Mozilla/Opera/Safari 
implementing msxsl:node-set().





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--