summaryrefslogtreecommitdiff
path: root/TAO/CIAO/docs/schema/cid.xsd
blob: c8ecb846d33019c11f47ed6da8299d38a324fef2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<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:include schemaLocation="cpd.xsd" />
            <xsd:include schemaLocation="iad.xsd" />


  <xsd:complexType name="SubcomponentInstantiationDescription">
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string"/>
      <xsd:element name="package" type="Deployment:ComponentPackageDescription"/>
      <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0"/>
      <xsd:element name="selectRequirement" type="Deployment:Requirement" minOccurs="0"/>
      <xsd:element name="reference" type="Deployment:ComponentPackageReference" minOccurs="0"/>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID"/>
  </xsd:complexType>


  <xsd:complexType name="SubcomponentPropertyReference">
    <xsd:sequence>
      <xsd:element name="propertyName" type="xsd:string"/>
      <xsd:element name="instance" type="Deployment:SubcomponentInstantiationDescription"/>
    </xsd:sequence>
  </xsd:complexType>


  <xsd:complexType name="AssemblyPropertyMapping">
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string"/>
      <xsd:element name="externalName" type="xsd:string"/>
      <xsd:element name="delegatesTo" type="Deployment:SubcomponentPropertyReference"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="ComponentAssemblyDescription">
    <xsd:sequence>
      <xsd:element name="instance" type="Deployment:SubcomponentInstantiationDescription" maxOccurs="unbounded"/>
      <xsd:element name="connection" type="Deployment:AssemblyConnectionDescription" maxOccurs="unbounded"/>
      <xsd:element name="externalProperty" type="Deployment:AssemblyPropertyMapping" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="MonolithicImplementationDescription">
    <xsd:sequence>
      <xsd:element name="execParameter" type="Deployment:Property" minOccurs="0"/>
      <xsd:element name="primaryArtifact" type="Deployment:NamedImplementationArtifact" maxOccurs="unbounded"/>
      <xsd:element name="deployRequirement" type="Deployment:ImplementationRequirement" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="ComponentImplementationDescription">
    <!-- @@mxiong: added minOccurs="0" maxOccurs="unbounded"
                   when adding config_handler support
                   for repoMan
    -->
    <xsd:choice minOccurs="0" maxOccurs="1">
      <xsd:sequence>
        <xsd:element name="label" type="xsd:string"/>
        <xsd:element name="UUID" type="xsd:string"/>
        <xsd:element name="implements" type="Deployment:ComponentInterfaceDescription" minOccurs="0"/>
        <xsd:choice>
          <xsd:element name="assemblyImpl" type="Deployment:ComponentAssemblyDescription"/>
          <xsd:element name="monolithicImpl" type="Deployment:MonolithicImplementationDescription"/>
        </xsd:choice>
        <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0"/>
        <xsd:element name="capability" type="Deployment:Capability" minOccurs="0"/>
        <xsd:element name="dependsOn" type="Deployment:ImplementationDependency" minOccurs="0"/>
        <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0"/>
      </xsd:sequence>
      <xsd:element name="contentLocation" type="xsd:string"/>
    </xsd:choice>
    <!-- @@mxiong: added href
                   when adding config_handler support
                   for repoMan
    -->
    <xsd:attribute name="href" type="xsd:string" use="optional"/>
  </xsd:complexType>


</xsd:schema>