No - no changes. I've tried various combinations... no joy. Parse/unparse works - daffodil exit codes w/ zero (0) in both cases:...
+ daffodil parse --validate=on -s samp.dfdl.xsd -r samp.dfdl.xsd -Dheader=absent -o out/_-_home_-_attila_-_CDES_-_trunk_-_ndpp_-_data_-_JITC_-_ndpp_h2l_ascii_-_mu_16_-_ControlData_-_samp.xml /home/attila/CDES/trunk/ndpp/data/JITC/ndpp_h2l_ascii/mu_16/ControlData/samp.txt + parse_exit_code=0 + echo daffodil parse exit code: 0 daffodil parse exit code: 0 + date Tue 19 Apr 2022 11:17:57 AM EDT + daffodil unparse --validate=on -s samp.dfdl.xsd -r samp.dfdl.xsd -Dheader=absent -o out/_-_home_-_attila_-_CDES_-_trunk_-_ndpp_-_data_-_JITC_-_ndpp_h2l_ascii_-_mu_16_-_ControlData_-_samp.txt out/_-_home_-_attila_-_CDES_-_trunk_-_ndpp_-_data_-_JITC_-_ndpp_h2l_ascii_-_mu_16_-_ControlData_-_samp.xml + unparse_exit_code=0 + echo daffodil unparse exit code: 0 daffodil unparse exit code: 0 However, diff between source and unparsed ~.txt files gets error b/c trailing <CR><CR><LF> is not generated on output. On Tue, Apr 19, 2022 at 11:21 AM Steve Lawrence <slawre...@apache.org> wrote: > I tested with 2.4.0. If I remove the CRCRLF separator on line 33 that > you have highlighted then I get an error about no forward progress: > > $ daffodil --version > Apache Daffodil (incubating) 2.4.0 > > $ daffodil parse -Dheader=absent -s samp.dfdl.xsd samp.txt > [error] Parse Error: Choice dispatch branch failed: List(Parse Error: No > forward progress. > Schema context: sequence[1] Location line 33 column 12 in > file:/home/slawrence/downloads/samp/samp.dfdl.xsd > Data location was preceding byte 37) > Schema context: choice[1] Location line 31 column 14 in > file:/home/slawrence/downloads/samp/samp.dfdl.xsd > Data location was preceding byte 37 > [error] Parse Error: No forward progress. > Schema context: sequence[1] Location line 33 column 12 in > file:/home/slawrence/downloads/samp/samp.dfdl.xsd > Data location was preceding byte 37 > > Do you have any other changes to the schema? > > On 4/19/22 11:05 AM, Attila Horvath wrote: > > Keep in mind I'm using Daffodil 2.4.0 > > > > I understand and your explanation makes sense; however... > > > > When I remove highlighted DFDL separator attributes on line #33 per > suggestion:... > > image.png > > I get identical result:... > > image.png > > I.E. <CR><CR><LF> still consumed prior to 'tailing-rec' element > processing. > > > > Unexpectedly, the only way to get the 'expected' result is by adding > additional > > <CR><CR><LF>:... > > image.png > > You've confirmed my understanding of 'infix'; however, not getting > expected results. > > > > Thx - Attila > > > > > > > > On Tue, Apr 19, 2022 at 10:40 AM Steve Lawrence <slawre...@apache.org > > <mailto:slawre...@apache.org>> wrote: > > > > Thanks for the provided schemas. This helps quite a bit. > > > > In this case, the "record" element does not consume the final CR CR > LF > > because it is an infix separator, as you expect. > > > > However, you have an CR CR LF separator on the outer sequence on > line > > 33, so you have something like this: > > > > <xs:sequence dfdl:separator="%CR;%CR;%LF;" > > dfdl:separatorPosition="infix"> > > <xs:sequence> > > <xs:element name="MU16Type" ... /> > > </xs:sequence> > > <xs:element name="trailing-rec" ... /> > > </xs:sequence> > > > > So this expects a CR CR LF in between your MU16Type element and a > > trailing-rec element. That is what actually consumes the final CR > CR LF > > and then the trailing-rec element happily consumes no data and you > get > > the NIL element. > > > > So the suggestion if you want the CRCRLF element to be parsed in the > > tailing-rec is to remove the CR CR LF separator from the outer > sequence. > > Note that things get a bit tricky if you do that. In that case, the > > final trailing CR CR LF is not consumed as an infix separator, as > > expected. And then we do get a single trailing-rec element that > consumes > > the CR CR LF and we get the <CRCRLF> element. But then because > > trailing-rec is unbounded, and happy to try to parse more > trailing-rec > > elements. But a trailing-rec element can consume no data because of > the > > NIL element. This would mean Daffodil could get stuck in an infinite > > loop happily consuming no data. Daffodil detects this and errors > with a > > "No forward progress" message. Simply removing the NIL element from > the > > TailType-TLE fixes this issue, this way it's not possible for > > TailType-TLE to consume no data. > > > > - Steve > > > > > > On 4/19/22 10:12 AM, Attila Horvath wrote: > > > ALCON > > > > > > Same question/issue - see attached samp schema/data. > > > > > > Thx - Attila > > > > > > On Tue, Apr 19, 2022 at 10:03 AM <some...@apache.org > > <mailto:some...@apache.org> <http://apache.org <http://apache.org>>> > wrote: > > > > > > > > > > I can't reproduce this with simpler examples. Can > you > > provide your > > > > actual schema/data? > > > > > > > > > > >