i have the impression that it might be an occasional task to change the schema definition of a collection. For example when new [mandatory] elements are added to document types or types of simple elements change.
when a browsed the documentation i found quite a lot of (ineresting) material on TSD2 -> TSD3 migration. this seems to be well possible and is supported in a nice manner.
my question is: does it work in the same way for simple TSD3 -> TSD3 schema evolution ? I tried to change the type of a simple element from xs:IDREF to xs:String (using the schema editor). when i tried to define the schema inside the database this change was rejected because my old schema (and the data were already/still there).
so, is evolution possible? where do i find documentation ?
thanks in advance,
… is possible with Tamino. The basic restrictions since Tamino 3.1 are:
- all (say: many) schema modifications are possible, which grant that all existing documents will validate vs. the new schema. E.g.
- adding an optional element/attribute
- extending cardinality ranges, e.g. lower minOccurs or raise maxOccurs
With Tamino 4.1 there will be an additional option which allows more changes to the schema: then all instances will be explicitly validated vs. the new schema.
hello and thanks for your reply.
i found that snipped of documentation that says that evolution is okay as long as it does not become more strict.
question is: how is it done practically? do i just define the new schema with the tsd3 schema editor?
thanks a lot,
Yes, you change the schema and define it or validate it before define.
Thus if you define an existing schema again its an update.
thanks a lot. i got it now.
wouldn’t it be nice if the migrator application (tsd2 -> tsd3) would also support schema evolution ? this define-migrate-test-finish approach is really good. it should be available for evolution…