[ 
https://issues.apache.org/jira/browse/DAFFODIL-2738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17627296#comment-17627296
 ] 

Mike Beckerle commented on DAFFODIL-2738:
-----------------------------------------

Really dfdlx:repType is a DFDL property and should work like any property 
applicable to elements or simple types. It shouldn't have to be on the element 
or its immediately referenced simple type. It should be able to be anywhere in 
the derivation of the simple type. 

> Support indirect setting of dfdlx:repType/repValues
> ---------------------------------------------------
>
>                 Key: DAFFODIL-2738
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-2738
>             Project: Daffodil
>          Issue Type: New Feature
>          Components: Back End
>    Affects Versions: 3.3.0
>            Reporter: Olabusayo Kilo
>            Assignee: Steve Lawrence
>            Priority: Minor
>
> 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:
> {code:xml}
>  
>   <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>
> {code}
>  
> Would result in the following trace
> {code:xml}
> <Element name='a'><SpecifiedLengthExplicitParser><a 
> parser='StringOfSpecifiedLengthParser' 
> /></SpecifiedLengthExplicitParser><AssertExpressionEvaluationParser/></Element>
> {code}
> rather than
> {code:xml}
> <Element name='a'><SpecifiedLengthExplicitParser><a 
> parser='Binary*SpecifiedLengthParser' 
> /></SpecifiedLengthExplicitParser><AssertExpressionEvaluationParser/></Element>
> {code}
> 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.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to