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