new StreamSource("abc.xml")
It's not a good idea to use a relative URI as an argument to "new StreamSource()". The specification doesn't say what it's relative to, and therefore the effect is completely unpredictable. It will probably be the current directory, but that's not a very predictable concept either in an environment like tomcat. Use the mechanisms you would use to access any other file in a web server environment, for example getResourceAsStream.
Michael Kay
http://www.saxonica.com/
Author, XSLT 2.0 and XPath 2.0 Programmer's Reference