summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/assembly-xsd/src/main/resources/sca-implementation-cpp.xsd
blob: 6f1cf14a4b41366c3c6cdb9dd3e087e2580c646b (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
<?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"
    xmlns:sdo="commonj.sdo/XML"
    elementFormDefault="qualified">

    <include schemaLocation="sca-core.xsd"/>

    <element name="implementation.cpp" type="sca:CPPImplementation" substitutionGroup="sca:implementation" />
    <complexType name="CPPImplementation">
        <complexContent>
            <extension base="sca:Implementation">
                <sequence>
                    <element name="method" type="sca:CPPImplementationMethod" minOccurs="0" maxOccurs="unbounded" />
                    <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
                <attribute name="library" type="NCName" use="required"/>
                <attribute name="header" type="NCName" use="required"/>
                <attribute name="path" type="NCName" use="optional"/>
                <attribute name="class" type="Name" use="optional"/>
                <attribute name="scope" type="sca:CPPImplementationScope" use="optional"/>
                <attribute name="eagerInit" type="boolean" use="optional"/>
                <attribute name="allowsPassByReference" type="boolean" use="optional"/>
                <attribute name="conversationMaxAge" type="string" use="optional"/>
                <attribute name="conversationMaxIdle" type="string" use="optional"/>
                <attribute name="conversationSinglePrincipal" type="boolean" use="optional"/>
                <anyAttribute namespace="##any" processContents="lax"/>
            </extension>
        </complexContent>
    </complexType>

    <simpleType name="CPPImplementationScope">
        <restriction base="string">
            <enumeration value="stateless"/>
            <enumeration value="composite"/>
            <enumeration value="request"/>
            <enumeration value="converstion"/>
        </restriction>
    </simpleType>

    <complexType name="CPPImplementationMethod">
        <complexContent>
            <attribute name="name" type="NCName" use="required"/>
            <attribute name="allowsPassByReference" type="boolean" use="optional"/>
            <anyAttribute namespace="##any" processContents="lax"/>
        </complexContent>
    </complexType>

</schema>