<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd"
            xmlns:Deployment="http://www.omg.org/Deployment"
            targetNamespace="http://www.omg.org/Deployment">

<xsd:include schemaLocation="Basic_Deployment_Data.xsd" />

  <xsd:complexType name="Domain">
    <xsd:sequence>
      <xsd:element name="UUID" type="xsd:string" minOccurs="0" />       
      <xsd:element name="label" type="xsd:string" minOccurs="0" />
      <xsd:element name="node" type="Deployment:Node" maxOccurs="unbounded"/>
      <xsd:element name="interconnect" type="Deployment:Interconnect" minOccurs="0" maxOccurs="unbounded"/>
      <xsd:element name="bridge" type="Deployment:Bridge" minOccurs="0" maxOccurs="unbounded"/>
      <xsd:element name="sharedResource" type="Deployment:SharedResource" minOccurs="0" maxOccurs="unbounded"/>
      <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="Bridge">
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string"/>
      <xsd:element name="label" type="xsd:string" minOccurs="0" />
      <xsd:element name="connect" type="Deployment:Interconnect" maxOccurs="unbounded" />
      <xsd:element name="resource" type="Deployment:Resource" minOccurs="0" maxOccurs="unbounded" />      
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="Interconnect">
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string"/>
      <xsd:element name="label" type="xsd:string" minOccurs="0" />
      <xsd:element name="connection" type="Deployment:Bridge" minOccurs="0" maxOccurs="unbounded" />
      <xsd:element name="connect" type="Deployment:Node" maxOccurs="unbounded" />
      <xsd:element name="resource" type="Deployment:Resource" minOccurs="0" maxOccurs="unbounded" />      
    </xsd:sequence>
  </xsd:complexType>
  
  <xsd:complexType name="Node">
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string"/>
      <xsd:element name="label" type="xsd:string" minOccurs="0" />
      <xsd:element name="connection" type="Deployment:Interconnect" minOccurs="0" maxOccurs="unbounded" />
      <xsd:element name="sharedResource" type="Deployment:SharedResource" minOccurs="0" maxOccurs="unbounded" />
      <xsd:element name="resource" type="Deployment:Resource" minOccurs="0" maxOccurs="unbounded" />      
    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="SharedResource">
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string"/>
      <xsd:element name="resourceType" type="xsd:string"/>
      <xsd:element name="node" type="Deployment:Node"/>
      <xsd:element name="property" type="Deployment:SatisfierProperty"/>      
    </xsd:sequence>
  </xsd:complexType>

</xsd:schema>