I had an action item to update the definition of "validation error" to include output direction, and generally to improve it.

Here's my proposed language:

Validation Errors

Logical validation errors are constraints expressed in XSD and they apply to the logical content of the model.

DFDL processors may provide both validating and non-validating behaviors on either or both of parse and unparse. A conforming DFDL implementation could validate on parse, but not on unparse.

This implies that validation errors cannot affect the ability of a DFDL processor to successfully parse or unparse data.

The behavior of a DFDL processor when a validation error occurs is not specified by the DFDL language.

An unparse validation error is defined in terms of a parse validation error. Specifically, an unparse validation error occurs when the physical representation being output would generate a validation error on parsing using the same DFDL schema.

Unlike parse errors, the DFDL choice construct can not be used to suppress validation errors.

The following DFDL schema constructs are checked for validation:

DFDL Assertions

XSD pattern facet

XSD minOccurs, maxOccurs for variable-length data, and for fixed length data when the number of occurrences can be determined from markup in the representation.

XSD minLength, maxLength (note: length should be used for fixed length case)

XSD minInclusive, minExclusive, maxInclusive, maxExclusive

XSD enumeration