I have 6 schemas that I need to be loaded into the same Package structure. The API Pidx v1.0 OrderCreate, OrderResponse, and invoice. In the schema the prolog, for all three docuements, defines the following namespaces:
schema targetNamespace=“http://www.api.org/pidXML/v1.0” xmlns:pidx=“http://www.api.org/pidXML/v1.0” xmlns=“http://www.w3.org/2001/XMLSchema” elementFormDefault=“qualified” attributeFormDefault=“unqualified” version=“1.0”
I have used these three schema to create wm records and wm schemas.
Now I have three other schemas, an OrderCreate, OrderResponse and Invoice. The difference with these three schemas is they are a restricted view of the original PIDX schemas. For various business logic, these schemas have tighten the Min occurances or made optional elements required elements, etc… Basically if an instance docuement will pass validation for these schemas it will also pass validation for the PIDX schemas. But here is the problem.
These three addtional schemas, the further restricted duplicates of the original PIDX schema, need to be used to create WM records and WM schemas in the developer. but when I try to create the record, I get a warning message, that serveral type definitions are duplicates, (which is expected, becuase I already have them loaded) but in these new schemas I am loading the prolog has different namespaces defined for the same URI’s as the PIDX schemas already loaded. It seems that WM is finding the original type definition existing for a URI under an existing namespace and just uses that namespace for all the duplicate type definitions, instead of creating a new namespace for all duplicated type definitions.
here is the prolog of the additional schemas, notice the same uri’s but removal of the pidx name space and the addition of the xs namespace.
xs:schema targetNamespace=“http://www.api.org/pidXML/v1.0” xmlns=“http://www.api.org/pidXML/v1.0” xmlns:xs=“http://www.w3.org/2001/XMLSchema” elementFormDefault=“qualified” attributeFormDefault=“unqualified” version=“1.0”
The duplicate type definitions are using the same name for the type, but may have slightly different definitions per document, so I really need both to exist.
Is there a way in the developer to assign namesspaces to the different records. It seems that the order that I create the records for these schemas matter. If I create the PIDX records first, then I get the pidx namespace for all type definitions, but if I load the second set of schemas first they don’t have the pidx namespace and therefore create the records for the type definitions with the default namesapce. Then trying to load the PIDX schemas after them, I get the the warning of duplicated type definitions and WM uses the default name space for all the type defintions becuase they already exist, and will not create the pidx name space.
Sorry this is a little long, but its hard to describe the issue. Any thoughts on how to get these schemas loaded with the same named type definitions under to different namespaces?