Unsupported features
The following features of the DFDL 1.0 specification are currently not supported in this implementation.
Property enumerations
The following property enumerations are unsupported.
Properties
The following properties are unsupported:
Feature | Reference in DFDL specification |
---|---|
dfdl:hiddenGroupRef | 14.5 Hidden Groups |
dfdl:inputValueCalc
dfdl:outputValueCalc |
17. Calculated Value Properties. |
Functions
The following functions are unsupported in DFDL expressions:
Feature | Reference in DFDL specification |
---|---|
fn:count
fn:exactly-one |
23.5 Constructors, Functions and Operators |
fn:name
fn:local-name fn:namespace-uri |
|
dfdl:contentLength
dfdl:valueLength |
|
dfdl:testBit
dfdl:setBits |
|
dfdl:occursIndex | |
dfdl:checkConstraints | |
dfdl:timeZoneFromDate
dfdl:timeZoneFromDateTime dfdl:timeZoneFromTime |
|
All dfdl: constructor functions | |
dfdl:decodeDFDLentities
dfdl:encodeDFDLentities dfdl:containsDFDLentities |
Annotations
The following annotations and annotation placements are unsupported:
Feature | Reference in DFDL specification |
---|---|
dfdl:defineVariable with external=true | 7.7 The dfdl:defineVariable Annotation Element |
dfdl:newVariableInstance | 7.8 The dfdl:newVariableInstance Statement Annotation Element |
dfdl:assert on global element and simple type | 7.3 The dfdl:assert Statement Annotation Element |
dfdl:discriminator on global element and simple type | 7.4 The dfdl:discriminator Statement Annotation Element |
Other restrictions
The following restrictions also apply:
Feature | Reference in DFDL specification |
---|---|
Use of default values is not supported during parsing. |
|
When default values are applied to a missing complex element during serialization and the element is a choice, only the first choice branch is used to supply default values. If an error occurs on the first branch then serialization fails. | |
When dfdl:lengthKind is 'implicit' for a complex element, the element can be prematurely terminated by encountering a higher level terminating delimiter. |
|
When encoding is 'UTF-8', 'UTF-16' or 'UTF-32' a byte order mark at document start is not automatically processed, and must be modeled explicitly if it is to affect the encoding of the document. |
|
Schemas must contain only one DFDL xs:appinfo element within each xs:annotation element, as subsequent xs:appinfo elements might not be processed correctly. |
|
When dfdl:lengthKind is 'prefixed', the simple type referenced by the dfdl:prefixLengthType property can not also have dfdl:lengthkind 'prefixed'. |
|
Not all instances of inapplicable DFDL property placement are reported. |
|
All global elements are assumed to be potential document roots and are validated accordingly. |
|
dfdl:lengthKind 'pattern' can not be used with elements of binary representation. |
|
When parsing, the distinction between an element being 'missing', having an 'empty representation' and having an 'absent representation', is not in accordance with the specification. |
|
When an element has binary representation, a DFDL character entity is not allowed in the definition of a nil value for the element. |
|
dfdl:textStandardDecimalSeparator is not allowed to be a list of values. |
|
dfdl:textStandardExponentRep is not allowed to be more than one character, and not allowed to be empty string. |
|
The '@' (significant digits) symbol is not allowed in dfdl:textNumberPattern. |
|
The '_' (underscore) character is not allowed in dfdl:calendarLanguage. |
13.11 Properties specific to Calendar with Text or Binary Representation |
dfdl:calendarTimeZone is not allowed to be empty string or to be an Olson format time zone. |
13.11 Properties specific to Calendar with Text or Binary Representation |
A binary packed number with dfdl:lengthUnits 'bits' is not checked to see that the length is a multiple of 4 bits. |
|
A binary packed number with dfdl:alignmentUnits 'bits' is not checked to see that the alignment is a multiple of 4 bits. |
|
All elements with text representation are assumed to align on an 8-bit boundary. There is no support for encodings that are not 8-bit aligned. |
|
dfdl:textStandardDecimalSeparator, dfdl:textStandardGroupingSeparator, dfdl:textStandardExponentRep, dfdl:textStandardInfinityRep, dfdl:textStandardNanRep and dfdl:textStandardZeroRep are not checked to ensure they are all distinct from one another. |
|
dfdl:calendarLanguage is not allowed to be an expression. |
13.11 Properties specific to Calendar with Text or Binary Representation |
dfdl:assert message is not allowed to be an expression. |
|
dfdl:discriminator message is not allowed to be an expression. |
|
Path locations in DFDL expressions are not correctly validated. Specifically, array elements without predicates and references into other choice branches are not flagged as errors. Avoid using such path locations. |
|
dfdl:initiator and dfdl:textStandardZeroRep incorrectly allow the use of %WSP*; entity class on its own. Use %WSP+; instead. |
12.2 Properties for Specifying Delimiters , 13.6 Properties Specific to Number with Text representation |
dfdl:terminator and dfdl:separator incorrectly allow the use of %WSP*; entity class on its own when scanning for delimiters. Use %WSP+; instead when scanning for delimiters. |
13.6 Properties Specific to Number with Text representation , 14.2 Sequence Groups with Separators |
When serializing, the application of an escape scheme takes place after the application of dfdl:emptyValueDelimiterPolicy. |
|
A value of empty string for dfdl:binaryBooleanTrueRep is not supported. |
13.10 Properties Specific to Boolean with Binary Representation |
The fn:concat function is limited to four arguments. | 23.5.2.3 String Functions |