summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/branches/sca-java-1.4/modules/assembly-xsd/src/main/resources/sca-contributions.xsd
blob: 2da2fedb1f1bfa69fcedf6dbc1fb9a3841d814e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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>         	 
         	 <choice minOccurs="0" maxOccurs="unbounded">
                 <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>
        <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="baseImport" type="sca:BaseImportType" abstract="true"/>
    <complexType name="BaseImportType" abstract="true">
        <sequence>
             <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="location" type="anyURI" use="optional"/>
        <anyAttribute namespace="##other" processContents="lax"/>
    </complexType> 

    <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>
        <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>