Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. repeating sequence and choice groups (minOccurs and maxOccurs)
  2. complex type derivations
  3. attributes (already mentioned above)
  4. substitution groups - to enable separate compilation of multi-part DFDL schemas that are very large.

XML Schema 1.1

This new standard supports richer validation rules. They are useful since XML Schema 1.0's validation capabilities are so limited.

...

Some data formats contain header information including a table of offsets in the file to later parts of the data. The ability to directly express offsets within the data (absolute, or relative to some anchor, such as the end of the table of offsets) would make describing these kinds of data files much more direct.

Expression Language - Let - Return Construct

In many cases expressions in DFDL's expression language become massively redundant - things that should be expressed once have to be copied and pasted repeatedly (See IPSrcGrp in pcap.dfdl.xsd for an example.)

To fix this, we should enable at least one construct from XQuery to be used in addition to just the XPath-like language specified in DFDL v1.0, and that's the LET-RETURN construct.

A trivial example:

Code Block
dfdl:outputValueCalc='{ 
    let $x = ../a/b
     return fn:concat($x, $x)
}'

It is simply basic software engineering that large and complex things need to be named and reused, not duplicated. DFDL as a language should have features to allow good basic practices to be followed.