@@ -18,8 +18,8 @@ This schema describes the format of the XML files, that describe the ZCL specifi
18
18
<xs : attribute name =" id" use =" required" type =" xs:string" />
19
19
<xs : attribute name =" name" use =" required" type =" xs:string" />
20
20
<xs : attribute name =" type" use =" required" type =" xs:string" />
21
- <xs : attribute name =" array" use = " optional " type =" xs:boolean" />
22
- <xs : attribute name =" isNullable" use = " optional " type =" xs:boolean" />
21
+ <xs : attribute name =" array" type =" xs:boolean" />
22
+ <xs : attribute name =" isNullable" type =" xs:boolean" />
23
23
</xs : complexType >
24
24
<xs : complexType name =" tag" >
25
25
<xs : attribute name =" name" use =" required" type =" xs:string" />
@@ -38,7 +38,7 @@ This schema describes the format of the XML files, that describe the ZCL specifi
38
38
<xs : attribute name =" presentIf" type =" xs:string" />
39
39
<xs : attribute name =" optional" type =" xs:integer" />
40
40
<xs : attribute name =" fieldId" type =" xs:integer" />
41
- <xs : attribute name =" countArg" type =" xs:string" use = " optional " />
41
+ <xs : attribute name =" countArg" type =" xs:string" />
42
42
<xs : attribute name =" isNullable" type =" xs:boolean" />
43
43
</xs : complexType >
44
44
<xs : complexType name =" clusterRef" >
@@ -245,7 +245,7 @@ This schema describes the format of the XML files, that describe the ZCL specifi
245
245
<xs : complexType >
246
246
<xs : sequence >
247
247
<xs : element minOccurs =" 0" maxOccurs =" unbounded" name =" cluster" />
248
- <xs : element minOccurs = " 1 " maxOccurs =" unbounded" ref =" field" />
248
+ <xs : element maxOccurs =" unbounded" ref =" field" />
249
249
</xs : sequence >
250
250
<xs : attribute name =" name" use =" required" type =" xs:string" />
251
251
<xs : attribute name =" type" use =" required" type =" xs:string" />
@@ -269,6 +269,12 @@ This schema describes the format of the XML files, that describe the ZCL specifi
269
269
<xs : attribute name =" value" use =" required" type =" xs:string" />
270
270
</xs : complexType >
271
271
</xs : element >
272
+ <xs : element name =" optionalConform" >
273
+ <xs : complexType >
274
+ <xs : attribute name =" choice" type =" xs:string" />
275
+ <xs : attribute name =" more" type =" xs:boolean" />
276
+ </xs : complexType >
277
+ </xs : element >
272
278
<xs : element name =" cluster" >
273
279
<xs : complexType >
274
280
<xs : sequence >
@@ -285,10 +291,28 @@ This schema describes the format of the XML files, that describe the ZCL specifi
285
291
<xs : element minOccurs =" 0" maxOccurs =" unbounded" ref =" attribute" />
286
292
<xs : element minOccurs =" 0" maxOccurs =" unbounded" ref =" command" />
287
293
<xs : element minOccurs =" 0" maxOccurs =" unbounded" ref =" event" />
294
+ <xs : element minOccurs =" 0" name =" features" >
295
+ <xs : complexType >
296
+ <xs : sequence >
297
+ <xs : element maxOccurs =" unbounded" name =" feature" >
298
+ <xs : complexType >
299
+ <xs : choice >
300
+ <xs : element ref =" optionalConform" />
301
+ </xs : choice >
302
+ <xs : attribute name =" bit" use =" required" type =" xs:integer" />
303
+ <xs : attribute name =" code" use =" required" type =" xs:string" />
304
+ <xs : attribute name =" name" type =" xs:string" />
305
+ <xs : attribute name =" summary" type =" xs:string" />
306
+ </xs : complexType >
307
+ </xs : element >
308
+ </xs : sequence >
309
+ </xs : complexType >
310
+ </xs : element >
288
311
</xs : sequence >
289
312
<xs : attribute name =" introducedIn" type =" xs:string" />
290
313
<xs : attribute name =" manufacturerCode" type =" zclCode" />
291
314
<xs : attribute name =" singleton" type =" xs:boolean" />
315
+ <xs : attribute name =" apiMaturity" type = " zclApiMaturity" />
292
316
</xs : complexType >
293
317
</xs : element >
294
318
<xs : element name =" code" type =" zclCode" />
@@ -344,6 +368,7 @@ This schema describes the format of the XML files, that describe the ZCL specifi
344
368
</xs : sequence >
345
369
<xs : attribute name =" length" type =" xs:integer" />
346
370
<xs : attribute name =" name" use =" required" type =" xs:string" />
371
+ <xs : attribute name =" apiMaturity" type = " zclApiMaturity" />
347
372
</xs : complexType >
348
373
</xs : element >
349
374
<xs : element name =" callback" >
@@ -377,19 +402,25 @@ This schema describes the format of the XML files, that describe the ZCL specifi
377
402
<xs : element name =" name" type =" xs:string" />
378
403
<xs : element name =" tag" type =" tag" />
379
404
<xs : element name =" domain" >
380
- <xs : complexType mixed =" true" >
381
- <xs : sequence >
382
- <xs : element minOccurs =" 0" maxOccurs =" unbounded" ref =" older" />
383
- </xs : sequence >
384
- <xs : attribute name =" dependsOn" type =" zclSpecVersion" />
385
- <xs : attribute name =" name" />
386
- <xs : attribute name =" spec" type =" zclSpecVersion" />
387
- <xs : attribute name =" certifiable" type =" xs:boolean" />
405
+ <xs : complexType >
406
+ <!-- TODO: Remove the mixed once all XML files properly use name instead
407
+ of putting the name in the content -->
408
+ <xs : complexContent >
409
+ <xs : extension base =" xs:string" >
410
+ <xs : sequence >
411
+ <xs : element minOccurs =" 0" ref =" older" />
412
+ </xs : sequence >
413
+ <xs : attribute name =" dependsOn" type =" zclSpecVersion" />
414
+ <xs : attribute name =" name" type =" xs:string" />
415
+ <xs : attribute name =" spec" type =" zclSpecVersion" />
416
+ <xs : attribute name =" certifiable" type =" xs:boolean" />
417
+ </xs : extension >
418
+ </xs : complexContent >
388
419
</xs : complexType >
389
420
</xs : element >
390
421
<xs : element name =" older" >
391
422
<xs : complexType >
392
- <xs : attribute name =" dependsOn" use = " optional " type =" xs:string" />
423
+ <xs : attribute name =" dependsOn" type =" xs:string" />
393
424
<xs : attribute name =" spec" use =" required" type =" xs:string" />
394
425
<xs : attribute name =" certifiable" type =" xs:boolean" />
395
426
</xs : complexType >
@@ -489,6 +520,14 @@ This schema describes the format of the XML files, that describe the ZCL specifi
489
520
<xs : enumeration value =" either" />
490
521
</xs : restriction >
491
522
</xs : simpleType >
523
+ <xs : simpleType name =" zclApiMaturity" >
524
+ <xs : restriction base =" xs:string" >
525
+ <xs : enumeration value =" stable" />
526
+ <xs : enumeration value =" provisional" />
527
+ <xs : enumeration value =" internal" />
528
+ <xs : enumeration value =" deprecated" />
529
+ </xs : restriction >
530
+ </xs : simpleType >
492
531
<xs : element name =" mapping" >
493
532
<xs : complexType >
494
533
<xs : attribute name =" code" type =" xs:string" />
0 commit comments