Re: ANN: xmlgrep 0.1, a progressive XPath evaluation engine

Subject: Re: ANN: xmlgrep 0.1, a progressive XPath evaluation engine
From: Matt Sergeant <matt@xxxxxxxxxxxx>
Date: Thu, 27 Jul 2000 12:33:06 +0100 (BST)
On Thu, 27 Jul 2000, Kevin Jones wrote:

> 
> xmlgrep is a demonstration program of progressive XPath evaluation. What
> this means is that the XPath expression is evaluated against a XML document
> that is still being parsed. Matches for the expression can thus be displayed
> before parsing has been completed.
> 
> 	http://www.tfi-technology.com/xmlgrep/xmlgrep.html
> 
> It is hoped xmlgrep will become the basis for a progressively rendering XSLT
> processor in the near future. In this model the start of the output can be
> viewed before the whole of the input document(s) have been read. Something
> that is very useful for web pages and large documents.

The documentation kind of fuzzes over how much of XPath you've really
implemented. For example, have you implemented all the axes apart from
namespaces? Have you implemented predicates?

Second thing, is that this is a small part of the streaming XSLT puzzle. A
larger part is figuring out either which order to perform XPath expression
in, or doing them in parallel, and efficiently. A naive approach is to
have (number of expressions) x threads, each trying to execute at
once. But that would probably actually be slower than a non-streaming XSLT
engine, because you have to pass each event to every thread to allow it to
check for relevance. If your XSLT is large (because you're parsing a large
document) then this may be 1000 threads. On a web server with 100
concurrent processes this may be 100,000 threads...

So a better solution is needed, and one done by the community, not
something designated to be closed source. Its so much more fun learning
from these things! (and imagine if you solve this problem how much your
experience will be worth on the open market!)

-- 
<Matt/>

Fastnet Software Ltd. High Performance Web Specialists
Providing mod_perl, XML, Sybase and Oracle solutions
Email for training and consultancy availability.
http://sergeant.org | AxKit: http://axkit.org


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread