Project

General

Profile

Files » UANodeSet.xsd

Michel Condemine Admin, 12/19/2016 06:04 PM

 
1
<?xml version="1.0" encoding="utf-8"?>
2
<xs:schema
3
    targetNamespace="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd"
4
    elementFormDefault="qualified"
5
    xmlns="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd"
6
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
7
>
8
  <xs:element name="UANodeSet">
9
    <xs:complexType>
10
      <xs:sequence>
11
        <xs:element name="NamespaceUris" type="UriTable" minOccurs="0"></xs:element>
12
        <xs:element name="ServerUris" type ="UriTable" minOccurs="0"></xs:element>
13
        <xs:element name="Models" type="ModelTable" minOccurs="0"></xs:element>
14
        <xs:element name="Aliases" type ="AliasTable" minOccurs="0"></xs:element>
15
        <xs:element name="Extensions" type="ListOfExtensions" minOccurs="0"></xs:element>
16
        <xs:choice minOccurs="0" maxOccurs="unbounded">
17
          <xs:element name="UAObject" type="UAObject"></xs:element>
18
          <xs:element name="UAVariable" type="UAVariable"></xs:element>
19
          <xs:element name="UAMethod" type="UAMethod"></xs:element>
20
          <xs:element name="UAView" type="UAView"></xs:element>
21
          <xs:element name="UAObjectType" type="UAObjectType"></xs:element>
22
          <xs:element name="UAVariableType" type="UAVariableType"></xs:element>
23
          <xs:element name="UADataType" type="UADataType"></xs:element>
24
          <xs:element name="UAReferenceType" type="UAReferenceType"></xs:element>
25
        </xs:choice>
26
      </xs:sequence>
27
      <xs:attribute name="LastModified" type="xs:dateTime" use="optional"></xs:attribute>
28
    </xs:complexType>
29
  </xs:element>
30
  
31
  <xs:element name="UANodeSetChanges">
32
    <xs:complexType>
33
      <xs:sequence>
34
        <xs:element name="NamespaceUris" type ="UriTable" minOccurs="0"></xs:element>
35
        <xs:element name="ServerUris" type ="UriTable" minOccurs="0"></xs:element>
36
        <xs:element name="Aliases" type ="AliasTable" minOccurs="0"></xs:element>
37
        <xs:element name="Extensions" type="ListOfExtensions" minOccurs="0"></xs:element>
38
        <xs:element name="NodesToAdd" type="NodesToAdd" minOccurs="0"></xs:element>
39
        <xs:element name="ReferencesToAdd" type="ReferencesToChange" minOccurs="0"></xs:element>
40
        <xs:element name="NodesToDelete" type="NodesToDelete" minOccurs="0"></xs:element>
41
        <xs:element name="ReferencesToDelete" type="ReferencesToChange" minOccurs="0"></xs:element>
42
      </xs:sequence>
43
      <xs:attribute name="LastModified" type="xs:dateTime" use="optional"></xs:attribute>
44
      <xs:attribute name="TransactionId" type="xs:string" use="required"></xs:attribute>
45
      <xs:attribute name="AcceptAllOrNothing" type="xs:boolean" default="false"></xs:attribute>
46
    </xs:complexType>
47
  </xs:element>
48

    
49
  <xs:element name="UANodeSetChangesStatus">
50
    <xs:complexType>
51
      <xs:sequence>
52
        <xs:element name="NodesToAdd" type="NodeSetStatusList" minOccurs="0"></xs:element>
53
        <xs:element name="ReferencesToAdd" type="NodeSetStatusList" minOccurs="0"></xs:element>
54
        <xs:element name="NodesToDelete" type="NodeSetStatusList" minOccurs="0"></xs:element>
55
        <xs:element name="ReferencesToDelete" type="NodeSetStatusList" minOccurs="0"></xs:element>
56
      </xs:sequence>
57
      <xs:attribute name="LastModified" type="xs:dateTime" use="optional"></xs:attribute>
58
      <xs:attribute name="TransactionId" type="xs:string" use="required"></xs:attribute>
59
    </xs:complexType>
60
  </xs:element>
61
  
62
  <xs:complexType name="NodesToAdd">
63
    <xs:choice minOccurs="0" maxOccurs="unbounded">
64
      <xs:element name="UAObject" type="UAObject"></xs:element>
65
      <xs:element name="UAVariable" type="UAVariable"></xs:element>
66
      <xs:element name="UAMethod" type="UAMethod"></xs:element>
