Maybe I'm doing it wrong, but it doesn't seem to work.
So here's what I'm doing:

I have a class XmlDB which has a method open() and query(xpath):

public void open () {
     try {
        String driver = "org.apache.xindice.client.xmldb.DatabaseImpl";
        Class c = Class.forName(driver);

        Database database = (Database) c.newInstance();
        DatabaseManager.registerDatabase(database);

        String url = protocol + dbhost + collection;

        dbCollection = DatabaseManager.getCollection(url);
     } catch (XMLDBException xmle) {
        System.err.println("XML:DB Exception occured " + xmle.errorCode);
     } catch (Exception e) {
        e.printStackTrace();
     }
  }

public ResourceSet query (String xpath) {
     ResourceSet rs = null;
     try {
        XPathQueryService service =
           (XPathQueryService) dbCollection.getService("XPathQueryService",
                                                       "1.0");
        rs = service.query(xpath);
     } catch (XMLDBException xmle) {
        xmle.printStackTrace();
     }
     return (rs);
  }

The collection I work on is /db/upro with documents having labels like klasse0.xml.
With collection.listResources() I try to get a list of all documents in the collection, to query each one afterwards.


When I try to set the collection to /db/upro/klasse0.xml for my following query I get a NullPointerException, when trying to query with /db/upro/klasse0.xml/some/more or /klasse0.xml/some/more or similar, on collection /db/upro, just nothing happens.

So, any hints what I am doing wrong?

Wolfram Horwath schrieb:

I wasn't aware if this was possible as it's not mentioned anywhere in the documentation. I thought of this possibility but wanted confirmation, so I'm going to try it that way.

Thanks for your help!

Wolfram

Upayavira schrieb:

Wolfram Horwath wrote:

Hi!

Is there a way to execute a XPATH-Query on only one specified document in a collection?



Erm. Isn't this easy? /db/collection/#//xpath does an Xpath on a collection, whereas /db/collection/document#//xpath does one on a document in a collection.


Am, I missing something?

Upayavira






Reply via email to