Skip to content

Commit

Permalink
adapter.xml: Change order of SubmodelElementList objects
Browse files Browse the repository at this point in the history
The current order of the elements in `SubmodelElementList`
was wrong. This updates the order.
  • Loading branch information
s-heppner committed Nov 14, 2023
1 parent 0c276f7 commit 9027a8e
Show file tree
Hide file tree
Showing 6 changed files with 96 additions and 96 deletions.
6 changes: 3 additions & 3 deletions basyx/aas/adapter/xml/AAS.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -884,16 +884,16 @@
<xs:sequence>
<xs:group ref="submodelElement"/>
<xs:element name="orderRelevant" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
<xs:element name="semanticIdListElement" type="reference_t" minOccurs="0" maxOccurs="1"/>
<xs:element name="typeValueListElement" type="aasSubmodelElements_t"/>
<xs:element name="valueTypeListElement" type="dataTypeDefXsd_t" minOccurs="0" maxOccurs="1"/>
<xs:element name="value" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:group ref="submodelElement_choice" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="semanticIdListElement" type="reference_t" minOccurs="0" maxOccurs="1"/>
<xs:element name="typeValueListElement" type="aasSubmodelElements_t"/>
<xs:element name="valueTypeListElement" type="dataTypeDefXsd_t" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:group>
<xs:group name="submodelElement_choice">
Expand Down
10 changes: 5 additions & 5 deletions basyx/aas/adapter/xml/xml_serialization.py
Original file line number Diff line number Diff line change
Expand Up @@ -679,11 +679,6 @@ def submodel_element_list_to_xml(obj: model.SubmodelElementList,
tag: str = NS_AAS+"submodelElementList") -> etree.Element:
et_submodel_element_list = abstract_classes_to_xml(tag, obj)
et_submodel_element_list.append(_generate_element(NS_AAS + "orderRelevant", boolean_to_xml(obj.order_relevant)))
if len(obj.value) > 0:
et_value = _generate_element(NS_AAS + "value")
for se in obj.value:
et_value.append(submodel_element_to_xml(se))
et_submodel_element_list.append(et_value)
if obj.semantic_id_list_element is not None:
et_submodel_element_list.append(reference_to_xml(obj.semantic_id_list_element,
NS_AAS + "semanticIdListElement"))
Expand All @@ -692,6 +687,11 @@ def submodel_element_list_to_xml(obj: model.SubmodelElementList,
if obj.value_type_list_element is not None:
et_submodel_element_list.append(_generate_element(NS_AAS + "valueTypeListElement",
model.datatypes.XSD_TYPE_NAMES[obj.value_type_list_element]))
if len(obj.value) > 0:
et_value = _generate_element(NS_AAS + "value")
for se in obj.value:
et_value.append(submodel_element_to_xml(se))
et_submodel_element_list.append(et_value)
return et_submodel_element_list


Expand Down
44 changes: 22 additions & 22 deletions test/compliance_tool/files/test_demo_full_example.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1180,6 +1180,17 @@
</aas:keys>
</aas:semanticId>
<aas:orderRelevant>true</aas:orderRelevant>
<aas:semanticIdListElement>
<aas:type>ExternalReference</aas:type>
<aas:keys>
<aas:key>
<aas:type>GlobalReference</aas:type>
<aas:value>http://acplt.org/Properties/ExampleProperty</aas:value>
</aas:key>
</aas:keys>
</aas:semanticIdListElement>
<aas:typeValueListElement>Property</aas:typeValueListElement>
<aas:valueTypeListElement>xs:string</aas:valueTypeListElement>
<aas:value>
<aas:property>
<aas:category>CONSTANT</aas:category>
Expand Down Expand Up @@ -1397,17 +1408,6 @@
</aas:valueId>
</aas:property>
</aas:value>
<aas:semanticIdListElement>
<aas:type>ExternalReference</aas:type>
<aas:keys>
<aas:key>
<aas:type>GlobalReference</aas:type>
<aas:value>http://acplt.org/Properties/ExampleProperty</aas:value>
</aas:key>
</aas:keys>
</aas:semanticIdListElement>
<aas:typeValueListElement>Property</aas:typeValueListElement>
<aas:valueTypeListElement>xs:string</aas:valueTypeListElement>
</aas:submodelElementList>
<aas:multiLanguageProperty>
<aas:category>CONSTANT</aas:category>
Expand Down Expand Up @@ -1622,6 +1622,7 @@
</aas:basicEventElement>
<aas:submodelElementList>
<aas:idShort>ExampleSubmodelList</aas:idShort>
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
<aas:value>
<aas:submodelElementCollection>
<aas:kind>Instance</aas:kind>
Expand Down Expand Up @@ -1665,7 +1666,6 @@
<aas:kind>Instance</aas:kind>
</aas:submodelElementCollection>
</aas:value>
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
</aas:submodelElementList>
<aas:submodelElementList>
<aas:idShort>ExampleSubmodelList2</aas:idShort>
Expand Down Expand Up @@ -2630,6 +2630,16 @@
</aas:keys>
</aas:semanticId>
<aas:orderRelevant>true</aas:orderRelevant>
<aas:semanticIdListElement>
<aas:type>ExternalReference</aas:type>
<aas:keys>
<aas:key>
<aas:type>GlobalReference</aas:type>
<aas:value>http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollection</aas:value>
</aas:key>
</aas:keys>
</aas:semanticIdListElement>
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
<aas:value>
<aas:submodelElementCollection>
<aas:category>PARAMETER</aas:category>
Expand Down Expand Up @@ -2856,16 +2866,6 @@
</aas:semanticId>
</aas:submodelElementCollection>
</aas:value>
<aas:semanticIdListElement>
<aas:type>ExternalReference</aas:type>
<aas:keys>
<aas:key>
<aas:type>GlobalReference</aas:type>
<aas:value>http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollection</aas:value>
</aas:key>
</aas:keys>
</aas:semanticIdListElement>
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
</aas:submodelElementList>
<aas:submodelElementList>
<aas:category>PARAMETER</aas:category>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1178,6 +1178,17 @@
</aas:keys>
</aas:semanticId>
<aas:orderRelevant>true</aas:orderRelevant>
<aas:semanticIdListElement>
<aas:type>ExternalReference</aas:type>
<aas:keys>
<aas:key>
<aas:type>GlobalReference</aas:type>
<aas:value>http://acplt.org/Properties/ExampleProperty</aas:value>
</aas:key>
</aas:keys>
</aas:semanticIdListElement>
<aas:typeValueListElement>Property</aas:typeValueListElement>
<aas:valueTypeListElement>xs:string</aas:valueTypeListElement>
<aas:value>
<aas:property>
<aas:category>CONSTANT</aas:category>
Expand Down Expand Up @@ -1395,17 +1406,6 @@
</aas:valueId>
</aas:property>
</aas:value>
<aas:semanticIdListElement>
<aas:type>ExternalReference</aas:type>
<aas:keys>
<aas:key>
<aas:type>GlobalReference</aas:type>
<aas:value>http://acplt.org/Properties/ExampleProperty</aas:value>
</aas:key>
</aas:keys>
</aas:semanticIdListElement>
<aas:typeValueListElement>Property</aas:typeValueListElement>
<aas:valueTypeListElement>xs:string</aas:valueTypeListElement>
</aas:submodelElementList>
<aas:multiLanguageProperty>
<aas:category>CONSTANT</aas:category>
Expand Down Expand Up @@ -1620,6 +1620,7 @@
</aas:basicEventElement>
<aas:submodelElementList>
<aas:idShort>ExampleSubmodelList</aas:idShort>
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
<aas:value>
<aas:submodelElementCollection>
<aas:kind>Instance</aas:kind>
Expand Down Expand Up @@ -1663,7 +1664,6 @@
<aas:kind>Instance</aas:kind>
</aas:submodelElementCollection>
</aas:value>
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
</aas:submodelElementList>
<aas:submodelElementList>
<aas:idShort>ExampleSubmodelList2</aas:idShort>
Expand Down Expand Up @@ -2628,6 +2628,16 @@
</aas:keys>
</aas:semanticId>
<aas:orderRelevant>true</aas:orderRelevant>
<aas:semanticIdListElement>
<aas:type>ExternalReference</aas:type>
<aas:keys>
<aas:key>
<aas:type>GlobalReference</aas:type>
<aas:value>http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollection</aas:value>
</aas:key>
</aas:keys>
</aas:semanticIdListElement>
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
<aas:value>
<aas:submodelElementCollection>
<aas:category>PARAMETER</aas:category>
Expand Down Expand Up @@ -2854,16 +2864,6 @@
</aas:semanticId>
</aas:submodelElementCollection>
</aas:value>
<aas:semanticIdListElement>
<aas:type>ExternalReference</aas:type>
<aas:keys>
<aas:key>
<aas:type>GlobalReference</aas:type>
<aas:value>http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollection</aas:value>
</aas:key>
</aas:keys>
</aas:semanticIdListElement>
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
</aas:submodelElementList>
<aas:submodelElementList>
<aas:category>PARAMETER</aas:category>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1188,6 +1188,17 @@
</aas:keys>
</aas:semanticId>
<aas:orderRelevant>true</aas:orderRelevant>
<aas:semanticIdListElement>
<aas:type>ExternalReference</aas:type>
<aas:keys>
<aas:key>
<aas:type>GlobalReference</aas:type>
<aas:value>http://acplt.org/Properties/ExampleProperty</aas:value>
</aas:key>
</aas:keys>
</aas:semanticIdListElement>
<aas:typeValueListElement>Property</aas:typeValueListElement>
<aas:valueTypeListElement>xs:string</aas:valueTypeListElement>
<aas:value>
<aas:property>
<aas:category>CONSTANT</aas:category>
Expand Down Expand Up @@ -1405,17 +1416,6 @@
</aas:valueId>
</aas:property>
</aas:value>
<aas:semanticIdListElement>
<aas:type>ExternalReference</aas:type>
<aas:keys>
<aas:key>
<aas:type>GlobalReference</aas:type>
<aas:value>http://acplt.org/Properties/ExampleProperty</aas:value>
</aas:key>
</aas:keys>
</aas:semanticIdListElement>
<aas:typeValueListElement>Property</aas:typeValueListElement>
<aas:valueTypeListElement>xs:string</aas:valueTypeListElement>
</aas:submodelElementList>
<aas:multiLanguageProperty>
<aas:category>CONSTANT</aas:category>
Expand Down Expand Up @@ -1630,6 +1630,7 @@
</aas:basicEventElement>
<aas:submodelElementList>
<aas:idShort>ExampleSubmodelList</aas:idShort>
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
<aas:value>
<aas:submodelElementCollection>
<aas:kind>Instance</aas:kind>
Expand Down Expand Up @@ -1673,7 +1674,6 @@
<aas:kind>Instance</aas:kind>
</aas:submodelElementCollection>
</aas:value>
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
</aas:submodelElementList>
<aas:submodelElementList>
<aas:idShort>ExampleSubmodelList2</aas:idShort>
Expand Down Expand Up @@ -2638,6 +2638,16 @@
</aas:keys>
</aas:semanticId>
<aas:orderRelevant>true</aas:orderRelevant>
<aas:semanticIdListElement>
<aas:type>ExternalReference</aas:type>
<aas:keys>
<aas:key>
<aas:type>GlobalReference</aas:type>
<aas:value>http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollection</aas:value>
</aas:key>
</aas:keys>
</aas:semanticIdListElement>
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
<aas:value>
<aas:submodelElementCollection>
<aas:category>PARAMETER</aas:category>
Expand Down Expand Up @@ -2864,16 +2874,6 @@
</aas:semanticId>
</aas:submodelElementCollection>
</aas:value>
<aas:semanticIdListElement>
<aas:type>ExternalReference</aas:type>
<aas:keys>
<aas:key>
<aas:type>GlobalReference</aas:type>
<aas:value>http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollection</aas:value>
</aas:key>
</aas:keys>
</aas:semanticIdListElement>
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
</aas:submodelElementList>
<aas:submodelElementList>
<aas:category>PARAMETER</aas:category>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1188,6 +1188,17 @@
</aas:keys>
</aas:semanticId>
<aas:orderRelevant>true</aas:orderRelevant>
<aas:semanticIdListElement>
<aas:type>ExternalReference</aas:type>
<aas:keys>
<aas:key>
<aas:type>GlobalReference</aas:type>
<aas:value>http://acplt.org/Properties/ExampleProperty</aas:value>
</aas:key>
</aas:keys>
</aas:semanticIdListElement>
<aas:typeValueListElement>Property</aas:typeValueListElement>
<aas:valueTypeListElement>xs:string</aas:valueTypeListElement>
<aas:value>
<aas:property>
<aas:category>CONSTANT</aas:category>
Expand Down Expand Up @@ -1405,17 +1416,6 @@
</aas:valueId>
</aas:property>
</aas:value>
<aas:semanticIdListElement>
<aas:type>ExternalReference</aas:type>
<aas:keys>
<aas:key>
<aas:type>GlobalReference</aas:type>
<aas:value>http://acplt.org/Properties/ExampleProperty</aas:value>
</aas:key>
</aas:keys>
</aas:semanticIdListElement>
<aas:typeValueListElement>Property</aas:typeValueListElement>
<aas:valueTypeListElement>xs:string</aas:valueTypeListElement>
</aas:submodelElementList>
<aas:multiLanguageProperty>
<aas:category>CONSTANT</aas:category>
Expand Down Expand Up @@ -1630,6 +1630,7 @@
</aas:basicEventElement>
<aas:submodelElementList>
<aas:idShort>ExampleSubmodelList</aas:idShort>
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
<aas:value>
<aas:submodelElementCollection>
<aas:kind>Instance</aas:kind>
Expand Down Expand Up @@ -1673,7 +1674,6 @@
<aas:kind>Instance</aas:kind>
</aas:submodelElementCollection>
</aas:value>
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
</aas:submodelElementList>
<aas:submodelElementList>
<aas:idShort>ExampleSubmodelList2</aas:idShort>
Expand Down Expand Up @@ -2638,6 +2638,16 @@
</aas:keys>
</aas:semanticId>
<aas:orderRelevant>true</aas:orderRelevant>
<aas:semanticIdListElement>
<aas:type>ExternalReference</aas:type>
<aas:keys>
<aas:key>
<aas:type>GlobalReference</aas:type>
<aas:value>http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollection</aas:value>
</aas:key>
</aas:keys>
</aas:semanticIdListElement>
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
<aas:value>
<aas:submodelElementCollection>
<aas:category>PARAMETER</aas:category>
Expand Down Expand Up @@ -2864,16 +2874,6 @@
</aas:semanticId>
</aas:submodelElementCollection>
</aas:value>
<aas:semanticIdListElement>
<aas:type>ExternalReference</aas:type>
<aas:keys>
<aas:key>
<aas:type>GlobalReference</aas:type>
<aas:value>http://acplt.org/SubmodelElementCollections/ExampleSubmodelElementCollection</aas:value>
</aas:key>
</aas:keys>
</aas:semanticIdListElement>
<aas:typeValueListElement>SubmodelElementCollection</aas:typeValueListElement>
</aas:submodelElementList>
<aas:submodelElementList>
<aas:category>PARAMETER</aas:category>
Expand Down

0 comments on commit 9027a8e

Please sign in to comment.