Skip to content

Commit b5b4a41

Browse files
committed
adapter.xml: Change order of SubmodelElementList objects
The current order of the elements in `SubmodelElementList` was wrong. This updates the order.
1 parent bfc2cca commit b5b4a41

6 files changed

Lines changed: 96 additions & 96 deletions

File tree

basyx/aas/adapter/xml/AAS.xsd

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -884,16 +884,16 @@
884884
<xs:sequence>
885885
<xs:group ref="submodelElement"/>
886886
<xs:element name="orderRelevant" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
887+
<xs:element name="semanticIdListElement" type="reference_t" minOccurs="0" maxOccurs="1"/>
888+
<xs:element name="typeValueListElement" type="aasSubmodelElements_t"/>
889+
<xs:element name="valueTypeListElement" type="dataTypeDefXsd_t" minOccurs="0" maxOccurs="1"/>
887890
<xs:element name="value" minOccurs="0" maxOccurs="1">
888891
<xs:complexType>
889892
<xs:sequence>
890893
<xs:group ref="submodelElement_choice" minOccurs="1" maxOccurs="unbounded"/>
891894
</xs:sequence>
892895
</xs:complexType>
893896
</xs:element>
894-
<xs:element name="semanticIdListElement" type="reference_t" minOccurs="0" maxOccurs="1"/>
895-
<xs:element name="typeValueListElement" type="aasSubmodelElements_t"/>
896-
<xs:element name="valueTypeListElement" type="dataTypeDefXsd_t" minOccurs="0" maxOccurs="1"/>
897897
</xs:sequence>
898898
</xs:group>
899899
<xs:group name="submodelElement_choice">

basyx/aas/adapter/xml/xml_serialization.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -679,11 +679,6 @@ def submodel_element_list_to_xml(obj: model.SubmodelElementList,
679679
tag: str = NS_AAS+"submodelElementList") -> etree.Element:
680680
et_submodel_element_list = abstract_classes_to_xml(tag, obj)
681681
et_submodel_element_list.append(_generate_element(NS_AAS + "orderRelevant", boolean_to_xml(obj.order_relevant)))
682-
if len(obj.value) > 0:
683-
et_value = _generate_element(NS_AAS + "value")
684-
for se in obj.value:
685-
et_value.append(submodel_element_to_xml(se))
686-
et_submodel_element_list.append(et_value)
687682
if obj.semantic_id_list_element is not None:
688683
et_submodel_element_list.append(reference_to_xml(obj.semantic_id_list_element,
689684
NS_AAS + "semanticIdListElement"))
@@ -692,6 +687,11 @@ def submodel_element_list_to_xml(obj: model.SubmodelElementList,
692687
if obj.value_type_list_element is not None:
693688
et_submodel_element_list.append(_generate_element(NS_AAS + "valueTypeListElement",
694689
model.datatypes.XSD_TYPE_NAMES[obj.value_type_list_element]))
690+
if len(obj.value) > 0:
691+
et_value = _generate_element(NS_AAS + "value")
692+
for se in obj.value:
693+
et_value.append(submodel_element_to_xml(se))
694+
et_submodel_element_list.append(et_value)
695695
return et_submodel_element_list
696696

697697

test/compliance_tool/files/test_demo_full_example.xml

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1180,6 +1180,17 @@
11801180
</aas:keys>
11811181
</aas:semanticId>
11821182
<aas:orderRelevant>true</aas:orderRelevant>
1183+
<aas:semanticIdListElement>
1184+
<aas:type>ExternalReference</aas:type>
1185+
<aas:keys>
1186+
<aas:key>
1187+
<aas:type>GlobalReference</aas:type>
1188+
<aas:value>http://acplt.org/Properties/ExampleProperty</aas:value>
1189+
</aas:key>
1190+
</aas:keys>
1191+
</aas:semanticIdListElement>
1192+
<aas:typeValueListElement>Property</aas:typeValueListElement>
1193+
<aas:valueTypeListElement>xs:string</aas:valueTypeListElement>
11831194
<aas:value>
11841195
<aas:property>
11851196
<aas:category>CONSTANT</aas:category>
@@ -1397,17 +1408,6 @@
13971408
</aas:valueId>
13981409
</aas:property>
13991410
</aas:value>
1400-
<aas:semanticIdListElement>
1401-
<aas:type>ExternalReference</aas:type>
1402-
<aas:keys>
1403-
<aas:key>
1404-
<aas:type>GlobalReference</aas:type>
1405-
<aas:value>http://acplt.org/Properties/ExampleProperty</aas:value>
1406-
</aas:key>
1407-
</aas:keys>
1408-
</aas:semanticIdListElement>
1409-
<aas:typeValueListElement>Property</aas:typeValueListElement>
1410-
<aas:valueTypeListElement>xs:string</aas:valueTypeListElement>
14111411
</aas:submodelElementList>
14121412
<aas:multiLanguageProperty>
14131413
<aas:category>CONSTANT</aas:category>
@@ -1622,6 +1622,7 @@
16221622
</aas:basicEventElement>
16231623
<aas:submodelElementList>
16241624
<aas:idShort>ExampleSubmodelList</aas:idShort>
1625+
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
16251626
<aas:value>
16261627
<aas:submodelElementCollection>
16271628
<aas:kind>Instance</aas:kind>
@@ -1665,7 +1666,6 @@
16651666
<aas:kind>Instance</aas:kind>
16661667
</aas:submodelElementCollection>
16671668
</aas:value>
1668-
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
16691669
</aas:submodelElementList>
16701670
<aas:submodelElementList>
16711671
<aas:idShort>ExampleSubmodelList2</aas:idShort>
@@ -2630,6 +2630,16 @@
26302630
</aas:keys>
26312631
</aas:semanticId>
26322632
<aas:orderRelevant>true</aas:orderRelevant>
2633+
<aas:semanticIdListElement>
2634+
<aas:type>ExternalReference</aas:type>
2635+
<aas:keys>
2636+
<aas:key>
2637+
<aas:type>GlobalReference</aas:type>
2638+
<aas:value>http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollection</aas:value>
2639+
</aas:key>
2640+
</aas:keys>
2641+
</aas:semanticIdListElement>
2642+
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
26332643
<aas:value>
26342644
<aas:submodelElementCollection>
26352645
<aas:category>PARAMETER</aas:category>
@@ -2856,16 +2866,6 @@
28562866
</aas:semanticId>
28572867
</aas:submodelElementCollection>
28582868
</aas:value>
2859-
<aas:semanticIdListElement>
2860-
<aas:type>ExternalReference</aas:type>
2861-
<aas:keys>
2862-
<aas:key>
2863-
<aas:type>GlobalReference</aas:type>
2864-
<aas:value>http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollection</aas:value>
2865-
</aas:key>
2866-
</aas:keys>
2867-
</aas:semanticIdListElement>
2868-
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
28692869
</aas:submodelElementList>
28702870
<aas:submodelElementList>
28712871
<aas:category>PARAMETER</aas:category>

test/compliance_tool/files/test_demo_full_example_wrong_attribute.xml

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1178,6 +1178,17 @@
11781178
</aas:keys>
11791179
</aas:semanticId>
11801180
<aas:orderRelevant>true</aas:orderRelevant>
1181+
<aas:semanticIdListElement>
1182+
<aas:type>ExternalReference</aas:type>
1183+
<aas:keys>
1184+
<aas:key>
1185+
<aas:type>GlobalReference</aas:type>
1186+
<aas:value>http://acplt.org/Properties/ExampleProperty</aas:value>
1187+
</aas:key>
1188+
</aas:keys>
1189+
</aas:semanticIdListElement>
1190+
<aas:typeValueListElement>Property</aas:typeValueListElement>
1191+
<aas:valueTypeListElement>xs:string</aas:valueTypeListElement>
11811192
<aas:value>
11821193
<aas:property>
11831194
<aas:category>CONSTANT</aas:category>
@@ -1395,17 +1406,6 @@
13951406
</aas:valueId>
13961407
</aas:property>
13971408
</aas:value>
1398-
<aas:semanticIdListElement>
1399-
<aas:type>ExternalReference</aas:type>
1400-
<aas:keys>
1401-
<aas:key>
1402-
<aas:type>GlobalReference</aas:type>
1403-
<aas:value>http://acplt.org/Properties/ExampleProperty</aas:value>
1404-
</aas:key>
1405-
</aas:keys>
1406-
</aas:semanticIdListElement>
1407-
<aas:typeValueListElement>Property</aas:typeValueListElement>
1408-
<aas:valueTypeListElement>xs:string</aas:valueTypeListElement>
14091409
</aas:submodelElementList>
14101410
<aas:multiLanguageProperty>
14111411
<aas:category>CONSTANT</aas:category>
@@ -1620,6 +1620,7 @@
16201620
</aas:basicEventElement>
16211621
<aas:submodelElementList>
16221622
<aas:idShort>ExampleSubmodelList</aas:idShort>
1623+
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
16231624
<aas:value>
16241625
<aas:submodelElementCollection>
16251626
<aas:kind>Instance</aas:kind>
@@ -1663,7 +1664,6 @@
16631664
<aas:kind>Instance</aas:kind>
16641665
</aas:submodelElementCollection>
16651666
</aas:value>
1666-
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
16671667
</aas:submodelElementList>
16681668
<aas:submodelElementList>
16691669
<aas:idShort>ExampleSubmodelList2</aas:idShort>
@@ -2628,6 +2628,16 @@
26282628
</aas:keys>
26292629
</aas:semanticId>
26302630
<aas:orderRelevant>true</aas:orderRelevant>
2631+
<aas:semanticIdListElement>
2632+
<aas:type>ExternalReference</aas:type>
2633+
<aas:keys>
2634+
<aas:key>
2635+
<aas:type>GlobalReference</aas:type>
2636+
<aas:value>http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollection</aas:value>
2637+
</aas:key>
2638+
</aas:keys>
2639+
</aas:semanticIdListElement>
2640+
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
26312641
<aas:value>
26322642
<aas:submodelElementCollection>
26332643
<aas:category>PARAMETER</aas:category>
@@ -2854,16 +2864,6 @@
28542864
</aas:semanticId>
28552865
</aas:submodelElementCollection>
28562866
</aas:value>
2857-
<aas:semanticIdListElement>
2858-
<aas:type>ExternalReference</aas:type>
2859-
<aas:keys>
2860-
<aas:key>
2861-
<aas:type>GlobalReference</aas:type>
2862-
<aas:value>http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollection</aas:value>
2863-
</aas:key>
2864-
</aas:keys>
2865-
</aas:semanticIdListElement>
2866-
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
28672867
</aas:submodelElementList>
28682868
<aas:submodelElementList>
28692869
<aas:category>PARAMETER</aas:category>

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

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1188,6 +1188,17 @@
11881188
</aas:keys>
11891189
</aas:semanticId>
11901190
<aas:orderRelevant>true</aas:orderRelevant>
1191+
<aas:semanticIdListElement>
1192+
<aas:type>ExternalReference</aas:type>
1193+
<aas:keys>
1194+
<aas:key>
1195+
<aas:type>GlobalReference</aas:type>
1196+
<aas:value>http://acplt.org/Properties/ExampleProperty</aas:value>
1197+
</aas:key>
1198+
</aas:keys>
1199+
</aas:semanticIdListElement>
1200+
<aas:typeValueListElement>Property</aas:typeValueListElement>
1201+
<aas:valueTypeListElement>xs:string</aas:valueTypeListElement>
11911202
<aas:value>
11921203
<aas:property>
11931204
<aas:category>CONSTANT</aas:category>
@@ -1405,17 +1416,6 @@
14051416
</aas:valueId>
14061417
</aas:property>
14071418
</aas:value>
1408-
<aas:semanticIdListElement>
1409-
<aas:type>ExternalReference</aas:type>
1410-
<aas:keys>
1411-
<aas:key>
1412-
<aas:type>GlobalReference</aas:type>
1413-
<aas:value>http://acplt.org/Properties/ExampleProperty</aas:value>
1414-
</aas:key>
1415-
</aas:keys>
1416-
</aas:semanticIdListElement>
1417-
<aas:typeValueListElement>Property</aas:typeValueListElement>
1418-
<aas:valueTypeListElement>xs:string</aas:valueTypeListElement>
14191419
</aas:submodelElementList>
14201420
<aas:multiLanguageProperty>
14211421
<aas:category>CONSTANT</aas:category>
@@ -1630,6 +1630,7 @@
16301630
</aas:basicEventElement>
16311631
<aas:submodelElementList>
16321632
<aas:idShort>ExampleSubmodelList</aas:idShort>
1633+
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
16331634
<aas:value>
16341635
<aas:submodelElementCollection>
16351636
<aas:kind>Instance</aas:kind>
@@ -1673,7 +1674,6 @@
16731674
<aas:kind>Instance</aas:kind>
16741675
</aas:submodelElementCollection>
16751676
</aas:value>
1676-
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
16771677
</aas:submodelElementList>
16781678
<aas:submodelElementList>
16791679
<aas:idShort>ExampleSubmodelList2</aas:idShort>
@@ -2638,6 +2638,16 @@
26382638
</aas:keys>
26392639
</aas:semanticId>
26402640
<aas:orderRelevant>true</aas:orderRelevant>
2641+
<aas:semanticIdListElement>
2642+
<aas:type>ExternalReference</aas:type>
2643+
<aas:keys>
2644+
<aas:key>
2645+
<aas:type>GlobalReference</aas:type>
2646+
<aas:value>http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollection</aas:value>
2647+
</aas:key>
2648+
</aas:keys>
2649+
</aas:semanticIdListElement>
2650+
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
26412651
<aas:value>
26422652
<aas:submodelElementCollection>
26432653
<aas:category>PARAMETER</aas:category>
@@ -2864,16 +2874,6 @@
28642874
</aas:semanticId>
28652875
</aas:submodelElementCollection>
28662876
</aas:value>
2867-
<aas:semanticIdListElement>
2868-
<aas:type>ExternalReference</aas:type>
2869-
<aas:keys>
2870-
<aas:key>
2871-
<aas:type>GlobalReference</aas:type>
2872-
<aas:value>http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollection</aas:value>
2873-
</aas:key>
2874-
</aas:keys>
2875-
</aas:semanticIdListElement>
2876-
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
28772877
</aas:submodelElementList>
28782878
<aas:submodelElementList>
28792879
<aas:category>PARAMETER</aas:category>

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

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1188,6 +1188,17 @@
11881188
</aas:keys>
11891189
</aas:semanticId>
11901190
<aas:orderRelevant>true</aas:orderRelevant>
1191+
<aas:semanticIdListElement>
1192+
<aas:type>ExternalReference</aas:type>
1193+
<aas:keys>
1194+
<aas:key>
1195+
<aas:type>GlobalReference</aas:type>
1196+
<aas:value>http://acplt.org/Properties/ExampleProperty</aas:value>
1197+
</aas:key>
1198+
</aas:keys>
1199+
</aas:semanticIdListElement>
1200+
<aas:typeValueListElement>Property</aas:typeValueListElement>
1201+
<aas:valueTypeListElement>xs:string</aas:valueTypeListElement>
11911202
<aas:value>
11921203
<aas:property>
11931204
<aas:category>CONSTANT</aas:category>
@@ -1405,17 +1416,6 @@
14051416
</aas:valueId>
14061417
</aas:property>
14071418
</aas:value>
1408-
<aas:semanticIdListElement>
1409-
<aas:type>ExternalReference</aas:type>
1410-
<aas:keys>
1411-
<aas:key>
1412-
<aas:type>GlobalReference</aas:type>
1413-
<aas:value>http://acplt.org/Properties/ExampleProperty</aas:value>
1414-
</aas:key>
1415-
</aas:keys>
1416-
</aas:semanticIdListElement>
1417-
<aas:typeValueListElement>Property</aas:typeValueListElement>
1418-
<aas:valueTypeListElement>xs:string</aas:valueTypeListElement>
14191419
</aas:submodelElementList>
14201420
<aas:multiLanguageProperty>
14211421
<aas:category>CONSTANT</aas:category>
@@ -1630,6 +1630,7 @@
16301630
</aas:basicEventElement>
16311631
<aas:submodelElementList>
16321632
<aas:idShort>ExampleSubmodelList</aas:idShort>
1633+
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
16331634
<aas:value>
16341635
<aas:submodelElementCollection>
16351636
<aas:kind>Instance</aas:kind>
@@ -1673,7 +1674,6 @@
16731674
<aas:kind>Instance</aas:kind>
16741675
</aas:submodelElementCollection>
16751676
</aas:value>
1676-
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
16771677
</aas:submodelElementList>
16781678
<aas:submodelElementList>
16791679
<aas:idShort>ExampleSubmodelList2</aas:idShort>
@@ -2638,6 +2638,16 @@
26382638
</aas:keys>
26392639
</aas:semanticId>
26402640
<aas:orderRelevant>true</aas:orderRelevant>
2641+
<aas:semanticIdListElement>
2642+
<aas:type>ExternalReference</aas:type>
2643+
<aas:keys>
2644+
<aas:key>
2645+
<aas:type>GlobalReference</aas:type>
2646+
<aas:value>http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollection</aas:value>
2647+
</aas:key>
2648+
</aas:keys>
2649+
</aas:semanticIdListElement>
2650+
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
26412651
<aas:value>
26422652
<aas:submodelElementCollection>
26432653
<aas:category>PARAMETER</aas:category>
@@ -2864,16 +2874,6 @@
28642874
</aas:semanticId>
28652875
</aas:submodelElementCollection>
28662876
</aas:value>
2867-
<aas:semanticIdListElement>
2868-
<aas:type>ExternalReference</aas:type>
2869-
<aas:keys>
2870-
<aas:key>
2871-
<aas:type>GlobalReference</aas:type>
2872-
<aas:value>http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollection</aas:value>
2873-
</aas:key>
2874-
</aas:keys>
2875-
</aas:semanticIdListElement>
2876-
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
28772877
</aas:submodelElementList>
28782878
<aas:submodelElementList>
28792879
<aas:category>PARAMETER</aas:category>

0 commit comments

Comments
 (0)