[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: how can we pass previously built documents into FLWOR expr


as built documents
Generic XQuery questions are probably best asked on the xquery-talk list at
xquery.com, and Saxon-specific questions on the saxon-help list or forum at
SourceForge.net. This one falls somewhere in between.

There are three main ways you can pass input documents to a Saxon query:
using the context item; as the value of a named external variable; or using
the doc() function. The obvious way to do it in this case is using an
external variable (or parameter). Declare

declare variable name="doc1" as="document-node()" external;

in the query prolog, and pass the document node as the value of the
parameter at run-time from the Java API, which in Saxon's case means calling
setParameter("doc1", documentNode) on the DynamicQueryContext object. In the
body of the query you can then access the document as $doc1.

Another approach which may work better when you have a variable number of
documents is to write your own URIResolver, so when the doc() function
requests a particular URI, your URIResolver responds by passing the
pre-built document.

Michael Kay
http://www.saxonica.com/

 
> -----Original Message-----
> From: manavaputra@y... [mailto:manavaputra@y...] 
> Sent: 04 February 2006 01:40
> To: xml-dev@l...
> Subject:  how can we pass previously built documents 
> into FLWOR exprs in Saxon?
> 
> I am at the moment testing the SAXON Xpath/XQuery API.
> Most of the time, we work with only one document, but
> there are cases when we work with more than one
> document. The dynamic query context in saxon allows us
> to set only one context node which could be the root
> node of the document. This works fine for FLWOR exprs
> involving a single document and they dont even have to
> use doc() function in their exprs. But if we have,
> say, two documents that the FLWOR exprs are querying,
> then from the API documentation, it appears as though
> we will have to use doc("uri or filepath") function
> calls in which case saxon loads them automatically. My
> problem is that i have to load both the documents
> anyway in my code using the api call to
> StaticQueryContext.buildDocument(StreamSource) and i
> dont want to load them again in FLWOR exprs, because
> it is just a waste of memory considering that large
> xml files do consume a lot of memory. Is there any way
> to pass previously build document root nodes into the
> FLWOR exprs.
> 
> I realize this is xquery/xpath specific question and
> more so specially for saxon. If there are other lists
> dedicated for this purpose, please do let me know.
> 
> Thanks
> Manava
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
> 
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
> 
> The list archives are at http://lists.xml.org/archives/xml-dev/
> 
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://www.oasis-open.org/mlmanage/index.php>
> 
> 



PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.