Cool Wouter: it did the trick. thanks a lot. sincerely Laxma
--- Wouter de Vaal <[EMAIL PROTECTED]> wrote: > Hello Laxma, > > Ok now I've got my coffee I can see what you want. > > Try this: > > <xupdate:modifications version="1.0" > xmlns:xupdate="http://www.xmldb.org/xupdate"> > > <xupdate:update > select="//students/[EMAIL PROTECTED]'781111']/@sid" > >781164</xupdate:update> > </xupdate:modifications> > > The xpath //students/[EMAIL PROTECTED]'781111'] will > give you the whole element > student als the xpath > //students/[EMAIL PROTECTED]'781111'[EMAIL PROTECTED] will give only > the > attribute sid > > Wouter > > > > -----Original Message----- > > From: Laxma Reddy Dendi > [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, July 20, 2004 9:19 AM > > To: xindice-users@xml.apache.org > > Subject: RE: Error executing XUpdate Query > > > > Hi Wouter: > > I went figured that i can delete the whole > entry for > > sid=781111 and then insert a new record of student > with a new sid. > > > > i tried the following: > > String xupd1 = "<xu:modifications version= > \"1.0 \" " + > > "xmlns:xu= > > \"http://www.xmldb.org/xupdate\"> " + > > "<xu:remove select= > > \"//students/[EMAIL PROTECTED]'781111']\"> </xu:remove > >" > > + > > "</xu:modifications >"; > > > > > > String xupd = "<xu:modifications version= \"1.0 > \" " > > + > > "xmlns:xu= > > \"http://www.xmldb.org/xupdate\"> " + > > "<xu:append select= \"//students\">"+ > > "<student sid='781164'>"+ > > " <name>Laxma R Dendi</name>"+ > > " <degree>MS</degree>" + > > " <major>Comuter Science</major>"+ > > "</student> </xu:append>"+ > > "</xu:modifications >"; > > > > this works. > > > > > > but is there any other simple of doing it. > > > > thanks for your reply. > > > > sincerely > > laxma > > > > --- Wouter de Vaal <[EMAIL PROTECTED]> > wrote: > > > It's your XUpdate expression. The query > /students/[EMAIL PROTECTED] = > > > '781111'] gives the following xml: > > > > > > <student sid="781111"> > > > <name>Laxma R Dendi</name> > > > <degree>M.S</degree> > > > <major>Computer Science</major> > > > </student> > > > > > > But xupdate:update can only update leafnodes and > in the above xml, > > > student is not a leaf-node. > > > You could try a combination of > xupdate:insert-after and > > xupdate:remove > > > statements. > > > > > > However if you are trying to change the > attribute sid you should > > > probably do a combination of removing the > attribute and > > adding a new > > > one. Check out the following link on examples > how to do this > > > > > > > > > http://www.xmldatabases.org/projects/XUpdate-UseCases/ > > > > > > > > > Wouter > > > > > > > > > _____ > > > > > > From: Laxma Reddy Dendi > > > [mailto:[EMAIL PROTECTED] > > > Sent: Monday, July 19, 2004 10:39 PM > > > To: xindice-users@xml.apache.org > > > Subject: Error executing XUpdate Query > > > > > > > > > Hi All, > > > I am getting error while trying to execute > xupdate query: > > > > > > i am trying the following code: > > > > > > import org.xmldb.api.base.*; > > > import org.xmldb.api.modules.*; > > > import org.xmldb.api.*; > > > public class StudentsXupdate { > > > public static void main(String[] args) throws > Exception { > > > Collection col = null; > > > try { > > > String driver = > > > "org.apache.xindice.client.xmldb.DatabaseImpl"; > > > Class c = Class.forName(driver); > > > Database database = (Database) > c.newInstance(); > > > > DatabaseManager.registerDatabase(database); > > > col = > > > > > > DatabaseManager.getCollection("xmldb:xindice://localhost:8080/ > > db/studentsdb" > > > ); > > > String xupd = > "<xupdate:modifications > > version=\"1.0\"" + " > > > > xmlns:xupdate=\"http://www.xmldb.org/xupdate\">"; > > > xupd+=" <xupdate:update > > > select=\"/students/[EMAIL PROTECTED] = > > > '781111']\">" ; > > > xupd+= "781114" + " </xupdate:update>" + > > > "</xupdate:modifications>"; > > > > > > XUpdateQueryService service = > > > (XUpdateQueryService) > > > col.getService("XUpdateQueryService", > > > "1.0"); > > > long num=service.update(xupd); > > > System.out.println("number is: > "+num); > > > } > > > catch (XMLDBException e) { > > > System.err.println("XML:DB Exception > occurred " + > > > e.errorCode); > > > } > > > finally { > > > if (col != null) { col.close();} > > > } > > > } > > > } > > > > > > here is my document: > > > C:\>xindice rd -c > > > xmldb:xindice://localhost:8080/db/studentsdb -n > students trying to > > > register database <?xml version="1.0"?> > <students> > > > <student sid="781111"> > > > <name>Laxma R Dendi</name> > > > <degree>M.S</degree> > > > <major>Computer Science</major> > > > </student> > > > <student sid="999999"> > > > <name>Guest</name> > > > <degree>M.S</degree> > > > <major>Computer Science</major> > > > </student> > > > </students> > > > > > > > > > i am getting the following error: > > > > > > C:\>java StudentsXupdate > > > trying to register database > > > org.xmldb.api.base.XMLDBException: > > > org.apache.xmlrpc.XmlRpcException: Error exec > uting XUpdate query > > > at > === message truncated === __________________________________ Do you Yahoo!? Vote for the stars of Yahoo!'s next ad campaign! http://advision.webevents.yahoo.com/yahoo/votelifeengine/