Man oh man, XSLT is a mess of a language.
And yet, XSL is just barely useful enough that it won't go away any
time soon. And like MSDOS
And it's in that very odd class of things where you have to admit "if we had it to design over again, it wouldn't look anything like it does now; but since we're already this far into it, I guess we might as well stick with it, ah well".
And on the one hand, XSL replaced something (DSSSL) that was a thousand times more bizarre; but on the other, it's impossible to look at XSL and have the word "progress" come to mind. Folks, the 8KB ROM BASICs from thirty years ago were better than this.
And yet, and yet... And yet, here it is, a testament to our inability to agree on anything better.
XSL always reminds me of that quote of Hunter S. Thompson's: "There he goes. One of God's own prototypes. Some kind of high powered mutant never even considered for mass production. Too weird to live, and too rare to die."