You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Daffodil provides extensions to the DFDL specification. These properties are in the namespace defined by the URI urn:ogf:dfdl:2013:imp:opensource.ncsa.illinois.edu:2012:ext. To use these the Daffodil DFDL Extensions, bind this namespace to the daf prefix, like so:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
           xmlns:daf="urn:ogf:dfdl:2013:imp:opensource.ncsa.illinois.edu:2012:ext">

The following symbols defined in this namespace are described below.

Functions
daf:error()

A function that can be used in DFDL expressions. This functions does not return a value or accept any arguments. When called, it causes a Parse Error or Unparse Error.d

daf:trace($value, $label)A function that can be used in DFDL expressions, similar to the fn:trace() function. This outputs the string $label followed by the $value converted to a string and returns $value. The second argument must be of type xs:string.
Properties
daf:parseUnparsePolicy

A property applied to simple and complex elements, which specifies whether the element supports only parsing, only unparsing, or both parsing and unparse. Valid values for this property are "parse", "unparse", or "both". This allows one to leave off properties properties that are required for only parse or only unparse, such as dfdl:outputValueCalc or dfdl:outputNewLine, so that one may have a valid schema if only a subset of functionality is needed.

All elements must have a compatible parseUnparsePolicy with the compilation parseUnparsePolicy (which defined by the root element daf:parseUnparsePolicy and/or the Daffodil parseUnparsePolicy tunable) or it is a Schema Definition Error. An element is defined to have a compatible parseUnparsePolicy with if it has the same value as the compilation parseUnparsePolicy or if it has the value "both".

For compatibility, if this property is not defined, it is assumed to be "both".

  • No labels