Hi Folks, I have a binary file. It has a choice of 2-byte "markers". The last 2 bytes in the file must be FF D9.
One of the markers is FF E1. To see if my approach works, I created a choice for marker FF E1 and nothing else. I placed that choice within another choice which has an element that gobbles up all the remaining bytes except for the last 2 bytes. Here is my choice within a choice: <xs:choice> <xs:choice> <xs:element name="APP1" type="xs:hexBinary" dfdl:lengthKind="pattern" dfdl:lengthPattern="\xFF\xE1" dfdl:lengthUnits="bytes" /> </xs:choice> <xs:element name="Bytes" type="xs:hexBinary" dfdl:lengthKind="pattern" dfdl:lengthPattern="[\x00-\xFF]+?(?=\xFF\xD9$)" dfdl:lengthUnits="bytes" /> </xs:choice> When I run it, Daffodil reports "Left over data." Daffodil consumed FF E1 and then stopped. Any thoughts on what I'm doing wrong? /Roger