@passwerk/rules 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/LICENSE +202 -0
  2. package/PROVENANCE.md +64 -0
  3. package/README.md +59 -0
  4. package/artefacts/aas/3.0.9/aas.json +1522 -0
  5. package/artefacts/aas/3.1.2/aas.json +1532 -0
  6. package/artefacts/batterypass/2025_Battery_Passport_Data_Attributes_V1.2.xlsx +0 -0
  7. package/artefacts/batterypass/samm/CarbonFootprint-1.2.0.ttl +96 -0
  8. package/artefacts/batterypass/samm/Circularity-1.2.0.ttl +280 -0
  9. package/artefacts/batterypass/samm/GeneralProductInformation-1.2.0.ttl +200 -0
  10. package/artefacts/batterypass/samm/Labels-1.2.0.ttl +65 -0
  11. package/artefacts/batterypass/samm/MaterialComposition-1.2.0.ttl +188 -0
  12. package/artefacts/batterypass/samm/Performance-1.2.1.ttl +660 -0
  13. package/artefacts/batterypass/samm/SupplyChainDueDiligence-1.2.0.ttl +45 -0
  14. package/artefacts/ec/2026-08-15_data-points-by-category_v2.0.pdf +0 -0
  15. package/artefacts/idta/02035-1/1.0/template.aasx +0 -0
  16. package/artefacts/idta/02035-1/1.0/template.json +2276 -0
  17. package/artefacts/idta/02035-1/1.0/template.noexamples.json +2263 -0
  18. package/artefacts/idta/02035-2/1.0/template.aasx +0 -0
  19. package/artefacts/idta/02035-2/1.0/template.json +2991 -0
  20. package/artefacts/idta/02035-2/1.0/template.noexamples.json +2990 -0
  21. package/artefacts/idta/02035-3/1.0/template.aasx +0 -0
  22. package/artefacts/idta/02035-3/1.0/template.json +1644 -0
  23. package/artefacts/idta/02035-3/1.0/template.noexamples.json +1643 -0
  24. package/artefacts/idta/02035-4/1.0.1/template.aasx +0 -0
  25. package/artefacts/idta/02035-4/1.0.1/template.json +4248 -0
  26. package/artefacts/idta/02035-4/1.0.1/template.noexamples.json +4219 -0
  27. package/artefacts/idta/02035-5/1.0.2/template.aasx +0 -0
  28. package/artefacts/idta/02035-5/1.0.2/template.json +4185 -0
  29. package/artefacts/idta/02035-6/1.0.1/template.aasx +0 -0
  30. package/artefacts/idta/02035-6/1.0.1/template.json +2167 -0
  31. package/artefacts/idta/02035-6/1.0.1/template.noexamples.json +2160 -0
  32. package/artefacts/idta/02035-7/1.0.1/template.aasx +0 -0
  33. package/artefacts/idta/02035-7/1.0.1/template.json +3296 -0
  34. package/artefacts/idta/02035-7/1.0.1/template.noexamples.json +3296 -0
  35. package/artefacts/manifest.json +417 -0
  36. package/dist/artefacts/aas/3.0.9/aas.json +1522 -0
  37. package/dist/artefacts/aas/3.1.2/aas.json +1532 -0
  38. package/dist/artefacts/idta/02035-1/1.0/template.json +2276 -0
  39. package/dist/artefacts/idta/02035-1/1.0/template.noexamples.json +2263 -0
  40. package/dist/artefacts/idta/02035-2/1.0/template.json +2991 -0
  41. package/dist/artefacts/idta/02035-2/1.0/template.noexamples.json +2990 -0
  42. package/dist/artefacts/idta/02035-3/1.0/template.json +1644 -0
  43. package/dist/artefacts/idta/02035-3/1.0/template.noexamples.json +1643 -0
  44. package/dist/artefacts/idta/02035-4/1.0.1/template.json +4248 -0
  45. package/dist/artefacts/idta/02035-4/1.0.1/template.noexamples.json +4219 -0
  46. package/dist/artefacts/idta/02035-5/1.0.2/template.json +4185 -0
  47. package/dist/artefacts/idta/02035-6/1.0.1/template.json +2167 -0
  48. package/dist/artefacts/idta/02035-6/1.0.1/template.noexamples.json +2160 -0
  49. package/dist/artefacts/idta/02035-7/1.0.1/template.json +3296 -0
  50. package/dist/artefacts/idta/02035-7/1.0.1/template.noexamples.json +3296 -0
  51. package/dist/artefacts/manifest.json +417 -0
  52. package/dist/kb/attributes/01-identifiers.json +483 -0
  53. package/dist/kb/attributes/02-labels-conformity.json +319 -0
  54. package/dist/kb/attributes/03-carbon-footprint.json +421 -0
  55. package/dist/kb/attributes/04-due-diligence.json +163 -0
  56. package/dist/kb/attributes/05-materials.json +264 -0
  57. package/dist/kb/attributes/06-circularity.json +758 -0
  58. package/dist/kb/attributes/07-performance-electrical.json +1118 -0
  59. package/dist/kb/attributes/08-performance-lifetime.json +837 -0
  60. package/dist/kb/carrier.json +44 -0
  61. package/dist/kb/ec-datapoints.json +866 -0
  62. package/dist/kb/generated/batterypass-samm.json +3310 -0
  63. package/dist/kb/generated/din-longlist.json +2610 -0
  64. package/dist/kb/generated/template-catalogue.json +7788 -0
  65. package/dist/kb/rules.json +524 -0
  66. package/dist/kb/timeline.json +422 -0
  67. package/dist/src/index.d.ts +75 -0
  68. package/dist/src/index.d.ts.map +1 -0
  69. package/dist/src/index.js +214 -0
  70. package/dist/src/index.js.map +1 -0
  71. package/dist/src/types.d.ts +298 -0
  72. package/dist/src/types.d.ts.map +1 -0
  73. package/dist/src/types.js +6 -0
  74. package/dist/src/types.js.map +1 -0
  75. package/dist/tsconfig.tsbuildinfo +1 -0
  76. package/kb/attributes/01-identifiers.json +483 -0
  77. package/kb/attributes/02-labels-conformity.json +319 -0
  78. package/kb/attributes/03-carbon-footprint.json +421 -0
  79. package/kb/attributes/04-due-diligence.json +163 -0
  80. package/kb/attributes/05-materials.json +264 -0
  81. package/kb/attributes/06-circularity.json +758 -0
  82. package/kb/attributes/07-performance-electrical.json +1118 -0
  83. package/kb/attributes/08-performance-lifetime.json +837 -0
  84. package/kb/attributes/README.md +74 -0
  85. package/kb/carrier.json +44 -0
  86. package/kb/ec-datapoints.json +866 -0
  87. package/kb/generated/batterypass-samm.json +3310 -0
  88. package/kb/generated/din-longlist.json +2610 -0
  89. package/kb/generated/template-catalogue.json +7788 -0
  90. package/kb/rules.json +524 -0
  91. package/kb/timeline.json +422 -0
  92. package/package.json +59 -0
