Thanks for pointing this out, Brian. The spec is a lot more general than I remembered. And I'm wearing egg on my face for not double checking before pointing the finger... is egg good for the complexion? ;-)
On the continuing discussion of push vs pull parsing and which is faster, I'm going to refrain from any more emails on this topic any time soon. For those who are interested in actual performance results for SAX-based deserialization of objects (data binding unmarshalling) vs an experimental pull parser approach see my article at http://www-106.ibm.com/developerworks/library/x-databdopt2/
- Dennis
Brian Ewins wrote:
Going back (way back) into this thread -
Anne Thomas Manes wrote:
"We had another discussion on this list [1] recently about performance. The JAX-RPC spec forces the use of SAX, which isn't the most efficient way to parse structured messages. http://marc.theaimsgroup.com/?l=axis-user&m=104429792424850&w=2"
In the email referred to, Dennis Sosnoski says: "For instance, JAX-RPC is based on SAX parsing which is pretty horrible for structured data - you have to maintain state in your handlers,..."
But the JAX-RPC spec says:
"Note that the type mapping framework does not require an implementation of a JAXRPC runtime system to use a specific XML processing mechanism. For example, a JAXRPC implementation may use a streaming pull parser for performance efficient XML processing. DOM or SAX based deserializers may still be developed and plugged into the extensible type mapping framework provided by this JAX-RPC implementation." (jaxrpc-1.0-fr, Section 15.2)
So my question is - is the spec right here? Or are Dennis and Anne referring to some intrinsic difficulty with the JAX-RPC apis that prevent them being used on top of XMLPULL?
Cheers, Baz