released: true 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