Subversion Repositories XServices

Rev

Rev 201 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
201 brianR 1
<?xml version="1.0" encoding="UTF-8"?>
2
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3
           xmlns="http://www.eclipse.org/alf/schema/EventBase/1"
4
           targetNamespace="http://www.eclipse.org/alf/schema/EventBase/1"
5
           xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
6
           xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
7
           elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
8
    <xs:annotation>
9
        <xs:documentation>
10
            WARNING: PRELIMINARY VERSION SUBJECT TO CHANGE
11
        </xs:documentation>
12
    </xs:annotation>
13
    <xs:annotation>
14
        <xs:documentation>
15
            Copyright Notice The material in this document is Copyright
16
            (c) Serena Software, Inc. and others, 2005, 2006 Terms and
17
            Conditions: The Eclipse Foundation makes available all
18
            content in this document ("Content"). Unless otherwise
19
            indicated below, the Content is provided to you under the
20
            terms and conditions of the Eclipse Public License Version
21
            1.0 ("EPL"). A copy of the EPL is available at
22
            http://www.eclipse.org/legal/epl-v10.html. For purposes of
23
            the EPL, "Program" will mean the Content. If you did not
24
            receive this Content directly from the Eclipse Foundation,
25
            the Content is being redistributed by another party
26
            ("Redistributor") and different terms and conditions may
27
            apply to your use of any object code in the Content. Check
28
            the Redistributor's license that was provided with the
29
            Content. If you did not receive any such license, contact
30
            the Redistributor. Unless otherwise indicated below, the
31
            terms and conditions of the EPL still apply to the Content.
32
        </xs:documentation>
33
    </xs:annotation>
34
    <!-- Begin EventBaseTypes -->
35
    <xs:complexType name="EventBaseType">
36
        <xs:annotation>
37
            <xs:documentation>
38
                EventBaseType is a container for that portion of an ALF
39
                Event that is generally set by the Tool that raises the
40
                event.
41
            </xs:documentation>
42
        </xs:annotation>
43
        <xs:sequence>
44
            <xs:element name="EventId" type="EventIdType"/>
45
            <xs:element name="Timestamp" type="TimestampType"/>
46
            <xs:element name="EventType" type="EventTypeType"/>
47
            <xs:element name="ObjectType" type="ObjectTypeType"/>
48
            <xs:element name="ObjectId" type="ObjectIdType"/>
49
            <xs:element name="Source" type="SourceType"/>
50
            <xs:element name="User" type="CredentialsType"/>
51
            <xs:element name="EventControl" type="EmBaseType" minOccurs="0"/>
52
            <xs:element name="BaseExtension" type="BaseExtensionType" minOccurs="0"/>
53
        </xs:sequence>
54
        <xs:anyAttribute/>
55
    </xs:complexType>
56
    <xs:complexType name="EmBaseType">
57
        <xs:annotation>
58
            <xs:documentation>
59
                EventControlType is a container for that portion of an
60
                ALF Event that is generally set by the ALF EventManager.
61
                In some cases, ALF compliant tools may set some fields,
62
                in particular when the event is a result of an ALF
63
                service call to that tool from a ServiceFlow.
64
            </xs:documentation>
65
        </xs:annotation>
66
        <xs:sequence>
67
            <xs:element name="EmEventId" type="xs:string"/>
68
            <xs:element name="EmTimestamp" type="TimestampType"/>
69
            <xs:element name="PrecedingEmEventId" type="EventIdType"/>
70
            <xs:element name="ApplicationName" type="ApplicationNameType"/>
71
            <xs:element name="EventMatchName" type="EventMatchNameType"/>
72
            <xs:element name="ServiceFlowName" type="ServiceFlowNameType"/>
73
            <xs:element name="ServiceFlowId" type="ServiceFlowIdType"/>
74
            <xs:element name="Callback" type="xs:boolean"/>
75
            <xs:element name="Environment" type="EnvironmentType"/>
76
            <xs:element name="EmUser" type="CredentialsType"/>
77
            <xs:element name="EmExtension" type="EmExtensionType" minOccurs="0"/>
78
        </xs:sequence>
79
        <xs:anyAttribute/>
80
    </xs:complexType>
81
    <xs:simpleType name="EventIdType">
82
        <xs:annotation>
83
            <xs:documentation>
84
                A UUID that uniquely identifies the Event instance.
85
            </xs:documentation>
86
        </xs:annotation>
87
        <xs:restriction base="xs:string">
88
            <xs:maxLength value="36"/>
89
        </xs:restriction>
90
    </xs:simpleType>
91
    <xs:simpleType name="ServiceFlowIdType">
92
        <xs:annotation>
93
            <xs:documentation>
94
                A UUID that uniquely identifies the ServiceFlow
95
                instance.
96
            </xs:documentation>
97
        </xs:annotation>
98
        <xs:restriction base="xs:string">
99
            <xs:maxLength value="36"/>
