/xmlbench/trunk

To get this branch, use:
bzr branch http://darksoft.org/webbzr/xmlbench/trunk
1 by Suren A. Chilingaryan
Initial import
1
<?xml version="1.0" encoding="utf-8"?>
2
    <s:schema elementFormDefault="qualified" targetNamespace="http://opcfoundation.org/webservices/XMLDA/1.0/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://opcfoundation.org/webservices/XMLDA/1.0/">
3
      <s:element name="GetStatus">
4
        <s:complexType>
5
          <s:attribute name="LocaleID" type="s:string" />
6
          <s:attribute name="ClientRequestHandle" type="s:string" />
7
        </s:complexType>
8
      </s:element>
9
      <s:element name="GetStatusResponse">
10
        <s:complexType>
11
          <s:sequence>
12
            <s:element minOccurs="0" maxOccurs="1" name="GetStatusResult" type="s0:ReplyBase" />
13
            <s:element minOccurs="0" maxOccurs="1" name="Status" type="s0:ServerStatus" />
14
          </s:sequence>
15
        </s:complexType>
16
      </s:element>
17
      <s:complexType name="ReplyBase">
18
        <s:attribute name="RcvTime" type="s:dateTime" use="required" />
19
        <s:attribute name="ReplyTime" type="s:dateTime" use="required" />
20
        <s:attribute name="ClientRequestHandle" type="s:string" />
21
        <s:attribute name="RevisedLocaleID" type="s:string" />
22
        <s:attribute name="ServerState" type="s0:serverState" use="required" />
23
      </s:complexType>
24
      <s:simpleType name="serverState">
25
        <s:restriction base="s:string">
26
          <s:enumeration value="running" />
27
          <s:enumeration value="failed" />
28
          <s:enumeration value="noConfig" />
29
          <s:enumeration value="suspended" />
30
          <s:enumeration value="test" />
31
          <s:enumeration value="commFault" />
32
        </s:restriction>
33
      </s:simpleType>
34
      <s:complexType name="ServerStatus">
35
        <s:sequence>
36
          <s:element minOccurs="0" maxOccurs="1" name="StatusInfo" type="s:string" />
37
          <s:element minOccurs="0" maxOccurs="1" name="VendorInfo" type="s:string" />
38
          <s:element minOccurs="0" maxOccurs="unbounded" name="SupportedLocaleIDs" type="s:string" />
39
          <s:element minOccurs="0" maxOccurs="unbounded" name="SupportedInterfaceVersions" type="s0:interfaceVersion" />
40
        </s:sequence>
41
        <s:attribute name="StartTime" type="s:dateTime" use="required" />
42
        <s:attribute name="ProductVersion" type="s:string" />
43
      </s:complexType>
44
      <s:simpleType name="interfaceVersion">
45
        <s:restriction base="s:string">
46
          <s:enumeration value="XML_DA_Version_1_0" />
47
        </s:restriction>
48
      </s:simpleType>
49
      <s:element name="Read">
50
        <s:complexType>
51
          <s:sequence>
52
            <s:element minOccurs="0" maxOccurs="1" name="Options" type="s0:RequestOptions" />
53
            <s:element minOccurs="0" maxOccurs="1" name="ItemList" type="s0:ReadRequestItemList" />
54
          </s:sequence>
55
        </s:complexType>
56
      </s:element>
57
      <s:complexType name="RequestOptions">
58
        <s:attribute default="true" name="ReturnErrorText" type="s:boolean" />
59
        <s:attribute default="false" name="ReturnDiagnosticInfo" type="s:boolean" />
60
        <s:attribute default="false" name="ReturnItemTime" type="s:boolean" />
61
        <s:attribute default="false" name="ReturnItemPath" type="s:boolean" />
62
        <s:attribute default="false" name="ReturnItemName" type="s:boolean" />
63
        <s:attribute name="RequestDeadline" type="s:dateTime" />
64
        <s:attribute name="ClientRequestHandle" type="s:string" />
