[
Lists Home |
Date Index |
Thread Index
]
Aloha. I'm in need of a little enlightenment (or a club over the head) in
regards to the proper use of namespaces for the following scenario.
I've got two schemas, A & B, that each define an element named EltC. A and
B both use the same targetNamespace. A and C are both defined by a
"standards body" so I do not want to modify their definitions.
If I want to create another schema, Z, which aggregates A & B (i.e. A & B
are children in Z), I have the problem of a duplicate definition of EltC. I
have, to this point, tried creating Z by <include> or <import> of A & B.
Both of which give the problem of a duplicate definition. This seems so be
an issue of polymorphism to me.
My question is... how can I properly <import> (or <include>) A & B in Z such
that there is not this definition conflict? Is this even possible if A & B
have the same targetNamespace value?
fyi - The actual application is that A and B correspond to Request and
Response -type definitions and Z then is an interface that defines the
interaction.
(Abbreviated) Schema definitions follow...
Mahalo for any suggestions.
--Chris
//### A.xsd ####
<xsd:schema targetNamespace="StandardURI" xmlns="StandardURI"
xmlns:xsd=http://www.w3.org/2001/XMLSchema elementFormDefault="qualified">
<xsd:element name="EltC">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="EltD"/>
<xsd:element ref="EltF"/>
</xsd:sequence>
<xsd:complexType>
</xsd:element>
</xsd:schema>
//### B.xsd ####
<xsd:schema targetNamespace="StandardURI" xmlns="StandardURI"
xmlns:xsd=http://www.w3.org/2001/XMLSchema elementFormDefault="qualified">
<xsd:element name="EltC">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="EltD"/>
<xsd:element ref="EltF"/>
<xsd:element ref="EltG"/>
</xsd:sequence>
<xsd:complexType>
</xsd:element>
</xsd:schema>
//### Z.xsd ####
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xsd:include schemaLocation="A.xsd"/>
<xsd:include schemaLocation="B.xsd"/>
</xsd:schema>
|