XTCE 1.3 RTF Avatar
  1. OMG Issue

XTCE13 — BinaryEncoding Extension of SequenceContainer Requires SizeInBits Element

  • Key: XTCE13-162
  • Status: closed  
  • Source: Boeing ( Mr. David Overeem)
  • Summary:

    Within the SequenceContainer element, there is a child element of BinaryEncoding that optionally provides some additional information to use for processing the SequenceContainer content. The BinaryEncoding element requires specifying the SizeInBits element, when that element is not always needed. Being required also presents a problem when using the ErrorDetectCorrect element in a non-deterministic length container.

  • Reported: XTCE 1.2 — Fri, 19 Jul 2024 01:58 GMT
  • Disposition: Resolved — XTCE 1.3
  • Disposition Summary:

    Reballot: Make SizeInBits Optional in ContainerBinaryDataEncodingType

    The "ContainerBinaryDataEncodingType" contains a number of optional additional pieces of metadata about the binary sequence that a container represents. This type is the content of the BinaryEncoding element inside of a CommandContainer or a SequenceContainer element.

    Each of the child elements is optional except for the SizeInBits, which can present as a problem to be mandatory when the ErrorDetectCorrect is used on an abstract base container for which the length is not yet known because a complete container hasn't been defined at that level.

    Propose to make the element optional.

    Existing type definition:

    <complexType name="ContainerBinaryDataEncodingType">
    <annotation>
    <documentation xml:lang="en">Describe container binary data that is unmolested in the decoding/encoding or cannot be represented in any of the other data encoding formats. Optionally use the FromBinaryTransformAlgorithm and ToBinaryTransformAlgorithm element to describe the transformation process. See InputAlgorithmType for the transformation structure.</documentation>
    </annotation>
    <sequence>
    <element name="ErrorDetectCorrect" type="xtce:ErrorDetectCorrectType" minOccurs="0">
    <annotation>
    <documentation xml:lang="en">Describes the optional inclusion of an error detection and/or correction algorithm used with this container.</documentation>
    </annotation>
    </element>
    <element name="SizeInBits" type="xtce:PositiveLongType">
    <annotation>
    <documentation xml:lang="en">Number of bits this container occupies on the stream being encoded/decoded. This is only needed to "force" the bit length of the container to be a fixed value. In most cases, the entry list would define the size of the container.</documentation>
    </annotation>
    </element>
    <element name="FromBinaryTransformAlgorithm" type="xtce:InputAlgorithmType" minOccurs="0">
    <annotation>
    <documentation xml:lang="en">Used to convert binary data to an application data type.</documentation>
    </annotation>
    </element>
    <element name="ToBinaryTransformAlgorithm" type="xtce:InputAlgorithmType" minOccurs="0">
    <annotation>
    <documentation xml:lang="en">Used to convert binary data from an application data type to binary data.</documentation>
    </annotation>
    </element>
    </sequence>
    </complexType>

    Revised definition with the minOccurs="0" applied to the SizeInBits element line:

    <complexType name="ContainerBinaryDataEncodingType">
    <annotation>
    <documentation xml:lang="en">Describe container binary data that is unmolested in the decoding/encoding or cannot be represented in any of the other data encoding formats. Optionally use the FromBinaryTransformAlgorithm and ToBinaryTransformAlgorithm element to describe the transformation process. See InputAlgorithmType for the transformation structure.</documentation>
    </annotation>
    <sequence>
    <element name="ErrorDetectCorrect" type="xtce:ErrorDetectCorrectType" minOccurs="0">
    <annotation>
    <documentation xml:lang="en">Describes the optional inclusion of an error detection and/or correction algorithm used with this container.</documentation>
    </annotation>
    </element>
    <element name="SizeInBits" type="xtce:PositiveLongType" minOccurs="0">
    <annotation>
    <documentation xml:lang="en">Number of bits this container occupies on the stream being encoded/decoded. This is only needed to "force" the bit length of the container to be a fixed value. In most cases, the entry list would define the size of the container.</documentation>
    </annotation>
    </element>
    <element name="FromBinaryTransformAlgorithm" type="xtce:InputAlgorithmType" minOccurs="0">
    <annotation>
    <documentation xml:lang="en">Used to convert binary data to an application data type.</documentation>
    </annotation>
    </element>
    <element name="ToBinaryTransformAlgorithm" type="xtce:InputAlgorithmType" minOccurs="0">
    <annotation>
    <documentation xml:lang="en">Used to convert binary data from an application data type to binary data.</documentation>
    </annotation>
    </element>
    </sequence>
    </complexType>

  • Updated: Tue, 1 Jul 2025 15:05 GMT