65
        <s:attribute name="LocaleID" type="s:string" />
66
      </s:complexType>
67
      <s:complexType name="ReadRequestItemList">
68
        <s:sequence>
69
          <s:element minOccurs="0" maxOccurs="unbounded" name="Items" type="s0:ReadRequestItem" />
70
        </s:sequence>
71
        <s:attribute name="ItemPath" type="s:string" />
72
        <s:attribute name="ReqType" type="s:QName" />
73
        <s:attribute name="MaxAge" type="s:int" />
74
      </s:complexType>
75
      <s:complexType name="ReadRequestItem">
76
        <s:attribute name="ItemPath" type="s:string" />
77
        <s:attribute name="ReqType" type="s:QName" />
78
        <s:attribute name="ItemName" type="s:string" />
79
        <s:attribute name="ClientItemHandle" type="s:string" />
80
        <s:attribute name="MaxAge" type="s:int" />
81
      </s:complexType>
82
      <s:element name="ReadResponse">
83
        <s:complexType>
84
          <s:sequence>
85
            <s:element minOccurs="0" maxOccurs="1" name="ReadResult" type="s0:ReplyBase" />
86
            <s:element minOccurs="0" maxOccurs="1" name="RItemList" type="s0:ReplyItemList" />
87
            <s:element minOccurs="0" maxOccurs="unbounded" name="Errors" type="s0:OPCError" />
88
          </s:sequence>
89
        </s:complexType>
90
      </s:element>
91
      <s:complexType name="ReplyItemList">
92
        <s:sequence>
93
          <s:element minOccurs="0" maxOccurs="unbounded" name="Items" type="s0:ItemValue" />
94
        </s:sequence>
95
        <s:attribute name="Reserved" type="s:string" />
96
      </s:complexType>
97
      <s:complexType name="ItemValue">
98
        <s:sequence>
99
          <s:element minOccurs="0" maxOccurs="1" name="DiagnosticInfo" type="s:string" />
100
          <s:element minOccurs="0" maxOccurs="1" name="Value" />
101
          <s:element minOccurs="0" maxOccurs="1" name="Quality" type="s0:OPCQuality" />
102
        </s:sequence>
103
        <s:attribute name="ValueTypeQualifier" type="s:QName" />
104
        <s:attribute name="ItemPath" type="s:string" />
105
        <s:attribute name="ItemName" type="s:string" />
106
        <s:attribute name="ClientItemHandle" type="s:string" />
107
        <s:attribute name="Timestamp" type="s:dateTime" />
108
        <s:attribute name="ResultID" type="s:QName" />
109
      </s:complexType>
110
      <s:complexType name="OPCQuality">
111
        <s:attribute default="good" name="QualityField" type="s0:qualityBits" />
112
        <s:attribute default="none" name="LimitField" type="s0:limitBits" />
113
        <s:attribute default="0" name="VendorField" type="s:unsignedByte" />
114
      </s:complexType>
115
      <s:simpleType name="qualityBits">
116
        <s:restriction base="s:string">
117
          <s:enumeration value="bad" />
118
          <s:enumeration value="badConfigurationError" />
119
          <s:enumeration value="badNotConnected" />
120
          <s:enumeration value="badDeviceFailure" />
121
          <s:enumeration value="badSensorFailure" />
122
          <s:enumeration value="badLastKnownValue" />
123
          <s:enumeration value="badCommFailure" />
124
          <s:enumeration value="badOutOfService" />
125
          <s:enumeration value="badWaitingForInitialData" />
126
          <s:enumeration value="uncertain" />
127
          <s:enumeration value="uncertainLastUsableValue" />
128
          <s:enumeration value="uncertainSensorNotAccurate" />
129
          <s:enumeration value="uncertainEUExceeded" />
130
          <s:enumeration value="uncertainSubNormal" />
131
          <s:enumeration value="good" />
132
          <s:enumeration value="goodLocalOverride" />
133
        </s:restriction>
134
      </s:simpleType>
135
      <s:simpleType name="limitBits">
