The Shœstring Foundation Weblog

The Shœstring Foundation Weblog, Miscellaneous Byproducts

Matthias Bauer
bauerm (at) shoestringfoundation · org
reop pubkey
Vignettes by George Herriman and a small program

Subscribe to a syndicated feed of my weblog, brought to you by the wonders of RSS.

Blosxom Logo

Tue, 03 Mar 2009

Red Tape Origami

Another case of sufficiently inappropriate technology being indistinguishable from magic:


This turned out to be much harder than RC4 in a shell skript.


XSLT relates to general purpose programming as Cholera relates to dinner invitations.

Variables in XSLT aren't, and there's no imperative iterative statement, so state must be kept on stack and recursion is the only way of iteration. Combined with the fact that most XSLT compilers that we tried do not utilize tail recursion, this quickly leads to stack overflows even for small inputs.
Thanks to Meredith L. Patterson for cool tricks to save space on stacks

Typing is non-existant, strings are cast to integers, whole XML subtrees to strings and so on.

The XPath query language can be used to select elements or subtrees of XML documents. Subtrees resulting from such selections can be assigned to variables and passed as such to functions (templates in XSLT-speak) but their elements cannot be accessed by XPath any more.

Although XSLT abhors brakets, ampersands and double quotes, it is possible to clobber together arbitrary strings. But it not possible to output them in HTML format contexts, so it is necessary to hark back to hacks including iframes with data: url hrefs.

[/projects] permanent link