Data Format Description Language (DFDL) v1.0 Specification
OGF Proposed Recommendation GFD-P-R.174, January 31, 2011
Data in a format describable via a DFDL schema obeys the grammar given here. A given DFDL schema is read by the DFDL processor to provide specific meaning to the terminals and decisions in this grammar.
The bits of the data are divided into two broad categories:
Content
Framing
The content is the bits of data that are interpreted to compute a logical value.
Framing is the term we use to describe the delimiters, length fields, and other parts of the data stream which are present, and may be necessary to determine the length or position of the content of DFDL Infoset items.
Note that sometimes the framing is not strictly necessary for parsing, but adds useful redundancy to the data format, allowing corrupt data to be more robustly detected, and sometimes the framing adds human readability to the data format.
Productions |
Document = Element |
Element = SimpleElement | ComplexElement SimpleElement = ElementLeftFraming SimpleContent RightFraming ComplexElement = ElementLeftFraming ComplexContent RightFraming ElementLeftFraming = LeftFraming PrefixLength PrefixLength = SimpleContent |
LeftFraming = LeadingAlignment Initiator RightFraming = Terminator TrailingAlignment LeadingAlignment = LeadingSkip AlignmentFill TrailingAlignment = TrailingSkip |
SimpleContent = LeftPadding SimpleRepresentation RightPadOrFill ComplexContent = Sequence | Choice |
Sequence = LeftFraming SequenceContent RightFraming SequenceContent = [ PrefixSeparator SequenceItem [ Separator SequenceItem ]* PostfixSeparator ] FinalUnusedRegion SequenceItem = Element | Array | ComplexContent |
Choice = LeftFraming ChoiceContent RightFraming ChoiceContent = [ Element | Array | ComplexContent ] FinalUnusedRegion |
Array = [ Element [ Separator Element ]* [ Separator StopValue] ] StopValue = SimpleElement |
Copyright (C) Open Grid Forum (2005-2010). All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the OGF or other organizations, except as needed for the purpose of developing Grid Recommendations in which case the procedures for copyrights defined in the OGF Document process must be followed, or as required to translate it into languages other than English.