Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Add CRC/Checksum feature to layering.

...

Often one needs multiple passes. The value of some element, which might be a string, a hexBinary, or an array of bytes, wants to be used as the input for more parsing.

There are a whole bunch of related issues here. One also needs related functions in the expression language to allow concatenating a node list of strings into a single string (similarly for hexBinary and arrays of bytes).

Some data must be decoded - lines may be folded to a max length, but logically must be reassembled. Data can contain compressed regions.

In addition, one needs the ability to verify (parsing) or compute (unparsing) checksums, CRCs, or parity elements based on the contents of a layerThe inverse of this layering for unparsing opens its own significant can of worms.

Complex Representations for Simple Types

...

The ability to have data of simple type become XML attribute values would go a long ways to making DFDL-created-XML more human-friendly, and more efficient - attributes don't repeat the attribute name twice. E.g., <bigLongName>0</bigLongName> becomes bigLongName="0". This is very close to the same level of density as JSON representation.

More XML Schema Constructs

...

Users have requested a way to describe data structures with pointers linking objects to other objects. E.g. the arbitrary link structure a typical *NIX file system image can contain, with its hard links. This is related to the next topic about offsets to data.

Offsets to Data

(See Discussion/Proposal)

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.

...