Turns out IBM DFDL implements only encodingErrorPolicy='error', and Daffodil 
only encodingErrorPolicy='replace'.


That means for any data where there are encoding errors the two implementations 
will not behave the same.

For compatibility testing, this will be problematic.


The I/O layer was recently revised for parsing to use our own decoders.


Not sure anything changed about encoders.


How hard is implementing parse-time encodingErrorPolicy='error', in Daffodil, 
which just raises a parse error if a decode error occurs?


I know for unparsing, if we're using java encoders, the implementation of 
encodingErrorPolicy='error' just requires initializing all encoders to have 
malformed and unmapped error handlers that throw. Then catching this throw and 
converting to an unparse error is all that is required. This has little or no 
performance implications as unparse errors are fatal.


Reply via email to