Re: [xml-dev] [Java] Create a new StAX parser...

From
Johannes.Lichtenberger <>
To
Date
2010-10-05T01:18:51Z
ID
<>
Thread
Re: [xml-dev] [Java] Create a new StAX parser...
On 10/05/2010 02:16 AM, David wrote:
>  Curious, what is it you are trying to accomplish that leads you to want
> a new instance of the parser ?
> Perhaps by describing what your want to do at a higher level someone can
> suggest an alternative.
> To my knowledge there is no standard StAX EventReader constructor which
> can be made out of another one,
> although you could write one.

I just remembered why I did it that way. My task was to write an
Update-Shredder, which shredders diffs between two revisions of an
XML-file (insert/delete nodes) into our research XML database system
(which is capable of storing revisions of XML-files efficiently).

Therefore I had to check right siblings in the shreddered file (the old
revision) for matching nodes of the new file to shredder into our
internal tree-datastructure, to know if a node/nodes have to be inserted
or deleted. Because of deletes which might have been occured before I
couldn't use an event counter or something like that. If one of the
right siblings has matching QNames/Attributes/Namespaces I'm invoking a
method to test all descendants. On the first call of the method it's
creating a new StAX parser and moving it to the desired position. Then
recursively checking QNames, Attributes and Namespaces. I think that's
pretty much all one can do.

So I assume it's fine, even though I think it's not very fast (well
quadratic complexity?!).

regards,
Johannes