XPath/XQuery/XUpdate

XMLPersistence provide XPath/XQuery/XUpdate functions/interfaces.


For example, to use XPath:

import net.java.dev.xmlpersistence.query.QueryFactory;
import net.java.dev.xmlpersistence.query.XPath;

...

Document document = ...;

String xpathStr = "//BirdInfo";
XPath xpath = QueryFactory.createXPath();
List nodeList = xpath.evaluate( xpathStr, document);
System.out.println( "XPath result : " + nodeList );



To use XQuery:

import net.java.dev.xmlpersistence.query.QueryFactory;
import net.java.dev.xmlpersistence.query.XQuery;

...

Document document = ...;

String xqueryStr  = "for $t in //BirdInfo/text() "
                            +"return "
                            +"<out>value: {$t}</out>";

XQuery xquery = QueryFactory.createXQuery();
List xqueryList = xquery.evaluate( xqueryStr, document );



To use XUpdate:

import net.java.dev.xmlpersistence.query.QueryFactory;
import net.java.dev.xmlpersistence.query.XUpdate;

...

Document document = ...;

String xupdateStr = "<xupdate:append select='//BirdInfo' child='last()' "
                             +"xmlns:xupdate='http://www.xmldb.org/xupdate'>"
                             +"<xupdate:comment>San Francisco</xupdate:comment>"
                             +"</xupdate:append>";

XUpdate xupdate = QueryFactory.createXUpdate();
xupdate.execute( xupdateStr, document );