release: final apache: false title: 2.0.0 date: 2017-09-05 summary: > Support for unparse, with one-to-one feature parity with parse

binary-dist: - “daffodil-2.0.0.zip” - “daffodil-2.0.0.tgz” - “daffodil-2.0.0-1.noarch.rpm”

scala-version: 2.11 dist-org: “edu.illinois.ncsa” repository: name: NCSA Sonatype Releases url: https://opensource.ncsa.illinois.edu/nexus/content/repositories/releases


Core

  • support for unparse, with one-to-one feature parity with parse
  • support for unparse specific properties like dfdl:outputValueCalc, dfdl:filleByte, dfdl:truncateSpecifiedLengthString
  • now requires Java 8 and Scala 2.11
  • DFDL expression changes:
    • support added for dfdl:contentLength(), dfdl:valueLength(), fn:error(), and math:pow() functions
    • support equality comparisons of xs:hexBinary types
    • fix bugs with integer equality comparisons and converting differing integer types
    • fix bugs with div/idiv not using the appropriate kindof division
    • fix bugs with daf:trace on complex types
  • creation of a new data input/output stream layer
  • add support for 3-, 4-, 5-, 6-, and 7-bit ASCII encodings
  • add property daf:parseUnparsePolicy and tunable to enable only parsing, unparsing, or both
  • add tunable unqualifiedPathStepProperty to specify how unqualified DFDL expression path steps are resolved
  • allow dfdl:lengthKind=“pattern” when type=“xs:hexBinary”
  • support for xs:choice direct dispatch
  • support for xs:boolean type
  • support for xs:hexBinary type with bit lengths
  • support for xs:ignoreCase=“yes”
  • support for xs:union restrictions
  • support for runtime valued properties
  • improved diagnostic messages
  • numerous bug fixes and performance improvements
  • fix failure to import/include schemas with deep paths. includes and imports now reliably import files in jars or relative to paths on the classpath

API

  • new parse and unparse API with InfosetInputter‘s and InfosetOutputter’s
  • native infoset support for JDOM, w3c DOM, Scala XML Nodes, XML Text, and JSON
  • calling isError on a ParseResult now returns true if either there were parse errors OR validation errors
  • add new methods (isProcessingError and isValidationError) to ParseResult to determine if isError was true due to a parse error or a validation error
  • deprecated the canProceed() method, instead one should use !isError()

TDML

  • support for setting tunables in tdml:defineConfig
  • created an XSL stylesheet for creating DFDL tutorials from TDML files