OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   schema & polymorphism - resolving duplicate element definitions

[ 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>





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS