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

Steve Lawrence commented on DAFFODIL-2293:
------------------------------------------

Your driverID element has a type="xs:string". In DFDL, xs:string types with a 
byte-oriented encoding (e.g US-ASCII, ISO-88591-1, UTF-8) have a mandatory text 
alignment of 8 bits. The three elements consume a combined 30 bits (4 + 16 + 
10), so they do not end on a byte boundary. The mandatory text alignment causes 
Daffodil to skip the next two bits so it is on a byte boundary (at bit position 
of 32). Then Daffodil will start decoding your string.

There isn't currently a way to disable the mandatory text alignment for strings 
with a byte-oriented encoded. But this is pretty rare. Does your format specify 
that there should be not byte alignment for this string data? 

> Too many bits in xs:string
> --------------------------
>
>                 Key: DAFFODIL-2293
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-2293
>             Project: Daffodil
>          Issue Type: Question
>            Reporter: Alexander Deutschmann
>            Priority: Major
>
> Hello everyone,
> i have the following schema:
> {code:xml}
> <xs:complexType name="statusReportDetails">
>               <xs:sequence>
>                       <xs:element name="state" type="abc:stateenum" 
> dfdl:length="4" />
>                       <xs:element name="indicators" type="abc:indicators"  
> dfdl:length="16" />
>                       <xs:element name="v" type="v" dfdl:length="10" />
>                       <xs:element name="driverId" type="xs:string" 
> dfdl:lengthKind="explicit" dfdl:length="128" dfdl:alignment="8" />
>               </xs:sequence>
>       </xs:complexType>
> {code}
> And the related bitstream:
> {code:java}
> 0101 -> Enum
> 0000110000000001 -> indicators
> 0001100100 -> v
> 0000110001001100010011000100110001001100100011001000110010001100100011001100110011001100110011001100110100001101000011010000110100
>  -> driverId
> {code}
> The driverId has 130 bits and not the 128. bits which is defined in the 
> schema. 
> My question is where comes the first two bits ? I know it is an configuration 
> mistake or something like that.
> I hope someone can help me.
> Thank you.
> Alex



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to