136
        <s:restriction base="s:string">
137
          <s:enumeration value="none" />
138
          <s:enumeration value="low" />
139
          <s:enumeration value="high" />
140
          <s:enumeration value="constant" />
141
        </s:restriction>
142
      </s:simpleType>
143
      <s:complexType name="OPCError">
144
        <s:sequence>
145
          <s:element minOccurs="0" maxOccurs="1" name="Text" type="s:string" />
146
        </s:sequence>
147
        <s:attribute name="ID" type="s:QName" use="required" />
148
      </s:complexType>
149
      <s:complexType name="ArrayOfFloat">
150
        <s:sequence>
151
          <s:element minOccurs="0" maxOccurs="unbounded" name="float" type="s:float" />
152
        </s:sequence>
153
      </s:complexType>
154
      <s:complexType name="ArrayOfInt">
155
        <s:sequence>
156
          <s:element minOccurs="0" maxOccurs="unbounded" name="int" type="s:int" />
157
        </s:sequence>
158
      </s:complexType>
159
      <s:complexType name="ArrayOfUnsignedInt">
160
        <s:sequence>
161
          <s:element minOccurs="0" maxOccurs="unbounded" name="unsignedInt" type="s:unsignedInt" />
162
        </s:sequence>
163
      </s:complexType>
164
      <s:complexType name="ArrayOfLong">
165
        <s:sequence>
166
          <s:element minOccurs="0" maxOccurs="unbounded" name="long" type="s:long" />
167
        </s:sequence>
168
      </s:complexType>
169
      <s:complexType name="ArrayOfUnsignedLong">
170
        <s:sequence>
171
          <s:element minOccurs="0" maxOccurs="unbounded" name="unsignedLong" type="s:unsignedLong" />
172
        </s:sequence>
173
      </s:complexType>
174
      <s:complexType name="ArrayOfDouble">
175
        <s:sequence>
176
          <s:element minOccurs="0" maxOccurs="unbounded" name="double" type="s:double" />
177
        </s:sequence>
178
      </s:complexType>
179
      <s:complexType name="ArrayOfUnsignedShort">
180
        <s:sequence>
181
          <s:element minOccurs="0" maxOccurs="unbounded" name="unsignedShort" type="s:unsignedShort" />
182
        </s:sequence>
183
      </s:complexType>
184
      <s:complexType name="ArrayOfBoolean">
185
        <s:sequence>
186
          <s:element minOccurs="0" maxOccurs="unbounded" name="boolean" type="s:boolean" />
187
        </s:sequence>
188
      </s:complexType>
189
      <s:complexType name="ArrayOfString">
190
        <s:sequence>
191
          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
192
        </s:sequence>
193
      </s:complexType>
194
      <s:complexType name="ArrayOfDateTime">
195
        <s:sequence>
196
          <s:element minOccurs="0" maxOccurs="unbounded" name="dateTime" type="s:dateTime" />
197
        </s:sequence>
198
      </s:complexType>
199
      <s:complexType name="ArrayOfAnyType">
200
        <s:sequence>
201
          <s:element minOccurs="0" maxOccurs="unbounded" name="anyType" nillable="true" />
202
        </s:sequence>
203
      </s:complexType>
204
      <s:complexType name="ArrayOfDecimal">
205
        <s:sequence>
206
          <s:element minOccurs="0" maxOccurs="unbounded" name="decimal" type="s:decimal" />
207
        </s:sequence>
208
      </s:complexType>
209
      <s:complexType name="ArrayOfByte">
210
        <s:sequence>
211
          <s:element minOccurs="0" maxOccurs="unbounded" name="byte" type="s:byte" />
212
        </s:sequence>
213
      </s:complexType>
214
      <s:complexType name="ArrayOfShort">
215
        <s:sequence>
216
          <s:element minOccurs="0" maxOccurs="unbounded" name="short" type="s:short" />
217
        </s:sequence>
218
      </s:complexType>
219
      <s:element name="Write">
