Skip to content

Commit 1ada11f

Browse files
committed
adapter.xml: Fix deserialization for Extension
Currently, the XML deserialization missed the `<aas:refersTo>` wrapper around the single references inside `Extension.refers_to`. This commit fixes that.
1 parent a5b61f4 commit 1ada11f

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

basyx/aas/adapter/xml/xml_deserialization.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -692,8 +692,10 @@ def construct_extension(cls, element: etree.Element, object_class=model.Extensio
692692
value = _get_text_or_none(element.find(NS_AAS + "value"))
693693
if value is not None:
694694
extension.value = model.datatypes.from_xsd(value, extension.value_type)
695-
extension.refers_to = _failsafe_construct_multiple(element.findall(NS_AAS + "refersTo"),
696-
cls._construct_referable_reference, cls.failsafe)
695+
extension.refers_to = _failsafe_construct_multiple(
696+
element.find(NS_AAS + "refersTo").findall(NS_AAS + "reference"),
697+
cls._construct_referable_reference, cls.failsafe
698+
)
697699
cls._amend_abstract_attributes(extension, element)
698700
return extension
699701

test/compliance_tool/files/test_demo_full_example_wrong_attribute.xml

Lines changed: 8 additions & 6 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:reference>
350351
<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>
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>

0 commit comments

Comments
 (0)