XSL = XSLT + XPath + XSL-FO

XSLT

Extensible Stylesheet Language Transformations

XSLT is used to transform XML documents into other types of documents. You can transform an XML document into a completely different XML document or an HTML document suitable for web browsers like Microsoft IE (Internet Explorer) and Netscape Navigator. You can transform your XML data into a WML document suitable for a PDA or cell phone. You can even transform your data into CSV (comma separated file) or colon separated file often found on UNIX flat file databases like /etc/passwd.

XSLT 1.0 is one of the most successful XML applications invented. It is also one of the oldest, becoming a full W3C Recommendation in 1999. This is quite amazing considering that XML didn't become a W3C Recommendation until 1998. XSLT 1.1 is a working draft as of this writing.

Netscape Navigator internally supports XSLT as of version 6.1 May 11, 2001 through a Mozilla project called TransforMiiX. Microsoft IE supports XSLT as of IE 5.0, although in order to use the W3C Recommendation namespace, you must upgrade the MSXML parser to 3.0 or better.

XSLT is better off handled on the server instead of the browser. That way your output has a larger browser support base, plus you do not have to send the browser 2 documents (the XML data and the XSLT stylesheet). Since you can do all of the transformations on a beefed up server, the client can be "dumb" and accept good-old HTML.

You can install an ISAPI filter on Microsoft IIS to handle server-side XSLT transformations. If you are using Apache, the Cocoon project has amazing XSLT capabilities.

See a Java example using the new XML/XSLT transformation features built right into J2SE (Java 2 Standard Edition) version 1.4.