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: [email protected]
> 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/