Here is my first list of issues from actually trying to get interoperable implementations.

1. Some databases support hierarchies of collections and some only support flat collections. This points out a problem for checking capabilities for the database. The API needs to expose some additional meta-data to enable testing for this capability among others.

2. In XMLResource.getContentAsDOM it is unclear what DOM type should be returned. It is specified to return a Node but that isn't sufficient because you can't return a full document that way. Right now dbXML and ref return Documents and eXist returns the document element. Both of these are actually correct depending on the situation. For instance if you're retrieving a document then you'll probably want the full DOM Document but if you get a resource from a query that is returning a node from somewhere down in the document you'll want an Element.

I think the API needs to have some way to specify the return type of this method. This could just be a property setting but there should be a better solution then that. Another alternative would be to simply say that it is up the application to check what the real return type is but I'm not sure how good of an idea that is. This also affects what types can be returned from the API, for instance right now you can't really retrieve a text element or attribute easily.

3. The actual XPath implementations vary a bit between databases so this causes problems in what XPath queries can be passed to the service. For instance several databases add operators for things like full text queries.
Also almost all implementations fail to implement at least part of XPath.
I'm not sure what can be done here.


4. There is no way to expose metadata about documents stored in the repository. I.e. modified time, size... There needs to be a flexible mechanism to handle this, but it will need to be optional because a lot of databases don't have this information right now.

More to come.

Kimbro Staken
The dbXML Project
http://www.dbxml.org

----------------------------------------------------------------------
Post a message:         mailto:[EMAIL PROTECTED]
Unsubscribe:            mailto:[EMAIL PROTECTED]
Contact administrator:  mailto:[EMAIL PROTECTED]
Read archived messages: http://archive.xmldb.org/
----------------------------------------------------------------------

Reply via email to