Well, you might have Saxon on your classpath, but you're actually running Xalan. In my experience it's best not to rely on the JAXP mechanism for searching the classpath - it's slow and unpredictable. Use an explicit property setting
javax.xml.transform.factory=net.sf.saxon.Transform erFactoryImpl
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference