reference to aggregate members and arrays
Source: Space Applications Services ( Nicolae Mihalache)
The XTCE spec is not very clear on how the aggregate members can be referenced (for example in match criterias). The doc of AggregateParameterType reads:
"Each member may be addressed by the dot syntax similar to C such as P.voltage if P is the referring parameter and voltage is of a member of P’s aggregate type. See MemberType, MemberListType, DataEncodingType, NameReferenceType, and AggregateDataType".
However the definition of "NameReferenceType" is silent about aggregates and the "." (dot) character is not allowed to be used in a reference (except in the "./" where it denotes "current space system). The reference suggested above "P.voltage" is invalid.
In some examples over the internet references to aggregate members are found using standard "/" separator. However this is problematic because a reference like "/A/B/C" is ambiguous, could translate into:
A (space system)/B(space system)/C(parameter name)
A(space system)/B(parameter name)/C(aggregate member name)
Suggest to allow dot notation to reference aggregate members. Similarly allow "[idx]" to reference array indices.
For example a reference "/A/B.C" can be unambiguously understood as:
A(space system)/B(parameter name).C(aggregate member name of type array)  (index in the C array)
Perhaps NameReferenceType can be made less restrictive or another type can be defined and used in the ParameterRefType definition.
Reported: XTCE 1.2 — Fri, 23 Apr 2021 07:38 GMT
Updated: Wed, 27 Sep 2023 19:25 GMT