Re: Use cases

> If the root problem addressed by Use Case 4 is developers want easier
> ways to generate views from models expressed in XML, maybe energies
> should be redirected from fiddling with text/html parsing to
> investigating how XSLT could be improved so it doesn't suck so hard. Why
> don't more developers use XSLT?  Why don't any popular browsers support
> XSLT2 natively? How about adding convenience APIs to XMLHttpRequest to
> pass XML responses through a transform? How about designing HTML
> features to bind parts of an HTML page to be updated from an XML backing
> model using XSLT?
XSLT1 was the XML community's HTML 3.x - it's a very powerful technology,
but it was also a fairly radical departure in terms of programming - and it
was the first iteration of the underlying data model. XSLT2's data model has
been revised to make a number of things that were handled previously by
extensions possible within the base model, has support for function
declarations in XPath and has a number of other revisions that makes it
considerably easier to use by just about every account.

XSLT2 also didn't come out until 2007, and while there are now a number of
XSLT2 implementations out there, none of them were produced by the browser
vendors. Microsoft does not have an XSLT2 implementation in their base
stack, preferring to work with Linq. Firefox has the (ancient) Transformiix
XSLT1 transformer. I believe that the Webkit browsers (Safari and perhaps
Chrome) are built using the libxslt implementation written by Daniel
Veillard, which is an xslt1 implementation. Saxon of course has the
canonical XSLT 2.0 implementation, but as few browsers are written in Java,
it can't be natively compiled into the C++ code - there is a C# port of
Saxon (which would imply that you could potentially integrate it via Mono

Of course, if you COULD integrate Saxon into the Webkit stack, that would
not only give you XSLT 2.0, but would also provide an up-to-date version of
XQuery, which frankly would probably prove FAR more useful to non XML
developers; the language is syntactically close enough to JavaScript that it
could be picked up easily, and it's reasonably useful for handling light to
moderate transformations, as well as for integrating external calls.

Received on Monday, 3 January 2011 02:40:32 UTC