Skip to content

Commit aef62f8

Browse files
committed
adapter.xml: Update XSD of valueDataType and Extension
This commit remanes `valueDataType_t` from the XSD to `valueDataType`. Furthermore, it adds a missing `<reference>` tag around the `refersTo` References of `Extension`.
1 parent eed8972 commit aef62f8

5 files changed

Lines changed: 51 additions & 34 deletions

File tree

basyx/aas/adapter/xml/AAS.xsd

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -387,8 +387,14 @@
387387
</xs:simpleType>
388388
</xs:element>
389389
<xs:element name="valueType" type="dataTypeDefXsd_t" minOccurs="0" maxOccurs="1"/>
390-
<xs:element name="value" type="valueDataType_t" minOccurs="0" maxOccurs="1"/>
391-
<xs:element name="refersTo" type="reference_t" minOccurs="0" maxOccurs="1"/>
390+
<xs:element name="value" type="valueDataType" minOccurs="0" maxOccurs="1"/>
391+
<xs:element name="refersTo" minOccurs="0" maxOccurs="1">
392+
<xs:complexType>
393+
<xs:sequence>
394+
<xs:element name="reference" type="reference_t" minOccurs="1" maxOccurs="unbounded"/>
395+
</xs:sequence>
396+
</xs:complexType>
397+
</xs:element>
392398
</xs:sequence>
393399
</xs:group>
394400
<xs:group name="file">
@@ -637,7 +643,7 @@
637643
<xs:sequence>
638644
<xs:group ref="dataElement"/>
639645
<xs:element name="valueType" type="dataTypeDefXsd_t"/>
640-
<xs:element name="value" type="valueDataType_t" minOccurs="0" maxOccurs="1"/>
646+
<xs:element name="value" type="valueDataType" minOccurs="0" maxOccurs="1"/>
641647
<xs:element name="valueId" type="reference_t" minOccurs="0" maxOccurs="1"/>
642648
</xs:sequence>
643649
</xs:group>
@@ -684,16 +690,16 @@
684690
</xs:simpleType>
685691
</xs:element>
686692
<xs:element name="valueType" type="dataTypeDefXsd_t"/>
687-
<xs:element name="value" type="valueDataType_t" minOccurs="0" maxOccurs="1"/>
693+
<xs:element name="value" type="valueDataType" minOccurs="0" maxOccurs="1"/>
688694
<xs:element name="valueId" type="reference_t" minOccurs="0" maxOccurs="1"/>
689695
</xs:sequence>
690696
</xs:group>
691697
<xs:group name="range">
692698
<xs:sequence>
693699
<xs:group ref="dataElement"/>
694700
<xs:element name="valueType" type="dataTypeDefXsd_t"/>
695-
<xs:element name="min" type="valueDataType_t" minOccurs="0" maxOccurs="1"/>
696-
<xs:element name="max" type="valueDataType_t" minOccurs="0" maxOccurs="1"/>
701+
<xs:element name="min" type="valueDataType" minOccurs="0" maxOccurs="1"/>
702+
<xs:element name="max" type="valueDataType" minOccurs="0" maxOccurs="1"/>
697703
</xs:sequence>
698704
</xs:group>
699705
<xs:group name="referable">
@@ -1087,11 +1093,14 @@
10871093
<xs:enumeration value="off"/>
10881094
</xs:restriction>
10891095
</xs:simpleType>
1090-
<xs:complexType name="valueDataType_t">
1091-
<xs:simpleContent>
1092-
<xs:extension base="xs:anySimpleType"/>
1093-
</xs:simpleContent>
1094-
</xs:complexType>
1096+
<xs:simpleType name="valueDataType">
1097+
<xs:restriction base="xs:string"/>
1098+
</xs:simpleType>
1099+
<xs:complexType name="abstractLangString_t">
1100+
<xs:sequence>
1101+
<xs:group ref="abstractLangString"/>
1102+
</xs:sequence>
1103+
</xs:complexType>
10951104
<xs:complexType name="administrativeInformation_t">
10961105
<xs:sequence>
10971106
<xs:group ref="administrativeInformation"/>

basyx/aas/adapter/xml/xml_serialization.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -277,9 +277,11 @@ def extension_to_xml(obj: model.Extension, tag: str = NS_AAS+"extension") -> etr
277277
text=model.datatypes.XSD_TYPE_NAMES[obj.value_type]))
278278
if obj.value:
279279
et_extension.append(_value_to_xml(obj.value, obj.value_type)) # type: ignore # (value_type could be None)
280-
for refers_to in obj.refers_to:
281-
et_extension.append(reference_to_xml(refers_to, NS_AAS+"refersTo"))
282-
280+
if obj.refers_to:
281+
refers_to = _generate_element(NS_AAS+"refersTo")
282+
for reference in obj.refers_to:
283+
refers_to.append(reference_to_xml(reference, NS_AAS+"reference"))
284+
et_extension.append(refers_to)
283285
return et_extension
284286

285287

test/compliance_tool/files/test_demo_full_example.xml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -347,13 +347,15 @@
347347
<aas:valueType>xs:string</aas:valueType>
348348
<aas:value>ExampleExtensionValue</aas:value>
349349
<aas:refersTo>
350-
<aas:type>ModelReference</aas:type>
351-
<aas:keys>
352-
<aas:key>
353-
<aas:type>AssetAdministrationShell</aas:type>
354-
<aas:value>http://acplt.org/RefersTo/ExampleRefersTo</aas:value>
355-
</aas:key>
356-
</aas:keys>
350+
<aas:reference>
351+
<aas:type>ModelReference</aas:type>
352+
<aas:keys>
353+
<aas:key>
354+
<aas:type>AssetAdministrationShell</aas:type>
355+
<aas:value>http://acplt.org/RefersTo/ExampleRefersTo</aas:value>
356+
</aas:key>
357+
</aas:keys>
358+
</aas:reference>
357359
</aas:refersTo>
358360
</aas:extension>
359361
</aas:extensions>

test/compliance_tool/files/test_demo_full_example_xml_aasx/aasx/data.xml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -355,13 +355,15 @@
355355
<aas:valueType>xs:string</aas:valueType>
356356
<aas:value>ExampleExtensionValue</aas:value>
357357
<aas:refersTo>
358-
<aas:type>ModelReference</aas:type>
359-
<aas:keys>
360-
<aas:key>
361-
<aas:type>AssetAdministrationShell</aas:type>
362-
<aas:value>http://acplt.org/RefersTo/ExampleRefersTo</aas:value>
363-
</aas:key>
364-
</aas:keys>
358+
<aas:reference>
359+
<aas:type>ModelReference</aas:type>
360+
<aas:keys>
361+
<aas:key>
362+
<aas:type>AssetAdministrationShell</aas:type>
363+
<aas:value>http://acplt.org/RefersTo/ExampleRefersTo</aas:value>
364+
</aas:key>
365+
</aas:keys>
366+
</aas:reference>
365367
</aas:refersTo>
366368
</aas:extension>
367369
</aas:extensions>

test/compliance_tool/files/test_demo_full_example_xml_wrong_attribute_aasx/aasx/data.xml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -355,13 +355,15 @@
355355
<aas:valueType>xs:string</aas:valueType>
356356
<aas:value>ExampleExtensionValue</aas:value>
357357
<aas:refersTo>
358+
<aas:reference>
358359
<aas:type>ModelReference</aas:type>
359-
<aas:keys>
360-
<aas:key>
361-
<aas:type>AssetAdministrationShell</aas:type>
362-
<aas:value>http://acplt.org/RefersTo/ExampleRefersTo</aas:value>
363-
</aas:key>
364-
</aas:keys>
360+
<aas:keys>
361+
<aas:key>
362+
<aas:type>AssetAdministrationShell</aas:type>
363+
<aas:value>http://acplt.org/RefersTo/ExampleRefersTo</aas:value>
364+
</aas:key>
365+
</aas:keys>
366+
</aas:reference>
365367
</aas:refersTo>
366368
</aas:extension>
367369
</aas:extensions>

0 commit comments

Comments
 (0)