Data Format Description Language (DFDL) v1.0 Specification
OGF Proposed Recommendation GFD-P-R.174, January 31, 2011
The DFDL subset of XSDL is a general model for hierarchically-nested
data. It avoids the XSDL features used to describe the peculiarities
of XML as a syntactic textual representation of data, and features
that are simply not needed by DFDL.
The following lists detail
the similarities and differences between general XSDL and this subset.
DFDL
Schemas consist of:
- Standard XSDL namespace management
- Standard XSDL import and management for multiple file schemas
- Local element declarations with dimensionality via xs:maxOccurs
and xs:minOccurs.
- Global element declarations
- ComplexType definitions with empty or element-only content
- DFDL appinfo annotations describing the data format
- These simple types: string, float, double, decimal, integer, long,
int, short, byte, nonNegativeInteger, unsignedLong, unsignedInt, unsignedShort,
unsignedByte, boolean, date, time, dateTime, hexBinary
- These facets: minLength, maxLength, minInclusive, maxInclusive,
minExclusive, maxExclusive, totalDigits, fractionDigits, enumeration,
pattern (for xs:string type only)
- Fixed values
- Default values
- 'sequence' model groups (without xs:minOccurs and xs:maxOccurs)
- 'choice' model groups (without xs:minOccurs and xs:maxOccurs)
- Simple type derivations derived by restriction from the allowed
built-in types
- Reusable Groups: named model group definitions can only contain
one model group
- Element references with dimensionality via xs:maxOccurs and xs:minOccurs.
- Group references without dimensionality
- xs:nillable="true" only on elements of simple type.
- Appinfo annotations for sources other than DFDL are permitted
and ignored
- Unions; the memberTypes must be derived from the same simple type.
DFDL annotations are not permitted on union members.1
- XML Entities
Note: xs:nonNegativeInteger is treated as an unsigned xs:integer.
The
following constructs from XML Schema are not used as part of the DFDL
Schema Model of DFDL v1.0 schemas; however, they are all reserved2 for
future use since the data model may be extended to use them in future
versions of DFDL:
- Attribute declarations (local or global)
- Attribute references
- Attribute group definitions
- complexType derivations where the base type is not AnyType.
- complex types having mixed content or simple content
- List simple types
- Union simple types where the member types are not derived from
the same simple type.
- These atomic simple types: normalizedString, token, Name, NCName,
QName, language, positiveInteger, nonPositiveInteger, negativeInteger,
gYear, gYearMonth, gMonth, gMonthDay, gDay, ID, IDREF, IDREFS, ENTITIES,
ENTITY, NMTOKEN, NMTOKENS, NOTATION, anyURI, base64Binary
- xs:maxOccurs and xs:minOccurs on model groups
- xs:minOccurs = 0 on branches of xs:choice model groups
- Identity Constraints
- Substitution Groups
- 'all' groups
- xs:any element wildcards
- Redefine - This version of DFDL does not support xs:redefine.
DFDL schemas must not contain xs:redefine directly or indirectly in
schemas they import or include.
- Nillability on elements of complex type.
- whitespace facet
- recursively-defined types and elements (defined by way of type,
group, or element references)
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.