summaryrefslogtreecommitdiffstats
path: root/sca-cpp/tags/cpp-1.0-incubating-M2-final/sca/xsd/sca-core.xsd
diff options
context:
space:
mode:
Diffstat (limited to 'sca-cpp/tags/cpp-1.0-incubating-M2-final/sca/xsd/sca-core.xsd')
-rw-r--r--sca-cpp/tags/cpp-1.0-incubating-M2-final/sca/xsd/sca-core.xsd182
1 files changed, 182 insertions, 0 deletions
diff --git a/sca-cpp/tags/cpp-1.0-incubating-M2-final/sca/xsd/sca-core.xsd b/sca-cpp/tags/cpp-1.0-incubating-M2-final/sca/xsd/sca-core.xsd
new file mode 100644
index 0000000000..d7661e3994
--- /dev/null
+++ b/sca-cpp/tags/cpp-1.0-incubating-M2-final/sca/xsd/sca-core.xsd
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
+ elementFormDefault="qualified">
+
+ <element name="componentType" type="sca:ComponentType" />
+ <complexType name="ComponentType">
+ <sequence>
+ <element minOccurs="0" maxOccurs="unbounded" name="service" type="sca:ServiceType" />
+ <element minOccurs="0" maxOccurs="unbounded" name="reference" type="sca:ReferenceType" />
+ <element minOccurs="0" maxOccurs="unbounded" name="property" type="sca:PropertyType" />
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <anyAttribute namespace="##any" processContents="lax" />
+ </complexType>
+
+ <element name="composite" type="sca:Composite" />
+ <complexType name="Composite">
+ <sequence>
+ <element minOccurs="0" maxOccurs="unbounded" name="include" type="anyURI" />
+ <element minOccurs="0" maxOccurs="unbounded" name="service" type="sca:CompositeServiceType" />
+ <element minOccurs="0" maxOccurs="unbounded" name="property" type="sca:PropertyType" />
+ <element minOccurs="0" maxOccurs="unbounded" name="component" type="sca:Component" />
+ <element minOccurs="0" maxOccurs="unbounded" name="reference" type="sca:CompositeReferenceType" />
+ <element minOccurs="0" maxOccurs="unbounded" name="wire" type="sca:Wire" />
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <attribute name="name" type="NCName" use="required" />
+ <anyAttribute namespace="##any" processContents="lax" />
+ </complexType>
+
+ <complexType name="CompositeServiceType">
+ <sequence>
+ <element ref="sca:interface" minOccurs="1" maxOccurs="1" />
+ <element ref="sca:binding" minOccurs="0" maxOccurs="unbounded" />
+ <element name="reference" minOccurs="0" maxOccurs="unbounded" type="anyURI" />
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <attribute name="name" type="NCName" use="required" />
+ <attribute name="multiplicity" type="sca:Multiplicity" use="optional" default="1..1" />
+ <anyAttribute namespace="##any" processContents="lax" />
+ </complexType>
+ <!-- a multiplicity 1..1 or 0..n sample
+ <reference>StockQuoteComponent</reference> - type must be URI
+ a multiplicity 1..n or 0..n sample
+ <reference>StockQuoteComponent1</reference> - type must be URI
+ <reference>StockQuoteComponent2</reference>
+ -->
+
+
+ <element name="interface" type="sca:Interface" abstract="true"/>
+ <complexType name="Interface" abstract="true"/>
+
+ <complexType name="CompositeReferenceType">
+ <sequence>
+ <element ref="sca:interface" minOccurs="1" maxOccurs="1" />
+ <element ref="sca:binding" minOccurs="0" maxOccurs="unbounded" />
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <attribute name="name" type="NCName" use="required" />
+ <attribute name="multiplicity" type="sca:Multiplicity" use="optional" default="1..1" />
+ <attribute name="override" type="sca:OverrideOptions" default="may" use="optional" />
+ <anyAttribute namespace="##any" processContents="lax" />
+ </complexType>
+
+ <complexType name="ServiceType">
+ <sequence>
+ <element ref="sca:interface" minOccurs="1" maxOccurs="1" />
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <attribute name="name" type="NCName" use="required" />
+ <anyAttribute namespace="##any" processContents="lax" />
+ </complexType>
+
+ <complexType name="ReferenceType">
+ <sequence>
+ <element ref="sca:interface" minOccurs="1" maxOccurs="1" />
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <attribute name="name" type="NCName" use="required" />
+ <attribute name="multiplicity" type="sca:Multiplicity" use="optional" default="1..1" />
+ <attribute name="override" type="sca:OverrideOptions" default="may" use="optional" />
+ <anyAttribute namespace="##any" processContents="lax" />
+ </complexType>
+
+ <complexType name="PropertyType">
+ <complexContent>
+ <extension base="anyType">
+ <attribute name="name" type="NCName" use="required" />
+ <attribute name="type" type="QName" use="required" />
+ <attribute name="many" type="boolean" default="false" use="optional" />
+ <attribute name="override" type="sca:OverrideOptions" default="may" use="optional" />
+ <anyAttribute namespace="##any" processContents="lax" />
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="binding" type="sca:Binding" abstract="true" />
+ <complexType name="Binding" abstract="true">
+ <attribute name="uri" type="anyURI" use="optional" />
+ </complexType>
+
+ <complexType name="Component">
+ <sequence>
+ <element ref="sca:implementation" minOccurs="1" maxOccurs="1" />
+ <element name="reference" type="sca:Reference" minOccurs="0" maxOccurs="unbounded" />
+ <element name="property" type="sca:Property" minOccurs="0" maxOccurs="unbounded" />
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <attribute name="name" type="NCName" use="required" />
+ <anyAttribute namespace="##any" processContents="lax" />
+ </complexType>
+
+ <complexType name="Property">
+ <complexContent>
+ <extension base="anyType">
+ <attribute name="name" type="NCName" use="required" />
+ <attribute name="source" type="string" use="optional" />
+ <anyAttribute namespace="##any" processContents="lax" />
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="Reference">
+ <simpleContent>
+ <extension base="anyURI">
+ <attribute name="name" type="NCName" use="required" />
+ <anyAttribute namespace="##any" processContents="lax" />
+ </extension>
+ </simpleContent>
+ </complexType>
+
+ <element name="implementation" type="sca:Implementation" abstract="true" />
+ <complexType name="Implementation" abstract="true"/>
+
+ <complexType name="Wire">
+ <sequence>
+ <element name="source" type="anyURI" minOccurs="1" maxOccurs="1" />
+ <element name="target" type="anyURI" minOccurs="1" maxOccurs="1" />
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
+ </sequence>
+ <anyAttribute namespace="##any" processContents="lax" />
+ </complexType>
+
+ <simpleType name="Multiplicity">
+ <restriction base="string">
+ <enumeration value="0..1" />
+ <enumeration value="1..1" />
+ <enumeration value="0..n" />
+ <enumeration value="1..n" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OverrideOptions">
+ <restriction base="string">
+ <enumeration value="no" />
+ <enumeration value="may" />
+ <enumeration value="must" />
+ </restriction>
+ </simpleType>
+
+</schema>