[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Sarissa Cross browser Xml/Xslt Library still current?

Subject: Re: [xsl] Sarissa Cross browser Xml/Xslt Library still current?
From: "Abel Braaksma (Exselt) abel@xxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 22 Oct 2014 03:03:37 -0000

> So you can do Xml + XSLT in jQuery?
> I agree, the project may not be active, as in no new development, but if
> the libraries are solid and offer a convenient cross-browser wrapper
> to XML+XSLT, then who cares.

Sarissa resolved an issue that still exists: the differences between browsers
to what path they consider the root of execution (the static base uri, to be
more precise). I don't remember the specifics, but I think it was something
that Microsoft considered the current page the root and Mozilla and others
considered the location of the executed XSL file the root (which was correct).

I'm not sure the issue still exists, but it was very handy that xsl:include,
xsl:import and fn:document were fixed and you didn't need to give it another
thought (come to think of it, it is so long ago, I am not really sure whether
Sarissa resolved it or whether I had extended it, but I definitely had a
generic solution for it).

Also, iirc, it managed to do some tricks to resolve the "same origin" policy
of Chrome, but I can't recall exactly what it was. At some point, Chrome
refused to open any external document with fn:document (in fact, I once
submitted a patch for that), but I don't recall how it was fixed and if the
fix would still be stable.

The main advantage of Sarissa, apart from the above perks, is the common
interface you can use to execute native XSL in the browser and that deals with
asynchronous calls easily

jQuery is not a replacement, but it can do a lot of things that XPath can do
for selecting nodes. It does not do transformations.

An alternative for Sarissa is xslt.js:
http://johannburkard.de/software/xsltjs/, which is actively developed and I
think went further than Sarissa.

Doing XSLT 2.0 can be done with Saxon CE (paper:
att01.html) and  Frameless (http://www.frameless.io/xslt/). There is a third
XSLT 2.0 library for the browser, but at the moment I cannot find it. In
Firefox, you can do it with XSL Results as well
https://addons.mozilla.org/en-US/firefox/addon/xsl-results/ (but requires a


Abel Braaksma
Exselt XSLT 3.0 streaming processor

Current Thread