Hello,

     The static initializer in 
org.apache.xalan.processor.TransformerFactoryImpl reads the 
XSLTInfo.properties file, and uses the properties specified therein to set 
some system properties, unless those system properties were already set.

     So far as I can tell, setting those properties serves no useful 
purpose.  It looks like the vendor, vendor-url and version properties were 
being set in support of the XSLT system-property function.  That function 
is implemented in Xalan-J Interpretive in 
org.apache.xpath.functions.FuncSystemProperty, which reads the 
XSLTInfo.properties file itself, and never refers to the system properties 
that were set by TransformerFactoryImpl.

     The fourth system property set by the code in TransformerFactoryImpl 
is org.xml.sax.driver; the value specified is 
org.apache.xerces.parsers.SAXParser.  I think that older versions of 
Xerces-J did not include a META-INF/services/org.xml.sax.driver file, so 
Xalan-J needed to set the property to ensure that XMLReaderFactory would 
create a parser for it if the user hadn't selected a parser by setting the 
property explicitly.

     So, I believe the code in XSLTInfo.properties in 
TransformerFactoryImpl is vestigial, and can be safely removed, but I'd 
like somebody with historical knowledge of this code to confirm that.  The 
only potential problem I can think of is that somebody might try using a 
very old version of Xerces-J with Xalan, and will find that that 
combination will not work unless the user explicitly sets the 
org.xml.sax.driver property himself or herself.

Thanks,

Henry
------------------------------------------------------------------
Henry Zongaro      Xalan development
IBM SWS Toronto Lab   T/L 969-6044;  Phone +1 905 413-6044
mailto:[EMAIL PROTECTED]

Reply via email to