XTCE 1.3 RTF Avatar
  1. OMG Issue

XTCE13 — ByteOrderList is invalid for Containers

  • Key: XTCE13-29
  • Legacy Issue Number: 14517
  • Status: closed  
  • Source: NASA ( Mr. James Kevin Rice)
  • Summary:

    Description Kevin Rice 2009-09-10 22:59:58 BST
    ByteOrderList is not valid for container and is part of the BinaryEncoding
    element.

    Ignore or remove from future version.

  • Reported: XTCE 1.1 — Thu, 17 Sep 2009 04:00 GMT
  • Disposition: Resolved — XTCE 1.3
  • Disposition Summary:

    Make a new schema type called ContainerBinaryDataEncoding

    Make a new schema type called ContainerBinaryDataEncoding and remove the bitOrder and ByteOrder from it. Then replace the reference to the BinaryDataEncodingType in the ContainerType area.

    The new schema type:

    <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>

    The changes:

    Original -->

    <complexType name="ContainerType" abstract="true" mixed="false">
    <annotation>
    <documentation xml:lang="en">An abstract block of data; used as the base type for more specific container types</documentation>
    </annotation>
    <complexContent>
    <extension base="xtce:NameDescriptionType">
    <sequence>
    <annotation>
    <documentation xml:lang="en">RateInStream is used to: a) generate alarms when the Container is updated too frequently or too infrequently, b) provide some 'guidelines' for generating forward link containers, c) provide some guidelines for spacecraft simulators to generate telemetry containers. If necessary, these rates may be defined on a per stream basis.</documentation>
    <appinfo>The software should check that any Stream names referenced in the RateInStreamSet actually exist.</appinfo>
    </annotation>
    <element name="DefaultRateInStream" type="xtce:RateInStreamType" minOccurs="0"/>
    <element name="RateInStreamSet" type="xtce:RateInStreamSetType" minOccurs="0"/>
    <element name="BinaryEncoding" type="xtce:BinaryDataEncodingType" minOccurs="0">
    <annotation>
    <documentation xml:lang="en">May be used to indicate error detection and correction, change byte order, provide the size (when it can't be derived), or perform some custom processing.</documentation>
    </annotation>
    </element>
    </sequence>
    </extension>
    </complexContent>
    </complexType>

    Changes -->

    <complexType name="ContainerType" abstract="true" mixed="false">
    <annotation>
    <documentation xml:lang="en">An abstract block of data; used as the base type for more specific container types</documentation>
    </annotation>
    <complexContent>
    <extension base="xtce:NameDescriptionType">
    <sequence>
    <annotation>
    <documentation xml:lang="en">RateInStream is used to: a) generate alarms when the Container is updated too frequently or too infrequently, b) provide some 'guidelines' for generating forward link containers, c) provide some guidelines for spacecraft simulators to generate telemetry containers. If necessary, these rates may be defined on a per stream basis.</documentation>
    <appinfo>The software should check that any Stream names referenced in the RateInStreamSet actually exist.</appinfo>
    </annotation>
    <element name="DefaultRateInStream" type="xtce:RateInStreamType" minOccurs="0"/>
    <element name="RateInStreamSet" type="xtce:RateInStreamSetType" minOccurs="0"/>
    <element name="BinaryEncoding" type="xtce:ContainerBinaryDataEncodingType" minOccurs="0">
    <annotation>
    <documentation xml:lang="en">May be used to indicate error detection and correction, change byte order, provide the size (when it can't be derived), or perform some custom processing.</documentation>
    </annotation>
    </element>
    </sequence>
    </extension>
    </complexContent>
    </complexType>

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