Hello DFDL community,
Below are the DFDL properties covered in my tutorial. Note that some properties 
have an enumerated set of allowable values; I typically cover some but not all 
the allowable values. At one point, Steve Lawrence says that I've covered only 
about 30% of all the properties specified in the DFDL specification.
I have a question. But first, to best express my question let me first give you 
an analogy. The SGML specification (SGML is the precursor to XML) is very 
large, over 500 pages. However, most users use only a fraction of all the SGML 
standard; perhaps 20% of the features are sufficient for 90% of all users.
Now to my question. The DFDL specification is large. It specifies many 
properties. However, I suspect that most users will use only a fraction of all 
the DFDL properties. Do you agree? Is the set of properties currently covered 
in my tutorial sufficient for 90% of the users? Stated another way, is the set 
of properties currently covered in my tutorial sufficient for parsing and 
unparsing 90% of all the data formats that most people will typically ever 
encounter? Or, am I missing some properties that will absolutely be needed by 
most users? If so, what are those properties, please?

  1.  representation (text, binary)
  2.  byteOrder (littleEndian, bigEndian)
  3.  binaryNumberRep
  4.  bitOrder (leastSignficantBitFirst, mostSignificantBitFirst)
  5.  alignment, alignmentUnits
  6.  hexBinary
  7.  outputNewLine
  8.  lengthKind (implicit, explicit, delimited, pattern)
  9.  separator (whitespace-separated list of separators)
  10. separatorPosition (infix, prefix)
  11. initiator
  12. terminator (whitespace-separated list of terminators)
  13. lengthKind (delimited, explicit, pattern)
  14. lengthUnits (characters, bits, bytes)
  15. lengthPattern
  16. length (integer, expression)
  17. hiddenGroupRef
  18. inputValueCalc
  19. outputValueCalc
  20. occursCountKind (fixed, implicit, expression)
  21. occursCount
  22. DFDL expressions, using XPath functions
  23. textTrimKind, textStringPadCharacter, textStringJustification
  24. binaryCalendarRep, binaryCalendarEpoch
  25. assert
  26. checkConstraints
  27. ref
  28. nilValue
  29. separatorSuppressionPolicy
  30. encoding
  31. choice:
     *   discriminator
     *   initiatedContent
     *   choiceDispatchKey, choiceBranchKey
     *   encodeDFDLEntities
  32. defineFormat, format
  33. defineEscapeScheme,
  34. escapeScheme (escapeKind (escapeCharacter|escapeBlock), escapeCharacter, 
escapeEscapeCharacter, extraEscapedCharacters, generateEscapeBlock, 
escapeBlockStart, escapeBlockEnd)
  35. escapeSchemeRef
  36. defineVariable
  37. textStandardDecimalSeparator
  38. documentFinalTerminatorCanBeMissing
  39. dollar symbol ($) denotes end-of-file
  40. DFDL schema
  41. parsing vs unparsing
  42. 2-pass parsing
  43. DFDL entities
  44. Flags that may be set when running Daffodil (--Validate on|off|limited, 
-D, -l scala-xml)
  45. DFDL vs ANTLR



Reply via email to