DFDL WG Stephen M Hanson, IBM [email protected] September 2014
Total Page:16
File Type:pdf, Size:1020Kb
GFD-P-R.207 (OBSOLETED by GFD-P-R.240) Michael J Beckerle, Tresys Technology OGF DFDL WG Stephen M Hanson, IBM [email protected] September 2014 Data Format Description Language (DFDL) v1.0 Specification Status of This Document Grid Final Draft (GFD) Obsoletes This document obsoletes GFD-P-R.174 dated January 2011 [OBSOLETE_DFDL]. Copyright Notice Copyright © Global Grid Forum (2004-2006). Some Rights Reserved. Distribution is unlimited. Copyright © Open Grid Forum (2006-2014). Some Rights Reserved. Distribution is unlimited Abstract This document is OBSOLETE. It is superceded by GFD-P-R.240. 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 (XSDL). GFD-P-R.207 (OBSOLETED by GFD-P-R.240) September 2014 Contents Data Format Description Language (DFDL) v1.0 Specification ...................................................... 1 1. Introduction ............................................................................................................................... 9 1.1 Why is DFDL Needed? ................................................................................................... 10 1.2 What is DFDL? ................................................................................................................ 10 Simple Example ....................................................................................................... 10 1.3 What DFDL is not ............................................................................................................ 13 1.4 Scope of version 1.0 ....................................................................................................... 13 1.5 Related standards ........................................................................................................... 14 2. Notational and Definitional Conventions ................................................................................ 15 2.1 Failure Types .................................................................................................................. 15 2.2 Schema Definition Error .................................................................................................. 15 2.3 Processing Errors ............................................................................................................ 16 Ambiguity of Data Formats ...................................................................................... 16 2.4 Validation Errors .............................................................................................................. 17 2.5 Recoverable Error ........................................................................................................... 17 2.6 Specific Errors Classified ................................................................................................ 17 2.7 Optional Checks and Warnings....................................................................................... 19 3. Glossary ................................................................................................................................. 21 4. The DFDL Information Set (Infoset) ....................................................................................... 28 4.1 Information Items ............................................................................................................ 28 Document Information Item ..................................................................................... 28 Element Information Items ....................................................................................... 29 4.2 "No Value'' ....................................................................................................................... 30 4.3 DFDL Information Item Order.......................................................................................... 30 4.4 DFDL Infoset Object model ............................................................................................. 30 4.5 DFDL Augmented Infoset ................................................................................................ 31 5. DFDL Schema Component Model ......................................................................................... 33 5.1 DFDL Subset of XML Schema ........................................................................................ 34 5.2 XSD Facets, min/maxOccurs, default, and fixed ............................................................ 36 MinOccurs, MaxOccurs............................................................................................ 37 MinLength, MaxLength ............................................................................................ 37 MaxInclusive, MaxExclusive, MinExclusive, MinInclusive, TotalDigits, FractionDigits 37 Pattern ..................................................................................................................... 38 Enumeration ............................................................................................................. 38 [email protected] Page 2 of 244 GFD-P-R.207 (OBSOLETED by GFD-P-R.240) September 2014 Default ...................................................................................................................... 38 Fixed ........................................................................................................................ 38 6. DFDL Syntax Basics .............................................................................................................. 39 6.1 Namespaces ................................................................................................................... 39 6.2 The DFDL Annotation Elements ..................................................................................... 39 6.3 DFDL Properties ............................................................................................................. 41 DFDL String Literals ................................................................................................. 41 DFDL Expressions ................................................................................................... 46 DFDL Regular Expressions ..................................................................................... 46 Enumerations in DFDL............................................................................................. 46 7. Syntax of DFDL Annotation Elements .................................................................................... 47 7.1 Component Format Annotations ..................................................................................... 47 The dfdl:ref Property ................................................................................................ 47 Property Binding Syntax .......................................................................................... 48 Empty String as a Representation Property Value .................................................. 49 7.2 dfdl:defineFormat - Reusable Data Format Definitions ................................................... 50 Inheritance for dfdl:defineFormat ............................................................................. 50 Using/Referencing a Named Format Definition ....................................................... 50 7.3 The dfdl:assert Statement Annotation Element .............................................................. 50 Properties for dfdl:assert .......................................................................................... 51 Controlling the Timing of Statement Evaluation ...................................................... 53 7.4 The dfdl:discriminator Statement Annotation Element .................................................... 54 Properties for dfdl:discriminator ............................................................................... 54 7.5 The dfdl:defineEscapeScheme Defining Annotation Element ........................................ 57 Using/Referencing a Named escapeScheme Definition.......................................... 58 7.6 The dfdl:escapeScheme Annotation Element ................................................................. 58 7.7 The dfdl:defineVariable Annotation Element ................................................................... 58 Examples ................................................................................................................. 59 Predefined Variables................................................................................................ 59 7.8 The dfdl:newVariableInstance Statement Annotation Element....................................... 60 Examples ................................................................................................................. 60 7.9 The dfdl:setVariable Statement Annotation Element ...................................................... 61 Examples ................................................................................................................. 61 8. Property Scoping Rules .......................................................................................................... 62 8.1 Providing Defaults for DFDL properties .......................................................................... 62 8.2 Combining DFDL Representation Properties from a dfdl:defineFormat ......................... 63 8.3 Combining DFDL Properties