Nothing gets printed after insert node
Wednesday, 6 June 2012 · 1 message
MK
M. van Keulen6 Jun 2012 07:38 #
Dear Anupam,
One workaround would be to do it in two queries: one to update your document, and one to retrieve the modified nodes.
The problem is not that you can't pick nodes from another resource, but that XQuery doesn't allow you to update and query inside the same query. In other words, within one query doing an update means you can't produce a (query) result, and having a query result means you can't do any update.
Regards,
Maurice.
Quoted text · Anupam Bakshi · 93 lines
On 06-06-12 05:53, Anupam Bakshi wrote: > Then how about option 'b' ? > At this point any way forward, any work around will do. > Please let me know if anyone has any suggestion. > > What I don't understand is, if I can add nodes why can't I pick those > nodes from another resource? Why is this not possible? > > But I'm looking for some workaround. > > Thanks for your help. > Anupam > > > ------------------------------------------------------------------------ > *From: * Christian Grün <christian.gruen at gmail.com>; > *To: * Anupam Bakshi <bakshia at yahoo.com>; > *Cc: * <basex-talk at mailman.uni-konstanz.de>; > *Subject: * Re: [basex-talk] Nothing gets printed after insert node > *Sent: * Wed, Jun 6, 2012 12:24:18 AM > > > I'm interested in 'a'. > > The two files are in basex, I need to write a query that will return the > > modified nodes at run time. > > Due to the nature of the XQuery Update Specification, that's generally > not possible. Sorry for that. > > > > From: Christian Grün <christian.gruen at gmail.com <javascript:return>>; > > To: Anupam Bakshi <bakshia at yahoo.com <javascript:return>>; > > Cc: basex-talk at mailman.uni-konstanz.de <javascript:return> > > <basex-talk at mailman.uni-konstanz.de <javascript:return>>; > > Subject: Re: [basex-talk] Nothing gets printed after insert node > > Sent: Tue, Jun 5, 2012 9:09:06 PM > > > > Are you mostly interested in > > > > a) updating your data, and returning the modified node(s) as query > result, > > or > > b) finding the correct updating query to modify your data? > > ___________________________ > > > > > Here is what I actually want to do. Maybe someone can suggest a > > > straightforward way. > > > > > > File : sample1.xml > > > <P> > > > <M id="1"/> > > > <M id="2"/> > > > <M id="3"/> > > > </P> > > > > > > File: result1.xml > > > <Q> > > > <R id="1"/> > > > <R id="2"/> > > > </Q> > > > > > > Desired output : > > > <P> > > > <M id="1"> > > > <R id="1"/> > > > </M> > > > <M id="2"> > > > <R id="2"/> > > > </M> > > > <M id="3"/> > > > </P> > > > > > > So insert the node from 2nd file into 1st where the ids match. > > > > > > Thanks, > > > Amupam > > > > > > ________________________________ > > > From: Christian Grün <christian.gruen at gmail.com <javascript:return>> > > > To: Anupam Bakshi <bakshia at yahoo.com <javascript:return>> > > > Cc: basex-talk at mailman.uni-konstanz.de <javascript:return> > > > Sent: Tuesday, June 5, 2012 12:02 PM > > > Subject: Re: [basex-talk] Nothing gets printed after insert node > > > > > >> Unfortunately I did not see how I can return the value into a > variable > > >> for > > >> further processing. > > >> Is there some other way to do it? > > > > > > Did you already try db:output()? > > > > > > >
--
---------------------------------------------------------------------- Dr.Ir. M. van Keulen - Associate Professor, Data Management Technology Univ. of Twente, Dept of EEMCS, POBox 217, 7500 AE Enschede, Netherlands Email: m.vankeulen at utwente.nl, Phone: +31 534893688, Fax: +31 534892927 Room: ZI 3039, WWW: http://www.cs.utwente.nl/~keulen
Written for BaseX 7.2. BaseX may have changed since: please check the current documentation.
⚡Generated with XQuery