@@ -0,0 +1,1532 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
3
+ "title": "IDTA-01001-3-1 AAS JSON Schema",
4
+ "type": "object",
5
+ "allOf": [
6
+ {
7
+ "$ref": "#/definitions/Environment"
8
+ }
9
+ ],
10
+ "$id": "https://admin-shell.io/aas/3/1",
11
+ "definitions": {
12
+ "AasSubmodelElements": {
13
+ "type": "string",
14
+ "enum": [
15
+ "AnnotatedRelationshipElement",
16
+ "BasicEventElement",
17
+ "Blob",
18
+ "Capability",
19
+ "DataElement",
20
+ "Entity",
21
+ "EventElement",
22
+ "File",
23
+ "MultiLanguageProperty",
24
+ "Operation",
25
+ "Property",
26
+ "Range",
27
+ "ReferenceElement",
28
+ "RelationshipElement",
29
+ "SubmodelElement",
30
+ "SubmodelElementCollection",
31
+ "SubmodelElementList"
32
+ ]
33
+ },
34
+ "AbstractLangString": {
35
+ "type": "object",
36
+ "properties": {
37
+ "language": {
38
+ "type": "string",
39
+ "pattern": "^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){0,2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$"
40
+ },
41
+ "text": {
42
+ "type": "string",
43
+ "minLength": 1,
44
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
45
+ }
46
+ },
47
+ "required": [
48
+ "language",
49
+ "text"
50
+ ]
51
+ },
52
+ "AdministrativeInformation": {
53
+ "allOf": [
54
+ {
55
+ "$ref": "#/definitions/HasDataSpecification"
56
+ },
57
+ {
58
+ "properties": {
59
+ "version": {
60
+ "type": "string",
61
+ "allOf": [
62
+ {
63
+ "minLength": 1,
64
+ "maxLength": 4
65
+ },
66
+ {
67
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
68
+ },
69
+ {
70
+ "pattern": "^(0|[1-9][0-9]*)$"
71
+ }
72
+ ]
73
+ },
74
+ "revision": {
75
+ "type": "string",
76
+ "allOf": [
77
+ {
78
+ "minLength": 1,
79
+ "maxLength": 4
80
+ },
81
+ {
82
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
83
+ },
84
+ {
85
+ "pattern": "^(0|[1-9][0-9]*)$"
86
+ }
87
+ ]
88
+ },
89
+ "creator": {
90
+ "$ref": "#/definitions/Reference"
91
+ },
92
+ "templateId": {
93
+ "type": "string",
94
+ "minLength": 1,
95
+ "maxLength": 2048,
96
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
97
+ }
98
+ }
99
+ }
100
+ ]
101
+ },
102
+ "AnnotatedRelationshipElement": {
103
+ "allOf": [
104
+ {
105
+ "$ref": "#/definitions/RelationshipElement_abstract"
106
+ },
107
+ {
108
+ "properties": {
109
+ "annotations": {
110
+ "type": "array",
111
+ "items": {
112
+ "$ref": "#/definitions/DataElement_choice"
113
+ },
114
+ "minItems": 1
115
+ },
116
+ "modelType": {
117
+ "const": "AnnotatedRelationshipElement"
118
+ }
119
+ }
120
+ }
121
+ ]
122
+ },
123
+ "AssetAdministrationShell": {
124
+ "allOf": [
125
+ {
126
+ "$ref": "#/definitions/Identifiable"
127
+ },
128
+ {
129
+ "$ref": "#/definitions/HasDataSpecification"
130
+ },
131
+ {
132
+ "properties": {
133
+ "derivedFrom": {
134
+ "$ref": "#/definitions/Reference"
135
+ },
136
+ "assetInformation": {
137
+ "$ref": "#/definitions/AssetInformation"
138
+ },
139
+ "submodels": {
140
+ "type": "array",
141
+ "items": {
142
+ "$ref": "#/definitions/Reference"
143
+ },
144
+ "minItems": 1
145
+ },
146
+ "modelType": {
147
+ "const": "AssetAdministrationShell"
148
+ }
149
+ },
150
+ "required": [
151
+ "assetInformation"
152
+ ]
153
+ }
154
+ ]
155
+ },
156
+ "AssetInformation": {
157
+ "type": "object",
158
+ "properties": {
159
+ "assetKind": {
160
+ "$ref": "#/definitions/AssetKind"
161
+ },
162
+ "globalAssetId": {
163
+ "type": "string",
164
+ "minLength": 1,
165
+ "maxLength": 2048,
166
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
167
+ },
168
+ "specificAssetIds": {
169
+ "type": "array",
170
+ "items": {
171
+ "$ref": "#/definitions/SpecificAssetId"
172
+ },
173
+ "minItems": 1
174
+ },
175
+ "assetType": {
176
+ "type": "string",
177
+ "minLength": 1,
178
+ "maxLength": 2048,
179
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
180
+ },
181
+ "defaultThumbnail": {
182
+ "$ref": "#/definitions/Resource"
183
+ }
184
+ },
185
+ "required": [
186
+ "assetKind"
187
+ ]
188
+ },
189
+ "AssetKind": {
190
+ "type": "string",
191
+ "enum": [
192
+ "Instance",
193
+ "NotApplicable",
194
+ "Role",
195
+ "Type"
196
+ ]
197
+ },
198
+ "BasicEventElement": {
199
+ "allOf": [
200
+ {
201
+ "$ref": "#/definitions/EventElement"
202
+ },
203
+ {
204
+ "properties": {
205
+ "observed": {
206
+ "$ref": "#/definitions/Reference"
207
+ },
208
+ "direction": {
209
+ "$ref": "#/definitions/Direction"
210
+ },
211
+ "state": {
212
+ "$ref": "#/definitions/StateOfEvent"
213
+ },
214
+ "messageTopic": {
215
+ "type": "string",
216
+ "minLength": 1,
217
+ "maxLength": 255,
218
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
219
+ },
220
+ "messageBroker": {
221
+ "$ref": "#/definitions/Reference"
222
+ },
223
+ "lastUpdate": {
224
+ "type": "string",
225
+ "pattern": "^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$"
226
+ },
227
+ "minInterval": {
228
+ "type": "string",
229
+ "pattern": "^-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))$"
230
+ },
231
+ "maxInterval": {
232
+ "type": "string",
233
+ "pattern": "^-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))$"
234
+ },
235
+ "modelType": {
236
+ "const": "BasicEventElement"
237
+ }
238
+ },
239
+ "required": [
240
+ "observed",
241
+ "direction",
242
+ "state"
243
+ ]
244
+ }
245
+ ]
246
+ },
247
+ "Blob": {
248
+ "allOf": [
249
+ {
250
+ "$ref": "#/definitions/DataElement"
251
+ },
252
+ {
253
+ "properties": {
254
+ "value": {
255
+ "type": "string",
256
+ "contentEncoding": "base64"
257
+ },
258
+ "contentType": {
259
+ "type": "string",
260
+ "allOf": [
261
+ {
262
+ "minLength": 1,
263
+ "maxLength": 128
264
+ },
265
+ {
266
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
267
+ },
268
+ {
269
+ "pattern": "^([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+/([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+([ \\t]*;[ \\t]*([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+=(([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+|\"(([\\t !#-\\[\\]-~]|[\\x80-\\xff])|\\\\([\\t !-~]|[\\x80-\\xff]))*\"))*$"
270
+ }
271
+ ]
272
+ },
273
+ "modelType": {
274
+ "const": "Blob"
275
+ }
276
+ }
277
+ }
278
+ ]
279
+ },
280
+ "Capability": {
281
+ "allOf": [
282
+ {
283
+ "$ref": "#/definitions/SubmodelElement"
284
+ },
285
+ {
286
+ "properties": {
287
+ "modelType": {
288
+ "const": "Capability"
289
+ }
290
+ }
291
+ }
292
+ ]
293
+ },
294
+ "ConceptDescription": {
295
+ "allOf": [
296
+ {
297
+ "$ref": "#/definitions/Identifiable"
298
+ },
299
+ {
300
+ "$ref": "#/definitions/HasDataSpecification"
301
+ },
302
+ {
303
+ "properties": {
304
+ "isCaseOf": {
305
+ "type": "array",
306
+ "items": {
307
+ "$ref": "#/definitions/Reference"
308
+ },
309
+ "minItems": 1
310
+ },
311
+ "modelType": {
312
+ "const": "ConceptDescription"
313
+ }
314
+ }
315
+ }
316
+ ]
317
+ },
318
+ "DataElement": {
319
+ "$ref": "#/definitions/SubmodelElement"
320
+ },
321
+ "DataElement_choice": {
322
+ "oneOf": [
323
+ {
324
+ "$ref": "#/definitions/Blob"
325
+ },
326
+ {
327
+ "$ref": "#/definitions/File"
328
+ },
329
+ {
330
+ "$ref": "#/definitions/MultiLanguageProperty"
331
+ },
332
+ {
333
+ "$ref": "#/definitions/Property"
334
+ },
335
+ {
336
+ "$ref": "#/definitions/Range"
337
+ },
338
+ {
339
+ "$ref": "#/definitions/ReferenceElement"
340
+ }
341
+ ]
342
+ },
343
+ "DataSpecificationContent": {
344
+ "type": "object",
345
+ "properties": {
346
+ "modelType": {
347
+ "$ref": "#/definitions/ModelType"
348
+ }
349
+ },
350
+ "required": [
351
+ "modelType"
352
+ ]
353
+ },
354
+ "DataSpecificationContent_choice": {
355
+ "oneOf": [
356
+ {
357
+ "$ref": "#/definitions/DataSpecificationIec61360"
358
+ }
359
+ ]
360
+ },
361
+ "DataSpecificationIec61360": {
362
+ "allOf": [
363
+ {
364
+ "$ref": "#/definitions/DataSpecificationContent"
365
+ },
366
+ {
367
+ "properties": {
368
+ "preferredName": {
369
+ "type": "array",
370
+ "items": {
371
+ "$ref": "#/definitions/LangStringPreferredNameTypeIec61360"
372
+ },
373
+ "minItems": 1
374
+ },
375
+ "shortName": {
376
+ "type": "array",
377
+ "items": {
378
+ "$ref": "#/definitions/LangStringShortNameTypeIec61360"
379
+ },
380
+ "minItems": 1
381
+ },
382
+ "unit": {
383
+ "type": "string",
384
+ "minLength": 1,
385
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
386
+ },
387
+ "unitId": {
388
+ "$ref": "#/definitions/Reference"
389
+ },
390
+ "sourceOfDefinition": {
391
+ "type": "string",
392
+ "minLength": 1,
393
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
394
+ },
395
+ "symbol": {
396
+ "type": "string",
397
+ "minLength": 1,
398
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
399
+ },
400
+ "dataType": {
401
+ "$ref": "#/definitions/DataTypeIec61360"
402
+ },
403
+ "definition": {
404
+ "type": "array",
405
+ "items": {
406
+ "$ref": "#/definitions/LangStringDefinitionTypeIec61360"
407
+ },
408
+ "minItems": 1
409
+ },
410
+ "valueFormat": {
411
+ "type": "string",
412
+ "minLength": 1,
413
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
414
+ },
415
+ "valueList": {
416
+ "$ref": "#/definitions/ValueList"
417
+ },
418
+ "value": {
419
+ "type": "string",
420
+ "minLength": 1,
421
+ "maxLength": 2048,
422
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
423
+ },
424
+ "levelType": {
425
+ "$ref": "#/definitions/LevelType"
426
+ },
427
+ "modelType": {
428
+ "const": "DataSpecificationIec61360"
429
+ }
430
+ },
431
+ "required": [
432
+ "preferredName"
433
+ ]
434
+ }
435
+ ]
436
+ },
437
+ "DataTypeDefXsd": {
438
+ "type": "string",
439
+ "enum": [
440
+ "xs:anyURI",
441
+ "xs:base64Binary",
442
+ "xs:boolean",
443
+ "xs:byte",
444
+ "xs:date",
445
+ "xs:dateTime",
446
+ "xs:decimal",
447
+ "xs:double",
448
+ "xs:duration",
449
+ "xs:float",
450
+ "xs:gDay",
451
+ "xs:gMonth",
452
+ "xs:gMonthDay",
453
+ "xs:gYear",
454
+ "xs:gYearMonth",
455
+ "xs:hexBinary",
456
+ "xs:int",
457
+ "xs:integer",
458
+ "xs:long",
459
+ "xs:negativeInteger",
460
+ "xs:nonNegativeInteger",
461
+ "xs:nonPositiveInteger",
462
+ "xs:positiveInteger",
463
+ "xs:short",
464
+ "xs:string",
465
+ "xs:time",
466
+ "xs:unsignedByte",
467
+ "xs:unsignedInt",
468
+ "xs:unsignedLong",
469
+ "xs:unsignedShort"
470
+ ]
471
+ },
472
+ "DataTypeIec61360": {
473
+ "type": "string",
474
+ "enum": [
475
+ "BLOB",
476
+ "BOOLEAN",
477
+ "DATE",
478
+ "FILE",
479
+ "HTML",
480
+ "INTEGER_COUNT",
481
+ "INTEGER_CURRENCY",
482
+ "INTEGER_MEASURE",
483
+ "IRDI",
484
+ "IRI",
485
+ "RATIONAL",
486
+ "RATIONAL_MEASURE",
487
+ "REAL_COUNT",
488
+ "REAL_CURRENCY",
489
+ "REAL_MEASURE",
490
+ "STRING",
491
+ "STRING_TRANSLATABLE",
492
+ "TIME",
493
+ "TIMESTAMP"
494
+ ]
495
+ },
496
+ "Direction": {
497
+ "type": "string",
498
+ "enum": [
499
+ "input",
500
+ "output"
501
+ ]
502
+ },
503
+ "EmbeddedDataSpecification": {
504
+ "type": "object",
505
+ "properties": {
506
+ "dataSpecification": {
507
+ "$ref": "#/definitions/Reference"
508
+ },
509
+ "dataSpecificationContent": {
510
+ "$ref": "#/definitions/DataSpecificationContent_choice"
511
+ }
512
+ },
513
+ "required": [
514
+ "dataSpecification",
515
+ "dataSpecificationContent"
516
+ ]
517
+ },
518
+ "Entity": {
519
+ "allOf": [
520
+ {
521
+ "$ref": "#/definitions/SubmodelElement"
522
+ },
523
+ {
524
+ "properties": {
525
+ "statements": {
526
+ "type": "array",
527
+ "items": {
528
+ "$ref": "#/definitions/SubmodelElement_choice"
529
+ },
530
+ "minItems": 1
531
+ },
532
+ "entityType": {
533
+ "$ref": "#/definitions/EntityType"
534
+ },
535
+ "globalAssetId": {
536
+ "type": "string",
537
+ "minLength": 1,
538
+ "maxLength": 2048,
539
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
540
+ },
541
+ "specificAssetIds": {
542
+ "type": "array",
543
+ "items": {
544
+ "$ref": "#/definitions/SpecificAssetId"
545
+ },
546
+ "minItems": 1
547
+ },
548
+ "modelType": {
549
+ "const": "Entity"
550
+ }
551
+ }
552
+ }
553
+ ]
554
+ },
555
+ "EntityType": {
556
+ "type": "string",
557
+ "enum": [
558
+ "CoManagedEntity",
559
+ "SelfManagedEntity"
560
+ ]
561
+ },
562
+ "Environment": {
563
+ "type": "object",
564
+ "properties": {
565
+ "assetAdministrationShells": {
566
+ "type": "array",
567
+ "items": {
568
+ "$ref": "#/definitions/AssetAdministrationShell"
569
+ },
570
+ "minItems": 1
571
+ },
572
+ "submodels": {
573
+ "type": "array",
574
+ "items": {
575
+ "$ref": "#/definitions/Submodel"
576
+ },
577
+ "minItems": 1
578
+ },
579
+ "conceptDescriptions": {
580
+ "type": "array",
581
+ "items": {
582
+ "$ref": "#/definitions/ConceptDescription"
583
+ },
584
+ "minItems": 1
585
+ }
586
+ }
587
+ },
588
+ "EventElement": {
589
+ "$ref": "#/definitions/SubmodelElement"
590
+ },
591
+ "EventPayload": {
592
+ "type": "object",
593
+ "properties": {
594
+ "source": {
595
+ "$ref": "#/definitions/Reference"
596
+ },
597
+ "sourceSemanticId": {
598
+ "$ref": "#/definitions/Reference"
599
+ },
600
+ "observableReference": {
601
+ "$ref": "#/definitions/Reference"
602
+ },
603
+ "observableSemanticId": {
604
+ "$ref": "#/definitions/Reference"
605
+ },
606
+ "topic": {
607
+ "type": "string",
608
+ "minLength": 1,
609
+ "maxLength": 255,
610
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
611
+ },
612
+ "subjectId": {
613
+ "$ref": "#/definitions/Reference"
614
+ },
615
+ "timeStamp": {
616
+ "type": "string",
617
+ "pattern": "^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$"
618
+ },
619
+ "payload": {
620
+ "type": "string",
621
+ "contentEncoding": "base64"
622
+ }
623
+ },
624
+ "required": [
625
+ "source",
626
+ "observableReference",
627
+ "timeStamp"
628
+ ]
629
+ },
630
+ "Extension": {
631
+ "allOf": [
632
+ {
633
+ "$ref": "#/definitions/HasSemantics"
634
+ },
635
+ {
636
+ "properties": {
637
+ "name": {
638
+ "type": "string",
639
+ "minLength": 1,
640
+ "maxLength": 128,
641
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
642
+ },
643
+ "valueType": {
644
+ "$ref": "#/definitions/DataTypeDefXsd"
645
+ },
646
+ "value": {
647
+ "type": "string",
648
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
649
+ },
650
+ "refersTo": {
651
+ "type": "array",
652
+ "items": {
653
+ "$ref": "#/definitions/Reference"
654
+ },
655
+ "minItems": 1
656
+ }
657
+ },
658
+ "required": [
659
+ "name"
660
+ ]
661
+ }
662
+ ]
663
+ },
664
+ "File": {
665
+ "allOf": [
666
+ {
667
+ "$ref": "#/definitions/DataElement"
668
+ },
669
+ {
670
+ "properties": {
671
+ "value": {
672
+ "type": "string",
673
+ "allOf": [
674
+ {
675
+ "minLength": 1,
676
+ "maxLength": 2048
677
+ },
678
+ {
679
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
680
+ },
681
+ {
682
+ "pattern": "^([a-zA-Z][a-zA-Z0-9+\\-.]*:((//((((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[;:&=+$,])*@)?((([a-zA-Z0-9]|[a-zA-Z0-9]([a-zA-Z0-9]|-)*[a-zA-Z0-9])\\.)*([a-zA-Z]|[a-zA-Z]([a-zA-Z0-9]|-)*[a-zA-Z0-9])(\\.)?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]*)?)?|(([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[$,;:@&=+])+)(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*)?|/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*)(\\?(([;/?:@&=+$,]|([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])))*)?|(([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[;?:@&=+$,])(([;/?:@&=+$,]|([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])))*)|(//((((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[;:&=+$,])*@)?((([a-zA-Z0-9]|[a-zA-Z0-9]([a-zA-Z0-9]|-)*[a-zA-Z0-9])\\.)*([a-zA-Z]|[a-zA-Z]([a-zA-Z0-9]|-)*[a-zA-Z0-9])(\\.)?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]*)?)?|(([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[$,;:@&=+])+)(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*)?|/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*|(([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[;@&=+$,])+(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*)?)(\\?(([;/?:@&=+$,]|([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])))*)?)?(#(([;/?:@&=+$,]|([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])))*)?$"
683
+ }
684
+ ]
685
+ },
686
+ "contentType": {
687
+ "type": "string",
688
+ "allOf": [
689
+ {
690
+ "minLength": 1,
691
+ "maxLength": 128
692
+ },
693
+ {
694
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
695
+ },
696
+ {
697
+ "pattern": "^([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+/([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+([ \\t]*;[ \\t]*([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+=(([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+|\"(([\\t !#-\\[\\]-~]|[\\x80-\\xff])|\\\\([\\t !-~]|[\\x80-\\xff]))*\"))*$"
698
+ }
699
+ ]
700
+ },
701
+ "modelType": {
702
+ "const": "File"
703
+ }
704
+ }
705
+ }
706
+ ]
707
+ },
708
+ "HasDataSpecification": {
709
+ "type": "object",
710
+ "properties": {
711
+ "embeddedDataSpecifications": {
712
+ "type": "array",
713
+ "items": {
714
+ "$ref": "#/definitions/EmbeddedDataSpecification"
715
+ },
716
+ "minItems": 1
717
+ }
718
+ }
719
+ },
720
+ "HasExtensions": {
721
+ "type": "object",
722
+ "properties": {
723
+ "extensions": {
724
+ "type": "array",
725
+ "items": {
726
+ "$ref": "#/definitions/Extension"
727
+ },
728
+ "minItems": 1
729
+ }
730
+ }
731
+ },
732
+ "HasKind": {
733
+ "type": "object",
734
+ "properties": {
735
+ "kind": {
736
+ "$ref": "#/definitions/ModellingKind"
737
+ }
738
+ }
739
+ },
740
+ "HasSemantics": {
741
+ "type": "object",
742
+ "properties": {
743
+ "semanticId": {
744
+ "$ref": "#/definitions/Reference"
745
+ },
746
+ "supplementalSemanticIds": {
747
+ "type": "array",
748
+ "items": {
749
+ "$ref": "#/definitions/Reference"
750
+ },
751
+ "minItems": 1
752
+ }
753
+ }
754
+ },
755
+ "Identifiable": {
756
+ "allOf": [
757
+ {
758
+ "$ref": "#/definitions/Referable"
759
+ },
760
+ {
761
+ "properties": {
762
+ "administration": {
763
+ "$ref": "#/definitions/AdministrativeInformation"
764
+ },
765
+ "id": {
766
+ "type": "string",
767
+ "minLength": 1,
768
+ "maxLength": 2048,
769
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
770
+ }
771
+ },
772
+ "required": [
773
+ "id"
774
+ ]
775
+ }
776
+ ]
777
+ },
778
+ "Key": {
779
+ "type": "object",
780
+ "properties": {
781
+ "type": {
782
+ "$ref": "#/definitions/KeyTypes"
783
+ },
784
+ "value": {
785
+ "type": "string",
786
+ "minLength": 1,
787
+ "maxLength": 2048,
788
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
789
+ }
790
+ },
791
+ "required": [
792
+ "type",
793
+ "value"
794
+ ]
795
+ },
796
+ "KeyTypes": {
797
+ "type": "string",
798
+ "enum": [
799
+ "AnnotatedRelationshipElement",
800
+ "AssetAdministrationShell",
801
+ "BasicEventElement",
802
+ "Blob",
803
+ "Capability",
804
+ "ConceptDescription",
805
+ "DataElement",
806
+ "Entity",
807
+ "EventElement",
808
+ "File",
809
+ "FragmentReference",
810
+ "GlobalReference",
811
+ "Identifiable",
812
+ "MultiLanguageProperty",
813
+ "Operation",
814
+ "Property",
815
+ "Range",
816
+ "Referable",
817
+ "ReferenceElement",
818
+ "RelationshipElement",
819
+ "Submodel",
820
+ "SubmodelElement",
821
+ "SubmodelElementCollection",
822
+ "SubmodelElementList"
823
+ ]
824
+ },
825
+ "LangStringDefinitionTypeIec61360": {
826
+ "allOf": [
827
+ {
828
+ "$ref": "#/definitions/AbstractLangString"
829
+ },
830
+ {
831
+ "properties": {
832
+ "text": {
833
+ "maxLength": 1023
834
+ }
835
+ }
836
+ }
837
+ ]
838
+ },
839
+ "LangStringNameType": {
840
+ "allOf": [
841
+ {
842
+ "$ref": "#/definitions/AbstractLangString"
843
+ },
844
+ {
845
+ "properties": {
846
+ "text": {
847
+ "maxLength": 128
848
+ }
849
+ }
850
+ }
851
+ ]
852
+ },
853
+ "LangStringPreferredNameTypeIec61360": {
854
+ "allOf": [
855
+ {
856
+ "$ref": "#/definitions/AbstractLangString"
857
+ },
858
+ {
859
+ "properties": {
860
+ "text": {
861
+ "maxLength": 255
862
+ }
863
+ }
864
+ }
865
+ ]
866
+ },
867
+ "LangStringShortNameTypeIec61360": {
868
+ "allOf": [
869
+ {
870
+ "$ref": "#/definitions/AbstractLangString"
871
+ },
872
+ {
873
+ "properties": {
874
+ "text": {
875
+ "maxLength": 18
876
+ }
877
+ }
878
+ }
879
+ ]
880
+ },
881
+ "LangStringTextType": {
882
+ "allOf": [
883
+ {
884
+ "$ref": "#/definitions/AbstractLangString"
885
+ },
886
+ {
887
+ "properties": {
888
+ "text": {
889
+ "maxLength": 1023
890
+ }
891
+ }
892
+ }
893
+ ]
894
+ },
895
+ "LevelType": {
896
+ "type": "object",
897
+ "properties": {
898
+ "min": {
899
+ "type": "boolean"
900
+ },
901
+ "nom": {
902
+ "type": "boolean"
903
+ },
904
+ "typ": {
905
+ "type": "boolean"
906
+ },
907
+ "max": {
908
+ "type": "boolean"
909
+ }
910
+ },
911
+ "required": [
912
+ "min",
913
+ "nom",
914
+ "typ",
915
+ "max"
916
+ ]
917
+ },
918
+ "ModelType": {
919
+ "type": "string",
920
+ "enum": [
921
+ "AnnotatedRelationshipElement",
922
+ "AssetAdministrationShell",
923
+ "BasicEventElement",
924
+ "Blob",
925
+ "Capability",
926
+ "ConceptDescription",
927
+ "DataSpecificationIec61360",
928
+ "Entity",
929
+ "File",
930
+ "MultiLanguageProperty",
931
+ "Operation",
932
+ "Property",
933
+ "Range",
934
+ "ReferenceElement",
935
+ "RelationshipElement",
936
+ "Submodel",
937
+ "SubmodelElementCollection",
938
+ "SubmodelElementList"
939
+ ]
940
+ },
941
+ "ModellingKind": {
942
+ "type": "string",
943
+ "enum": [
944
+ "Instance",
945
+ "Template"
946
+ ]
947
+ },
948
+ "MultiLanguageProperty": {
949
+ "allOf": [
950
+ {
951
+ "$ref": "#/definitions/DataElement"
952
+ },
953
+ {
954
+ "properties": {
955
+ "value": {
956
+ "type": "array",
957
+ "items": {
958
+ "$ref": "#/definitions/LangStringTextType"
959
+ },
960
+ "minItems": 1
961
+ },
962
+ "valueId": {
963
+ "$ref": "#/definitions/Reference"
964
+ },
965
+ "modelType": {
966
+ "const": "MultiLanguageProperty"
967
+ }
968
+ }
969
+ }
970
+ ]
971
+ },
972
+ "Operation": {
973
+ "allOf": [
974
+ {
975
+ "$ref": "#/definitions/SubmodelElement"
976
+ },
977
+ {
978
+ "properties": {
979
+ "inputVariables": {
980
+ "type": "array",
981
+ "items": {
982
+ "$ref": "#/definitions/OperationVariable"
983
+ },
984
+ "minItems": 1
985
+ },
986
+ "outputVariables": {
987
+ "type": "array",
988
+ "items": {
989
+ "$ref": "#/definitions/OperationVariable"
990
+ },
991
+ "minItems": 1
992
+ },
993
+ "inoutputVariables": {
994
+ "type": "array",
995
+ "items": {
996
+ "$ref": "#/definitions/OperationVariable"
997
+ },
998
+ "minItems": 1
999
+ },
1000
+ "modelType": {
1001
+ "const": "Operation"
1002
+ }
1003
+ }
1004
+ }
1005
+ ]
1006
+ },
1007
+ "OperationVariable": {
1008
+ "type": "object",
1009
+ "properties": {
1010
+ "value": {
1011
+ "$ref": "#/definitions/SubmodelElement_choice"
1012
+ }
1013
+ },
1014
+ "required": [
1015
+ "value"
1016
+ ]
1017
+ },
1018
+ "Property": {
1019
+ "allOf": [
1020
+ {
1021
+ "$ref": "#/definitions/DataElement"
1022
+ },
1023
+ {
1024
+ "properties": {
1025
+ "valueType": {
1026
+ "$ref": "#/definitions/DataTypeDefXsd"
1027
+ },
1028
+ "value": {
1029
+ "type": "string",
1030
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1031
+ },
1032
+ "valueId": {
1033
+ "$ref": "#/definitions/Reference"
1034
+ },
1035
+ "modelType": {
1036
+ "const": "Property"
1037
+ }
1038
+ },
1039
+ "required": [
1040
+ "valueType"
1041
+ ]
1042
+ }
1043
+ ]
1044
+ },
1045
+ "Qualifiable": {
1046
+ "type": "object",
1047
+ "properties": {
1048
+ "qualifiers": {
1049
+ "type": "array",
1050
+ "items": {
1051
+ "$ref": "#/definitions/Qualifier"
1052
+ },
1053
+ "minItems": 1
1054
+ },
1055
+ "modelType": {
1056
+ "$ref": "#/definitions/ModelType"
1057
+ }
1058
+ },
1059
+ "required": [
1060
+ "modelType"
1061
+ ]
1062
+ },
1063
+ "Qualifier": {
1064
+ "allOf": [
1065
+ {
1066
+ "$ref": "#/definitions/HasSemantics"
1067
+ },
1068
+ {
1069
+ "properties": {
1070
+ "kind": {
1071
+ "$ref": "#/definitions/QualifierKind"
1072
+ },
1073
+ "type": {
1074
+ "type": "string",
1075
+ "minLength": 1,
1076
+ "maxLength": 128,
1077
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1078
+ },
1079
+ "valueType": {
1080
+ "$ref": "#/definitions/DataTypeDefXsd"
1081
+ },
1082
+ "value": {
1083
+ "type": "string",
1084
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1085
+ },
1086
+ "valueId": {
1087
+ "$ref": "#/definitions/Reference"
1088
+ }
1089
+ },
1090
+ "required": [
1091
+ "type",
1092
+ "valueType"
1093
+ ]
1094
+ }
1095
+ ]
1096
+ },
1097
+ "QualifierKind": {
1098
+ "type": "string",
1099
+ "enum": [
1100
+ "ConceptQualifier",
1101
+ "TemplateQualifier",
1102
+ "ValueQualifier"
1103
+ ]
1104
+ },
1105
+ "Range": {
1106
+ "allOf": [
1107
+ {
1108
+ "$ref": "#/definitions/DataElement"
1109
+ },
1110
+ {
1111
+ "properties": {
1112
+ "valueType": {
1113
+ "$ref": "#/definitions/DataTypeDefXsd"
1114
+ },
1115
+ "min": {
1116
+ "type": "string",
1117
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1118
+ },
1119
+ "max": {
1120
+ "type": "string",
1121
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1122
+ },
1123
+ "modelType": {
1124
+ "const": "Range"
1125
+ }
1126
+ },
1127
+ "required": [
1128
+ "valueType"
1129
+ ]
1130
+ }
1131
+ ]
1132
+ },
1133
+ "Referable": {
1134
+ "allOf": [
1135
+ {
1136
+ "$ref": "#/definitions/HasExtensions"
1137
+ },
1138
+ {
1139
+ "properties": {
1140
+ "category": {
1141
+ "type": "string",
1142
+ "minLength": 1,
1143
+ "maxLength": 128,
1144
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1145
+ },
1146
+ "idShort": {
1147
+ "type": "string",
1148
+ "allOf": [
1149
+ {
1150
+ "minLength": 1,
1151
+ "maxLength": 128
1152
+ },
1153
+ {
1154
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1155
+ },
1156
+ {
1157
+ "pattern": "^[a-zA-Z][a-zA-Z0-9_-]*[a-zA-Z0-9_]+$"
1158
+ }
1159
+ ]
1160
+ },
1161
+ "displayName": {
1162
+ "type": "array",
1163
+ "items": {
1164
+ "$ref": "#/definitions/LangStringNameType"
1165
+ },
1166
+ "minItems": 1
1167
+ },
1168
+ "description": {
1169
+ "type": "array",
1170
+ "items": {
1171
+ "$ref": "#/definitions/LangStringTextType"
1172
+ },
1173
+ "minItems": 1
1174
+ },
1175
+ "modelType": {
1176
+ "$ref": "#/definitions/ModelType"
1177
+ }
1178
+ },
1179
+ "required": [
1180
+ "modelType"
1181
+ ]
1182
+ }
1183
+ ]
1184
+ },
1185
+ "Reference": {
1186
+ "type": "object",
1187
+ "properties": {
1188
+ "type": {
1189
+ "$ref": "#/definitions/ReferenceTypes"
1190
+ },
1191
+ "referredSemanticId": {
1192
+ "$ref": "#/definitions/Reference"
1193
+ },
1194
+ "keys": {
1195
+ "type": "array",
1196
+ "items": {
1197
+ "$ref": "#/definitions/Key"
1198
+ },
1199
+ "minItems": 1
1200
+ }
1201
+ },
1202
+ "required": [
1203
+ "type",
1204
+ "keys"
1205
+ ]
1206
+ },
1207
+ "ReferenceElement": {
1208
+ "allOf": [
1209
+ {
1210
+ "$ref": "#/definitions/DataElement"
1211
+ },
1212
+ {
1213
+ "properties": {
1214
+ "value": {
1215
+ "$ref": "#/definitions/Reference"
1216
+ },
1217
+ "modelType": {
1218
+ "const": "ReferenceElement"
1219
+ }
1220
+ }
1221
+ }
1222
+ ]
1223
+ },
1224
+ "ReferenceTypes": {
1225
+ "type": "string",
1226
+ "enum": [
1227
+ "ExternalReference",
1228
+ "ModelReference"
1229
+ ]
1230
+ },
1231
+ "RelationshipElement": {
1232
+ "allOf": [
1233
+ {
1234
+ "$ref": "#/definitions/RelationshipElement_abstract"
1235
+ },
1236
+ {
1237
+ "properties": {
1238
+ "modelType": {
1239
+ "const": "RelationshipElement"
1240
+ }
1241
+ }
1242
+ }
1243
+ ]
1244
+ },
1245
+ "RelationshipElement_abstract": {
1246
+ "allOf": [
1247
+ {
1248
+ "$ref": "#/definitions/SubmodelElement"
1249
+ },
1250
+ {
1251
+ "properties": {
1252
+ "first": {
1253
+ "$ref": "#/definitions/Reference"
1254
+ },
1255
+ "second": {
1256
+ "$ref": "#/definitions/Reference"
1257
+ }
1258
+ }
1259
+ }
1260
+ ]
1261
+ },
1262
+ "RelationshipElement_choice": {
1263
+ "oneOf": [
1264
+ {
1265
+ "$ref": "#/definitions/RelationshipElement"
1266
+ },
1267
+ {
1268
+ "$ref": "#/definitions/AnnotatedRelationshipElement"
1269
+ }
1270
+ ]
1271
+ },
1272
+ "Resource": {
1273
+ "type": "object",
1274
+ "properties": {
1275
+ "path": {
1276
+ "type": "string",
1277
+ "allOf": [
1278
+ {
1279
+ "minLength": 1,
1280
+ "maxLength": 2048
1281
+ },
1282
+ {
1283
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1284
+ },
1285
+ {
1286
+ "pattern": "^([a-zA-Z][a-zA-Z0-9+\\-.]*:((//((((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[;:&=+$,])*@)?((([a-zA-Z0-9]|[a-zA-Z0-9]([a-zA-Z0-9]|-)*[a-zA-Z0-9])\\.)*([a-zA-Z]|[a-zA-Z]([a-zA-Z0-9]|-)*[a-zA-Z0-9])(\\.)?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]*)?)?|(([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[$,;:@&=+])+)(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*)?|/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*)(\\?(([;/?:@&=+$,]|([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])))*)?|(([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[;?:@&=+$,])(([;/?:@&=+$,]|([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])))*)|(//((((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[;:&=+$,])*@)?((([a-zA-Z0-9]|[a-zA-Z0-9]([a-zA-Z0-9]|-)*[a-zA-Z0-9])\\.)*([a-zA-Z]|[a-zA-Z]([a-zA-Z0-9]|-)*[a-zA-Z0-9])(\\.)?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]*)?)?|(([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[$,;:@&=+])+)(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*)?|/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*|(([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[;@&=+$,])+(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*)?)(\\?(([;/?:@&=+$,]|([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])))*)?)?(#(([;/?:@&=+$,]|([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])))*)?$"
1287
+ }
1288
+ ]
1289
+ },
1290
+ "contentType": {
1291
+ "type": "string",
1292
+ "allOf": [
1293
+ {
1294
+ "minLength": 1,
1295
+ "maxLength": 128
1296
+ },
1297
+ {
1298
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1299
+ },
1300
+ {
1301
+ "pattern": "^([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+/([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+([ \\t]*;[ \\t]*([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+=(([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+|\"(([\\t !#-\\[\\]-~]|[\\x80-\\xff])|\\\\([\\t !-~]|[\\x80-\\xff]))*\"))*$"
1302
+ }
1303
+ ]
1304
+ }
1305
+ },
1306
+ "required": [
1307
+ "path"
1308
+ ]
1309
+ },
1310
+ "SpecificAssetId": {
1311
+ "allOf": [
1312
+ {
1313
+ "$ref": "#/definitions/HasSemantics"
1314
+ },
1315
+ {
1316
+ "properties": {
1317
+ "name": {
1318
+ "type": "string",
1319
+ "minLength": 1,
1320
+ "maxLength": 64,
1321
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1322
+ },
1323
+ "value": {
1324
+ "type": "string",
1325
+ "minLength": 1,
1326
+ "maxLength": 2048,
1327
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1328
+ },
1329
+ "externalSubjectId": {
1330
+ "$ref": "#/definitions/Reference"
1331
+ }
1332
+ },
1333
+ "required": [
1334
+ "name",
1335
+ "value"
1336
+ ]
1337
+ }
1338
+ ]
1339
+ },
1340
+ "StateOfEvent": {
1341
+ "type": "string",
1342
+ "enum": [
1343
+ "off",
1344
+ "on"
1345
+ ]
1346
+ },
1347
+ "Submodel": {
1348
+ "allOf": [
1349
+ {
1350
+ "$ref": "#/definitions/Identifiable"
1351
+ },
1352
+ {
1353
+ "$ref": "#/definitions/HasKind"
1354
+ },
1355
+ {
1356
+ "$ref": "#/definitions/HasSemantics"
1357
+ },
1358
+ {
1359
+ "$ref": "#/definitions/Qualifiable"
1360
+ },
1361
+ {
1362
+ "$ref": "#/definitions/HasDataSpecification"
1363
+ },
1364
+ {
1365
+ "properties": {
1366
+ "submodelElements": {
1367
+ "type": "array",
1368
+ "items": {
1369
+ "$ref": "#/definitions/SubmodelElement_choice"
1370
+ },
1371
+ "minItems": 1
1372
+ },
1373
+ "modelType": {
1374
+ "const": "Submodel"
1375
+ }
1376
+ }
1377
+ }
1378
+ ]
1379
+ },
1380
+ "SubmodelElement": {
1381
+ "allOf": [
1382
+ {
1383
+ "$ref": "#/definitions/Referable"
1384
+ },
1385
+ {
1386
+ "$ref": "#/definitions/HasSemantics"
1387
+ },
1388
+ {
1389
+ "$ref": "#/definitions/Qualifiable"
1390
+ },
1391
+ {
1392
+ "$ref": "#/definitions/HasDataSpecification"
1393
+ }
1394
+ ]
1395
+ },
1396
+ "SubmodelElementCollection": {
1397
+ "allOf": [
1398
+ {
1399
+ "$ref": "#/definitions/SubmodelElement"
1400
+ },
1401
+ {
1402
+ "properties": {
1403
+ "value": {
1404
+ "type": "array",
1405
+ "items": {
1406
+ "$ref": "#/definitions/SubmodelElement_choice"
1407
+ },
1408
+ "minItems": 1
1409
+ },
1410
+ "modelType": {
1411
+ "const": "SubmodelElementCollection"
1412
+ }
1413
+ }
1414
+ }
1415
+ ]
1416
+ },
1417
+ "SubmodelElementList": {
1418
+ "allOf": [
1419
+ {
1420
+ "$ref": "#/definitions/SubmodelElement"
1421
+ },
1422
+ {
1423
+ "properties": {
1424
+ "orderRelevant": {
1425
+ "type": "boolean"
1426
+ },
1427
+ "semanticIdListElement": {
1428
+ "$ref": "#/definitions/Reference"
1429
+ },
1430
+ "typeValueListElement": {
1431
+ "$ref": "#/definitions/AasSubmodelElements"
1432
+ },
1433
+ "valueTypeListElement": {
1434
+ "$ref": "#/definitions/DataTypeDefXsd"
1435
+ },
1436
+ "value": {
1437
+ "type": "array",
1438
+ "items": {
1439
+ "$ref": "#/definitions/SubmodelElement_choice"
1440
+ },
1441
+ "minItems": 1
1442
+ },
1443
+ "modelType": {
1444
+ "const": "SubmodelElementList"
1445
+ }
1446
+ },
1447
+ "required": [
1448
+ "typeValueListElement"
1449
+ ]
1450
+ }
1451
+ ]
1452
+ },
1453
+ "SubmodelElement_choice": {
1454
+ "oneOf": [
1455
+ {
1456
+ "$ref": "#/definitions/RelationshipElement"
1457
+ },
1458
+ {
1459
+ "$ref": "#/definitions/AnnotatedRelationshipElement"
1460
+ },
1461
+ {
1462
+ "$ref": "#/definitions/BasicEventElement"
1463
+ },
1464
+ {
1465
+ "$ref": "#/definitions/Blob"
1466
+ },
1467
+ {
1468
+ "$ref": "#/definitions/Capability"
1469
+ },
1470
+ {
1471
+ "$ref": "#/definitions/Entity"
1472
+ },
1473
+ {
1474
+ "$ref": "#/definitions/File"
1475
+ },
1476
+ {
1477
+ "$ref": "#/definitions/MultiLanguageProperty"
1478
+ },
1479
+ {
1480
+ "$ref": "#/definitions/Operation"
1481
+ },
1482
+ {
1483
+ "$ref": "#/definitions/Property"
1484
+ },
1485
+ {
1486
+ "$ref": "#/definitions/Range"
1487
+ },
1488
+ {
1489
+ "$ref": "#/definitions/ReferenceElement"
1490
+ },
1491
+ {
1492
+ "$ref": "#/definitions/SubmodelElementCollection"
1493
+ },
1494
+ {
1495
+ "$ref": "#/definitions/SubmodelElementList"
1496
+ }
1497
+ ]
1498
+ },
1499
+ "ValueList": {
1500
+ "type": "object",
1501
+ "properties": {
1502
+ "valueReferencePairs": {
1503
+ "type": "array",
1504
+ "items": {
1505
+ "$ref": "#/definitions/ValueReferencePair"
1506
+ },
1507
+ "minItems": 1
1508
+ }
1509
+ },
1510
+ "required": [
1511
+ "valueReferencePairs"
1512
+ ]
1513
+ },
1514
+ "ValueReferencePair": {
1515
+ "type": "object",
1516
+ "properties": {
1517
+ "value": {
1518
+ "type": "string",
1519
+ "minLength": 1,
1520
+ "maxLength": 2048,
1521
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1522
+ },
1523
+ "valueId": {
1524
+ "$ref": "#/definitions/Reference"
1525
+ }
1526
+ },
1527
+ "required": [
1528
+ "value"
1529
+ ]
1530
+ }
1531
+ }
1532
+ }