67
      <xs:element name="UAView" type="UAView"></xs:element>
68
      <xs:element name="UAObjectType" type="UAObjectType"></xs:element>
69
      <xs:element name="UAVariableType" type="UAVariableType"></xs:element>
70
      <xs:element name="UADataType" type="UADataType"></xs:element>
71
      <xs:element name="UAReferenceType" type="UAReferenceType"></xs:element>
72
    </xs:choice>
73
  </xs:complexType>
74

    
75
  <xs:complexType name="NodesToDelete">
76
    <xs:sequence>
77
      <xs:element name="Node" type="NodeToDelete" minOccurs="0" maxOccurs="unbounded"></xs:element>
78
    </xs:sequence>
79
  </xs:complexType>
80
  
81
  <xs:complexType name="NodeToDelete">
82
    <xs:simpleContent>
83
      <xs:extension base="NodeId">
84
        <xs:attribute name="DeleteReverseReferences" type="xs:boolean" default="true"></xs:attribute>
85
      </xs:extension>
86
    </xs:simpleContent>
87
  </xs:complexType>
88

    
89
  <xs:complexType name="ReferencesToChange">
90
    <xs:sequence>
91
      <xs:element name="Reference" type="ReferenceChange" minOccurs="0" maxOccurs="unbounded"></xs:element>
92
    </xs:sequence>
93
  </xs:complexType>
94
  
95
  <xs:complexType name="ReferenceChange">
96
    <xs:simpleContent>
97
      <xs:extension base="NodeId">
98
        <xs:attribute name="Source" type="NodeId" use="required"></xs:attribute>
99
        <xs:attribute name="ReferenceType" type="NodeId" use="required"></xs:attribute>
100
        <xs:attribute name="IsForward" type="xs:boolean" default="true"></xs:attribute>
101
      </xs:extension>
102
    </xs:simpleContent>
103
  </xs:complexType>
104

    
105
  <xs:complexType name="NodeSetStatus">
106
    <xs:simpleContent>
107
      <xs:extension base="xs:string">
108
        <xs:attribute name="Code" type="xs:unsignedInt" default="0"></xs:attribute>
109
      </xs:extension>
110
    </xs:simpleContent>
111
  </xs:complexType>
112

    
113
  <xs:complexType name="NodeSetStatusList">
114
    <xs:sequence>
115
      <xs:element name="Status" type="NodeSetStatus" minOccurs="0" maxOccurs="unbounded"></xs:element>
116
    </xs:sequence>
117
  </xs:complexType>
118
  
119
  <xs:complexType name="UriTable">
120
    <xs:sequence>
121
      <xs:element name="Uri" type="xs:string" minOccurs="0" maxOccurs="unbounded"></xs:element>
122
    </xs:sequence>
123
  </xs:complexType>
124

    
125
  <xs:complexType name="ModelTableEntry">
126
    <xs:sequence>
127
      <xs:element name="RequiredModel" type="ModelTableEntry" minOccurs="0" maxOccurs="unbounded"></xs:element>
128
    </xs:sequence>
129
    <xs:attribute name="ModelUri" type="xs:string" use="optional"></xs:attribute>
130
    <xs:attribute name="Version" type="xs:string" use="optional"></xs:attribute>
131
    <xs:attribute name="PublicationDate" type="xs:dateTime" use="optional"></xs:attribute>
132
  </xs:complexType>
133

    
134
  <xs:complexType name="ModelTable">
135
    <xs:sequence>
136
      <xs:element name="Model" type="ModelTableEntry" minOccurs="0" maxOccurs="unbounded"></xs:element>
137
    </xs:sequence>
138
  </xs:complexType>
139

    
140
  <xs:simpleType name="NodeId">
141
    <xs:restriction base="xs:string"></xs:restriction>
142
  </xs:simpleType>
143

    
144
  <xs:simpleType name="QualifiedName">
145
    <xs:restriction base="xs:string"></xs:restriction>
146
  </xs:simpleType>
147

    
148
  <xs:complexType name="NodeIdAlias">
149
    <xs:simpleContent>
150
      <xs:extension base="NodeId">
151
        <xs:attribute name="Alias" type="xs:string"></xs:attribute>
152
      </xs:extension>
153
    </xs:simpleContent>
154
  </xs:complexType>
155

    
156
  <xs:complexType name="AliasTable">
157
    <xs:sequence>
158
      <xs:element name="Alias" type="NodeIdAlias" minOccurs="0" maxOccurs="unbounded"></xs:element>