220
        <s:complexType>
221
          <s:sequence>
222
            <s:element minOccurs="0" maxOccurs="1" name="Options" type="s0:RequestOptions" />
223
            <s:element minOccurs="0" maxOccurs="1" name="ItemList" type="s0:WriteRequestItemList" />
224
          </s:sequence>
225
          <s:attribute name="ReturnValuesOnReply" type="s:boolean" use="required" />
226
        </s:complexType>
227
      </s:element>
228
      <s:complexType name="WriteRequestItemList">
229
        <s:sequence>
230
          <s:element minOccurs="0" maxOccurs="unbounded" name="Items" type="s0:ItemValue" />
231
        </s:sequence>
232
        <s:attribute name="ItemPath" type="s:string" />
233
      </s:complexType>
234
      <s:element name="WriteResponse">
235
        <s:complexType>
236
          <s:sequence>
237
            <s:element minOccurs="0" maxOccurs="1" name="WriteResult" type="s0:ReplyBase" />
238
            <s:element minOccurs="0" maxOccurs="1" name="RItemList" type="s0:ReplyItemList" />
239
            <s:element minOccurs="0" maxOccurs="unbounded" name="Errors" type="s0:OPCError" />
240
          </s:sequence>
241
        </s:complexType>
242
      </s:element>
243
      <s:element name="Subscribe">
244
        <s:complexType>
245
          <s:sequence>
246
            <s:element minOccurs="0" maxOccurs="1" name="Options" type="s0:RequestOptions" />
247
            <s:element minOccurs="0" maxOccurs="1" name="ItemList" type="s0:SubscribeRequestItemList" />
248
          </s:sequence>
249
          <s:attribute name="ReturnValuesOnReply" type="s:boolean" use="required" />
250
          <s:attribute default="0" name="SubscriptionPingRate" type="s:int" />
251
        </s:complexType>
252
      </s:element>
253
      <s:complexType name="SubscribeRequestItemList">
254
        <s:sequence>
255
          <s:element minOccurs="0" maxOccurs="unbounded" name="Items" type="s0:SubscribeRequestItem" />
256
        </s:sequence>
257
        <s:attribute name="ItemPath" type="s:string" />
258
        <s:attribute name="ReqType" type="s:QName" />
259
        <s:attribute name="Deadband" type="s:float" />
260
        <s:attribute name="RequestedSamplingRate" type="s:int" />
261
        <s:attribute name="EnableBuffering" type="s:boolean" />
262
      </s:complexType>
263
      <s:complexType name="SubscribeRequestItem">
264
        <s:attribute name="ItemPath" type="s:string" />
265
        <s:attribute name="ReqType" type="s:QName" />
266
        <s:attribute name="ItemName" type="s:string" />
267
        <s:attribute name="ClientItemHandle" type="s:string" />
268
        <s:attribute name="Deadband" type="s:float" />
269
        <s:attribute name="RequestedSamplingRate" type="s:int" />
270
        <s:attribute name="EnableBuffering" type="s:boolean" />
271
      </s:complexType>
272
      <s:complexType name="SubscribeReplyItemList">
273
        <s:sequence>
274
          <s:element minOccurs="0" maxOccurs="unbounded" name="Items" type="s0:SubscribeItemValue" />
275
        </s:sequence>
276
        <s:attribute name="RevisedSamplingRate" type="s:int" />
277
      </s:complexType>
278
      <s:complexType name="SubscribeItemValue">
279
        <s:sequence>
280
          <s:element minOccurs="0" maxOccurs="1" name="ItemValue" type="s0:ItemValue" />
281
        </s:sequence>
282
        <s:attribute name="RevisedSamplingRate" type="s:int" />
283
      </s:complexType>
284
      <s:element name="SubscribeResponse">
285
        <s:complexType>
286
          <s:sequence>
287
            <s:element minOccurs="0" maxOccurs="1" name="SubscribeResult" type="s0:ReplyBase" />
