mbeckerle commented on a change in pull request #67: Add test showing inability
to read data after a layer
URL: https://github.com/apache/incubator-daffodil/pull/67#discussion_r186119660
##########
File path:
daffodil-test/src/test/resources/org/apache/daffodil/layers/layers.tdml
##########
@@ -253,5 +253,50 @@ xxx]]></tdml:documentPart>
<tdml:error>separator</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
+
+ <tdml:defineSchema name="s4" elementFormDefault="unqualified">
+ <dfdl:defineFormat name="general">
+ <dfdl:format ref="ex:GeneralFormat" lengthKind="delimited"
outputNewLine="%CR;%LF;" />
+ </dfdl:defineFormat>
+ <dfdl:defineFormat name="folded">
+ <dfdl:format ref="ex:general" layerTransform="lineFolded_IMF"
layerLengthKind="implicit" layerLengthUnits="bytes"
Review comment:
Here's the bug/issue. We haven't got a crisp description of what these
lineFolded transforms actually do.
lineFolded_IMF with layerlengthKind 'implicit' means - there is no
terminating this. Just go as far as you can.
It requires that either the entire data stream is being folded, or there is
a surrounding "specified length" element to stop it.
I think you want layerLengthKind 'boundaryMark'. In the lineFolded case, the
boundaryMark is not variable. It is always CRLF not followed by tab/space.
I.e., a single "line" of text that if too long, must be folded.
Those two behaviors, 'implicit' and 'boundaryMark' are what the code does
today, but I'm not sure they are enough.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services