diff options
Diffstat (limited to 'CIAO/docs/schema/Modified_Deployment.xsd')
-rw-r--r-- | CIAO/docs/schema/Modified_Deployment.xsd | 826 |
1 files changed, 826 insertions, 0 deletions
diff --git a/CIAO/docs/schema/Modified_Deployment.xsd b/CIAO/docs/schema/Modified_Deployment.xsd new file mode 100644 index 00000000000..65f5eb81d1e --- /dev/null +++ b/CIAO/docs/schema/Modified_Deployment.xsd @@ -0,0 +1,826 @@ +<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:simpleType name="TCKind"> + <xsd:restriction base="xsd:NCName"> + <xsd:enumeration value="tk_null"/> + <xsd:enumeration value="tk_void"/> + <xsd:enumeration value="tk_short"/> + <xsd:enumeration value="tk_long"/> + <xsd:enumeration value="tk_ushort"/> + <xsd:enumeration value="tk_ulong"/> + <xsd:enumeration value="tk_float"/> + <xsd:enumeration value="tk_double"/> + <xsd:enumeration value="tk_boolean"/> + <xsd:enumeration value="tk_char"/> + <xsd:enumeration value="tk_octet"/> + <xsd:enumeration value="tk_any"/> + <xsd:enumeration value="tk_TypeCode"/> + <xsd:enumeration value="tk_Principal"/> + <xsd:enumeration value="tk_objref"/> + <xsd:enumeration value="tk_struct"/> + <xsd:enumeration value="tk_union"/> + <xsd:enumeration value="tk_enum"/> + <xsd:enumeration value="tk_string"/> + <xsd:enumeration value="tk_sequence"/> + <xsd:enumeration value="tk_array"/> + <xsd:enumeration value="tk_alias"/> + <xsd:enumeration value="tk_except"/> + <xsd:enumeration value="tk_longlong"/> + <xsd:enumeration value="tk_ulonglong"/> + <xsd:enumeration value="tk_longdouble"/> + <xsd:enumeration value="tk_wchar"/> + <xsd:enumeration value="tk_wstring"/> + <xsd:enumeration value="tk_wfixed"/> + <xsd:enumeration value="tk_value"/> + <xsd:enumeration value="tk_value_box"/> + <xsd:enumeration value="tk_native"/> + <xsd:enumeration value="tk_abstract_interface"/> + <xsd:enumeration value="tk_local_interface"/> + <xsd:enumeration value="tk_component"/> + <xsd:enumeration value="tk_home"/> + <xsd:enumeration value="tk_event"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:complexType name="DataType"> + <xsd:choice> + <xsd:element name="kind" type="Deployment:TCKind"/> +<!-- +@@ not used, what for? + + <xsd:element name="enum" type="Deployment:EnumType"/> + <xsd:element name="objref" type="Deployment:ObjrefType"/> + <xsd:element name="boundedString" type="Deployment:BoundedStringType"/> + <xsd:element name="fixed" type="Deployment:FixedType"/> + <xsd:element name="array" type="Deployment:ArrayType"/> + <xsd:element name="sequence" type="Deployment:SequenceType"/> + <xsd:element name="alias" type="Deployment:AliasType"/> + <xsd:element name="struct" type="Deployment:StructType"/> + <xsd:element name="value" type="Deployment:ValueType"/> + <xsd:element name="union" type="Deployment:UnionType"/> +--> + </xsd:choice> + </xsd:complexType> + + + <xsd:complexType name="DataValue"> + <xsd:choice> + <xsd:element name="short" type="xsd:short"/> + <xsd:element name="long" type="xsd:int"/> + <xsd:element name="ushort" type="xsd:unsignedShort"/> + <xsd:element name="ulong" type="xsd:unsignedInt"/> + <xsd:element name="float" type="xsd:float"/> + <xsd:element name="double" type="xsd:double"/> + <xsd:element name="boolean" type="xsd:boolean"/> + <xsd:element name="octet" type="xsd:unsignedByte"/> + <!-- xsd:element name="opaque" type="xsd:base64Binary"/ --> + <xsd:element name="objref" type="xsd:string"/> + <xsd:element name="enum" type="xsd:string"/> + <xsd:element name="string" type="xsd:string"/> + <xsd:element name="longlong" type="xsd:long"/> + <xsd:element name="ulonglong" type="xsd:unsignedLong"/> + <xsd:element name="longdouble" type="xsd:double"/> + <xsd:element name="fixed" type="xsd:string"/> + +<!-- +@@ recursive + <xsd:element name="any" type="Deployment:Any"/> +--> + + <xsd:element name="typecode" type="Deployment:DataType"/> + +<!-- +@@ recursive + <xsd:element name="element" type="Deployment:DataValue"/> + <xsd:element name="discriminator" type="Deployment:DataValue"/> + <xsd:element name="value" type="Deployment:DataValue"/> + <xsd:element name="boxedValue" type="Deployment:DataValue"/> + <xsd:element name="member" type="Deployment:NamedValue"/> +--> + </xsd:choice> + </xsd:complexType> + + + <xsd:complexType name="Any"> + <xsd:sequence> + <xsd:element name="type" type="Deployment:DataType"/> + <xsd:element name="value" type="Deployment:DataValue"/> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="Property"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="value" type="Deployment:Any"/> + </xsd:sequence> + </xsd:complexType> + + +<!-- End of base definitions. --> + + <xsd:complexType name="Node"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="label" type="xsd:string"/> +<!-- +@@ recursive, not used + <xsd:element name="connection" type="Deployment:Interconnect"/> + <xsd:element name="sharedResource" type="Deployment:SharedResource"/> + <xsd:element name="resource" type="Deployment:Resource"/> +--> + </xsd:sequence> + </xsd:complexType> + + + <xsd:simpleType name="SatisfierPropertyKind"> + <xsd:restriction base="xsd:NCName"> + <xsd:enumeration value="Quantity"/> + <xsd:enumeration value="Capacity"/> + <xsd:enumeration value="Minimum"/> + <xsd:enumeration value="Maximum"/> + <xsd:enumeration value="Attribute"/> + <xsd:enumeration value="Selection"/> + </xsd:restriction> + </xsd:simpleType> + + + <xsd:complexType name="SatisfierProperty"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="kind" type="Deployment:SatisfierPropertyKind"/> + <xsd:element name="value" type="Deployment:Any"/> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="Resource"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="resourceType" type="xsd:string"/> + <xsd:element name="property" type="Deployment:SatisfierProperty"/> + </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:complexType name="Domain"> + <xsd:sequence> + <xsd:element name="label" type="xsd:string"/> + <xsd:element name="UUID" type="xsd:string"/> + <xsd:element name="sharedResource" type="Deployment:SharedResource" minOccurs="0"/> + <xsd:element name="node" type="Deployment:Node" maxOccurs="unbounded"/> +<!-- +@@ recursive, not used + <xsd:element name="interconnect" type="Deployment:Interconnect"/> + <xsd:element name="bridge" type="Deployment:Bridge"/> +--> + <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="Requirement"> + <xsd:sequence> + <xsd:element name="resourceType" type="xsd:string"/> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="property" type="Deployment:Property"/> + </xsd:sequence> + </xsd:complexType> + + +<!-- Deployment --> + + <xsd:complexType name="ResourceDeploymentDescription"> + <xsd:sequence> + <xsd:element name="requirementName" type="xsd:string"/> + <xsd:element name="resourceName" type="xsd:string"/> + <xsd:element name="resourceValue" type="Deployment:Any"/> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="ArtifactDeploymentDescription"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="source" type="xsd:string"/> + <xsd:element name="node" type="xsd:string" minOccurs="0"/> + <xsd:element name="location" type="xsd:string" maxOccurs="unbounded"/> + <xsd:element name="execParameter" type="Deployment:Property" minOccurs="0"/> + <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0"/> + <xsd:element name="deployedResource" type="Deployment:ResourceDeploymentDescription" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + + + <xsd:complexType name="MonolithicDeploymentDescription"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="source" type="xsd:string"/> + <xsd:element name="artifact" type="xsd:IDREF" maxOccurs="unbounded"/> <!-- ArtifactDeploymentDescription --> + <xsd:element name="execParameter" type="Deployment:Property" minOccurs="0"/> + <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + + <xsd:simpleType name="ResourceUsageKind"> + <xsd:restriction base="xsd:NCName"> + <xsd:enumeration value="None"/> + <xsd:enumeration value="InstanceUsesResource"/> + <xsd:enumeration value="ResourceUsesInstance"/> + <xsd:enumeration value="PortUsesResource"/> + <xsd:enumeration value="ResourceUsesPort"/> + </xsd:restriction> + </xsd:simpleType> + + + <xsd:complexType name="InstanceResourceDeploymentDescription"> + <xsd:sequence> + <xsd:element name="resourceUsage" type="Deployment:ResourceUsageKind"/> + <xsd:element name="requirementName" type="xsd:string"/> + <xsd:element name="resourceName" type="xsd:string"/> + <xsd:element name="resourceValue" type="Deployment:Any"/> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="InstanceDeploymentDescription"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="node" type="xsd:string"/> + <xsd:element name="source" type="xsd:string"/> + <xsd:element name="implementation" type="xsd:IDREF"/> <!-- MonolithicDeploymentDescription --> + <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="deployedResource" type="Deployment:InstanceResourceDeploymentDescription" minOccurs="0"/> + <xsd:element name="deployedSharedResource" type="Deployment:InstanceResourceDeploymentDescription" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + + + <xsd:simpleType name="CCMComponentPortKind"> + <xsd:restriction base="xsd:NCName"> + <xsd:enumeration value="Facet"/> + <xsd:enumeration value="SimplexReceptacle"/> + <xsd:enumeration value="MultiplexReceptacle"/> + <xsd:enumeration value="EventEmitter"/> + <xsd:enumeration value="EventPublisher"/> + <xsd:enumeration value="EventConsumer"/> + </xsd:restriction> + </xsd:simpleType> + + + <xsd:complexType name="ComponentPortDescription"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="specificType" type="xsd:string"/> + <xsd:element name="supportedType" type="xsd:string"/> + <xsd:element name="provider" type="xsd:string"/> + <xsd:element name="exclusiveProvider" type="xsd:string"/> + <xsd:element name="exclusiveUser" type="xsd:string"/> + <xsd:element name="optional" type="xsd:string"/> + <xsd:element name="kind" type="Deployment:CCMComponentPortKind"/> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="ComponentPropertyDescription"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="type" type="Deployment:DataType"/> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="ComponentInterfaceDescription"> + <!-- @@mxiong: added minOccurs="0" maxOccurs="unbounded" + when adding config_handler support + for repoMan + --> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:sequence> + <xsd:element name="label" type="xsd:string"/> + <xsd:element name="UUID" type="xsd:string"/> + <xsd:element name="specificType" type="xsd:string"/> + <xsd:element name="supportedType" type="xsd:string" maxOccurs="unbounded" /> + <xsd:element name="idlFile" type="xsd:string" minOccurs="0"/> + <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0"/> + <xsd:element name="port" type="Deployment:ComponentPortDescription" maxOccurs="unbounded"/> + <xsd:element name="property" type="Deployment:ComponentPropertyDescription" minOccurs="0"/> + <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0"/> + </xsd:sequence> + <xsd:element name="contentLocation" type="xsd:string"/> + </xsd:choice> + <!-- @@mxiong: added a href attribute + when adding config_handler support + for repoMan + --> + <xsd:attribute name="href" type="xsd:string" use="optional"/> + </xsd:complexType> + + + <xsd:complexType name="ComponentExternalPortEndpoint"> + <xsd:sequence> + <xsd:element name="portName" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="PlanSubcomponentPortEndpoint"> + <xsd:sequence> + <xsd:element name="portName" type="xsd:string"/> + <xsd:element name="provider" type="xsd:string" minOccurs="0"/> + <xsd:element name="kind" type="Deployment:CCMComponentPortKind"/> + <xsd:element name="instance" type="xsd:IDREF"/> <!-- InstanceDeploymentDescription --> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="ExternalReferenceEndpoint"> + <xsd:sequence> + <xsd:element name="location" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="ConnectionResourceDeploymentDescription"> + <xsd:sequence> + <xsd:element name="targetName" type="xsd:string"/> + <xsd:element name="requirementName" type="xsd:string"/> + <xsd:element name="resourceName" type="xsd:string"/> + <xsd:element name="resourceValue" type="Deployment:Any"/> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="PlanConnectionDescription"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="source" type="xsd:string" minOccurs="0"/> + <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0"/> + <xsd:element name="externalEndpoint" type="Deployment:ComponentExternalPortEndpoint" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="internalEndpoint" type="Deployment:PlanSubcomponentPortEndpoint" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="externalReference" type="Deployment:ExternalReferenceEndpoint" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="deployedResource" type="Deployment:ConnectionResourceDeploymentDescription" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="ImplementationDependency"> + <xsd:sequence> + <xsd:element name="requiredType" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="DeploymentPlan"> + <xsd:sequence> + <xsd:element name="label" type="xsd:string" minOccurs="0"/> + <xsd:element name="UUID" type="xsd:string" minOccurs="0"/> + <xsd:element name="realizes" type="Deployment:ComponentInterfaceDescription" minOccurs="0" maxOccurs="1"/> + <xsd:element name="implementation" type="Deployment:MonolithicDeploymentDescription" maxOccurs="unbounded" /> + <xsd:element name="instance" type="Deployment:InstanceDeploymentDescription" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="connection" type="Deployment:PlanConnectionDescription" minOccurs="0" maxOccurs="unbounded"/> + <!-- potentially recursive, not used + <xsd:element name="externalProperty" type="Deployment:PlanPropertyMapping"/> + --> + <xsd:element name="dependsOn" type="Deployment:ImplementationDependency" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="artifact" type="Deployment:ArtifactDeploymentDescription" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + + + + +<!-- Implementation --> + + + <xsd:complexType name="Capability"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="resourceType" type="xsd:string"/> + <xsd:element name="property" type="Deployment:SatisfierProperty"/> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="NamedImplementationArtifact"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <!-- @@ recursive NIA->IAD->NIA --> + <xsd:element name="referencedArtifact" type="Deployment:ImplementationArtifactDescription"/> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="ImplementationArtifactDescription"> + <!-- @@mxiong: added minOccurs="0" maxOccurs="1" + 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"/> + + <!-- @@ There probably should be only one location? --> + <xsd:element name="location" type="xsd:string" maxOccurs="unbounded"/> + <xsd:element name="execParameter" type="Deployment:Property" minOccurs="0"/> + <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0"/> + <xsd:element name="dependsOn" type="Deployment:NamedImplementationArtifact" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="infoProperty" type="Deployment:Property" minOccurs="0"/> + </xsd:sequence> + <xsd:element name="contentLocation" type="xsd:string"/> + </xsd:choice> + <!-- @@mxiong: added a href attribute + when adding config_handler support + for repoMan + --> + <xsd:attribute name="href" type="xsd:string" use="optional"/> + </xsd:complexType> + + + <xsd:complexType name="ImplementationRequirement"> + <xsd:sequence> + <xsd:element name="resourceUsage" type="Deployment:ResourceUsageKind"/> + <xsd:element name="resourcePort" type="xsd:string"/> + <xsd:element name="componentPort" type="xsd:string"/> + <xsd:element name="resourceType" type="xsd:string"/> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="property" type="Deployment:Property"/> + </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="PackagedComponentImplementation"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <!-- @@ recursive CPD->PCI->CID->CAD->SID->CPD --> + <xsd:element name="referencedImplementation" type="Deployment:ComponentImplementationDescription"/> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="ComponentPackageDescription"> + <!-- @@mxiong: added minOccurs="0" maxOccurs="1" + 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="realizes" type="Deployment:ComponentInterfaceDescription" minOccurs="0"/> + <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0"/> + <xsd:element name="implementation" type="Deployment:PackagedComponentImplementation"/> + <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:complexType name="ComponentPackageReference"> + <xsd:sequence> + <xsd:element name="requiredUUID" type="xsd:string"/> + <xsd:element name="requiredName" type="xsd:string"/> + <xsd:element name="requiredType" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + + + <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="SubcomponentPortEndpoint"> + <xsd:sequence> + <xsd:element name="portName" type="xsd:string"/> + <xsd:element name="instance" type="xsd:IDREF"/> <!-- SubcomponentInstantiationDescription --> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="AssemblyConnectionDescription"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="deployRequirement" type="Deployment:Requirement" minOccurs="0"/> + <xsd:element name="externalEndpoint" type="Deployment:ComponentExternalPortEndpoint" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="internalEndpoint" type="Deployment:SubcomponentPortEndpoint" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="externalReference" type="Deployment:ExternalReferenceEndpoint" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </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="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> + + +<!-- Package --> + + + <xsd:complexType name="PackageConfiguration"> + <xsd:choice> + <xsd:sequence> + <xsd:element name="label" type="xsd:string"/> + <xsd:element name="UUID" type="xsd:string"/> +<!-- +@@ recursive, not used + <xsd:element name="specializedConfig" type="Deployment:PackageConfiguration"/> +--> + + <xsd:element name="basePackage" type="Deployment:ComponentPackageDescription"/> + <xsd:element name="reference" type="Deployment:ComponentPackageReference" minOccurs="0"/> + <xsd:element name="selectRequirement" type="Deployment:Requirement" minOccurs="0"/> + <xsd:element name="configProperty" type="Deployment:Property" minOccurs="0"/> + </xsd:sequence> + <xsd:element name="contentLocation" type="xsd:string"/> + </xsd:choice> + </xsd:complexType> + + + <xsd:complexType name="TopLevelPackageDescription"> + <xsd:sequence> + <xsd:element name="package" type="Deployment:PackageConfiguration" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + + +<!-- Top-level elements. --> + + + <xsd:element name="domain" type="Deployment:Domain"/> + <xsd:element name="deploymentPlan" type="Deployment:DeploymentPlan"/> + <xsd:element name="implementationArtifactDescription" type="Deployment:ImplementationArtifactDescription" /> + <xsd:element name="componentInterfaceDescription" type="Deployment:ComponentInterfaceDescription"/> + <xsd:element name="componentImplementationDescription" type="Deployment:ComponentImplementationDescription"/> + <xsd:element name="componentPackageDescription" type="Deployment:ComponentPackageDescription"/> + <xsd:element name="packageConfiguration" type="Deployment:PackageConfiguration"/> + <xsd:element name="topLevelPackageDescription" type="Deployment:TopLevelPackageDescription"/> + + + +<!-- VAULT + +Place for strange things. Nobody knows what they are for... + +--> + +<!-- + + <xsd:complexType name="EnumType"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="typeId" type="xsd:string"/> + <xsd:element name="member" type="xsd:string" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:complexType name="ObjrefType"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="typeId" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + + + <xsd:complexType name="BoundedStringType"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="bound" type="xsd:string"/> + </xsd:choice> + </xsd:complexType> + + + <xsd:complexType name="FixedType"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="digits" type="xsd:string"/> + <xsd:element name="scale" type="xsd:string"/> + </xsd:choice> + </xsd:complexType> + + + <xsd:complexType name="ArrayType"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="length" type="xsd:string"/> + <xsd:element name="elementType" type="Deployment:DataType"/> + </xsd:choice> + </xsd:complexType> + + <xsd:complexType name="SequenceType"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="bound" type="xsd:string"/> + <xsd:element name="elementType" type="Deployment:DataType"/> + </xsd:choice> + </xsd:complexType> + + <xsd:complexType name="AliasType"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="typeId" type="xsd:string"/> + <xsd:element name="elementType" type="Deployment:DataType"/> + </xsd:choice> + </xsd:complexType> + + <xsd:complexType name="StructType"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="typeId" type="xsd:string"/> + <xsd:element name="member" type="Deployment:StructMemberType"/> + </xsd:choice> + </xsd:complexType> + + <xsd:complexType name="StructMemberType"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="type" type="Deployment:DataType"/> + </xsd:choice> + </xsd:complexType> + + <xsd:complexType name="ValueType"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="typeId" type="xsd:string"/> + <xsd:element name="modifier" type="xsd:string"/> + <xsd:element name="baseType" type="Deployment:DataType"/> + <xsd:element name="member" type="Deployment:ValueMemberType"/> + </xsd:choice> + </xsd:complexType> + + <xsd:complexType name="ValueMemberType"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="visibility" type="xsd:string"/> + <xsd:element name="type" type="Deployment:DataType"/> + </xsd:choice> + </xsd:complexType> + + <xsd:complexType name="UnionType"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="typeId" type="xsd:string"/> + <xsd:element name="default" type="Deployment:UnionMemberType"/> + <xsd:element name="discriminatorType" type="Deployment:DataType"/> + <xsd:element name="member" type="Deployment:UnionMemberType"/> + </xsd:choice> + </xsd:complexType> + + <xsd:complexType name="UnionMemberType"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="type" type="Deployment:DataType"/> + <xsd:element name="label" type="Deployment:DataValue"/> + </xsd:choice> + </xsd:complexType> + + + <xsd:complexType name="NamedValue"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="value" type="Deployment:DataValue"/> + </xsd:choice> + </xsd:complexType> + + + <xsd:complexType name="Bridge"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="label" type="xsd:string"/> + <xsd:element name="connect" type="Deployment:Interconnect"/> + <xsd:element name="resource" type="Deployment:Resource"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:complexType name="Interconnect"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="label" type="xsd:string"/> + <xsd:element name="connection" type="Deployment:Bridge"/> + <xsd:element name="connect" type="Deployment:Node"/> + <xsd:element name="resource" type="Deployment:Resource"/> + </xsd:choice> + </xsd:complexType> + + <xsd:complexType name="PlanPropertyMapping"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="source" type="xsd:string"/> + <xsd:element name="externalName" type="xsd:string"/> + <xsd:element name="delegatesTo" type="Deployment:PlanSubcomponentPropertyReference"/> + </xsd:choice> + </xsd:complexType> + + + <xsd:complexType name="PlanSubcomponentPropertyReference"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="propertyName" type="xsd:string"/> + <xsd:element name="instance" type="Deployment:InstanceDeploymentDescription"/> + </xsd:choice> + </xsd:complexType> + +--> + +<!-- + + This type is not referenced anywhere. + + <xsd:complexType name="RequirementSatisfier"> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="resourceType" type="xsd:string"/> + <xsd:element name="property" type="Deployment:SatisfierProperty"/> + </xsd:choice> + </xsd:complexType> + +--> + +</xsd:schema> |