> So, I've to extract from the book a chapter for translator and then
> remember when this chapter was translated or generally modified.
So, even if you only meant "when" and not also "how", then the current eXist
timestamping wouldn't be of any use to you, because it applies globally to
the containing document, not to particular elements within it.
> What I'd like to do is to conserve an history of all the modifications of
the files or of parts of them.
That calls for a full versioning system. And you need to decide whether it
is to be lexical or canonical. In the case of a translation especially, that
doesn't just effect things like whitespace outside elements. An XML-aware
versioning system needs to recognize that the various ways of representing
identical abstract characters are not infoset-significant . A lexical or a
binary diff will regard the following strings
é (if mapped via a DTD to an appropriate binary value)
the utf-8 two-byte sequence 0xC3 0xA9
the ISO-8859-1 byte 0xE9
as five different things. An XML-savvy diff (provided the entity and/or
encoding concerned is properly declared) will realise that they are
notations for the same abstract character and therefore identical in infoset
Since you are clearly here not dealing with the kind of changes that could
be implemented or tracked via XUpdates processed by eXist itself, you are
going to need some sort of process external to eXist to detect the changes
in the material handled by the translator. You could of course then store
the resulting delta information in eXist and associate it with the documents
concerned for subsequent retrieval and futher processing as needed via your
external diff handler.
svn in its current stage of development doesn't actually operate lexically
because it works on the binary values (akin to rsynch's delta generation).
But that takes it further away than, say, cvs from the level at which an
XML-specific versioning system needs to operate, so although it would suit
some needs, it would not fit the bill of full XML awareness.