Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added section on TDML runner usage of DFDL entities

...

It is a processing error if any DFDL infoset string character is created with a character code greater than #x10FFFF.

Daffodil Infoset and TDML Runner

The Daffodil TDML runner constructs the <tdml:dfdlInfoset> element contents by post-processing all strings so that the DFDL character entities notation can be used to express XML-illegal characters.

So for example:

     <tdml:dfdlinfoset><foo>abc%NUL;</foo></tdml:infoset>

would translate the %NUL; entity notation into character #x00, which is illegal in XML, and so it would be remapped to character #xE000. Hence, the above example is equivalent to writing:

     <tdml:dfdlinfoset><foo>abc&#xE000;</foo></tdml:infoset>

which uses the XML numeric character entity to directly insert the remapped #xE000 character directly.  The use of DFDL character entities simply allows the notational convenience of the use of the symbolic form of these entities (NUL, CR, LF, HT, VT, FF, etc.)