I’m trying to find a way to identify all the xml documents (that I want to insert into Tamino) by an Id inside a tag, something like this:
<?xml version=3D"1.0" encoding=3D"ISO-8859-1"?>
XXXX
some stuff
thankU
where XXXX should be unique for ALL contents in Tamino. That means, I may have some Data Bases, Collections and Schemas but no one of all of their contents should have a Id that already exits in another content that may belongs or not to other Collection and/or Schema.
I would like to get this without the help of an external DB or a bean, so
anybody knows if Tamino generate something similar to “universal ID’s” ?
and (if so)
how can I use them to put them into the tag when I’m writting the xml content ?
Tamino uses the attribute “ino:id” defined in each root node of each doctype for identify every doc. You must not specify this attribute in your dtd, it is created by Tamino. This attribute identify a doc in a doctype, but it does not identify a doc in a schema or in a database. But, why do you need an unique identifier for a schema or database if you can’t combine doctypes in a query? This sounds better for a relational database.
IDs that are unique for all Tamino documents and that can be exported/re-imported at any time (which is not the case of ino:ids) among various servers is indeed a must.
In our Tamino projets, we had to develop an “ID allocator daemon” to be used by all our application servers. This has been the source of some problems when going in production (when network connection to ID allocator was down).
Having a UUIDs type of attribute in Tamino schema definition would be a simple but tremendous enhancement.
— Software AG Belgium, Professional Services Division
Phillippe is entirely right. What needs to be done is to have another attribute in the schema for the UUID. Does anyone know what I can use to generate the UIID and how i would enter it when ever a new record in the Tamino db is created?
Class: java.rmi.server.UID Does: Abstraction for creating identifiers that are unique with respect to the the host on which it is generated.
You can make this a unique one, if you somehow mix in the network card address or a fixed IP number or things like that.
Having each new document “stamped” automatically should be possible by virtue of the Server Extension interface of Tamino. Care to write that one?
A primitive meditation on the generation of UIDs over physical separate DB server: I think they always need to have a way to talk to each other which slice of the UID-cake a certain DB kernel is allowed to give out to new documents. So there will be some kind of communication between them all, a communication channel that almost certainly will fail some day (says Murphy). So, perhaps it could be an improvement to the UID daemon mentioned earlier not to spread around one UID at a time but rather a block / range of several (hundreds?, thousands?) UIDs. Of course, the daemon and / or the network connection will fail just when a server has eaten up his slice of the cake and requests a new one. Heck! ( I think the UID daemon model described above has been well employed over many years in many enterprise systems, so it just must have some benefits, right?