159
    </xs:sequence>
160
  </xs:complexType>
161

    
162
  <xs:simpleType name="Locale">
163
    <xs:restriction base="xs:string"></xs:restriction>
164
  </xs:simpleType>
165

    
166
  <xs:complexType name="LocalizedText">
167
    <xs:simpleContent>
168
      <xs:extension base="xs:string">
169
        <xs:attribute name="Locale" type="Locale" default=""></xs:attribute>
170
      </xs:extension>
171
    </xs:simpleContent>
172
  </xs:complexType>
173

    
174
  <xs:simpleType name="WriteMask">
175
    <xs:restriction base="xs:unsignedInt"></xs:restriction>
176
  </xs:simpleType>
177

    
178
  <xs:simpleType name="EventNotifier">
179
    <xs:restriction base="xs:unsignedByte"></xs:restriction>
180
  </xs:simpleType>
181

    
182
  <xs:simpleType name="ValueRank">
183
    <xs:restriction base="xs:int"></xs:restriction>
184
  </xs:simpleType>
185

    
186
  <xs:simpleType name="ArrayDimensions">
187
    <xs:list>
188
      <xs:simpleType>
189
        <xs:restriction base="xs:token">
190
          <xs:pattern value="([0-9]*,|[0-9]*)*"></xs:pattern>
191
        </xs:restriction>
192
      </xs:simpleType>
193
    </xs:list>
194
  </xs:simpleType>
195

    
196
  <xs:simpleType name="SymbolicName">
197
    <xs:list>
198
      <xs:simpleType>
199
        <xs:restriction base="xs:string">
200
          <xs:pattern value="(\p{L})(\p{L}|\p{N}|_)*"></xs:pattern>
201
        </xs:restriction>
202
      </xs:simpleType>
203
    </xs:list>
204
  </xs:simpleType>
205

    
206
  <xs:simpleType name="CardinalityType">
207
    <xs:list>
208
      <xs:simpleType>
209
        <xs:restriction base="xs:string">
210
          <xs:pattern value="(\p{N})*|unbounded"></xs:pattern>
211
        </xs:restriction>
212
      </xs:simpleType>
213
    </xs:list>
214
  </xs:simpleType>
215

    
216
  <xs:simpleType name="Duration">
217
    <xs:restriction base="xs:double"></xs:restriction>
218
  </xs:simpleType>
219

    
220
  <xs:simpleType name="AccessLevel">
221
    <xs:restriction base="xs:unsignedByte"></xs:restriction>
222
  </xs:simpleType>
223

    
224
  <xs:complexType name="Reference">
225
    <xs:simpleContent>
226
      <xs:extension base="NodeId">
227
        <xs:attribute name="ReferenceType" type="NodeId" use="required"></xs:attribute>
228
        <xs:attribute name="IsForward" type="xs:boolean" default="true"></xs:attribute>
229
      </xs:extension>
230
    </xs:simpleContent>
231
  </xs:complexType>
232

    
233
  <xs:complexType name="ListOfReferences">
234
    <xs:sequence>
235
      <xs:element name="Reference" type="Reference" minOccurs="0" maxOccurs="unbounded"></xs:element>
236
    </xs:sequence>
237
  </xs:complexType>
238

    
239
  <xs:complexType name="ListOfExtensions">
240
    <xs:sequence>
241
      <xs:element name="Extension" minOccurs="0" maxOccurs="unbounded">
242
        <xs:complexType>
243
          <xs:sequence>
244
            <xs:any minOccurs="0" processContents="lax" />
245
          </xs:sequence>
246
        </xs:complexType>
247
      </xs:element>
248
    </xs:sequence>
249
  </xs:complexType>
250

    
251
  <xs:complexType name="UANode">
252
    <xs:sequence>
253
      <xs:element name="DisplayName" type="LocalizedText" minOccurs="0" maxOccurs="unbounded"></xs:element>
254
      <xs:element name="Description" type="LocalizedText" minOccurs="0" maxOccurs="unbounded"></xs:element>
255
      <xs:element name="Category" type="xs:string" minOccurs="0" maxOccurs="unbounded"></xs:element>
256
      <xs:element name="Documentation" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
257
      <xs:element name="References" type="ListOfReferences" minOccurs="0"></xs:element>
258
      <xs:element name="Extensions" type="ListOfExtensions" minOccurs="0"></xs:element>
259
    </xs:sequence>
260
    <xs:attribute name="NodeId" type="NodeId" use="required"></xs:attribute>
