
I am not aware of a formal comparison with smooks. For partial parsing you use a loop of parseNext() calls instead of a single parseAll() call. That puts you in control of how far down the data you parse. In the Java sample provided with IBM DFDL, the code to do this is present but commented out. Two things can happen when a processing error occurs. If inside a point of uncertainty, such as a choice branch or an optional element, then the processing error is taken to indicate that the component does not exist, and the parser then backtracks and tries an alternative (so the error is suppressed). If not inside a point of uncertainty, then IBM's parser currently treats that as a fatal error and stops the parse. The spec (section 2.1) allows for more creative behaviour: It is expected that DFDL implementations will provide additional mechanisms for dealing with effective processing errors, such as the means of specifying retry points or the means of skipping some data so as to recover from the error in some way. The DFDL specification language does not provide features for specify such mechanisms If the data is well-formed (ie, no processing error occurs), then switching on validation will report all validation errors (section 2.5). It is possible using an assert to throw a recoverable error after which the parser will continue (section 2.5). Regards Steve Hanson Architect, IBM DFDL Co-Chair, OGF DFDL Working Group IBM SWG, Hursley, UK smh@uk.ibm.com tel:+44-1962-815848 From: Bing Lu <mfcplus@yahoo.com> To: "dfdl-wg@ogf.org" <dfdl-wg@ogf.org>, Date: 30/04/2014 02:11 Subject: [DFDL-WG] questions Sent by: dfdl-wg-bounces@ogf.org Just curious, has anyone in the group compared DFDL with smooks, pro and cons? Also I were to parse the DFDL using IBM DFDL code, is there a setting that I can call to do partial parsing? And when parsing happens, does it stop on the first parsing error or it tries to parse as much as possible to include all the errors encountered? thanks-- dfdl-wg mailing list dfdl-wg@ogf.org https://www.ogf.org/mailman/listinfo/dfdl-wg Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU