[Home] [By Thread] [By Date] [Recent Entries]

  • From: "Johannes.Lichtenberger" <Johannes.Lichtenberger@u...>
  • To: xml-dev@l...
  • Date: Tue, 05 Oct 2010 03:18:51 +0200

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



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member