|
[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 XMLRobert Walpole robert.walpole at devon.gov.ukTue Nov 6 16:08:08 PST 2007
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 >
|
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
|






