How to take union of elements inside two different complex types?

View: New views
1 Messages — Rating Filter:   Alert me  

How to take union of elements inside two different complex types?

by nandana :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I've an xsd CIM_ManagedSystemElement.xsd in which the following is defined.

<xs:complexType name="CIM_ManagedSystemElement_Type">
        <xs:sequence>
            <xs:element ref="class:HealthState" minOccurs="0"/>
            <xs:element ref="class:InstallDate" minOccurs="0"/>
            <xs:element ref="class:Name" minOccurs="0"/>
            <xs:element ref="class:OperationalStatus" maxOccurs="unbounded" minOccurs="0"/>
            <xs:element ref="class:Status" minOccurs="0"/>
            <xs:element ref="class:StatusDescriptions" maxOccurs="unbounded" minOccurs="0"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0"
                    maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:anyAttribute namespace="##any" processContent="lax"/>
    </xs:complexType>
     <xs:element name="CIM_ManagedSystemElement" type="class:CIM_ManagedSystemElement_Type"/>

and another xsd named CIM_ManagedElement.xsd with the follwoing content:

<xs:complexType name="CIM_ManagedElement_Type">
        <xs:sequence>
            <xs:element ref="class:Caption" minOccurs="0"/>
            <xs:element ref="class:Description" minOccurs="0"/>
            <xs:element ref="class:ElementName" minOccurs="0"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0"
                    maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:anyAttribute namespace="##any" processContents="lax"/>
    </xs:complexType>
<xs:element name="CIM_ManagedElement" type="class:CIM_ManagedElement_Type"/>

Now, I want to relate these two xsd's elements(as CIM_ManagedSystemElement extends CIM_ManagedElement) inside a third xsd, called cls_hierarchy.xsd. i.e CIM_ManagedSystemElement element must include the elements inside the CIM_ManagedElement also.

How can I do this?? please help.