Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: an XQuery API for Java

From: Burak Emir <Burak.Emir@----.-->
To: Michael Kay <michael.h.kay@--------.--->
Date: 7/6/2004 10:53:00 AM
Michael Kay wrote:

>>More seriously, why don't you return an net.sf.saxon.om.NodeInfo or 
>>SequenceIterator and let the caller make a wrapper if he wants to?
>>    
>>
>
>That's one of the options available (the result is in general a sequence of
>items, each item being an atomic value or node, and the most basic
>representation of this is as a SequenceIterator returning a sequence of Item
>objects, whose subclasses are AtomicValue and NodeInfo).
>
>But if the result of the query is a document and you want to serialize it,
>or deliver it as a stream of SAX events, then there's no need to materialize
>the result document as a tree in memory, so sending the result to a JAXP
>  
>
If the result is not materialized, then the (physical) execution of the 
query is somehow delayed.

Does the use of SequenceIterator imply that the result is materialized 
in memory, excluding delayed execution ?
Couldn't there be an implementation of the interface that just defers 
execution ?

>Result object is a useful alternative. (This is something that XQJ is
>missing at the moment. There may be a reason for this in terms of expected
>usage patterns: whereas with XSLT the result tree is often much bigger than
>the source, people may be expecting XQuery results to be small compared with
>the source.)
>
>  
>
If XML is used in an OO context because more lightweight messaging and 
persistency in distributed systems is desired, my feeling is that 
in-memory is just fine.
For document transformations, I think a JAXP result does not help much 
either - because if I understood it correctly, it can only be used for 
the "last step" - you cannot run queries or transformations.

What you really want is to compose a bunch of queries and 
transformations (like function composition) and *then* run the whole 
thing. This brings us back to composition of queries/xslt stylesheets, 
optimization potential (like "deforestation", the removal of 
intermediary results), and the inadequacy of strings.

Some domains have certainly more potential for query optimization than 
others (e.g. stuff that conforms to a schema) - the user could supply 
optimizers that the XQuery API implementor cannot provide. But with 
strings as queries (and strings as results), this is of course impossible.

cheers,
Burak


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent