--- 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.
yes it is true to some extent becuase we can still modify all the attributes in non leaf nodes. for example to change all the "sid"s i am using the following working code String xupd = "<xu:modifications version= \"1.0 \" " + "xmlns:xu= \"http://www.xmldb.org/xupdate\"> " + "<xu:update select= \"//students/student/@sid\">"+ "781164</xu:update>"+ "</xu:modifications >"; with the above code all the sid's are changed to 781164. my question is when we can modify all the atributes, why not one specific attribute...? (I might be stupid here). sincerely laxma > 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 > org.apache.xindice.client.xmldb.xmlrpc.CollectionImpl.runRemoteComman > d(CollectionImpl.java:119) > at > org.apache.xindice.client.xmldb.xmlrpc.CollectionImpl.query(Collectio > nImpl.java:515) > at > org.apache.xindice.client.xmldb.XindiceCollection.query(XindiceCollec > tion.java:259) > at > org.apache.xindice.client.xmldb.services.QueryService.query(QueryServ > ice.java:90) > at > org.apache.xindice.client.xmldb.services.XUpdateQueryServiceImpl.upda > te(XUpdateQueryServiceImpl.java:81) > at > StudentsXupdate.main(StudentsXupdate.java:25) > XML:DB Exception occurred 1 > > thanks in advance. > > sincerely > Laxma > > > > > _____ > > Do you Yahoo!? > Vote for the > <http://advision.webevents.yahoo.com/yahoo/votelifeengine/> > stars of Yahoo!'s next ad campaign! > > __________________________________ Do you Yahoo!? Vote for the stars of Yahoo!'s next ad campaign! http://advision.webevents.yahoo.com/yahoo/votelifeengine/