Author: slaws
Date: Mon Dec 15 07:44:27 2008
New Revision: 726718

URL: http://svn.apache.org/viewvc?rev=726718&view=rev
Log:
Modify the contribution schema to demonstrate how extensibility could be 
implemented. Still using the OSOA namespace here. 

Modified:
    
tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/sca-contributions.xsd
    
tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/sca.xsd
    
tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/tuscany-sca-contributions.xsd
    
tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/tuscany-sca.xsd

Modified: 
tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/sca-contributions.xsd
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/sca-contributions.xsd?rev=726718&r1=726717&r2=726718&view=diff
==============================================================================
--- 
tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/sca-contributions.xsd
 (original)
+++ 
tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/sca-contributions.xsd
 Mon Dec 15 07:44:27 2008
@@ -3,23 +3,17 @@
 <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:t="http://tuscany.apache.org/xmlns/sca/1.0";
         elementFormDefault="qualified">
        
     <include schemaLocation="sca-core.xsd"/>
-    <import namespace="http://tuscany.apache.org/xmlns/sca/1.0"; 
schemaLocation="tuscany-sca-contributions.xsd"/>
        
     <element name="contribution" type="sca:ContributionType"/>        
     <complexType name="ContributionType">
-         <sequence>
-                <element name="deployable" type="sca:DeployableType" 
minOccurs="0" maxOccurs="unbounded"/>
+         <sequence>             
                 <choice minOccurs="0" maxOccurs="unbounded">
-                        <element name="import" type="sca:ImportType"/>
-                 <element name="export" type="sca:ExportType"/>
-                 <element name="import.java" type="t:ImportJavaType"/>
-                 <element name="export.java" type="t:ExportJavaType"/>
-                 <element name="import.resource" type="t:ImportResourceType"/>
-                 <element name="export.resource" type="t:ExportResourceType"/>
+                 <element name="deployable" type="sca:DeployableType" 
minOccurs="0" maxOccurs="unbounded"/>
+                    <element ref="sca:baseImport"/>
+                 <element ref="sca:baseExport"/>
              </choice>
              <any namespace="##other" processContents="lax" minOccurs="0" 
maxOccurs="unbounded"/>
         </sequence>
@@ -32,24 +26,40 @@
         </sequence>
         <attribute name="composite" type="QName" use="required"/>
         <anyAttribute namespace="##other" processContents="lax"/>
-    </complexType>        
-
-    <element name="import" type="sca:ImportType"/>
-    <complexType name="ImportType">
+    </complexType>   
+    
+    <element name="baseImport" type="sca:BaseImportType" abstract="true"/>
+    <complexType name="BaseImportType" abstract="true">
         <sequence>
              <any namespace="##other" processContents="lax" minOccurs="0" 
maxOccurs="unbounded"/>
         </sequence>
-        <attribute name="namespace" type="string" use="required"/>
         <attribute name="location" type="anyURI" use="optional"/>
         <anyAttribute namespace="##other" processContents="lax"/>
-    </complexType>        
+    </complexType> 
 
-    <element name="export" type="sca:ExportType"/>
-    <complexType name="ExportType">
+    <element name="import" type="sca:ImportType" 
substitutionGroup="sca:baseImport"/>
+    <complexType name="ImportType">
+        <complexContent>
+            <extension base="sca:BaseImportType">
+                <attribute name="namespace" type="string" use="required"/>
+            </extension>
+        </complexContent>    
+    </complexType> 
+    
+    <element name="baseExport" type="sca:BaseExportType" abstract="true"/>
+    <complexType name="BaseExportType" abstract="true">
         <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="export" type="sca:ExportType" 
substitutionGroup="sca:baseExport"/>
+    <complexType name="ExportType">
+        <complexContent>
+            <extension base="sca:BaseExportType">
+                <attribute name="namespace" type="string" use="required"/>
+            </extension>
+        </complexContent>
     </complexType>
-</schema> 
+</schema> 
\ No newline at end of file

Modified: 
tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/sca.xsd
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/sca.xsd?rev=726718&r1=726717&r2=726718&view=diff
==============================================================================
--- 
tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/sca.xsd 
(original)
+++ 
tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/sca.xsd 
Mon Dec 15 07:44:27 2008
@@ -17,8 +17,7 @@
     <include schemaLocation="sca-binding-sca.xsd"/>
 
     <include schemaLocation="sca-contributions.xsd"/>
-        
-    <include schemaLocation="sca-contributions.xsd"/>
+    <include schemaLocation="tuscany-sca-contributions.xsd"/>
     
     <include schemaLocation="sca-definitions.xsd"/>
     <include schemaLocation="sca-policy.xsd"/>