288
            <s:element minOccurs="0" maxOccurs="1" name="RItemList" type="s0:SubscribeReplyItemList" />
289
            <s:element minOccurs="0" maxOccurs="unbounded" name="Errors" type="s0:OPCError" />
290
          </s:sequence>
291
          <s:attribute name="ServerSubHandle" type="s:string" />
292
        </s:complexType>
293
      </s:element>
294
      <s:element name="SubscriptionPolledRefresh">
295
        <s:complexType>
296
          <s:sequence>
297
            <s:element minOccurs="0" maxOccurs="1" name="Options" type="s0:RequestOptions" />
298
            <s:element minOccurs="0" maxOccurs="unbounded" name="ServerSubHandles" type="s:string" />
299
          </s:sequence>
300
          <s:attribute name="HoldTime" type="s:dateTime" />
301
          <s:attribute default="0" name="WaitTime" type="s:int" />
302
          <s:attribute default="false" name="ReturnAllItems" type="s:boolean" />
303
        </s:complexType>
304
      </s:element>
305
      <s:complexType name="SubscribePolledRefreshReplyItemList">
306
        <s:sequence>
307
          <s:element minOccurs="0" maxOccurs="unbounded" name="Items" type="s0:ItemValue" />
308
        </s:sequence>
309
        <s:attribute name="SubscriptionHandle" type="s:string" />
310
      </s:complexType>
311
      <s:element name="SubscriptionPolledRefreshResponse">
312
        <s:complexType>
313
          <s:sequence>
314
            <s:element minOccurs="0" maxOccurs="1" name="SubscriptionPolledRefreshResult" type="s0:ReplyBase" />
315
            <s:element minOccurs="0" maxOccurs="unbounded" name="InvalidServerSubHandles" type="s:string" />
316
            <s:element minOccurs="0" maxOccurs="unbounded" name="RItemList" type="s0:SubscribePolledRefreshReplyItemList" />
317
            <s:element minOccurs="0" maxOccurs="unbounded" name="Errors" type="s0:OPCError" />
318
          </s:sequence>
319
          <s:attribute default="false" name="DataBufferOverflow" type="s:boolean" />
320
        </s:complexType>
321
      </s:element>
322
      <s:element name="SubscriptionCancel">
323
        <s:complexType>
324
          <s:attribute name="ServerSubHandle" type="s:string" />
325
          <s:attribute name="ClientRequestHandle" type="s:string" />
326
        </s:complexType>
327
      </s:element>
328
      <s:element name="SubscriptionCancelResponse">
329
        <s:complexType>
330
          <s:attribute name="ClientRequestHandle" type="s:string" />
331
        </s:complexType>
332
      </s:element>
333
      <s:element name="Browse">
334
        <s:complexType>
335
          <s:sequence>
336
            <s:element minOccurs="0" maxOccurs="unbounded" name="PropertyNames" type="s:QName" />
337
          </s:sequence>
338
          <s:attribute name="LocaleID" type="s:string" />
339
          <s:attribute name="ClientRequestHandle" type="s:string" />
340
          <s:attribute name="ItemPath" type="s:string" />
341
          <s:attribute name="ItemName" type="s:string" />
342
          <s:attribute name="ContinuationPoint" type="s:string" />
343
          <s:attribute default="0" name="MaxElementsReturned" type="s:int" />
344
          <s:attribute default="all" name="BrowseFilter" type="s0:browseFilter" />
345
          <s:attribute name="ElementNameFilter" type="s:string" />
346
          <s:attribute name="VendorFilter" type="s:string" />
347
          <s:attribute default="false" name="ReturnAllProperties" type="s:boolean" />
348
          <s:attribute default="false" name="ReturnPropertyValues" type="s:boolean" />
349
          <s:attribute default="false" name="ReturnErrorText" type="s:boolean" />
350
        </s:complexType>
351
      </s:element>
352
      <s:simpleType name="browseFilter">
353
        <s:restriction base="s:string">
354
          <s:enumeration value="all" />
355
          <s:enumeration value="branch" />
