
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... 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@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