Hi!
I hope I'm not rude to join your discussion about metadata. As I mentioned
before, we are working on generic XML repository (CORBA service), that wraps
Xindice and adds versioning and locking services.
What we needed is more detailed and customizable document metadata. Each
document has few system attributes: version, date, key, collection,
versionable and deleted flags etc. We've added custom client attributes as
well. Client can add own higher-level attributes (as author, title etc).
Each operation of storing document/version into repository has parameter for
specifying its metadata record (as xml document). Metadata documents are
retrieved together with their documents, they can be listed etc.
Metadata document is stored parallely within _meta subcollection with the
same access key as its document. System attributes are stored as <meta> root
tag attributes and custom user markup is stored within this attribute:
<meta key="..." version="..." collection="...">
<author>KK</author>
<title>Some document</title>
</meta>
In our versioning solution historical versions of documents are stored
within another system subcollection _attic with access keys same as document
with appended version id.
This just a short presentation of solution we taken to store metadata.
best regards,
Krzysztof Kowalczykiewicz