[Catalyst] HTML::Widget and output into a html table

A. Pagaltzis pagaltzis at gmx.de
Fri Apr 14 16:44:36 CEST 2006

* Brandon Black <blblack at gmail.com> [2006-04-14 16:10]:
> So I guess my "point" is that all this XSLT talk brought this
> issue back up in my head, and I'm just venting :)

Okay; I certainly have no problem with venting per se. :-)

> I just wish the browsers supported dynamic application of the
> XSL to make it work with non-static pages. Nobody else really
> seems bothered by this or willing to implement it, and I'm
> certainly not enough of a browser hacker to do it either.

The problem with that is that because of the way XSLT works, you
can’t just dynamically respond to changes in the source tree.

With CSS it’s possible, because while you have match rules to
select bits of the document, the rules cannot affect the tree
walking order, so dynamically responding to a change in the XML
is simply a matter of checking all match rules against the
changed part of the tree, and possibly recalculating a precisely
determinable portion of the box model.

With XSLT, such locality does not exist. Any change you make to
the source document has the potential to affect all of the output
document. In other words, to dynamically respond to changes in
the source document, you have no other option than to re-run the
entire transform, every time the source document changes.

The deeper problem is that XSLT is Turing complete, whereas CSS,
obviously, is not. That means you can reason very deeply about
CSS stylesheets and use your insights to optimise the hell out of
rule application (in fact, the amount of work that has gone into
Gecko and Safari to optimise stylesheet application is pretty
impressive), whereas any attempt to reason about XSLT transforms
quickly runs into the halting problem.

You can see why noone has been willing to implement what you

Aristotle Pagaltzis // <http://plasmasturm.org/>

More information about the Catalyst mailing list