Data Format Description Language (DFDL) V1.0 Specification

Data Format Description Language (DFDL) V1.0 Specification

GFD-R-P.240 Michael J Beckerle, Owl Cyber Defense/Tresys OGF DFDL WG Stephen M Hanson, IBM [email protected] February 2021 Data Format Description Language (DFDL) v1.0 Specification Status of This Document Grid Final Draft (GFD) Obsoletes This document incorporates all errata and clarifications to earlier DFDL v1.0 specification documents and therefore obsoletes both: • GFD-P-R.207 dated September 2014 [OBSOLETE_DFDL_207] • GFD-P-R.174 dated January 2011 [OBSOLETE_DFDL_174]. Copyright Notice Copyright © Global Grid Forum (2004-2006). Some Rights Reserved. Distribution is unlimited. Copyright © Open Grid Forum (2006-2021). Some Rights Reserved. Distribution is unlimited Abstract This document provides a definition of a standard Data Format Description Language (DFDL). This language allows description of text, dense binary, and legacy data formats in a vendor- neutral declarative manner. DFDL is an extension to the XML Schema Description Language (XSD). GFD-R-P.240 February 2021 Contents Data Format Description Language (DFDL) v1.0 Specification ...................................................... 1 1 Introduction ............................................................................................................................... 8 1.1 Why is DFDL Needed? ..................................................................................................... 9 1.2 What is DFDL? .................................................................................................................. 9 Simple Example ....................................................................................................... 10 1.3 What DFDL is not ............................................................................................................ 12 1.4 Scope of version 1.0 ....................................................................................................... 13 2 Overview of the Specification ................................................................................................. 14 3 Notational and Definitional Conventions ................................................................................ 15 3.1 Glossary and Terminology .............................................................................................. 15 3.2 Failure Types .................................................................................................................. 15 4 The DFDL Information Set (Infoset) ....................................................................................... 17 4.1 "No Value'' ....................................................................................................................... 18 4.2 Information Items ............................................................................................................ 18 Document Information Item ..................................................................................... 18 Element Information Items ....................................................................................... 18 4.3 DFDL Information Item Order.......................................................................................... 19 4.4 DFDL Augmented Infoset ................................................................................................ 19 5 DFDL Schema Component Model ......................................................................................... 20 5.1 DFDL Simple Types ........................................................................................................ 20 5.2 DFDL Subset of XML Schema ........................................................................................ 21 5.3 XSD Facets, min/maxOccurs, default, and fixed ............................................................ 23 MinOccurs, MaxOccurs............................................................................................ 23 MinLength, MaxLength ............................................................................................ 23 MaxInclusive, MaxExclusive, MinExclusive, MinInclusive, TotalDigits, FractionDigits 23 Pattern ..................................................................................................................... 24 Enumeration Values................................................................................................. 24 Default ...................................................................................................................... 24 Fixed ........................................................................................................................ 24 5.4 Compatibility with Other Annotation Language Schemas ............................................... 24 6 DFDL Syntax Basics .............................................................................................................. 25 6.1 Namespaces ................................................................................................................... 25 6.2 The DFDL Annotation Elements ..................................................................................... 25 6.3 DFDL Properties ............................................................................................................. 27 DFDL String Literals ................................................................................................. 28 DFDL Expressions ................................................................................................... 33 DFDL Regular Expressions ..................................................................................... 33 Enumerations in DFDL............................................................................................. 33 7 Syntax of DFDL Annotation Elements .................................................................................... 34 7.1 Component Format Annotations ..................................................................................... 34 Property Binding Syntax .......................................................................................... 35 Empty String as a Representation Property Value .................................................. 37 [email protected] Page 2 of 245 GFD-R-P.240 February 2021 7.2 dfdl:defineFormat - Reusable Data Format Definitions ................................................... 37 Using/Referencing a Named Format Definition: The dfdl:ref Property .................... 37 Inheritance for dfdl:defineFormat ............................................................................. 38 7.3 The dfdl:defineEscapeScheme Defining Annotation Element ........................................ 38 Using/Referencing a Named escapeScheme Definition.......................................... 39 7.4 The dfdl:escapeScheme Annotation Element ................................................................. 39 7.5 The dfdl:assert Statement Annotation Element .............................................................. 39 Properties for dfdl:assert .......................................................................................... 40 7.6 The dfdl:discriminator Statement Annotation Element .................................................... 42 Properties for dfdl:discriminator ............................................................................... 42 7.7 DFDL Variable Annotations............................................................................................. 45 dfdl:defineVariable Annotation Element................................................................... 46 The dfdl:newVariableInstance Statement Annotation Element ............................... 47 The dfdl:setVariable Statement Annotation Element ............................................... 48 8 Property Scoping and DFDL Schema Checking .................................................................... 50 8.1 Property Scoping ............................................................................................................. 50 Property Scoping Rules ........................................................................................... 50 Providing Defaults for DFDL properties ................................................................... 50 Combining DFDL Representation Properties from a dfdl:defineFormat .................. 51 Combining DFDL Properties from References ........................................................ 52 8.2 DFDL Schema Checking ................................................................................................. 54 Schema Component Constraint: Unique Particle Attribution ................................... 55 Optional Checks and Warnings ............................................................................... 55 9 DFDL Processing Introduction ............................................................................................... 56 9.1 Parser Overview .............................................................................................................. 56 Points of Uncertainty ................................................................................................ 57 Processing Error ...................................................................................................... 57 Recoverable Error .................................................................................................... 57 9.2 DFDL Data Syntax Grammar .......................................................................................... 57 Nil Representation ..................................................................................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    245 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us