100
        </xs:restriction>
101
    </xs:simpleType>
102
    <xs:simpleType name="TimestampType">
103
        <xs:annotation>
104
            <xs:documentation>
105
                The date and timestamp when the EventManager received
106
                the Event. This element may be left empty by the event
107
                emitter, in which case, the Event Manager will supply a
108
                value.
109
            </xs:documentation>
110
        </xs:annotation>
111
        <xs:restriction base="xs:dateTime"/>
112
    </xs:simpleType>
113
    <xs:simpleType name="EventTypeType">
114
        <xs:annotation>
115
            <xs:documentation>
116
                A string indicating the type of event. EventType
117
                designates the verb. That is what action happened to the
118
                Objects that triggered the event.
119
            </xs:documentation>
120
        </xs:annotation>
121
        <xs:restriction base="xs:string"/>
122
    </xs:simpleType>
123
    <!-- =============  Object that triggered the event  ============= -->
124
    <xs:simpleType name="ObjectIdType">
125
        <xs:annotation>
126
            <xs:documentation>
127
                An ObjectId identifies the entity or relationship that
128
                changed within a tool. The identifier must be unique for
129
                a particular instance of the source tool. The format of
130
                this element will not be standardized by ALF. The
131
                primary purpose is to allow subsequent ServiceFlows to
132
                uniquely identify (and perhaps access) the object that
133
                triggered the event.
134
            </xs:documentation>
135
        </xs:annotation>
136
        <xs:restriction base="xs:string"/>
137
    </xs:simpleType>
138
    <xs:simpleType name="ObjectTypeType">
139
        <xs:annotation>
140
            <xs:documentation>
141
                The type of entity involved. Note that the word entity
142
                is taken in its broadest sense, referring to whatever
143
                artifact a tool was operating on. For example, for a
144
                data modeling tool, an E-R relationship is a type of
145
                entity (i.e., and ObjectType) to ALF.
146
            </xs:documentation>
147
        </xs:annotation>
148
        <xs:restriction base="xs:string"/>
149
    </xs:simpleType>
150
    <!-- =============  The source (i.e, tool or product) that emitted the event  ============= -->
151
    <xs:complexType name="SourceType">
152
        <xs:annotation>
153
            <xs:documentation>
154
                A Source element is a container type that describes the
155
                source of the event. ProductCallbackURI is optional for
156
                tools that don't provide a listener to accept the
157
                callback from a tool or serviceflow at a later time.
158
            </xs:documentation>
159
        </xs:annotation>
160
        <xs:sequence>
161
            <xs:element name="Product" type="ProductType"/>
162
            <xs:element name="ProductVersion" type="ProductVersionType"/>
163
            <xs:element name="ProductInstance" type="ProductInstanceType"/>
164
            <xs:element name="ProductCallbackURI" type="ProductCallbackURIType" minOccurs="0"/>
165
        </xs:sequence>
166
    </xs:complexType>
167
    <xs:simpleType name="ProductType">
168
        <xs:annotation>
169
            <xs:documentation>
170
                A descriptive name for the tool (i.e., program) that
171
                emitted the Event. Note that this is a datatype for a
172
                Product element.
173
            </xs:documentation>
174
        </xs:annotation>
175
        <xs:restriction base="xs:string"/>
176
    </xs:simpleType>
177
    <xs:simpleType name="ProductCallbackURIType">
178
        <xs:annotation>
179
            <xs:documentation>
180
                The web service endpoint for tools that support
181
                callbacks from ServiceFlows for additional information.
182
                The element content is optional for transient tools that
183
                may not be running at a later time, and so cannot accept
184
                a callback. Constantly running (server) tools that
185
                support callbacks should supply a URI.
186
            </xs:documentation>
187
        </xs:annotation>
188
        <xs:restriction base="xs:anyURI"/>
189
    </xs:simpleType>
190
    <xs:simpleType name="ProductInstanceType">
191
        <xs:annotation>
192
            <xs:documentation>
193
                A unique string identifying the instance of the tool.
194
                This is useful when there may be multiple instances of a
195
                product working within an instance of ALF.
196
            </xs:documentation>
197
        </xs:annotation>
198
        <xs:restriction base="xs:string"/>
199
    </xs:simpleType>
200
    <xs:simpleType name="ProductVersionType">
201
        <xs:annotation>
202
            <xs:documentation>
203
                The release version of the product, such as 5.06
204
            </xs:documentation>
205
        </xs:annotation>
206
        <xs:restriction base="xs:string"/>
207
    </xs:simpleType>
208
    <!-- ======  User information identifying the security context of the request ======= -->
209
    <xs:complexType name="CredentialsType">
210
        <xs:annotation>
211
            <xs:documentation>
212
                A structure to hold security authentication-relevant data.
213
                If present the data within may be encrypted.
214
            </xs:documentation>
215
        </xs:annotation>
216
        <xs:sequence>
217
            <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
