XTCE 1.2 RTF Avatar
  1. OMG Issue

XTCE12 — Some primitive type intentions missed

  • Key: XTCE12-457
  • Status: closed  
  • Source: Boeing ( Mr. David Overeem)
  • Summary:

    The committee has expressed a desire to avoid code generation of BigInteger and BigDecimal where it does not make sense. Some XSD types do this. Internal types in the XTCE document avoid this and they have been applied to most places where they are needed, but there have been some misses.

  • Reported: XTCE 1.1 — Sat, 29 Jul 2017 16:41 GMT
  • Disposition: Resolved — XTCE 1.2
  • Disposition Summary:

    Propose to correct the misses in the simple types for numbers

    The following resolution contains the type adjustments. Note that the XML form shown for the elements does not take into account the documentation, so if the line is closed here with a "/" character, that is not applied when fixing the element in the schema where there is additional element content to follow (such as documentation).

    In the complexType "AutoInvertType", change the line from:

    <attribute name="badFramesToAutoInvert" type="positiveInteger" default="1024"/>

    to

    <attribute name="badFramesToAutoInvert" type="xtce:PositiveLongType" default="1024"/>

    In the complexType "ContainerSegmentRefEntryType", change the lines from:

    <attribute name="order" type="positiveInteger"/>
    <attribute name="sizeInBits" type="positiveInteger" use="required"/>

    to

    <attribute name="order" type="xtce:PositiveLongType"/>
    <attribute name="sizeInBits" type="xtce:PositiveLongType" use="required"/>

    In the complexType "FixedFrameStreamType", change the line from:

    <attribute name="syncApertureInBits" type="nonNegativeInteger" default="0"/>

    to

    <attribute name="syncApertureInBits" type="xtce:NonNegativeLongType" default="0"/>

    In the complexType "FlagType", change the line from:

    <attribute name="flagSizeInBits" type="positiveInteger" default="6"/>

    to

    <attribute name="flagSizeInBits" type="xtce:PositiveLongType" default="6"/>

    In the complexType "InterlockType", change the line from:

    <attribute name="verificationProgressPercentage" type="decimal"/>

    to

    <attribute name="verificationProgressPercentage" type="double"/>

    In the complexType "OnPeriodicRateTriggerType", change the line from:

    <attribute name="fireRateInSeconds" type="decimal" use="required"/>

    to

    <attribute name="fireRateInSeconds" type="double" use="required"/>

    In the complexType name="ParameterSegmentRefEntryType", change the lines from:

    <attribute name="order" type="positiveInteger"/>
    <attribute name="sizeInBits" type="positiveInteger" use="required"/>

    to

    <attribute name="order" type="xtce:PositiveLongType"/>
    <attribute name="sizeInBits" type="xtce:PositiveLongType" use="required"/>

    In the complexType "StreamSegmentEntryType", change the lines from:

    <attribute name="order" type="positiveInteger"/>
    <attribute name="sizeInBits" type="positiveInteger" use="required"/>

    to

    <attribute name="order" type="xtce:PositiveLongType"/>
    <attribute name="sizeInBits" type="xtce:PositiveLongType" use="required"/>

    In the complexType "SyncPatternType", change the lines from:

    <attribute name="bitLocationFromStartOfContainer" type="integer" default="0"/>
    <attribute name="maskLengthInBits" type="positiveInteger"/>
    <attribute name="patternLengthInBits" type="positiveInteger" use="required"/>

    to

    <attribute name="bitLocationFromStartOfContainer" type="long" default="0"/>
    <attribute name="maskLengthInBits" type="xtce:PositiveLongType"/>
    <attribute name="patternLengthInBits" type="xtce:PositiveLongType" use="required"/>

    In the complexType "SyncStrategyType", change the lines from:

    <attribute name="verifyToLockGoodFrames" type="nonNegativeInteger" default="4"/>
    <attribute name="checkToLockGoodFrames" type="nonNegativeInteger" default="1"/>
    <attribute name="maxBitErrorsInSyncPattern" type="nonNegativeInteger" default="0"/>

    to

    <attribute name="verifyToLockGoodFrames" type="xtce:NonNegativeLongType" default="4"/>
    <attribute name="checkToLockGoodFrames" type="xtce:NonNegativeLongType" default="1"/>
    <attribute name="maxBitErrorsInSyncPattern" type="xtce:NonNegativeLongType" default="0"/>

    In the complexType "TriggerSetType", change the line from:

    <attribute name="triggerRate" type="nonNegativeInteger" use="optional" default="1"/>

    to

    <attribute name="triggerRate" type="xtce:NonNegativeLongType" use="optional" default="1"/>

    In the complexType "ParameterInstanceRefType", change the line from:

    <attribute name="instance" type="integer" default="0"/>

    to

    <attribute name="instance" type="long" default="0"/>

    In the complexType "ChangeValueType", change the line from:

    <attribute name="value" type="decimal" use="required"/>

    to

    <attribute name="value" type="double" use="required"/>

    In the complexType "IntegerDataType", change the line from:

    <attribute name="sizeInBits" type="positiveInteger" default="32"/>

    to

    <attribute name="sizeInBits" type="xtce:PositiveLongType" default="32"/>

    In the complexType "ByteType", change the line from:

    <attribute name="byteSignificance" type="nonNegativeInteger" use="required"/>

    to

    <attribute name="byteSignificance" type="xtce:NonNegativeLongType" use="required"/>

    In the complexType "CRCType", change the line from:

    <attribute name="bitsFromReference" type="nonNegativeInteger"/>

    to

    <attribute name="bitsFromReference" type="xtce:NonNegativeLongType"/>

    In the complexType "IntegerDataEncodingType", change the lines from:

    <attribute name="sizeInBits" type="positiveInteger" default="8"/>
    <attribute name="changeThreshold" type="nonNegativeInteger" use="optional">

    to

    <attribute name="sizeInBits" type="xtce:PositiveLongType" default="8"/>
    <attribute name="changeThreshold" type="xtce:NonNegativeLongType" use="optional">

    In the complexType "LeadingSizeType", change the line from:

    <attribute name="sizeInBitsOfSizeTag" type="positiveInteger" default="16"/>

    to

    <attribute name="sizeInBitsOfSizeTag" type="xtce:PositiveLongType" default="16"/>

    In the complexType "ParityType", change the line from:

    <attribute name="bitsFromReference" type="nonNegativeInteger" use="required"/>

    to

    <attribute name="bitsFromReference" type="xtce:NonNegativeLongType" use="required"/>

    In the complexType "SplinePointType", change the line from:

    <attribute name="order" type="positiveInteger" default="1"/>

    to

    <attribute name="order" type="xtce:NonNegativeLongType" default="1"/>

    In the complexType "ValueEnumerationType", change the lines from:

    <attribute name="value" type="integer" use="required"/>
    <attribute name="maxValue" type="integer">

    to

    <attribute name="value" type="long" use="required"/>
    <attribute name="maxValue" type="long">

    In the complexType "DiscreteLookupType", change the line from:

    <attribute name="value" type="integer" use="required"/>

    to

    <attribute name="value" type="long" use="required"/>

    In the simpleType "FloatSizeInBitsType", change the line from:

    <restriction base="positiveInteger">

    to

    <restriction base="xtce:NonNegativeLongType">

  • Updated: Tue, 10 Jul 2018 14:22 GMT