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]