If KISS is the most important feature of a tool, then XSLT is the best tool to make web sites. Do you have a simple way of displaying the data transferred from the data layer to the presentation with Servlet/JSP or ASP/COM or ASP.NET ? No, you don't. With XSLT, you just type this :
<xsl:template match="*" mode="copy">
<<xsl:value-of select="name(.)"/> <xsl:apply-templates select="@*" mode="copy"/>>
<xsl:apply-templates select="*|text()" mode="copy"/>
</<xsl:value-of select="name(.)"/>><br/>
</xsl:template>
<xsl:template match="text()" mode="copy">
<xsl:value-of select="."/>
</xsl:template>
<xsl:template match="@*" mode="copy">
<xsl:value-of select="name(.)"/>="<xsl:value-of select="."/>" 
</xsl:template>
This set of template writes the whole transformed XML document into the HTML output, thus you know very quickly what the data you're supposed to display looks like. And that's just an example in many, many ones. Isn't it easier to maintain too ? Easier than scores of Vector containing God knows what type of Java objects ? Isn't it more readable than JSP tags too ? Most of the time, JSP <% %> tags break the flow of HTML, and make it difficult to read (especially loops and tests). Two more things :
- XSLT is a standard, and in my long experience as a developer, one of the best implemented in the industry. The standard set of xslt tags and XPath expressions work EXACTLY the same on all platforms.
- XSLT is very easy to learn ; when we hire a new developer to work with our toolset, he's productive in 2 or 3 days at most, and never did anyone of them tell us that it was hard to learn.