summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/assembly-xsd/src/main/resources/sca-interface-cpp.xsd
blob: 44f14e5ed5a8010dadc4dea74530da982f452911 (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
<?xml version="1.0" encoding="UTF-8"?>
<!--  (c) Copyright SCA Collaboration 2006  -->
<schema xmlns="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.commonj.org/xmlns/sca/1.0/"
    xmlns:sca="http://www.commonj.org/xmlns/sca/1.0/"
    xmlns:sdo="commonj.sdo/XML"
    elementFormDefault="qualified">

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

    <element name="interface.cpp" type="sca:CPPInterface" substitutionGroup="sca:interface"/>

    <complexType name="CPPInterface">
        <complexContent>
            <extension base="sca:Interface">
                <sequence>
                    <element name="method" type="sca:CPPMethod" minOccurs="0" maxOccurs="unbounded" />
                    <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
                <attribute name="header" type="NCName" use="required"/>
                <attribute name="class" type="Name" use="required"/>
                <attribute name="callbackHeader" type="NCName" use="optional"/>
                <attribute name="callbackClass" type="Name" use="optional"/>
                <attribute name="remotable" type="boolean" use="optional"/>
                <anyAttribute namespace="##any" processContents="lax"/>
            </extension>
        </complexContent>
    </complexType>

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

</schema>