blob: d650f54d1fc9b6509b5cbb7c2e0ca7cca9e8685b [file] [log] [blame]
Constantin Ziesche857c7ab2020-02-25 11:24:51 +01001<?xml version="1.0" encoding="UTF-8"?>
2<schema targetNamespace="http://www.admin-shell.io/aas/1/0" elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:aas="http://www.admin-shell.io/aas/1/0" xmlns:IEC61360="http://www.admin-shell.io/IEC61360/1/0">
Constantin Ziesche02817f12020-08-04 21:40:43 +02003 <import schemaLocation="IEC61360.xsd" namespace="http://www.admin-shell.io/IEC61360/1/0"/>
Constantin Ziesche857c7ab2020-02-25 11:24:51 +01004 <element name="aasenv" type="aas:aasenv_t"/>
5 <complexType name="aasenv_t">
6 <sequence>
7 <element name="assetAdministrationShells" type="aas:assetAdministrationShells_t" minOccurs="0" maxOccurs="1"/>
8 <element name="assets" type="aas:assets_t" minOccurs="0" maxOccurs="1"/>
9 <element name="submodels" type="aas:submodels_t" minOccurs="0" maxOccurs="1"/>
10 <element name="conceptDescriptions" type="aas:conceptDescriptions_t" minOccurs="0" maxOccurs="1"/>
11 </sequence>
12 </complexType>
13 <complexType name="assetAdministrationShells_t">
14 <sequence>
15 <element name="assetAdministrationShell" type="aas:assetAdministrationShell_t" minOccurs="0" maxOccurs="unbounded"/>
16 </sequence>
17 </complexType>
18 <complexType name="assets_t">
19 <sequence>
20 <element name="asset" type="aas:asset_t" minOccurs="0" maxOccurs="unbounded"/>
21 </sequence>
22 </complexType>
23 <complexType name="asset_t">
24 <sequence>
25 <group ref="aas:identifiable"/>
26 <group ref="aas:hasDataSpecifications"/>
27 <group ref="aas:hasKind"/>
28 <element name="assetIdentificationModelRef" type="aas:reference_t" minOccurs="0" maxOccurs="1"/>
29 </sequence>
30 </complexType>
31 <complexType name="assetAdministrationShell_t">
32 <sequence>
33 <group ref="aas:identifiable"/>
34 <group ref="aas:hasDataSpecifications"/>
35 <element name="derivedFrom" type="aas:reference_t" minOccurs="0" maxOccurs="1"/>
36 <element name="assetRef" type="aas:reference_t" minOccurs="1" maxOccurs="1"/>
37 <element name="submodelRefs" type="aas:submodelRefs_t" minOccurs="0" maxOccurs="1"/>
38 <element name="views" type="aas:views_t" minOccurs="0" maxOccurs="1"/>
39 <element name="conceptDictionaries" type="aas:conceptDictionaries_t" minOccurs="0" maxOccurs="1"/>
40 </sequence>
41 </complexType>
42 <complexType name="submodel_t">
43 <sequence>
44 <group ref="aas:identifiable"/>
45 <group ref="aas:hasDataSpecifications"/>
46 <group ref="aas:hasSemantics"/>
47 <group ref="aas:hasKind"/>
48 <group ref="aas:qualifiable"/>
49 <element name="submodelElements" type="aas:submodelElements_t"/>
50 </sequence>
51 </complexType>
52 <complexType name="conceptDescription_t">
53 <sequence>
54 <group ref="aas:identifiable"/>
55 <group ref="aas:hasDataSpecifications"/>
56 <element name="isCaseOf" type="aas:reference_t" maxOccurs="unbounded" minOccurs="0"/>
57 </sequence>
58 </complexType>
59 <complexType name="view_t">
60 <sequence>
61 <group ref="aas:referable"/>
62 <group ref="aas:hasSemantics"/>
63 <group ref="aas:hasDataSpecifications"/>
64 <element name="containedElements" type="aas:containedElements_t"/>
65 </sequence>
66 </complexType>
67 <complexType name="submodelElements_t">
68 <sequence>
69 <element name="submodelElement" type="aas:submodelElement_t" minOccurs="0" maxOccurs="unbounded"/>
70 </sequence>
71 </complexType>
72 <complexType name="submodelElementAbstract_t">
73 <sequence>
74 <group ref="aas:referable"/>
75 <group ref="aas:hasSemantics"/>
76 <group ref="aas:hasDataSpecifications"/>
77 <group ref="aas:hasKind"/>
78 <group ref="aas:qualifiable"/>
79 </sequence>
80 </complexType>
81 <complexType name="submodelRefs_t">
82 <sequence>
83 <element name="submodelRef" type="aas:reference_t" minOccurs="0" maxOccurs="unbounded"/>
84 </sequence>
85 </complexType>
86 <complexType name="views_t">
87 <sequence>
88 <element name="view" type="aas:view_t" minOccurs="0" maxOccurs="unbounded"/>
89 </sequence>
90 </complexType>
91 <complexType name="conceptDictionary_t">
92 <sequence>
93 <group ref="aas:referable"/>
94 <element name="conceptDescriptionRefs" type="aas:conceptDescriptionsRef_t" minOccurs="0" maxOccurs="1"/>
95 </sequence>
96 </complexType>
97 <complexType name="conceptDescriptions_t">
98 <sequence>
99 <element name="conceptDescription" type="aas:conceptDescription_t" minOccurs="0" maxOccurs="unbounded"/>
100 </sequence>
101 </complexType>
102 <complexType name="conceptDictionaries_t">
103 <sequence>
104 <element name="conceptDictionary" type="aas:conceptDictionary_t" minOccurs="0" maxOccurs="unbounded"/>
105 </sequence>
106 </complexType>
107 <complexType name="submodels_t">
108 <sequence>
109 <element name="submodel" type="aas:submodel_t" minOccurs="0" maxOccurs="unbounded"/>
110 </sequence>
111 </complexType>
112 <complexType name="containedElements_t">
113 <sequence>
114 <element name="containedElementRef" type="aas:reference_t"/>
115 </sequence>
116 </complexType>
117 <complexType name="submodelElement_t">
118 <choice>
119 <element name="property" type="aas:property_t"/>
120 <element name="file" type="aas:file_t"/>
121 <element name="blob" type="aas:blob_t"/>
122 <element name="referenceElement" type="aas:referenceElement_t"/>
123 <element name="submodelElementCollection" type="aas:submodelElementCollection_t"/>
124 <element name="relationshipElement" type="aas:relationshipElement_t"/>
125 <element name="operation" type="aas:operation_t"/>
126 <element name="operationVariable" type="aas:operationVariable_t"/>
127 <element name="event" type="aas:event_t"/>
128 </choice>
129 </complexType>
130 <complexType name="property_t">
131 <complexContent>
132 <extension base="aas:submodelElementAbstract_t">
133 <sequence>
134 <element name="valueType" type="string"/>
135 <element name="value" type="aas:propertyValueType_t" maxOccurs="1" minOccurs="0"/>
136 <element name="valueId" type="aas:reference_t" maxOccurs="1" minOccurs="0"/>
137 </sequence>
138 </extension>
139 </complexContent>
140 </complexType>
141 <complexType name="file_t">
142 <complexContent>
143 <extension base="aas:submodelElementAbstract_t">
144 <sequence>
145 <element name="mimeType" type="string"/>
146 <element name="value" type="aas:pathType_t"/>
147 </sequence>
148 </extension>
149 </complexContent>
150 </complexType>
151 <complexType name="blob_t">
152 <complexContent>
153 <extension base="aas:submodelElementAbstract_t">
154 <sequence>
155 <element name="mimeType" type="string"/>
156 <element name="value" type="aas:blobType_t"/>
157 </sequence>
158 </extension>
159 </complexContent>
160 </complexType>
161 <complexType name="referenceElement_t">
162 <complexContent>
163 <extension base="aas:submodelElementAbstract_t">
164 <sequence>
165 <element name="value" type="aas:reference_t"/>
166 </sequence>
167 </extension>
168 </complexContent>
169 </complexType>
170 <complexType name="submodelElementCollection_t">
171 <complexContent>
172 <extension base="aas:submodelElementAbstract_t">
173 <sequence>
174 <element name="value" type="aas:submodelElements_t"/>
175 <element name="ordered" type="boolean"/>
176 <element name="allowDuplicates" type="boolean"/>
177 </sequence>
178 </extension>
179 </complexContent>
180 </complexType>
181 <complexType name="relationshipElement_t">
182 <complexContent>
183 <extension base="aas:submodelElementAbstract_t">
184 <sequence>
185 <element name="first" type="aas:reference_t"/>
186 <element name="second" type="aas:reference_t"/>
187 </sequence>
188 </extension>
189 </complexContent>
190 </complexType>
191 <complexType name="operation_t">
192 <complexContent>
193 <extension base="aas:submodelElementAbstract_t">
194 <sequence>
195 <element name="in" type="aas:operationVariable_t"/>
196 <element name="out" type="aas:operationVariable_t"/>
197 </sequence>
198 </extension>
199 </complexContent>
200 </complexType>
201 <complexType name="operationVariable_t">
202 <complexContent>
203 <extension base="aas:submodelElementAbstract_t">
204 <sequence>
205 <element name="value" type="aas:submodelElement_t"/>
206 </sequence>
207 </extension>
208 </complexContent>
209 </complexType>
210 <complexType name="event_t">
211 <complexContent>
212 <extension base="aas:submodelElementAbstract_t">
213 <sequence/>
214 </extension>
215 </complexContent>
216 </complexType>
217 <complexType name="dataSpecificationContent_t">
218 <choice>
219 <element name="dataSpecificationIEC61360" type="IEC61360:dataSpecificationIEC61630_t"/>
220 </choice>
221 </complexType>
222 <complexType name="conceptDescriptionsRef_t">
223 <sequence>
224 <element name="conceptDescriptionRef" type="aas:reference_t" minOccurs="0" maxOccurs="unbounded"/>
225 </sequence>
226 </complexType>
227 <complexType name="pathType_t">
228 <simpleContent>
229 <extension base="string"/>
230 </simpleContent>
231 </complexType>
232 <complexType name="blobType_t">
233 <simpleContent>
234 <extension base="base64Binary"/>
235 </simpleContent>
236 </complexType>
237 <complexType name="idPropertyDefinition_t">
238 <simpleContent>
239 <extension base="string">
240 <attribute name="idType" type="string" />
241 </extension>
242 </simpleContent>
243 </complexType>
244 <complexType name="idShort_t">
245 <simpleContent>
246 <extension base="string"/>
247 </simpleContent>
248 </complexType>
249 <complexType name="administration_t">
250 <sequence>
251 <element name="version" type="string" minOccurs="0" maxOccurs="1" />
252 <element name="revision" type="string" minOccurs="0" maxOccurs="1" />
253 </sequence>
254 </complexType>
255 <complexType name="identification_t">
256 <simpleContent>
257 <extension base="string">
258 <attribute name="idType" use="optional">
259 <simpleType>
260 <restriction base="string">
261 <enumeration value="URI"/>
262 <enumeration value="IRDI"/>
263 <enumeration value="Custom"/>
264 </restriction>
265 </simpleType>
266 </attribute>
267 </extension>
268 </simpleContent>
269 </complexType>
270 <group name="identifiable">
271 <sequence>
272 <group ref="aas:referable"/>
273 <element name="identification" type="aas:identification_t" minOccurs="0" maxOccurs="1"/>
274 <element name="administration" type="aas:administration_t" minOccurs="0" maxOccurs="1"/>
275 </sequence>
276 </group>
277 <group name="referable">
278 <sequence>
279 <element name="idShort" type="aas:idShort_t" minOccurs="0" maxOccurs="1"/>
280 <element name="category" type="string" minOccurs="0" maxOccurs="1"/>
281 <element name="description" type="aas:langStrings_t" minOccurs="0" maxOccurs="1"/>
282 <element name="parent" type="string" minOccurs="0" maxOccurs="1"/>
283 </sequence>
284 </group>
285 <complexType name="qualifiers_t">
286 <sequence>
287 <element name="qualifier" type="string" minOccurs="0" maxOccurs="unbounded"/>
288 </sequence>
289 </complexType>
290 <group name="qualifiable">
291 <sequence>
292 <element name="qualifier" type="aas:constraint_t" minOccurs="0" maxOccurs="1"/>
293 </sequence>
294 </group>
295 <group name="hasDataSpecifications">
296 <sequence>
297 <element name="embeddedDataSpecification" type="aas:embeddedDataSpecification_t" maxOccurs="unbounded" minOccurs="0"/>
298 </sequence>
299 </group>
300 <group name="hasSemantics">
301 <sequence>
302 <element name="semanticId" type="aas:semanticId_t" minOccurs="0"/>
303 </sequence>
304 </group>
305 <complexType name="semanticId_t">
306 <complexContent>
307 <extension base="aas:reference_t"/>
308 </complexContent>
309 </complexType>
310 <complexType name="reference_t">
311 <sequence>
312 <element name="keys" type="aas:keys_t"/>
313 </sequence>
314 </complexType>
315 <complexType name="qualifier_t">
316 <sequence>
317 <group ref="aas:hasSemantics"/>
318 <element name="qualifierType" type="string"/>
319 <element name="qualifierValue" type="string" maxOccurs="1" minOccurs="0"/>
320 <element name="qualifierValueId" type="aas:reference_t" maxOccurs="1" minOccurs="0"/>
321 </sequence>
322 </complexType>
323 <complexType name="formula_t">
324 <sequence>
325 <element name="dependsOn" type="aas:references_t"/>
326 </sequence>
327 </complexType>
328 <complexType name="constraint_t">
329 <choice>
330 <element name="qualifier" type="aas:qualifier_t"/>
331 <element name="formula" type="aas:formula_t"/>
332 </choice>
333 </complexType>
334 <complexType name="references_t">
335 <sequence>
336 <element name="reference" type="aas:reference_t" minOccurs="0" maxOccurs="unbounded"/>
337 </sequence>
338 </complexType>
339 <group name="hasKind">
340 <sequence>
341 <element name="kind" minOccurs="0" maxOccurs="1">
342 <simpleType>
343 <restriction base="string">
344 <enumeration value="Type"/>
345 <enumeration value="Instance"/>
346 </restriction>
347 </simpleType>
348 </element>
349 </sequence>
350 </group>
351 <complexType name="keys_t">
352 <sequence>
353 <element ref="aas:key" minOccurs="0" maxOccurs="unbounded"/>
354 </sequence>
355 </complexType>
356 <element name="key" type="aas:key_t"/>
357 <attributeGroup name="keyTypes">
358 <attribute name="localKeyType" use="optional">
359 <simpleType>
360 <restriction base="string">
361 <enumeration value="idShort"/>
362 </restriction>
363 </simpleType>
364 </attribute>
365 <attribute name="identifierType" use="optional">
366 <simpleType>
367 <restriction base="string">
368 <enumeration value="IRDI"/>
369 <enumeration value="URI"/>
370 <enumeration value="Custom"/>
371 </restriction>
372 </simpleType>
373 </attribute>
374 </attributeGroup>
375 <complexType name="key_t">
376 <simpleContent>
377 <extension base="string">
378 <attribute name="type">
379 <simpleType>
380 <restriction base="string">
381 <enumeration value="GlobalReference"/>
382 <enumeration value="ConceptDictionary"/>
383 <enumeration value="AccessPermissionRule"/>
384 <enumeration value="DataElement"/>
385 <enumeration value="View"/>
386 <enumeration value="Property"/>
387 <enumeration value="SubmodelElement"/>
388 <enumeration value="File"/>
389 <enumeration value="Blob"/>
390 <enumeration value="ReferenceElement"/>
391 <enumeration value="SubmodelElementCollection"/>
392 <enumeration value="RelationShipElement"/>
393 <enumeration value="Event"/>
394 <enumeration value="Operation"/>
395 <enumeration value="OperationVariable"/>
396 <enumeration value="AssetAdministrationShell"/>
397 <enumeration value="Submodel"/>
398 <enumeration value="ConceptDescription"/>
399 <enumeration value="Asset"/>
400 </restriction>
401 </simpleType>
402 </attribute>
403 <attribute name="idType">
404 <simpleType>
405 <restriction base="string">
406 <enumeration value="idShort"/>
407 <enumeration value="IRDI"/>
408 <enumeration value="URI"/>
409 <enumeration value="Custom"/>
410 </restriction>
411 </simpleType>
412 </attribute>
413 <attribute name="local" type="boolean"/>
414 </extension>
415 </simpleContent>
416 </complexType>
417 <complexType name="langString_t">
418 <simpleContent>
419 <extension base="string">
420 <attribute name="lang" type="string" />
421 </extension>
422 </simpleContent>
423 </complexType>
424 <complexType name="langStrings_t">
425 <sequence>
426 <element name="langString" type="aas:langString_t" minOccurs="0" maxOccurs="unbounded"/>
427 </sequence>
428 </complexType>
429 <complexType name="embeddedDataSpecification_t">
430 <sequence>
431 <element name="hasDataSpecification" type="aas:reference_t" maxOccurs="1" minOccurs="0"/>
432 <element name="dataSpecificationContent" type="aas:dataSpecificationContent_t" maxOccurs="1" minOccurs="0"/>
433 </sequence>
434 </complexType>
435 <complexType name="prvalueType_t"/>
436 <complexType name="propertyValueType_t">
437 <simpleContent>
438 <extension base="string"/>
439 </simpleContent>
440 </complexType>
441</schema>