Data Format Description Language (DFDL) v1.0 Specification
OGF Proposed Recommendation GFD-P-R.174, January 31, 2011
Elements within an ordered sequence can be designated as floating which means that they can appear in any position within the sequence.1
Property Name |
Description |
---|---|
floating |
Enum Valid values are 'yes', 'no' Whether the occurrences of an element in an ordered sequence can appear out-of-order in the representation. When parsing, and dfdl:floating is 'yes', instances of the element may be encountered in the representation in any position within its containing sequence. If present they are placed into the infoset in schema declaration order. If the element repeats, instances do not need to be contiguous in the representation. When parsing, and dfdl:floating is 'no', instances of the element must be in schema declaration order, and, if present, they are placed into the infoset in schema declaration order. It is a processing error if instances of the element are not encountered in schema declaration order. When unparsing, instances of the element are expected in the infoset in schema declaration order, and are output in the representation in schema declaration order. It is a processing error if instances of the element are not encountered in schema declaration order, It is a schema definition error if an unordered sequence or a choice contains any element with dfdl:floating='yes'. It is a schema definition error if an ordered sequence contains any element with dfdl:floating='yes' and also contains non-element component (such as a choice or sequence model group). Annotation: dfdl:element |
An ordered sequence with floating components is similar to an unordered sequence except only the floating elements may be out of order.
An ordered sequence of n element children with either n or n-1 of those children with dfdl:floating='yes' is equivalent to an unordered sequence with the same n element children with dfdl:floating='no'.
A complex element with dfdl:floating='yes' can have as its content model a sequence with elements that also have dfdl:floating='yes'.
This makes every element in a sequence containing one or more floating elements a point of uncertainty, similar to the way every element in an unordered sequence is a point of uncertainty.
A parser MUST look for the element defined at that position in the schema first and then look for the floating elements in the order they are defined in the schema.
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.