You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using the Basyx Python SDK to read the template but it failed. After posting the issue there I got pointed out that the template does not comply with the spec. In specific the following:
You seem to experience three distinct issues:
KeyError: aas:mimeType on line 505 has no text!
-> Failed to construct aas:file on line 495 using construct_submodel_element!
Here the XML parser is trying to instantiate a SubmodelElement of type File. I extracted the respective data from the AASX package SMT_pure_ZVEI_Digital_Nameplate_V10.aasx:
The File submodel element is specified at the bottom of page 67 (section 4.7.12) of the DotAAS specification. There it specifies the cardinality of the mimeType property as 1, meaning that this property has to be present and is not optional. In the excerpt above you see that <aas:mimeType /> is just an empty tag, so the mime type isn't given for this File element, which is invalid. Because of this invalidity, the File element cannot be instantiated using this SDK.
ValueError: A revision requires a version. This means, if there is no version there is no revision neither.
-> Failed to construct aas:administration on line 590 using construct_administrative_information!
The AASX package contains a lot of AdministrativeInformation objects which specify the revision, but not the version. Here is an excerpt from SMT_pure_ZVEI_Digital_Nameplate_V10.aasx:
If you have a look at the DotAAS specification (v2.0.1) on the top of page 54 (section 4.7.2.4) you can see that the revision attribute of AdministrativeInformation has a constraint, stating that if no version is given, there can't be a revision. Thus the AASX package is invalid in this regard.
Anyways, because the AdministrativeInformation is an optional attribute, the parent objects such as AssetAdministrationShell, Submodel, ConceptDescription or Asset are still parsed, just without their administration attribute.
IEC61360ConceptDescription[Identifier(IRI=https://admin-shell.io/zvei/nameplate/1/0/Nameplate)] has a duplicate identifier already parsed in the document! skipping it...
The AASX package contains two Identifiable objects with the same Identifier:
As you can see, both, the Submodel and the ConceptDescription, use the IRI https://admin-shell.io/zvei/nameplate/1/0/Nameplate as their identifier.
The DotAAS specification says on page 54 (section 4.7.2.1) that identification attribute of an Identifiable object must be a globally unique identifier. Thus, if two objects thave the same identifier, it isn't globally unique anymore, making it invalid.
I am using the Basyx Python SDK to read the template but it failed. After posting the issue there I got pointed out that the template does not comply with the spec. In specific the following:
You seem to experience three distinct issues:
SubmodelElement
of typeFile
. I extracted the respective data from the AASX package SMT_pure_ZVEI_Digital_Nameplate_V10.aasx:File
submodel element is specified at the bottom of page 67 (section 4.7.12) of the DotAAS specification. There it specifies the cardinality of themimeType
property as 1, meaning that this property has to be present and is not optional. In the excerpt above you see that<aas:mimeType />
is just an empty tag, so the mime type isn't given for thisFile
element, which is invalid. Because of this invalidity, theFile
element cannot be instantiated using this SDK.AdministrativeInformation
objects which specify therevision
, but not theversion
. Here is an excerpt from SMT_pure_ZVEI_Digital_Nameplate_V10.aasx:revision
attribute ofAdministrativeInformation
has a constraint, stating that if no version is given, there can't be a revision. Thus the AASX package is invalid in this regard.Anyways, because the
AdministrativeInformation
is an optional attribute, the parent objects such asAssetAdministrationShell
,Submodel
,ConceptDescription
orAsset
are still parsed, just without theiradministration
attribute.Identifiable
objects with the same Identifier:Submodel
and theConceptDescription
, use the IRIhttps://admin-shell.io/zvei/nameplate/1/0/Nameplate
as their identifier.The DotAAS specification says on page 54 (section 4.7.2.1) that
identification
attribute of anIdentifiable
object must be a globally unique identifier. Thus, if two objects thave the same identifier, it isn't globally unique anymore, making it invalid.If you have the time, please forward these issue to https://github.com/admin-shell-io/submodel-templates/issues so the AASX package can get fixed. Thanks!
Originally posted by @jkhsjdhjs in eclipse-basyx/basyx-python-sdk#25 (comment)
The text was updated successfully, but these errors were encountered: