Re: Streaming ITS processor

On Friday 13 June 2008 22:59:38 Jirka Kosek wrote:
> Asgeir Frimannsson wrote:
> > Reading through the ITS spec, it seems like ITS only uses a subset of
> > xpath, limited to the child and attribute axes (same as xslt patterns).
>
> Why you think that ITS uses only XPath subset? You can use full XPath in
> selectors.

Let me rephrase that: the spec hints towards the usefulness of limiting the 
selector attributes to XSLT patterns (which are limited to the child and 
attribute axes) in Section 2.1.2 (Global Approach). And I guess it seems 
reasonable to follow this 'recommendation' as many ITS implementations rely on 
XSLT?

> > I am pondering how hard it would be to develop a streaming ITS processor
> > with this in mind, i.e. one that would stream instance-documents and only
> > use an in-memory model of the ITS rules itself.
>
> AFAIK up-to-date there is no general agreement on streamable XPath
> subset which would be useful enough.
>
> And given sizes of documents to localize and memories of current
> computers I don't see strong demand for streamed ITS processing. Do you
> have use case for this?

Well, eliminating in-memory processing of a DOM is a use-case in itself in 
service-based applications. While it is not mission critical in any way for my 
projects at this stage, it is nevertheless an option to consider when 
implementing an ITS processor.

Let me give an example: In an XML search engine I've been dealing with in the 
past, we indexed based on paths using a SAX parser. Now, here we could have 
experimented with using ITS in the process of defining what elements/attributes 
should or should not be indexed. It  would be very useful to be able to 
evaluate each element/attribute against ITS rules as we process them, rather 
than basically having to rewrite the indexing process to use DOM for the sole 
purpose of evaluating ITS rules. 

Now, I'm not arguing that *we need* a streaming processor, I am just 
questioning if it is feasible to some extent :)

cheers,
asgeir

Received on Friday, 13 June 2008 13:54:00 UTC