Data Format Description Language (DFDL) v1.0 Specification
OGF Proposed Recommendation GFD-P-R.174, January 31, 2011


14.5 Hidden Groups

Some fields in the physical stream provide information about other fields in the stream and are not really part of the data. For example, a field could give the number of repeats in a following array. These fields may not be of interest to an application so may be removed from the Infoset on parsing by marking them as hidden. A hidden sequence group allows fields to be defined that will not be added to the infoset on parsing and will not be expected in the Infoset on unparsing.
<xs:element name="root">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstElement" type="xs:int"

        <xs:sequence>
          <dfdl:sequence hiddenGroupRef="tns:hiddenRepeatCount">
        </xs:sequence>

      <xs:element name="arrayElement" type="xs:int" 
                  minOccurs="0" maxOccurs="unbounded" 
                  dfdl:occursCountKind="expression"
                  dfdl:occurCount= "{../repeatCount}" />
    </xs:sequence>
  </xs:complexType>
</xs:element>

<xs:group name="hiddenRepeatCount" > 
  <xs:sequence> 
    <xs:element name="repeatCount" type=int
       dfdl:outputValueCalc="{count(../arrayElement)}" 
       dfdl:representation="binary" dfdl:lengthKind="implicit" /> 
  </xs:sequence> 
</xs:group>

Hidden elements within a hidden sequence can be referenced via path expressions using the same DFDL expression that we would have if it were not hidden.

Hidden elements can (typically will) contain the regular DFDL annotations to define their physical properties and on unparsing to set their value. They are processed using the same behavior as non-hidden elements.

When the dfdl:hiddenGroupRef property is specified, all other DFDL properties are ignored. It is a schema definition error if the sequence is not empty.

A hidden sequence may appear within another hidden sequence.

Property Name

Description

hiddenGroupRef

Qname or empty String

Reference to a global model group definition that defines the hidden element or elements.

The model group within the model group definition may be a xs:sequence or xs:choice

If the value is the empty string then there is no hidden group.

Annotation: dfdl:sequence

Table 22 Hidden properties

 


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.