axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Varuna Jayasiri" <>
Subject Re: [Axis2]GSOC projects
Date Thu, 05 Jun 2008 03:07:24 GMT
> 1. What sort of queries can be handled with a streaming xpath processor?

Location Paths

**1. Without Predicates
*Location paths without predicates can easily be  processed  on streaming
XML. However, it's a little tricky when it comes to dealing with unions,
since a tree has to be created from the xpath expressions so that  xpath is
processed in a single scan through the streaming XML; therefore, I think it
might not be possible to handle these during the time frame of GSoC.

*2. With Predicates*
* * Predicates which involve other nodes are very hard to handle and this is
still in a research stage. Anyway predicates which involve attributes can be
processed on streaming XML without much trouble. The problem with unions
remain same here as well.

* *
A similar problem as in the unions arise here if the expression consists of
multiple location paths. All other expressions can be handled.

I believe it's better not to concentrate on evaluating complex XPath
expressions on streaming XML at this stage. I will keep these in mind when
designing so that they could be implemented later.

> 2. What needs to be changed in Axiom in order to implement this?

If axiom stores all the data extracted from the XML there would be only a
little advantage in having a streaming XPath engine, since the benefit would
only be with processing XML sequentially and not on memory. So we need to
stop storing everything.

I don't think it's possible to prevent caching at the axiom level since data
must somehow be allocated to the objects (nodes, elements, etc). Basically,
parsed data must be freed after it is processed. So we can free the branches
if there not relavent while evaluating the XPath; I haven't tested this, but
I strongly believe this should be possible.

> 3. How would you propose this changes be done?

See above

> Yes I do have an idea about the above since I've been talking to you off
> the list. But I would like you to summarize your findings here so that
> others who are involved with Axis2/C can provide their view.


View raw message