|
[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message] replacing a node in in-memory XMLJohn Snelson john.snelson at oracle.comTue Nov 6 16:21:32 PST 2007
Hi Robert, XQuery Update can be used to update (or copy/transform) any XML, whether it is in a database or not. One of the programs I work on, XQilla, is already able to do that: http://xqilla.sourceforge.net John Robert Walpole wrote: > Many thanks for your replies. > > I don't think I explained myself too well as actually I am aware of > XQuery Update but understand that this is for updating documents stored > within a database rather than just a temporary document fragment > generated by some other Xquery. > > Wolfgang's suggestion looks very interesting and certainly works well > for the test case. I will see if I can adapt this for the slightly more > complex real-life situation I have. > > Thanks again. > Rob Walpole > Devon Portal Developer > Email http://x-query.com/mailman/listinfo/talk > Web http://www.devonline.gov.uk > > >> -----Original Message----- >> From: Wolfgang Meier [mailto:http://x-query.com/mailman/listinfo/talk] >> Sent: 06 November 2007 15:31 >> To: Robert Walpole >> Cc: http://x-query.com/mailman/listinfo/talk >> Subject: Re: replacing a node in in-memory XML >> >> >> Hi Robert, >> >>> I am trying to figure out the best way to replace a node >> within an in-memory >>> XML fragment. >> I really like to use the typeswitch statement for things like this: >> >> declare function t:replace($node as node()) as node() { >> typeswitch ($node) >> case $elem as element(services) return >> <services> >> <service value="false">1</service> >> <service value="true">2</service> >> <service value="false">3</service> >> </services> >> case $elem as element() return >> element { node-name($elem) } { >> $elem/@*, for $child in $elem/node() return >> t:replace($child) >> } >> default return $node >> }; >> >> t:replace(doc("test.xml")/*) >> >> Wolfgang >> > > _______________________________________________ > http://x-query.com/mailman/listinfo/talk > http://x-query.com/mailman/listinfo/talk -- John Snelson, Oracle Corporation Berkeley DB XML: http://www.oracle.com/database/berkeley-db/xml XQilla: http://xqilla.sourceforge.net
|
Purchase Stylus Studio Online Today!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|






