@@ -8,6 +8,11 @@ This schema describes the format of the XML files, that describe the ZCL specifi
8
8
(c) Copyright 2012, 2021, Silicon Laboratories Inc.
9
9
</xs : documentation >
10
10
</xs : annotation >
11
+ <xs : simpleType name =" integerWithHex" >
12
+ <xs : restriction base =" xs:string" >
13
+ <xs : pattern value =" 0x[0-9A-Fa-f]+|[0-9]+" />
14
+ </xs : restriction >
15
+ </xs : simpleType >
11
16
<xs : complexType name =" access" >
12
17
<xs : attribute name =" op" type =" xs:string" />
13
18
<xs : attribute name =" role" type =" xs:string" />
@@ -20,12 +25,18 @@ This schema describes the format of the XML files, that describe the ZCL specifi
20
25
<xs : attribute name =" type" use =" required" type =" xs:string" />
21
26
<xs : attribute name =" array" type =" xs:boolean" />
22
27
<xs : attribute name =" isNullable" type =" xs:boolean" />
28
+ <xs : attribute name =" optional" type =" xs:boolean" default =" false" />
29
+ <xs : attribute name =" min" type =" integerWithHex" />
30
+ <xs : attribute name =" max" type =" integerWithHex" />
23
31
</xs : complexType >
24
32
<xs : complexType name =" tag" >
25
33
<xs : attribute name =" name" use =" required" type =" xs:string" />
26
34
<xs : attribute name =" description" use =" required" type =" xs:string" />
27
35
</xs : complexType >
28
36
<xs : complexType name =" arg" >
37
+ <xs : attribute name =" id" type =" integerWithHex" />
38
+ <xs : attribute name =" min" type =" integerWithHex" />
39
+ <xs : attribute name =" max" type =" integerWithHex" />
29
40
<xs : attribute name =" arrayLength" type =" xs:boolean" />
30
41
<xs : attribute name =" array" type =" xs:boolean" />
31
42
<xs : attribute name =" default" type =" xs:string" />
@@ -36,8 +47,8 @@ This schema describes the format of the XML files, that describe the ZCL specifi
36
47
<xs : attribute name =" type" use =" required" />
37
48
<xs : attribute name =" length" type =" xs:int" />
38
49
<xs : attribute name =" presentIf" type =" xs:string" />
39
- <xs : attribute name =" optional" type =" xs:integer " />
40
- <xs : attribute name =" fieldId" type =" xs:integer " />
50
+ <xs : attribute name =" optional" type =" integerWithHex " />
51
+ <xs : attribute name =" fieldId" type =" integerWithHex " />
41
52
<xs : attribute name =" countArg" type =" xs:string" />
42
53
<xs : attribute name =" isNullable" type =" xs:boolean" />
43
54
</xs : complexType >
@@ -51,12 +62,15 @@ This schema describes the format of the XML files, that describe the ZCL specifi
51
62
<xs : attribute name =" value" type =" xs:string" />
52
63
<xs : attribute name =" array" type =" xs:boolean" />
53
64
<xs : attribute name =" enum" type =" xs:boolean" />
54
- <xs : attribute name =" fieldId" type =" xs:integer" />
65
+ <xs : attribute name =" fieldId" type =" integerWithHex" />
66
+ <xs : attribute name =" min" type =" integerWithHex" />
67
+ <xs : attribute name =" max" type =" integerWithHex" />
68
+ <xs : attribute name =" default" type =" xs:string" />
55
69
<xs : attribute name =" isNullable" type =" xs:boolean" />
56
70
</xs : complexType >
57
71
<xs : complexType name =" featureBit" mixed =" true" >
58
72
<xs : attribute name =" tag" use =" required" type =" xs:string" />
59
- <xs : attribute name =" bit" use =" required" type =" xs:integer " />
73
+ <xs : attribute name =" bit" use =" required" type =" integerWithHex " />
60
74
</xs : complexType >
61
75
<xs : element name =" cli" >
62
76
<xs : complexType >
@@ -134,6 +148,15 @@ This schema describes the format of the XML files, that describe the ZCL specifi
134
148
</xs : choice >
135
149
</xs : sequence >
136
150
</xs : complexType >
151
+
152
+ <xs : unique name =" structNameKey" >
153
+ <xs : selector xpath =" ./struct|enum" />
154
+ <xs : field xpath =" @name" />
155
+ </xs : unique >
156
+ <xs : keyref name =" attributeEntryTypeStructRef" refer =" structNameKey" >
157
+ <xs : selector xpath =" ./cluster/attribute" />
158
+ <xs : field xpath =" @entryType" />
159
+ </xs : keyref >
137
160
</xs : element >
138
161
<xs : element name =" deviceType" >
139
162
<xs : complexType >
@@ -231,7 +254,7 @@ This schema describes the format of the XML files, that describe the ZCL specifi
231
254
<xs : attribute name =" id" use =" required" type =" xs:string" />
232
255
<xs : attribute name =" name" use =" required" type =" xs:string" />
233
256
<xs : attribute name =" description" use =" required" type =" xs:string" />
234
- <xs : attribute name =" size" type =" xs:integer " />
257
+ <xs : attribute name =" size" type =" integerWithHex " />
235
258
<xs : attribute name =" discrete" type =" xs:boolean" />
236
259
<xs : attribute name =" signed" type =" xs:boolean" />
237
260
<xs : attribute name =" string" type =" xs:boolean" />
@@ -256,7 +279,7 @@ This schema describes the format of the XML files, that describe the ZCL specifi
256
279
<xs : attribute name =" mask" use =" required" type =" xs:string" />
257
280
<xs : attribute name =" name" use =" required" type =" xs:string" />
258
281
<xs : attribute name =" introducedIn" type =" zclSpecVersion" />
259
- <xs : attribute name =" fieldId" type =" xs:integer " />
282
+ <xs : attribute name =" fieldId" type =" integerWithHex " />
260
283
</xs : complexType >
261
284
</xs : element >
262
285
<xs : element name =" globalAttribute" >
@@ -277,7 +300,7 @@ This schema describes the format of the XML files, that describe the ZCL specifi
277
300
</xs : element >
278
301
<xs : element name =" cluster" >
279
302
<xs : complexType >
280
- <xs : sequence >
303
+ <xs : choice maxOccurs = " unbounded " >
281
304
<xs : element ref =" name" />
282
305
<xs : element ref =" domain" />
283
306
<xs : element ref =" description" />
@@ -299,7 +322,7 @@ This schema describes the format of the XML files, that describe the ZCL specifi
299
322
<xs : choice >
300
323
<xs : element ref =" optionalConform" />
301
324
</xs : choice >
302
- <xs : attribute name =" bit" use =" required" type =" xs:integer " />
325
+ <xs : attribute name =" bit" use =" required" type =" integerWithHex " />
303
326
<xs : attribute name =" code" use =" required" type =" xs:string" />
304
327
<xs : attribute name =" name" type =" xs:string" />
305
328
<xs : attribute name =" summary" type =" xs:string" />
@@ -308,7 +331,7 @@ This schema describes the format of the XML files, that describe the ZCL specifi
308
331
</xs : sequence >
309
332
</xs : complexType >
310
333
</xs : element >
311
- </xs : sequence >
334
+ </xs : choice >
312
335
<xs : attribute name =" introducedIn" type =" xs:string" />
313
336
<xs : attribute name =" manufacturerCode" type =" zclCode" />
314
337
<xs : attribute name =" singleton" type =" xs:boolean" />
@@ -366,7 +389,7 @@ This schema describes the format of the XML files, that describe the ZCL specifi
366
389
<xs : element minOccurs =" 0" maxOccurs =" unbounded" name =" cluster" type =" clusterRef" />
367
390
<xs : element minOccurs =" 0" maxOccurs =" unbounded" name =" item" type =" item" />
368
391
</xs : sequence >
369
- <xs : attribute name =" length" type =" xs:integer " />
392
+ <xs : attribute name =" length" type =" integerWithHex " />
370
393
<xs : attribute name =" name" use =" required" type =" xs:string" />
371
394
<xs : attribute name =" apiMaturity" type = " zclApiMaturity" />
372
395
</xs : complexType >
@@ -427,15 +450,16 @@ This schema describes the format of the XML files, that describe the ZCL specifi
427
450
</xs : element >
428
451
<xs : element name =" event" >
429
452
<xs : complexType >
430
- <xs : sequence >
431
- <xs : element ref =" description" />
453
+ <xs : choice maxOccurs = " unbounded " >
454
+ <xs : element ref =" description" minOccurs = " 1 " maxOccurs = " 1 " />
432
455
<xs : element minOccurs =" 0" maxOccurs =" unbounded" name =" access" type =" access" />
433
456
<xs : element minOccurs =" 0" maxOccurs =" unbounded" name =" field" type =" eventField" />
434
- </xs : sequence >
457
+ </xs : choice >
435
458
<xs : attribute name =" code" type =" xs:string" />
436
459
<xs : attribute name =" name" type =" xs:string" />
437
460
<xs : attribute name =" side" use =" required" type =" zclSide" />
438
461
<xs : attribute name =" priority" type =" xs:string" />
462
+ <xs : attribute name =" optional" type =" xs:boolean" default =" false" />
439
463
</xs : complexType >
440
464
</xs : element >
441
465
<xs : element name =" command" >
@@ -471,21 +495,22 @@ This schema describes the format of the XML files, that describe the ZCL specifi
471
495
<xs : attribute name =" default" />
472
496
<xs : attribute name =" define" use =" required" type =" zclAttributeDefine" />
473
497
<xs : attribute name =" introducedIn" type =" zclSpecVersion" />
474
- <xs : attribute name =" length" type =" xs:integer " />
498
+ <xs : attribute name =" length" type =" integerWithHex " />
475
499
<xs : attribute name =" manufacturerCode" type =" zclCode" />
476
500
<xs : attribute name =" max" type =" xs:anySimpleType" />
477
501
<xs : attribute name =" min" type =" xs:anySimpleType" />
478
502
<xs : attribute name =" reportMaxInterval" type =" xs:anySimpleType" />
479
503
<xs : attribute name =" reportMinInterval" type =" xs:anySimpleType" />
480
504
<xs : attribute name =" reportableChange" type =" xs:anySimpleType" />
481
- <xs : attribute name =" optional" use = " required " type =" xs:boolean" />
505
+ <xs : attribute name =" optional" type =" xs:boolean" default = " false " />
482
506
<xs : attribute name =" side" use =" required" type =" zclSide" />
483
507
<xs : attribute name =" type" use =" required" type =" xs:string" />
484
508
<xs : attribute name =" readable" type =" xs:boolean" />
485
509
<xs : attribute name =" writable" type =" xs:boolean" />
486
510
<xs : attribute name =" reportable" type =" xs:boolean" />
487
511
<xs : attribute name =" array" type =" xs:boolean" />
488
512
<xs : attribute name =" isNullable" type =" xs:boolean" />
513
+ <xs : attribute name =" entryType" type =" xs:string" />
489
514
</xs : complexType >
490
515
</xs : element >
491
516
<xs : element name =" description" >
0 commit comments