summaryrefslogtreecommitdiffstats
path: root/java/sca-contrib/modules/assembly-xsd-osoa/src/main
diff options
context:
space:
mode:
authorantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2009-06-11 08:06:52 +0000
committerantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2009-06-11 08:06:52 +0000
commitd0ea18b590133b15990739ffbe01d77858743f80 (patch)
tree9867090b3b32a9e310e325e1c199e93d4ae2a5af /java/sca-contrib/modules/assembly-xsd-osoa/src/main
parent4dec06e83af35aa0f88eaa6c0e685dfb0e33b9dc (diff)
Move *-osoa modules from trunk to contib as discussed on ML
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@783682 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca-contrib/modules/assembly-xsd-osoa/src/main')
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema18
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-all.xsd32
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-binding-ejb.xsd43
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-binding-sca.xsd23
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-binding-webservice.xsd34
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-contributions.xsd65
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-core.xsd348
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-definitions.xsd25
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-bpel.xsd43
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-composite.xsd23
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-java.xsd24
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-jee.xsd23
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-web.xsd24
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-interface-java.xsd23
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-interface-wsdl.xsd23
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-policy.xsd77
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca.xsd23
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-binding-dwr.xsd41
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-binding-http.xsd41
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-binding-jsonrpc.xsd41
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-binding-rmi.xsd40
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-implementation-node.xsd43
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca.xsd35
-rw-r--r--java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/wsdli.xsd34
24 files changed, 1146 insertions, 0 deletions
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema
new file mode 100644
index 0000000000..69b2701e30
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema
@@ -0,0 +1,18 @@
+# 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.
+#
+tuscany-sca.xsd \ No newline at end of file
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-all.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-all.xsd
new file mode 100644
index 0000000000..68455a3474
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-all.xsd
@@ -0,0 +1,32 @@
+<?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">
+
+ <include schemaLocation="sca.xsd"/>
+
+ <include schemaLocation="sca-binding-ejb.xsd"/>
+
+ <include schemaLocation="sca-implementation-bpel.xsd"/>
+ <include schemaLocation="sca-implementation-jee.xsd"/>
+ <include schemaLocation="sca-implementation-web.xsd"/>
+
+</schema> \ No newline at end of file
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-binding-ejb.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-binding-ejb.xsd
new file mode 100644
index 0000000000..26bedfcce5
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-binding-ejb.xsd
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- (c) Copyright SCA Collaboration 2006, 2007 -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://www.osoa.org/xmlns/sca/1.0"
+ elementFormDefault="qualified">
+ <include schemaLocation="sca-core.xsd"/>
+
+ <element name="binding.ejb" type="sca:EJBSessionBeanBinding"
+ substitutionGroup="sca:binding" />
+
+ <simpleType name="BeanType">
+ <restriction base="string">
+ <enumeration value="stateless"/>
+ <enumeration value="stateful"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VersionValue">
+ <restriction base="string">
+ <enumeration value="EJB2"/>
+ <enumeration value="EJB3"/>
+ </restriction>
+ </simpleType>
+
+
+ <complexType name="EJBSessionBeanBinding">
+ <complexContent>
+ <extension base="sca:Binding">
+ <sequence>
+ <any namespace="##other" processContents="lax"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="homeInterface" type="NCName" use="optional"/>
+ <attribute name="ejb-link-name" type="NCName" use="optional"/>
+ <attribute name="session-type" type="sca:BeanType" use="optional" default="stateless"/>
+ <attribute name="ejb-version" type="sca:VersionValue" use="optional" default="EJB2"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+</schema>
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-binding-sca.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-binding-sca.xsd
new file mode 100644
index 0000000000..02703402ef
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-binding-sca.xsd
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- (c) Copyright SCA Collaboration 2006, 2007 -->
+<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">
+
+ <include schemaLocation="sca-core.xsd"/>
+
+ <element name="binding.sca" type="sca:SCABinding"
+ substitutionGroup="sca:binding"/>
+ <complexType name="SCABinding">
+ <complexContent>
+ <extension base="sca:Binding">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </extension>
+ </complexContent>
+ </complexType>
+</schema> \ No newline at end of file
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-binding-webservice.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-binding-webservice.xsd
new file mode 100644
index 0000000000..2dd44f8e06
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-binding-webservice.xsd
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- (c) Copyright SCA Collaboration 2006, 2007 -->
+<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"
+ xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance"
+ xmlns:wsa="http://www.w3.org/2004/12/addressing"
+ elementFormDefault="qualified">
+
+ <import namespace="http://www.w3.org/2004/08/wsdl-instance"
+ schemaLocation="wsdli.xsd" />
+ <!-- import namespace="http://www.w3.org/2005/08/addressing"
+ schemaLocation="ws-addr.xsd" /-->
+
+ <include schemaLocation="sca-core.xsd"/>
+
+ <element name="binding.ws" type="sca:WebServiceBinding"
+ substitutionGroup="sca:binding"/>
+ <complexType name="WebServiceBinding">
+ <complexContent>
+ <extension base="sca:Binding">
+ <sequence>
+ <!-- element ref="wsa:EndpointReference" minOccurs="0"
+ maxOccurs="unbounded"/-->
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="wsdlElement" type="anyURI" use="optional"/>
+ <attribute ref="wsdli:wsdlLocation" use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </extension>
+ </complexContent>
+ </complexType>
+</schema>
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-contributions.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-contributions.xsd
new file mode 100644
index 0000000000..caf5d8010f
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-contributions.xsd
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- (c) Copyright SCA Collaboration 2007 -->
+<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">
+
+ <include schemaLocation="sca-core.xsd"/>
+
+ <element name="contribution" type="sca:ContributionType"/>
+ <complexType name="ContributionType">
+ <sequence>
+ <element name="deployable" type="sca:DeployableType" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="sca:import" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="sca:export" minOccurs="0" maxOccurs="unbounded"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+
+ <complexType name="DeployableType">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="composite" type="QName" use="required"/>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+
+ <element name="import" type="sca:ImportType"/>
+ <complexType name="ImportType">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="namespace" type="string" use="required"/>
+ <attribute name="location" type="anyURI" use="required"/>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+
+ <element name="export" type="sca:ExportType"/>
+ <complexType name="ExportType">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="namespace" type="string" use="required"/>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+
+ <element name="import.resource" type="sca:ImportResourceType" substitutionGroup="sca:import"/>
+ <complexType name="ImportResourceType">
+ <complexContent>
+ <extension base="sca:ImportType">
+ <attribute name="uri" type="anyURI" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="export.resource" type="sca:ExportResourceType" substitutionGroup="sca:export"/>
+ <complexType name="ExportResourceType">
+ <complexContent>
+ <extension base="sca:ExportType">
+ <attribute name="uri" type="anyURI" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+</schema> \ No newline at end of file
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-core.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-core.xsd
new file mode 100644
index 0000000000..f03d0eab01
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-core.xsd
@@ -0,0 +1,348 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- (c) Copyright SCA Collaboration 2006, 2007 -->
+<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>
+ <choice minOccurs="0" maxOccurs="1">
+ <element ref="sca:implementation"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="service" type="sca:ComponentService" />
+ <element name="reference" type="sca:ComponentReference"/>
+ <element name="property" type="sca:Property"/>
+ </choice>
+ <!--
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ -->
+ </sequence>
+ <attribute name="constrainingType" type="QName" use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </complexType>
+
+ <element name="composite" type="sca:Composite"/>
+ <complexType name="Composite">
+ <sequence>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="include" type="sca:Include"/>
+ <element name="service" type="sca:Service"/>
+ <element name="property" type="sca:Property"/>
+ <element name="component" type="sca:Component"/>
+ <element name="reference" type="sca:Reference"/>
+ <element name="wire" type="sca:Wire"/>
+ <!-- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> -->
+ </choice>
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="name" type="NCName" use="required"/>
+ <attribute name="targetNamespace" type="anyURI" use="optional"/>
+ <attribute name="local" type="boolean" use="optional" default="false"/>
+ <attribute name="autowire" type="boolean" use="optional" default="false"/>
+ <attribute name="constrainingType" type="QName" use="optional"/>
+ <attribute name="requires" type="sca:listOfQNames" use="optional"/>
+ <attribute name="policySets" type="sca:listOfQNames" use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </complexType>
+
+ <complexType name="Service">
+ <sequence>
+ <element ref="sca:interface" minOccurs="0" maxOccurs="1" />
+ <element name="operation" type="sca:Operation" minOccurs="0"
+ maxOccurs="unbounded" />
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="sca:binding" />
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ <element ref="sca:callback" minOccurs="0" maxOccurs="1" />
+ <!--
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
+ -->
+ </sequence>
+ <attribute name="name" type="NCName" use="required" />
+ <attribute name="promote" type="anyURI" use="required" />
+ <attribute name="requires" type="sca:listOfQNames" use="optional" />
+ <attribute name="policySets" type="sca:listOfQNames" use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax" />
+ </complexType>
+
+ <element name="interface" type="sca:Interface" abstract="true" />
+ <complexType name="Interface" abstract="true"/>
+
+ <complexType name="Reference">
+ <sequence>
+ <element ref="sca:interface" minOccurs="0" maxOccurs="1" />
+ <element name="operation" type="sca:Operation" minOccurs="0"
+ maxOccurs="unbounded" />
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="sca:binding" />
+ <any namespace="##other" processContents="lax" />
+ </choice>
+ <element ref="sca:callback" minOccurs="0" maxOccurs="1" />
+ <!--
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
+ -->
+ </sequence>
+ <attribute name="name" type="NCName" use="required" />
+ <attribute name="target" type="sca:listOfAnyURIs" use="optional"/>
+ <attribute name="wiredByImpl" type="boolean" use="optional" default="false"/>
+ <attribute name="multiplicity" type="sca:Multiplicity"
+ use="optional" default="1..1" />
+ <attribute name="promote" type="sca:listOfAnyURIs" use="required" />
+ <attribute name="requires" type="sca:listOfQNames" use="optional" />
+ <attribute name="policySets" type="sca:listOfQNames" use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax" />
+ </complexType>
+
+ <complexType name="SCAPropertyBase" mixed="true">
+ <!-- mixed="true" to handle simple type -->
+ <sequence>
+ <any namespace="##any" processContents="lax" minOccurs="0"
+ maxOccurs="1" />
+ <!-- NOT an extension point; This xsd:any exists to accept
+ the element-based or complex type property
+ i.e. no element-based extension point under "sca:property" -->
+ </sequence>
+ </complexType>
+
+ <!-- complex type for sca:property declaration -->
+ <complexType name="Property" mixed="true">
+ <complexContent>
+ <extension base="sca:SCAPropertyBase">
+ <!-- extension defines the place to hold default value -->
+ <attribute name="name" type="NCName" use="required"/>
+ <attribute name="type" type="QName" use="optional"/>
+ <attribute name="element" type="QName" use="optional"/>
+ <attribute name="many" type="boolean" default="false"
+ use="optional"/>
+ <attribute name="mustSupply" type="boolean" default="false"
+ use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ <!-- an extension point ; attribute-based only -->
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="PropertyValue" mixed="true">
+ <complexContent>
+ <extension base="sca:SCAPropertyBase">
+ <attribute name="name" type="NCName" use="required"/>
+ <attribute name="type" type="QName" use="optional"/>
+ <attribute name="element" type="QName" use="optional"/>
+ <attribute name="many" type="boolean" default="false"
+ use="optional"/>
+ <attribute name="source" type="string" use="optional"/>
+ <attribute name="file" type="anyURI" use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ <!-- an extension point ; attribute-based only -->
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="binding" type="sca:Binding" abstract="true"/>
+ <complexType name="Binding" abstract="true">
+ <sequence>
+ <element name="operation" type="sca:Operation" minOccurs="0"
+ maxOccurs="unbounded" />
+ </sequence>
+ <attribute name="uri" type="anyURI" use="optional"/>
+ <attribute name="name" type="QName" use="optional"/>
+ <attribute name="requires" type="sca:listOfQNames" use="optional"/>
+ <attribute name="policySets" type="sca:listOfQNames" use="optional"/>
+ </complexType>
+
+ <element name="bindingType" type="sca:BindingType"/>
+ <complexType name="BindingType">
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax" />
+ </sequence>
+ <attribute name="type" type="QName" use="required"/>
+ <attribute name="alwaysProvides" type="sca:listOfQNames" use="optional"/>
+ <attribute name="mayProvide" type="sca:listOfQNames" use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </complexType>
+
+ <element name="callback" type="sca:Callback"/>
+ <complexType name="Callback">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="sca:binding"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ <attribute name="requires" type="sca:listOfQNames" use="optional"/>
+ <attribute name="policySets" type="sca:listOfQNames" use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </complexType>
+
+ <complexType name="Component">
+ <sequence>
+ <choice minOccurs="0" maxOccurs="1">
+ <element ref="sca:implementation"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="service" type="sca:ComponentService"/>
+ <element name="reference" type="sca:ComponentReference"/>
+ <element name="property" type="sca:PropertyValue" />
+ </choice>
+ <!--
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ -->
+ </sequence>
+ <attribute name="name" type="NCName" use="required"/>
+ <attribute name="autowire" type="boolean" use="optional" default="false"/>
+ <attribute name="constrainingType" type="QName" use="optional"/>
+ <attribute name="requires" type="sca:listOfQNames" use="optional"/>
+ <attribute name="policySets" type="sca:listOfQNames" use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </complexType>
+
+ <complexType name="ComponentService">
+ <sequence>
+ <element ref="sca:interface" minOccurs="0" maxOccurs="1"/>
+ <element name="operation" type="sca:Operation" minOccurs="0"
+ maxOccurs="unbounded" />
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="sca:binding" />
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ <element ref="sca:callback" minOccurs="0" maxOccurs="1"/>
+ <!--
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ -->
+ </sequence>
+ <attribute name="name" type="NCName" use="required"/>
+ <attribute name="requires" type="sca:listOfQNames"
+ use="optional"/>
+ <attribute name="policySets" type="sca:listOfQNames"
+ use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </complexType>
+
+ <complexType name="ComponentReference">
+ <sequence>
+ <element ref="sca:interface" minOccurs="0" maxOccurs="1" />
+ <element name="operation" type="sca:Operation" minOccurs="0"
+ maxOccurs="unbounded" />
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="sca:binding" />
+ <any namespace="##other" processContents="lax" />
+ </choice>
+ <element ref="sca:callback" minOccurs="0" maxOccurs="1" />
+ <!--
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
+ -->
+ </sequence>
+ <attribute name="name" type="NCName" use="required" />
+ <attribute name="target" type="sca:listOfAnyURIs" use="optional"/>
+ <attribute name="multiplicity" type="sca:Multiplicity"
+ use="optional" default="1..1" />
+ <attribute name="requires" type="sca:listOfQNames" use="optional"/>
+ <attribute name="policySets" type="sca:listOfQNames"
+ use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax" />
+ </complexType>
+
+ <element name="implementation" type="sca:Implementation"
+ abstract="true" />
+ <complexType name="Implementation" abstract="true">
+ <attribute name="requires" type="sca:listOfQNames" use="optional"/>
+ <attribute name="policySets" type="sca:listOfQNames" use="optional"/>
+ </complexType>
+
+ <element name="implementationType" type="sca:ImplementationType"/>
+ <complexType name="ImplementationType">
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax" />
+ </sequence>
+ <attribute name="type" type="QName" use="required"/>
+ <attribute name="alwaysProvides" type="sca:listOfQNames" use="optional"/>
+ <attribute name="mayProvide" type="sca:listOfQNames" use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </complexType>
+
+ <complexType name="Wire">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="source" type="anyURI" use="required"/>
+ <attribute name="target" type="anyURI" use="required"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </complexType>
+
+ <element name="include" type="sca:Include"/>
+ <complexType name="Include">
+ <attribute name="name" type="QName"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </complexType>
+
+ <complexType name="Operation">
+ <attribute name="name" type="NCName" use="required"/>
+ <attribute name="requires" type="sca:listOfQNames" use="optional"/>
+ <attribute name="policySets" type="sca:listOfQNames" use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </complexType>
+
+ <element name="constrainingType" type="sca:ConstrainingType"/>
+ <complexType name="ConstrainingType">
+ <sequence>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="service" type="sca:ComponentService"/>
+ <element name="reference" type="sca:ComponentReference"/>
+ <element name="property" type="sca:Property" />
+ </choice>
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="name" type="NCName" use="required"/>
+ <attribute name="targetNamespace" type="anyURI"/>
+ <attribute name="requires" type="sca:listOfQNames" use="optional"/>
+ <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>
+
+ <!-- Global attribute definition for @requires to permit use of intents
+ within WSDL documents -->
+ <attribute name="requires" type="sca:listOfQNames"/>
+
+ <!-- Global attribute defintion for @endsConversation to mark operations
+ as ending a conversation -->
+ <attribute name="endsConversation" type="boolean" default="false"/>
+
+ <simpleType name="listOfQNames">
+ <list itemType="QName"/>
+ </simpleType>
+
+ <simpleType name="listOfAnyURIs">
+ <list itemType="anyURI"/>
+ </simpleType>
+
+</schema> \ No newline at end of file
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-definitions.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-definitions.xsd
new file mode 100644
index 0000000000..0249882a92
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-definitions.xsd
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- (c) Copyright SCA Collaboration 2007 -->
+<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">
+
+ <include schemaLocation="sca-core.xsd"/>
+ <include schemaLocation="sca-policy.xsd"/>
+
+ <element name="definitions">
+ <complexType>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="sca:intent"/>
+ <element ref="sca:policySet"/>
+ <element ref="sca:binding"/>
+ <element ref="sca:bindingType"/>
+ <element ref="sca:implementationType"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </choice>
+ <attribute name="targetNamespace" type="anyURI" use="optional"/>
+ </complexType>
+ </element>
+
+</schema> \ No newline at end of file
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-bpel.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-bpel.xsd
new file mode 100644
index 0000000000..87b443fb36
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-bpel.xsd
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- (c) Copyright SCA Collaboration 2006 -->
+<xsd:schema xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified">
+
+ <xsd:include schemaLocation="sca-core.xsd" />
+
+ <xsd:element name="implementation.bpel" type="BpelImplementation"
+ substitutionGroup="implementation" />
+
+ <xsd:complexType name="BpelImplementation">
+ <xsd:complexContent>
+ <xsd:extension base="Implementation">
+ <xsd:sequence>
+ <xsd:any namespace="##other" processContents="lax"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="process" type="xsd:QName" use="required" />
+ <xsd:anyAttribute namespace="##any" processContents="lax" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="interface.partnerLinkType" type="BpelPartnerLinkType"
+ substitutionGroup="interface" />
+
+ <xsd:complexType name="BpelPartnerLinkType">
+ <xsd:complexContent>
+ <xsd:extension base="Interface">
+ <xsd:sequence>
+ <xsd:any namespace="##other" processContents="lax"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="type" type="xsd:QName" use="required" />
+ <xsd:attribute name="serviceRole" type="xsd:NCName" use="optional" />
+ <xsd:anyAttribute namespace="##any" processContents="lax" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+</xsd:schema> \ No newline at end of file
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-composite.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-composite.xsd
new file mode 100644
index 0000000000..99669bc672
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-composite.xsd
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- (c) Copyright SCA Collaboration 2006 -->
+<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">
+
+ <include schemaLocation="sca-core.xsd"/>
+ <element name="implementation.composite" type="sca:SCAImplementation"
+ substitutionGroup="sca:implementation"/>
+ <complexType name="SCAImplementation">
+ <complexContent>
+ <extension base="sca:Implementation">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="name" type="QName" use="required"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </extension>
+ </complexContent>
+ </complexType>
+</schema>
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-java.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-java.xsd
new file mode 100644
index 0000000000..f9d8171b8e
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-java.xsd
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- (c) Copyright SCA Collaboration 2006 -->
+<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">
+
+ <include schemaLocation="sca-core.xsd"/>
+
+ <element name="implementation.java" type="sca:JavaImplementation"
+ substitutionGroup="sca:implementation"/>
+ <complexType name="JavaImplementation">
+ <complexContent>
+ <extension base="sca:Implementation">
+ <sequence>
+ <any namespace="##other" processContents="lax"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="class" type="NCName" use="required"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </extension>
+ </complexContent>
+ </complexType>
+</schema> \ No newline at end of file
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-jee.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-jee.xsd
new file mode 100644
index 0000000000..83e6bb75bf
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-jee.xsd
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- (c) Copyright SCA Collaboration 2006 -->
+<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">
+
+ <include schemaLocation="sca-core.xsd"/>
+
+ <element name="implementation.jee" type="sca:JEEImplementation" substitutionGroup="sca:implementation" />
+ <complexType name="JEEImplementation">
+ <complexContent>
+ <extension base="sca:Implementation">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
+ </sequence>
+ <attribute name="archive" type="string" use="required" />
+ <anyAttribute namespace="##any" processContents="lax" />
+ </extension>
+ </complexContent>
+ </complexType>
+</schema> \ No newline at end of file
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-web.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-web.xsd
new file mode 100644
index 0000000000..a1adf10fd9
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-implementation-web.xsd
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- (c) Copyright SCA Collaboration 2006 -->
+<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">
+
+ <include schemaLocation="sca-core.xsd"/>
+
+ <element name="implementation.web" type="sca:WebImplementation"
+ substitutionGroup="sca:implementation"/>
+ <complexType name="WebImplementation">
+ <complexContent>
+ <extension base="sca:Implementation">
+ <sequence>
+ <any namespace="##other" processContents="lax"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="web-uri" type="string" use="required"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </extension>
+ </complexContent>
+ </complexType>
+</schema> \ No newline at end of file
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-interface-java.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-interface-java.xsd
new file mode 100644
index 0000000000..81f939bdb4
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-interface-java.xsd
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- (c) Copyright SCA Collaboration 2006, 2007 -->
+<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">
+
+ <include schemaLocation="sca-core.xsd"/>
+
+ <element name="interface.java" type="sca:JavaInterface" substitutionGroup="sca:interface"/>
+ <complexType name="JavaInterface">
+ <complexContent>
+ <extension base="sca:Interface">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="interface" type="NCName" use="required"/>
+ <attribute name="callbackInterface" type="NCName" use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </extension>
+ </complexContent>
+ </complexType>
+</schema> \ No newline at end of file
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-interface-wsdl.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-interface-wsdl.xsd
new file mode 100644
index 0000000000..c1fdfd8f3c
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-interface-wsdl.xsd
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- (c) Copyright SCA Collaboration 2006, 2007 -->
+<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">
+
+ <include schemaLocation="sca-core.xsd"/>
+
+ <element name="interface.wsdl" type="sca:WSDLPortType" substitutionGroup="sca:interface"/>
+ <complexType name="WSDLPortType">
+ <complexContent>
+ <extension base="sca:Interface">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="interface" type="anyURI" use="required"/>
+ <attribute name="callbackInterface" type="anyURI" use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </extension>
+ </complexContent>
+ </complexType>
+</schema> \ No newline at end of file
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-policy.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-policy.xsd
new file mode 100644
index 0000000000..2c4875f36c
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca-policy.xsd
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- (c) Copyright SCA Collaboration 2006, 2007 -->
+<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"
+ xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
+ elementFormDefault="qualified">
+
+ <include schemaLocation="sca-core.xsd"/>
+
+ <element name="intent" type="sca:Intent"/>
+ <complexType name="Intent">
+ <sequence>
+ <element name="description" type="string" minOccurs="0" maxOccurs="1" />
+ <any namespace="##other" processContents="lax"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="name" type="QName" use="required"/>
+ <attribute name="constrains" type="sca:listOfQNames" use="optional"/>
+ <attribute name="requires" type="sca:listOfQNames" use="optional"/>
+ <attribute name="excludes" type="sca:listOfQNames" use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </complexType>
+
+ <element name="policySet" type="sca:PolicySet"/>
+ <complexType name="PolicySet">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="policySetReference" type="sca:PolicySetReference"/>
+ <element name="intentMap" type="sca:IntentMap"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ <attribute name="name" type="QName" use="required"/>
+ <attribute name="provides" type="sca:listOfQNames" use="optional"/>
+ <attribute name="appliesTo" type="string" use="required"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </complexType>
+
+ <complexType name="PolicySetReference">
+ <attribute name="name" type="QName" use="required"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </complexType>
+
+ <complexType name="IntentMap">
+ <choice minOccurs="1" maxOccurs="unbounded">
+ <element name="qualifier" type="sca:Qualifier"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ <attribute name="provides" type="QName" use="required"/>
+ <attribute name="default" type="string" use="optional"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </complexType>
+
+ <complexType name="Qualifier">
+ <choice minOccurs="1" maxOccurs="unbounded">
+ <element name="intentMap" type="sca:IntentMap"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ <attribute name="name" type="string" use="required"/>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </complexType>
+
+ <element name="allow" type="sca:Allow"/>
+ <complexType name="Allow">
+ <attribute name="roles" type="string" use="required"/>
+ </complexType>
+
+ <element name="permitAll" type="sca:PermitAll"/>
+ <complexType name="PermitAll"/>
+
+ <element name="denyAll" type="sca:DenyAll"/>
+ <complexType name="DenyAll"/>
+
+ <element name="runAs" type="sca:RunAs"/>
+ <complexType name="RunAs">
+ <attribute name="role" type="string" use="required"/>
+ </complexType>
+</schema>
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca.xsd
new file mode 100644
index 0000000000..a177816cdd
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/sca.xsd
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- (c) Copyright SCA Collaboration 2006, 2007 -->
+<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">
+
+ <include schemaLocation="sca-core.xsd"/>
+
+ <include schemaLocation="sca-interface-java.xsd"/>
+ <include schemaLocation="sca-interface-wsdl.xsd"/>
+
+ <include schemaLocation="sca-implementation-java.xsd"/>
+ <include schemaLocation="sca-implementation-composite.xsd"/>
+
+ <include schemaLocation="sca-binding-webservice.xsd"/>
+ <include schemaLocation="sca-binding-sca.xsd"/>
+
+ <include schemaLocation="sca-contributions.xsd"/>
+
+ <include schemaLocation="sca-definitions.xsd"/>
+ <include schemaLocation="sca-policy.xsd"/>
+
+</schema> \ No newline at end of file
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-binding-dwr.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-binding-dwr.xsd
new file mode 100644
index 0000000000..788571de7b
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-binding-dwr.xsd
@@ -0,0 +1,41 @@
+<?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://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
+ elementFormDefault="qualified">
+
+ <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/>
+
+ <element name="binding.dwr" type="t:DWRBinding"/>
+
+ <complexType name="DWRBinding">
+ <complexContent>
+ <extension base="sca:Binding">
+ <sequence>
+ <any namespace="##targetNamespace" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </extension>
+ </complexContent>
+ </complexType>
+</schema>
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-binding-http.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-binding-http.xsd
new file mode 100644
index 0000000000..bd36a8f52f
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-binding-http.xsd
@@ -0,0 +1,41 @@
+<?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://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
+ elementFormDefault="qualified">
+
+ <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/>
+
+ <element name="binding.http" type="t:HTTPBinding"/>
+
+ <complexType name="HTTPBinding">
+ <complexContent>
+ <extension base="sca:Binding">
+ <sequence>
+ <any namespace="##targetNamespace" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </extension>
+ </complexContent>
+ </complexType>
+</schema>
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-binding-jsonrpc.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-binding-jsonrpc.xsd
new file mode 100644
index 0000000000..bacfdda781
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-binding-jsonrpc.xsd
@@ -0,0 +1,41 @@
+<?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://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
+ elementFormDefault="qualified">
+
+ <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/>
+
+ <element name="binding.jsonrpc" type="t:JSONRPCBinding"/>
+
+ <complexType name="JSONRPCBinding">
+ <complexContent>
+ <extension base="sca:Binding">
+ <sequence>
+ <any namespace="##targetNamespace" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ <anyAttribute namespace="##any" processContents="lax"/>
+ </extension>
+ </complexContent>
+ </complexType>
+</schema>
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-binding-rmi.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-binding-rmi.xsd
new file mode 100644
index 0000000000..26be6feae5
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-binding-rmi.xsd
@@ -0,0 +1,40 @@
+<?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://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
+ elementFormDefault="qualified">
+
+ <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/>
+
+ <element name="binding.rmi" type="t:RMIBinding"/>
+
+ <complexType name="RMIBinding">
+ <complexContent>
+ <extension base="sca:Binding">
+ <sequence>
+ <any namespace="##targetNamespace" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+</schema>
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-implementation-node.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-implementation-node.xsd
new file mode 100644
index 0000000000..1b5c8aece2
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca-implementation-node.xsd
@@ -0,0 +1,43 @@
+<?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://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
+ elementFormDefault="qualified">
+
+ <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/>
+
+ <element name="implementation.node" type="t:NodeImplementation"/>
+
+ <complexType name="NodeImplementation">
+ <complexContent>
+ <extension base="sca:Implementation">
+ <sequence>
+ <any namespace="##targetNamespace" processContents="lax"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="uri" type="string" use="required"/>
+ <attribute name="composite" type="QName" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+</schema>
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca.xsd
new file mode 100644
index 0000000000..4557cda947
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/tuscany-sca.xsd
@@ -0,0 +1,35 @@
+<?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://tuscany.apache.org/xmlns/sca/1.0">
+
+ <import namespace="http://www.w3.org/2004/08/wsdl-instance" schemaLocation="wsdli.xsd"/>
+
+ <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-all.xsd"/>
+
+ <include schemaLocation="tuscany-sca-binding-dwr.xsd"/>
+ <include schemaLocation="tuscany-sca-binding-http.xsd"/>
+ <include schemaLocation="tuscany-sca-binding-jsonrpc.xsd"/>
+ <include schemaLocation="tuscany-sca-binding-jms.xsd"/>
+ <include schemaLocation="tuscany-sca-binding-rmi.xsd"/>
+
+ <include schemaLocation="tuscany-sca-implementation-node.xsd"/>
+ <include schemaLocation="tuscany-sca-implementation-resource.xsd"/>
+</schema> \ No newline at end of file
diff --git a/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/wsdli.xsd b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/wsdli.xsd
new file mode 100644
index 0000000000..79af5e9363
--- /dev/null
+++ b/java/sca-contrib/modules/assembly-xsd-osoa/src/main/resources/wsdli.xsd
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd"-->
+<!-- $Id: wsdl-instance.xsd,v 1.1 2004/08/03 16:02:04 hugo Exp $ -->
+<!--
+ W3C XML Schema defined in the Web Services Description (WSDL)
+ Version 2.0 specification
+ http://www.w3.org/TR/wsdl20
+
+ Copyright (c) 2004 World Wide Web Consortium,
+
+ (Massachusetts Institute of Technology, European Research Consortium for
+ Informatics and Mathematics, Keio University). All Rights Reserved. This
+ work is distributed under the W3C(r) Software License [1] in the hope that
+ it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance" targetNamespace="http://www.w3.org/2004/08/wsdl-instance" elementFormDefault="qualified" finalDefault="" blockDefault="" attributeFormDefault="unqualified">
+
+ <xs:attribute name="wsdlLocation">
+ <xs:annotation>
+ <xs:documentation>
+ This attribute can be used to provide some hints on where
+ additional WSDL information for a given namespace can be
+ found in order to help with QName resolution
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:list itemType="xs:anyURI"/>
+ </xs:simpleType>
+ </xs:attribute>
+
+</xs:schema>