Hi Folks,

Is the following correct?

The -V limited option instructs Daffodil to check the input data for 
conformance to the XSD facets.

The dfdl:checkConstraints also instructs Daffodil to check the input data for 
conformance to the XSD facets.

So the -V limited option and dfdl:checkConstraints do the same thing, right?

Not quite. Here's where they differ:

Consider parsing input INP against an element ELMT that is inside an xs:choice.

Case 1: The -V limited option is specified.

If INP does not conform to ELMT's XSD facets, then parsing fails and Daffodil 
stops. Daffodil does not backup and try another branch of the xs:choice.

Case 2: dfdl:checkConstraints is specified.

If INP does not conform to ELMT's XSD facets, then Daffodil backs up and tries 
another branch of the xs:choice.

Lesson Learned:

(1) dfdl:checkConstraints is a superset in terms of behavior. That is, it does 
everything that the -V limited option does, plus more.

(2) Forget the -V limited option. Just use dfdl:checkConstraints

Do you agree?

/Roger

Reply via email to