Xalan-Java is an XSLT processor for transforming XML documents into HTML, text, or other XML document types. It implements the W3C Recommendations for XSL Transformations (XSLT) and the XML Path Language (XPath). It can be used from the command line, in an applet or a servlet, or as a module in other programs.
Xalan-Java version 2 has been redone as an implementation of the TRaX (Transformation API for XML) interfaces, providing a modular framework and a standard API for performing XML transformations, and utilizes system properties to determine which transformer and which XML parser to use. You can find more information here.