One problem with using XSLT to format Web pages in the browser is that some don't support it, Opera in particular. Looking into this, I was looking at the Opera site and they claim to be able to parse and display XML documents. Looking around, the approach you need to do this is to associate a CSS style sheet with the XML and use JavaScript/DOM to do any transformations needed. Here's a good explanation of the technique. The example they give, though, only worked correctly for me in Opera, not Firefox or IE.
From all I've read, it looks like Opera has done a great job supporting CSS compared to other browsers, and you can do some amazing things with CSS. So, we could probably make the Dewey Browser's client-side formatting work with Opera, but it would take quite a bit of work. (The Dewey Browser does make extensive use of CSS, but it is applied to the HTML page that the XSLT generates, not on the raw XML page the server sends out.) It would probably be easier for us just to detect Opera and do the transformation from XML to HTML on our server, although for the number of visits we see from Opera on our site for other things, we may not even do that right away.
I was wondering why this style of programming never caught on. It's been available longer than XSLT support, but I wasn't even aware of the possibility, much less seeing examples of it. Maybe it's a case of a technology being ahead of its time, or maybe DOM transformations are just easier to do with XSLT than with JavaScript. Or maybe by the time CSS support became reliable, XSLT was there too. Whatever the reason, I doubt if avoiding XSLT is going to catch on. Looking around the Web this seems to have been a bigger topic a few years ago (XSL Considered Harmful), but the arguments get a bit muddy, since they worry about XSL Formatting Objects, which is a direct competitor to CSS, and another technology I was only barely aware of, even though a book I sometimes use does talk about it. As far as I can tell the major browsers don't support XSL-FO (the XML stylesheet language). W3C has an overview page of XSL's three parts: XSLT, XML Path, and XSL-FO.
--Th