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(_dot_)reschke(_at_)gmx(_dot_)de]
Sent: 01 May 2007 17:50
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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().
--~------------------------------------------------------------------
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>
--~--