261
    <xs:attribute name="BrowseName" type="QualifiedName" use="required"></xs:attribute>
262
    <xs:attribute name="WriteMask" type="WriteMask" default="0"></xs:attribute>
263
    <xs:attribute name="UserWriteMask" type="WriteMask" default="0"></xs:attribute>
264
    <xs:attribute name="SymbolicName" type="SymbolicName" use="optional"></xs:attribute>
265
  </xs:complexType>
266

    
267
  <xs:complexType name="UAInstance">
268
    <xs:complexContent>
269
      <xs:extension base="UANode">
270
        <xs:attribute name="ParentNodeId" type="NodeId" use="optional"></xs:attribute>
271
      </xs:extension>
272
    </xs:complexContent>
273
  </xs:complexType>
274

    
275
  <xs:complexType name="UAObject">
276
    <xs:complexContent>
277
      <xs:extension base="UAInstance">
278
        <xs:attribute name="EventNotifier" type="EventNotifier" default="0"></xs:attribute>
279
      </xs:extension>
280
    </xs:complexContent>
281
  </xs:complexType>
282

    
283
  <xs:complexType name="UAVariable">
284
    <xs:complexContent>
285
      <xs:extension base="UAInstance">
286
        <xs:sequence>
287
          <xs:element name="Value" minOccurs="0">
288
            <xs:complexType>
289
              <xs:sequence>
290
                <xs:any minOccurs="0" processContents="lax" />
291
              </xs:sequence>
292
            </xs:complexType>
293
          </xs:element>
294
          <xs:element name="Translation" type="TranslationType" minOccurs="0" maxOccurs="unbounded"></xs:element>
295
        </xs:sequence>
296
        <xs:attribute name="DataType" type="NodeId" default="i=24"></xs:attribute>
297
        <xs:attribute name="ValueRank" type="ValueRank" default="-1"></xs:attribute>
298
        <xs:attribute name="ArrayDimensions" type="ArrayDimensions" default=""></xs:attribute>
299
        <xs:attribute name="AccessLevel" type="AccessLevel" default="1"></xs:attribute>
300
        <xs:attribute name="UserAccessLevel" type="AccessLevel" default="1"></xs:attribute>
301
        <xs:attribute name="MinimumSamplingInterval" type="Duration" default="0"></xs:attribute>
302
        <xs:attribute name="Historizing" type="xs:boolean" default="false"></xs:attribute>
303
      </xs:extension>
304
    </xs:complexContent>
305
  </xs:complexType>
306

    
307
  <xs:complexType name="UAMethodArgument">
308
    <xs:sequence>
309
      <xs:element name="Name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
310
      <xs:element name="Description" type="LocalizedText" minOccurs="0" maxOccurs="unbounded"></xs:element>
311
    </xs:sequence>
312
  </xs:complexType>
313
  
314
  <xs:complexType name="UAMethod">
315
    <xs:complexContent>
316
      <xs:extension base="UAInstance">
317
        <xs:sequence>
318
          <xs:element name="ArgumentDescription" type="UAMethodArgument" minOccurs="0" maxOccurs="unbounded"></xs:element>
319
        </xs:sequence>
320
        <xs:attribute name="Executable" type="xs:boolean" default="true"></xs:attribute>
321
        <xs:attribute name="UserExecutable" type="xs:boolean" default="true"></xs:attribute>
322
        <xs:attribute name="MethodDeclarationId" type="NodeId" use="optional"></xs:attribute>
323
      </xs:extension>
324
    </xs:complexContent>
325
  </xs:complexType>
326

    
327
  <xs:complexType name="TranslationType">
328
    <xs:choice minOccurs="0">
329
      <xs:element name="Text" type="LocalizedText" minOccurs="0" maxOccurs="unbounded"></xs:element>
330
      <xs:element name="Field" type="StructureTranslationType" minOccurs="0" maxOccurs="unbounded"></xs:element>
331
    </xs:choice>
332
  </xs:complexType>
333

    
334
  <xs:complexType name="StructureTranslationType">
335
    <xs:sequence>
336
      <xs:element name="Text" type="LocalizedText" minOccurs="0" maxOccurs="unbounded"></xs:element>
337
    </xs:sequence>
338
    <xs:attribute name="Name" type="xs:string" use="required"></xs:attribute>
339
  </xs:complexType>
340

    
341
  <xs:complexType name="UAView">
342
    <xs:complexContent>
343
      <xs:extension base="UAInstance">
