You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@daffodil.apache.org by "Brandon Sloane (JIRA)" <ji...@apache.org> on 2019/04/22 21:16:00 UTC
[jira] [Created] (DAFFODIL-2110) Cannot change bitorder mid schema
Brandon Sloane created DAFFODIL-2110:
----------------------------------------
Summary: Cannot change bitorder mid schema
Key: DAFFODIL-2110
URL: https://issues.apache.org/jira/browse/DAFFODIL-2110
Project: Daffodil
Issue Type: Bug
Components: Back End
Affects Versions: 2.4.0
Reporter: Brandon Sloane
Assignee: Brandon Sloane
Attachments: BitOrder.tdml
Setting the bitOrder in the middle of a schema appears to have no effect.
Consider the following schema:
{quote}<xs:element name="changeOnSequence" dfdl:lengthKind='implicit'>
<xs:complexType>
<xs:sequence>
<xs:sequence dfdl:bitOrder="mostSignificantBitFirst">
<xs:element name="A" type="xs:unsignedInt" dfdl:length="8"/>
<xs:element name="B" type="xs:unsignedInt" dfdl:length="8"/>
</xs:sequence>
<xs:sequence dfdl:bitOrder="leastSignificantBitFirst" dfdl:byteOrder="littleEndian">
<xs:element name="C" type="xs:unsignedInt" dfdl:length="8" dfdl:bitOrder="leastSignificantBitFirst" dfdl:byteOrder="littleEndian"/>
<xs:element name="D" type="xs:unsignedInt" dfdl:length="8"/>
</xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>
{quote}
With the following test:
{quote}<tdml:parserTestCase name="bitOrderChangeOnSequence"
root="changeOnSequence" model="s6" description="Tests changing bitOrder when on a byte boundary.">
<document xmlns="http://www.ibm.com/xmlns/dfdl/testData">
<documentPart type="bits">
0000 0001
0000 0001
1000 0000
1000 0000
</documentPart>
</document>
<tdml:infoset>
<tdml:dfdlInfoset xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://example.com">
<changeOnSequence>
<A>1</A>
<B>1</B>
<C>1</C>
<D>1</D>
</changeOnSequence>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
{quote}
(both snippets are in attached tdml as test name bitOrderChangeOnSequence. The attached TDML is an uncommited modified version of section05/simple_types/BitOrder.tdml )
The actual result of parsing is:
{quote}<changeOnSequence>
<A>1</A>
<B>1</B>
<C>128</C>
<D>128</D>
</changeOnSequence>
{quote}
Note that the above schema attempts to change the bit order in 2 different ways:
1) On a sequence, and
2) On an element itself.
Neither approach has any results.
A possibly related issue is that ommiting the dfdl:byteOrder="littleEndian" on the xs:element results in an SDE, despite the fact that such is set on the enclosing sequence.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)