diff options
Diffstat (limited to '')
-rw-r--r-- | tags/cpp-1.0-incubating-M2-RC1/sca/xsd/sca-core.xsd | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/tags/cpp-1.0-incubating-M2-RC1/sca/xsd/sca-core.xsd b/tags/cpp-1.0-incubating-M2-RC1/sca/xsd/sca-core.xsd new file mode 100644 index 0000000000..d7661e3994 --- /dev/null +++ b/tags/cpp-1.0-incubating-M2-RC1/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> |