Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


[xsl] XSLT 1.0 support in browsers

From: Julian Reschke <julian.reschke@------>
To:
Date: 5/1/2007 4:51:00 PM
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().


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent