JAXP is a set of Java interfaces. There are basically two halves to it:
javax.xml.parsers.* defines interfaces to an XML parser, which may support SAX parsing, DOM parsing, or both
javax.xml.transform.* defines interfaces to an XSLT processor.
Most Java XSLT processors implement the javax.xml.transform.* interfaces, and they use the javax.xml.parsers.* interfaces to select an XML parser. So you can specify both the XSLT processor and the XML parser you want to use, independently of each other. This is why the Passthru servlet configuration allows you to set both properties.
xt was written before JAXP became available, so it doesn’t implement the javax.xml.transform.* interfaces, and it doesn’t use the javax.xml.parsers.* interfaces to select an XML parser. To make xt available under Passthru, we wrote a simple wrapper (the xtdriver.jar) that implements enough of the javax.xml.transform.* interface to make it usable. But xt still doesn’t use the javax.xml.parsers.* interfaces to select an XML parser (it simply uses the xp parser by default), so if the ParserFactory property is set in the configuration, it is simply ignored.
I hope this makes things clearer.
It might be a good idea to consider moving from xt to a more up-to-date XSLT processor. xt is fast and reliable, but it doesn’t implement the complete XSLT spec and has a few known bugs.
Michael Kay
#webMethods#Tamino#API-Management