Thank you very much! That gives me a much better understanding of how it should work.
Natalia Shilenkova wrote: > > On Mon, Jun 2, 2008 at 6:54 PM, sfurrh <[EMAIL PROTECTED]> wrote: >> >> Nevermind, I figured it out: >> Update upd=new Update(Update.AFTER,xpath,xml); >> String updStr=upd.toString(); >> System.out.println("update="+updStr); >> uservice.update(updStr); >> >> Update rmv=new >> Update(Update.REMOVE,xpath+"["+matches+"]",""); >> String rmvStr=rmv.toString(); >> System.out.println("remove="+rmvStr); >> uservice.update(rmvStr); >> >> Where my Update class is just a utility to generate the xupdate string >> and >> "xml" is the new xml node and matches (in a while loop) is the index of >> the >> matching node. > > Are you trying to replace all "config" elements in all documents in a > collection? If replacement nodes are all the same, there is no need to > have a loop, and the query may look similar to this: > <xupdate:modifications version='1.0' > xmlns:xupdate='http://www.xmldb.org/xupdate'> > <xupdate:rename select='/site/config'>config1</xupdate:rename> > <xupdate:insert-before select='/site/config1'> > <xupdate:element name="config"> > <xupdate:element name="icon">images/myicon.jpg</xupdate:element> > <xupdate:element name="title">My great new site</xupdate:element> > </xupdate:element> > </xupdate:insert-before> > <xupdate:remove select='/site/config1'> > </xupdate:remove> > </xupdate:modifications> > > Even if the replacement nodes are different, I would recommend to move > the query for deleting nodes out of the loop - each query results in > iterating over all documents in a collection, that would affect > execution time of the code. > > Regards, > Natalia > >> >> >> >> sfurrh wrote: >>> >>> I am new to xindice and xmldb (though not new to xml) and I am wondering >>> how I would go about replacing nodes. Xupdate works fine if i want to >>> replace the text content of a single node but how would I go about >>> replacing an entire node that is not a collection. For example: >>> my collection looks like this: >>> <site xmlns:src="http://xml.apache.org/xindice/Query" id="1" >>> src:col="/db/ArtSite" src:key="1"> >>> <config> >>> <icon /> >>> <title>New Site</title> >>> </config> >>> <owner>sean</owner> >>> <studio> >>> <pieces /> >>> </studio> >>> <preferences /> >>> </site> >>> >>> and i want to change the config node to look like this: >>> <config> >>> <icon>images/myicon.jpg</icon> >>> <title>My great new site</title> >>> </config> >>> >>> how would I do it without simply iterating through all of the nodes and >>> xupdating them individually? >>> >>> thanks for any info. >>> >>> Sean >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/Xindice---Replace-Node-tp17608708p17612662.html >> Sent from the Xindice - Dev mailing list archive at Nabble.com. >> >> > > -- View this message in context: http://www.nabble.com/Xindice---Replace-Node-tp17608708p17624496.html Sent from the Xindice - Dev mailing list archive at Nabble.com.