344
        <xs:attribute name="ContainsNoLoops" type="xs:boolean" default="false"></xs:attribute>
345
        <xs:attribute name="EventNotifier" type="EventNotifier" default="0"></xs:attribute>
346
      </xs:extension>
347
    </xs:complexContent>
348
  </xs:complexType>
349

    
350
  <xs:complexType name="UAType">
351
    <xs:complexContent>
352
      <xs:extension base="UANode">
353
        <xs:attribute name="IsAbstract" type="xs:boolean" default="false"></xs:attribute>
354
      </xs:extension>
355
    </xs:complexContent>
356
  </xs:complexType>
357

    
358
  <xs:complexType name="UAObjectType">
359
    <xs:complexContent>
360
      <xs:extension base="UAType"></xs:extension>
361
    </xs:complexContent>
362
  </xs:complexType>
363

    
364
  <xs:complexType name="UAVariableType">
365
    <xs:complexContent>
366
      <xs:extension base="UAType">
367
        <xs:sequence>
368
          <xs:element name="Value" minOccurs="0">
369
            <xs:complexType>
370
              <xs:sequence>
371
                <xs:any minOccurs="0" processContents="lax" />
372
              </xs:sequence>
373
            </xs:complexType>
374
          </xs:element>
375
        </xs:sequence>
376
        <xs:attribute name="DataType" type="NodeId" default="i=24"></xs:attribute>
377
        <xs:attribute name="ValueRank" type="ValueRank" default="-1"></xs:attribute>
378
        <xs:attribute name="ArrayDimensions" type="ArrayDimensions" default=""></xs:attribute>
379
      </xs:extension>
380
    </xs:complexContent>
381
  </xs:complexType>
382

    
383
  <xs:complexType name="UADataType">
384
    <xs:complexContent>
385
      <xs:extension base="UAType">
386
        <xs:sequence>
387
          <xs:element name="Definition" type="DataTypeDefinition" minOccurs="0"></xs:element>
388
        </xs:sequence>
389
      </xs:extension>
390
    </xs:complexContent>
391
  </xs:complexType>
392

    
393
  <xs:complexType name="DataTypeDefinition">
394
    <xs:sequence>
395
      <xs:element name="Field" type="DataTypeField" minOccurs="0" maxOccurs="unbounded"></xs:element>
396
    </xs:sequence>
397
    <xs:attribute name="Name" type="QualifiedName" use="required"></xs:attribute>
398
    <xs:attribute name="BaseType" type="QualifiedName" use="optional" default=""></xs:attribute>
399
    <xs:attribute name="SymbolicName" type="SymbolicName" use="optional" default=""></xs:attribute>
400
    <xs:attribute name="IsUnion" type="xs:boolean" use="optional" default="false"></xs:attribute>
401
  </xs:complexType>
402

    
403
  <xs:complexType name="DataTypeField">
404
    <xs:sequence>
405
      <xs:element name="DisplayName" type="LocalizedText" minOccurs="0" maxOccurs="unbounded"></xs:element>
406
      <xs:element name="Description" type="LocalizedText" minOccurs="0" maxOccurs="unbounded"></xs:element>
407
      <xs:element name="Definition" type="DataTypeDefinition" minOccurs="0"></xs:element>
408
    </xs:sequence>
409
    <xs:attribute name="Name" type="xs:string" use="required"></xs:attribute>
410
    <xs:attribute name="SymbolicName" type="SymbolicName" use="optional"></xs:attribute>
411
    <xs:attribute name="DataType" type="NodeId" default="i=24"></xs:attribute>
412
    <xs:attribute name="ValueRank" type="ValueRank" default="-1"></xs:attribute>
413
    <xs:attribute name="Value" type="xs:int" default="-1"></xs:attribute>
414
    <xs:attribute name="IsOptional" type="xs:boolean" use="optional" default="false"></xs:attribute>
415
  </xs:complexType>
416

    
417
  <xs:complexType name="UAReferenceType">
418
    <xs:complexContent>
419
      <xs:extension base="UAType">
420
        <xs:sequence>
421
          <xs:element name="InverseName" type="LocalizedText" minOccurs="0" maxOccurs="unbounded"></xs:element>
422
        </xs:sequence>
423
        <xs:attribute name="Symmetric" type="xs:boolean" default="false"></xs:attribute>
424
      </xs:extension>
425
    </xs:complexContent>
426
  </xs:complexType>
427

    
428
</xs:schema>
429

    
(4-4/5)