[wsf-c-dev] External dependencies
James Clark
james at wso2.com
Thu Dec 7 18:37:30 PST 2006
On Fri, 2006-12-08 at 06:22 +0600, Samisa Abeysinghe wrote:
> >> As far as I know, libxml2 is not the right choice for pull model.
> >>
> >
> > Why not?
> >
> libxml2 pull parser, xmlTextReader, uses a method named xmlParseChunk()
> in pulling. xmlParseChunk() progressively builds an XML tree.
> xmlTextReader uses a chunk size of 512, when parsing chunks. So it is
> kind of progressively builds the tree and lets us walk the tree.
I don't think that's quite what's going on. The lowest level of the
parser has a SAX-like interface. The pull parser is built on top of
this. It runs the SAX parser over the input chunk, with the SAX parser
calling callbacks installed by the pull parser. These callbacks store
events that are later progressively returned by the pull parser. There's
no tree-building involved that I can see. In effect, the pull parser is
building events in batches rather than one at a time. I don't think
that's inherently less efficient.
> Let me understand this more clearly. So what you mean is that we should
> be able to serialize/de-serialize AXIOM to and from any of sting, event
> array, DOM etc. formats.
Not quite. I'll send a message later outlining what I have in mind.
> >
> >> So eventually, we would have a considerable amount of code that would be
> >> platform specific?
> >>
> >
> > Yes.
> >
> And given the level of deep platform integration we are talking about,
> it would be of little benefit to use a portable runtime I suppose.
> I hope we would be better off to write those platform specific stuff
> focusing on only that platform.
Right. The platform specific objects would be mostly higher-level and
specific to the requirements of the SOAP engine.
James
More information about the Wsf-c-dev
mailing list