Uploaded image for project: 'Daffodil'
  1. Daffodil
  2. DAFFODIL-2738

Support indirect setting of dfdlx:repType/repValues

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.3.0
    • 3.6.0
    • Back End
    • None

    Description

      This is part of a large schema project. So link access to the schema project will follow in a different comment.

      But a short synopsis is when the repType of an element in a binary data format is an unsignedlong, the repType is ignored in favor of treating the element like a string type.

      For example:

       
        <xs:element name="a" type="tns:jobEnum"/>
      
        <simpleType name="jobEnum" dfdlx:repType="xs:enum4">
          <restriction base="xs:string">
            <enumeration value="CTO" dfdlx:repValues="1"/>
            <enumeration value="MANAGER" dfdlx:repValues="2"/>
            <enumeration value="TEAM_LEAD" dfdlx:repValues="3"/>
          </restriction>
        </simpleType>
      
        <xs:simpleType name="enum4" dfdl:length="4" dfdl:lengthKind="explicit" dfld:lengthUnit="bits">
          <xs:restriction base="xs:unsignedLong"/>
        </xs:simpleType>
      

       

      Would result in the following trace

      
      <Element name='a'><SpecifiedLengthExplicitParser><a parser='StringOfSpecifiedLengthParser' /></SpecifiedLengthExplicitParser><AssertExpressionEvaluationParser/></Element>
      

      rather than

      <Element name='a'><SpecifiedLengthExplicitParser><a parser='Binary*SpecifiedLengthParser' /></SpecifiedLengthExplicitParser><AssertExpressionEvaluationParser/></Element>
      

      Unfortunately the workaround mentioned in https://issues.apache.org/jira/browse/DAFFODIL-2596?focusedCommentId=17475017&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17475017, won't work for our usecase because the data is binary and has very specific bit length requirements.

      Attachments

        Activity

          People

            slawrence Steve Lawrence
            okilo@tresys.com Olabusayo Kilo
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: