TargetNamespace is the namespace in which the instances of the schema should live and which the instances of the schema declare.
You can define only one targetNamespace in a schema.
In XML-Schema schema composition over different target namespaces is done by xs:import. But TSD3 does not support this feature yet.
So you cannot define a element mprt which belongs to the xlink namespace inside a schema that does not targets into the xlink namespace, too.
The conversion from dtd to tsd3 fails in your case and the generated tsd3 does not express what should be expressed in XML-Schema. In a future Tamino version you might express it like this:
- assumed that there is a XML schema somewhere in the world (and that schema is known to your Tamino server instance) that expresses the same as the xlink dtd does – otherwise you have to write this schema yourself -
<xs:schema … xmlns:xlink = “http://www.w3.org/1999/xlink” …>
<xs:import namespace = “http://www.w3.org/1999/xlink” />
<xs:element name = “mptr” type = “xlink:locator” />
The solution with TSD3 is to define your mprt element in you target namespace… The drawback is that mptr does do not refer to xlink namespace in your instances, too and a migration will be necessary if you want to switch to namespace usage with a future Tamino release.