Hello.

     The Xalan-J Interpretive processor and XSLTC both implement the 
Serializable interface on the classes that implement the Templates 
interface:  StylesheetRoot and TemplatesImpl, respectively.

     Recently, someone pointed out via direct e-mail that we've broken the 
ability to deserialize a Templates object with Xalan-J 2.6 that was 
serialized using version 2.5.2 of Xalan-J Interpretive.  After a little 
investigation, Brian Minchau found that we've repeatedly broken the 
ability to serialize a Templates object with one version Xalan-Java 
Interpretive and deserialize with another, and many releases of XSLTC have 
been completely unable to serialize a Templates object.

     It's not entirely clear what benefit Java serialization provides in 
the case of a Templates object.  Members of the Xerces-J team recently 
performed a test of Java serialization and deserialization on a DOM tree, 
and found that parsing an XML document into a DOM tree, and serializing 
that DOM as XML was much faster.  Given the similar level of complexity 
between DOM trees and Templates objects (at least in the case of the 
interpretive processor), I suspect we'd find similar results with 
serializing and deserializing Templates objects.

     Given that we've had so much breakage with serializing and 
deserializing Templates objects, and given that JAXP has no requirement 
that a Templates object implement the Serializable interface, I'd like to 
propose that we remove Serializable from the Templates object graphs for 
objects returned by TransformerFactory.newTemplates().  However, given 
that this might be controversial, I wanted to raise it for discussion in 
the mailing list before putting it to a vote.

Thanks,

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

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to