[DFDL-WG] Action 286 - Daffodil v IBM DFDL feature comparison

Steve Hanson smh at uk.ibm.com
Mon Jul 4 11:49:52 EDT 2016


286
Create table that compares Daffodil features to IBM DFDL features 
(Steve/Mike)
16/2: Take table from section 22 of DFDL 1.0 spec and add columns showing 
implementations.
1/3: No progress
10/5: No progress. Work on this for next call.
...
7/6: No further progress
5/7:

To kick this off here is the optional features table from spec section 21 
with a column added for IBM DFDL

Feature
Detection
IBM DFDL
Validation 
External switch
Yes
Named Formats 
dfdl:defineFormat or dfdl:ref 
Yes
Choices 
xs:choice in xsd 
Yes
Arrays where size not known in advance 
dfdl:occursCountKind 'implicit', 'parsed', 'stopValue' 
Partial - not 'stopValue'
Expressions 
Use of a DFDL expression in any property value
Yes
End of parent
dfdl:lengthKind "endOfParent"
No
Simple type restrictions 
xs:simpleType in xsd
Partial - not unions
Text representation for types other than String 
dfdl:representation "text" for Number, Calendar or Boolean types 
Yes
Delimiters 
dfdl:separator <> "" or dfdl:initiator <> "" or dfdl:terminator <> "" or 
dfdl:lengthKind "delimited" 
Yes
Nils
XSDL nillable 'true' in xsd
Yes
Defaults
XSDL default or fixed in xsd
Partial - unparsing only
Bi-Directional text.
dfdl:textBiDi 'yes'
No
Lengths in Bits
dfdl:alignmentUnits 'bits' or dfdl:lengthUnits 'bits'
Yes
Delimited lengths and representation binary element
dfdl:representation 'binary' (or implied binary) and dfdl:lengthKind 
'delimited'
Yes
Regular expressions
dfdl:lengthKind 'pattern', 
dfdl:assert with dfdl:testkind 'pattern' , 
dfdl:discriminator with dfdl:testkind 'pattern'
Partial - only for dfdl:lengthKind
Zoned numbers
dfdl:textNumberRep 'zoned'
Yes
IBM 390 packed numbers
dfdl:binaryNumberRep 'packed' 
Yes
IBM 390 packed calendars
dfdl:binaryCalendarRep 'packed'
No
IBM 390 floats
dfdl:binaryFloatRep 'ibm390Hex'
Yes
Unordered sequences
dfdl:sequenceKind 'unordered'
Yes
Floating elements
dfdl:floating 'yes'
No
dfdl functions in expression language
dfdl:functions in expression
No
Hidden groups
dfdl:hiddenGroupRef <> ''
No
Calculated values
dfdl:inputValueCalc <> '' or dfdl:outputValueCalc <> ''
No
Escape schemes
dfd:defineEscapeScheme in xsd
Yes
Extended encodings
Any dfdl:encoding value beyond the core list
Yes 
Asserts 
dfdl:assert in xsd
Partial - not on global elements or simple types
Discriminators 
dfdl:discriminator in xsd
Partial - not on global elements or simple types
Prefixed lengths
dfdl:lengthKind 'prefixed'
Partial - not nested prefixed lengths
Variables 
dfdl:defineVariable, 
dfdl:newVariableInstances, 
dfdl:setVariable
Variables in DFDL expression language
Note that variables as a feature is dependent on the Expressions feature.
Partial - not newVariableinstance or external variables
BCD calendars 
dfdl:binaryCalendarRep "bcd" 
Yes
BCD numbers
dfdl:binaryNumberRep "bcd"
Yes
Multiple schemas 
xs:include or xs:import in xsd 
Yes
IBM 4690 packed numbers
dfdl:binaryNumberRep "ibm4690Packed"
Yes
IBM 4690 packed calendars
dfdl:binaryCalendarRep "ibm4690Packed"
Yes
DFDL Byte Value Entities
Use of %#r syntax in a DFDL String Literal other than the dfdl:fillByte 
property
Yes
DFDL Standard Character Set Encodings
dfdl:encoding name begins with "X-DFDL-".
No
Bit Order - Least Significant Bit First
dfdl:bitOrder with value 'leastSignificantBitFirst'
No

Some IBM DFDL restrictions are not captured in the table, mainly due to 
non-implementation of many of the later errata. Full details here 
https://www.ibm.com/support/knowledgecenter/SSMKHH_10.0.0/com.ibm.etools.mft.doc/df00150_.htm 
but the key omissions are:

fn:count(), fn:exactlyOne(), fn:name(), fn:local-name(), 
fn:namespace-uri()
BOMs
Correct distinction between 'empty' and 'missing' when parsing (action 
140)
Use of namespaces in expression paths
dfdl:separatorSuppressionPolicy "trailingEmptyStrict" 


Regards
 
Steve Hanson
IBM Integration Bus, Hursley, UK
Architect, IBM DFDL
Co-Chair, OGF DFDL Working Group
smh at uk.ibm.com
tel:+44-1962-815848
mob:+44-7717-378890
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ogf.org/pipermail/dfdl-wg/attachments/20160704/a5c667e9/attachment-0001.html>


More information about the dfdl-wg mailing list