Modified: 
tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/tuscany-sca-contributions.xsd
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/tuscany-sca-contributions.xsd?rev=726718&r1=726717&r2=726718&view=diff
==============================================================================
--- 
tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/tuscany-sca-contributions.xsd
 (original)
+++ 
tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/tuscany-sca-contributions.xsd
 Mon Dec 15 07:44:27 2008
@@ -18,50 +18,45 @@
     * under the License.    
 -->
 <schema xmlns="http://www.w3.org/2001/XMLSchema"; 
-    targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0"; 
+    targetNamespace="http://www.osoa.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">
     
-    <element name="import.resource" type="t:ImportResourceType"/>
+    <include schemaLocation="sca-contributions.xsd"/>
+    
+    <element name="import.resource" type="sca:ImportResourceType" 
substitutionGroup="sca:baseImport"/>
     <complexType name="ImportResourceType">
-       <sequence>
-             <any namespace="##other" processContents="lax" minOccurs="0" 
maxOccurs="unbounded"/>
-        </sequence>
-        <attribute name="namespace" type="string" use="optional"/>
-        <attribute name="location" type="anyURI" use="optional"/>
-        <attribute name="uri" type="anyURI" use="required"/>
-        <anyAttribute namespace="##other" processContents="lax"/>
+        <complexContent>
+            <extension base="sca:BaseImportType">
+                <attribute name="uri" type="anyURI" use="required"/>
+            </extension>
+        </complexContent>
     </complexType>   
     
-    <element name="export.resource" type="t:ExportResourceType"/>
+    <element name="export.resource" type="sca:ExportResourceType" 
substitutionGroup="sca:baseExport"/>
     <complexType name="ExportResourceType">
-       <sequence>
-             <any namespace="##other" processContents="lax" minOccurs="0" 
maxOccurs="unbounded"/>
-        </sequence>
-        <attribute name="namespace" type="string" use="optional"/>
-        <attribute name="uri" type="anyURI" use="required"/>
-        <anyAttribute namespace="##other" processContents="lax"/>
+        <complexContent>
+            <extension base="sca:BaseExportType">
+                <attribute name="uri" type="anyURI" use="required"/>
+            </extension>
+        </complexContent>
     </complexType>  
     
-    <element name="import.java" type="t:ImportJavaType"/>
+    <element name="import.java" type="sca:ImportJavaType" 
substitutionGroup="sca:baseImport"/>
     <complexType name="ImportJavaType">
-       <sequence>
-             <any namespace="##other" processContents="lax" minOccurs="0" 
maxOccurs="unbounded"/>
-        </sequence>
-        <attribute name="namespace" type="string" use="optional"/>
-        <attribute name="location" type="anyURI" use="optional"/>
-        <attribute name="package" type="string" use="required"/>
-        <anyAttribute namespace="##other" processContents="lax"/>
+        <complexContent>
+            <extension base="sca:BaseImportType">
+                <attribute name="package" type="string" use="required"/>
+            </extension>
+        </complexContent>
     </complexType>   
     
-    <element name="export.java" type="t:ExportJavaType"/>
+    <element name="export.java" type="sca:ExportJavaType" 
substitutionGroup="sca:baseExport"/>
     <complexType name="ExportJavaType">
-        <sequence>
-             <any namespace="##other" processContents="lax" minOccurs="0" 
maxOccurs="unbounded"/>
-        </sequence>
-        <attribute name="namespace" type="string" use="optional"/>
-        <attribute name="package" type="string" use="required"/>
-        <anyAttribute namespace="##other" processContents="lax"/>
+        <complexContent>
+            <extension base="sca:BaseExportType">
+                <attribute name="package" type="string" use="required"/>
+            </extension>
+        </complexContent>    
     </complexType> 
 </schema>

Modified: 
tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/tuscany-sca.xsd
URL: 
http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/tuscany-sca.xsd?rev=726718&r1=726717&r2=726718&view=diff
==============================================================================
--- 
tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/tuscany-sca.xsd
 (original)
+++ 
tuscany/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/tuscany-sca.xsd
 Mon Dec 15 07:44:27 2008
@@ -46,6 +46,6 @@
     <include schemaLocation="tuscany-sca-implementation-widget.xsd"/>
     <include schemaLocation="tuscany-sca-implementation-xquery.xsd"/>
     
-    <include schemaLocation="tuscany-sca-contributions.xsd"/>
+    <import namespace="http://www.osoa.org/xmlns/sca/1.0"; 
schemaLocation="tuscany-sca-contributions.xsd"/>
     
-</schema>
+</schema>
\ No newline at end of file


Reply via email to