356
          <s:enumeration value="item" />
357
        </s:restriction>
358
      </s:simpleType>
359
      <s:complexType name="BrowseElement">
360
        <s:sequence>
361
          <s:element minOccurs="0" maxOccurs="unbounded" name="Properties" type="s0:ItemProperty" />
362
        </s:sequence>
363
        <s:attribute name="Name" type="s:string" />
364
        <s:attribute name="ItemPath" type="s:string" />
365
        <s:attribute name="ItemName" type="s:string" />
366
        <s:attribute name="IsItem" type="s:boolean" use="required" />
367
        <s:attribute name="HasChildren" type="s:boolean" use="required" />
368
      </s:complexType>
369
      <s:complexType name="ItemProperty">
370
        <s:sequence>
371
          <s:element minOccurs="0" maxOccurs="1" name="Value" />
372
        </s:sequence>
373
        <s:attribute name="Name" type="s:QName" use="required" />
374
        <s:attribute name="Description" type="s:string" />
375
        <s:attribute name="ItemPath" type="s:string" />
376
        <s:attribute name="ItemName" type="s:string" />
377
        <s:attribute name="ResultID" type="s:QName" />
378
      </s:complexType>
379
      <s:element name="BrowseResponse">
380
        <s:complexType>
381
          <s:sequence>
382
            <s:element minOccurs="0" maxOccurs="1" name="BrowseResult" type="s0:ReplyBase" />
383
            <s:element minOccurs="0" maxOccurs="unbounded" name="Elements" type="s0:BrowseElement" />
384
            <s:element minOccurs="0" maxOccurs="unbounded" name="Errors" type="s0:OPCError" />
385
          </s:sequence>
386
          <s:attribute name="ContinuationPoint" type="s:string" />
387
          <s:attribute default="false" name="MoreElements" type="s:boolean" />
388
        </s:complexType>
389
      </s:element>
390
      <s:element name="GetProperties">
391
        <s:complexType>
392
          <s:sequence>
393
            <s:element minOccurs="0" maxOccurs="unbounded" name="ItemIDs" type="s0:ItemIdentifier" />
394
            <s:element minOccurs="0" maxOccurs="unbounded" name="PropertyNames" type="s:QName" />
395
          </s:sequence>
396
          <s:attribute name="LocaleID" type="s:string" />
397
          <s:attribute name="ClientRequestHandle" type="s:string" />
398
          <s:attribute name="ItemPath" type="s:string" />
399
          <s:attribute default="false" name="ReturnAllProperties" type="s:boolean" />
400
          <s:attribute default="false" name="ReturnPropertyValues" type="s:boolean" />
401
          <s:attribute default="false" name="ReturnErrorText" type="s:boolean" />
402
        </s:complexType>
403
      </s:element>
404
      <s:complexType name="ItemIdentifier">
405
        <s:attribute name="ItemPath" type="s:string" />
406
        <s:attribute name="ItemName" type="s:string" />
407
      </s:complexType>
408
      <s:complexType name="PropertyReplyList">
409
        <s:sequence>
410
          <s:element minOccurs="0" maxOccurs="unbounded" name="Properties" type="s0:ItemProperty" />
411
        </s:sequence>
412
        <s:attribute name="ItemPath" type="s:string" />
413
        <s:attribute name="ItemName" type="s:string" />
414
        <s:attribute name="ResultID" type="s:QName" />
415
      </s:complexType>
416
      <s:element name="GetPropertiesResponse">
417
        <s:complexType>
418
          <s:sequence>
419
            <s:element minOccurs="0" maxOccurs="1" name="GetPropertiesResult" type="s0:ReplyBase" />
420
            <s:element minOccurs="0" maxOccurs="unbounded" name="PropertyLists" type="s0:PropertyReplyList" />
421
            <s:element minOccurs="0" maxOccurs="unbounded" name="Errors" type="s0:OPCError" />
422
          </s:sequence>
423
        </s:complexType>
424
      </s:element>
425
    </s:schema>