I have a set of certain elements encapsulated in a complexType that are required if a user wants to do business in a certain way (lets call this way x):
<xs:element name="us">
<xs:complexType>
<xs:sequence>
<xs:element name="usAttribute1" type="xs:string"/>
<xs:element name="commonAttribute1" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
and a certain set of elements encapsulated in a different complexType that are required if the user wants to do business in a different way (lets call this way y):
<xs:element name="uk">
<xs:complexType>
<xs:sequence>
<xs:element name="ukAttribute1" type="xs:string"/>
<xs:element name="commonAttribute1" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
There is an overlap of elements between both sets such that some elements are common to both sets. Let's say that the user would like to do business in both way x and way y. How do we combine the two sets of elements so that there isn't any duplication of elements?