Forum OpenACS Q&A: Don't drink the XML/XSLT KoolAid
It is *so* easy to write different templates that run off the same application logic to target different devices, simply using procedural abstractions for code re-use, that I don't understand why people keep bringing this up as an argument in favor of XML.
I'm sure bebop is a cool framework for hiding you from the nuances of stateless web UI programming, and while that's potentially an admirable goal, it has nothing to do with XML. Other serverside java frameworks have done a lot of what ACS's framework does, without using XML (Java Struts, Enhydra Barracuda). My point it not that their framework isn't good, but rather, how does it's use of XML make it better than other, similar frameworks? My guess is that it's slower because of parsing, and it's got a bigger learning curve because you've forced people to learn and debug two more languages.
XML is great when you're talking to a system that you don't control (i.e. ebXML for B2B), or a different platform, where speed of implementation is more important than raw speed. I love XML-RPC and WDDX, because they're simple and they just work. But when I've had the need to use XML in the past, it's been so easy to bolt it on that I see very little advantage to baking it into your framework.