218
        </xs:sequence>
219
        <xs:anyAttribute/>
220
    </xs:complexType>
221
    <xs:simpleType name="ApplicationNameType">
222
        <xs:annotation>
223
            <xs:documentation>
224
                The name of the ALF application to which this event
225
                belongs. Depending on the emitting tool, events may or
226
                may not be associated with an ALF application. If the
227
                emitting tool has the information available then it can
228
                provide the ALF ApplicationName as an additional
229
                information to distinguish the event.
230
            </xs:documentation>
231
        </xs:annotation>
232
        <xs:restriction base="xs:string"/>
233
    </xs:simpleType>
234
    <xs:simpleType name="EventMatchNameType">
235
        <xs:annotation>
236
            <xs:documentation>
237
                The name of the event match within the ALF Application
238
                that matches this event.  This fields is set by the Event Manager
239
                when it dispatches the event.
240
            </xs:documentation>
241
        </xs:annotation>
242
        <xs:restriction base="xs:string"/>
243
    </xs:simpleType>
244
    <xs:simpleType name="ServiceFlowNameType">
245
        <xs:annotation>
246
            <xs:documentation>
247
                The name of the service flow withing the event match that
248
                matches this event. This field is set by the Event Manager
249
                when it dispatches the event.
250
            </xs:documentation>
251
        </xs:annotation>
252
        <xs:restriction base="xs:string"/>
253
    </xs:simpleType>
254
    <xs:simpleType name="EnvironmentType">
255
        <xs:annotation>
256
            <xs:documentation>
257
                The name of the environment in which this event is being
258
                raised. This element will be set by the ALF Event
259
                manager from its installation configuration.
260
            </xs:documentation>
261
        </xs:annotation>
262
        <xs:restriction base="xs:string"/>
263
    </xs:simpleType>
264
    <xs:simpleType name="ALFSchemaVersionType">
265
        <xs:restriction base="xs:string">
266
            <xs:enumeration value="1.0"/>
267
        </xs:restriction>
268
    </xs:simpleType>
269
    <xs:complexType name="BaseExtensionType">
270
        <xs:annotation>
271
            <xs:documentation>
272
                Place holder type for future extensions of
273
                BaseExtensionType
274
            </xs:documentation>
275
        </xs:annotation>
276
        <xs:sequence>
277
            <xs:any namespace="targetnamespace" maxOccurs="unbounded"/>
278
        </xs:sequence>
279
        <xs:anyAttribute/>
280
    </xs:complexType>
281
    <xs:complexType name="EmExtensionType">
282
        <xs:annotation>
283
            <xs:documentation>
284
                Place holder type for future extensions of EmBaseType
285
            </xs:documentation>
286
        </xs:annotation>
287
        <xs:sequence>
288
            <xs:any namespace="targetnamespace" maxOccurs="unbounded"/>
289
        </xs:sequence>
290
        <xs:anyAttribute/>
291
    </xs:complexType>
292
    <xs:complexType name="DetailExtensionType">
293
        <xs:annotation>
294
            <xs:documentation>
295
                Place holder type for vocabulary based Event payload "details"
296
            </xs:documentation>
297
        </xs:annotation>
298
        <xs:sequence>
299
            <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/>
300
        </xs:sequence>
301
        <xs:anyAttribute/>
302
    </xs:complexType>
303
    <xs:complexType name="CustomExtensionType">
304
        <xs:annotation>
305
            <xs:documentation>
306
                Place holder type for custom Event payload "extensions"
307
            </xs:documentation>
308
        </xs:annotation>
309
        <xs:sequence>
310
            <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/>
311
        </xs:sequence>
312
        <xs:anyAttribute/>
313
    </xs:complexType>
314
    <!-- End EventBaseTypes -->
315
    <!--  BEGIN ALFEvent -->
316
    <xs:complexType name="ALFEventType">
317
        <xs:sequence>
318
            <xs:element name="Base" type="EventBaseType"/>
319
            <xs:element name="Detail" type="DetailExtensionType" minOccurs="0"/>
320
            <xs:element name="Extension" type="CustomExtensionType" minOccurs="0"/>
321
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
322
        </xs:sequence>
323
        <xs:attribute name="version" type="ALFSchemaVersionType" default="1.0"/>
324
    </xs:complexType>
325
    <xs:complexType name="ALFEventResponseType">
326
        <xs:sequence>
327
            <xs:any minOccurs="0"/>
328
        </xs:sequence>
329
    </xs:complexType>
330
    <xs:complexType name="ALFEventWithReplyResponseType">
331
        <xs:sequence>
332
            <xs:any minOccurs="0"/>
333
        </xs:sequence>
334
    </xs:complexType>
335
    <!--  END ALFEvent -->
336
    <!-- Event Notice -->
337
    <!-- Element declaration for creating documents -->
338
    <xs:element name="EventNotice" type="ALFEventType"/>
339
</xs:schema>