document #351

Action 305 - Section 14.2 - Clarifications on Separators and Suppression

Added by Michael Beckerle 26 days ago. Updated 20 days ago.

Status:submitted Start date:06/27/2019
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:-
Target version:DFDL v1.0
Document Type:Proposed Recommendation

Description

Section 14.2
For property dfdl:separator. The sentence: "Separators occur in the data either before, between or after all occurrences of the elements or groups that are the children of the sequence." replaced with "Separators occur in the data either before, between or after all occurrences of represented elements (that is, elements without the dfdl:inputValueCalc property) or model groups that are the children of the sequence. Elements with dfdl:inputValueCalc have no representation in the data stream, and so never have separators. Children of a sequence that are model groups are separated if the sequence is positional, even if they are empty (meaning have no children of their own - which is allowed for sequence groups), or both the model group child and its contained children occupy zero-length in the data stream. If the sequence is not positional, then separators are suppressed for trailing groups that are zero-length according to the dfdl:separatorSuppressionPolicy."

This accommodates the common situation where a trailing sequence group contains an entirely optional array element. If none of the array elements exists we do not want a separator for the sequence group at all.

(note: Some of the above is redundant with stipulations in the dfdl:inputValueCalc property description, but I believe it is wise to have this little redundancy.)

History

Updated by Michael Beckerle 26 days ago

There is an open email thread on this wording as of 2019-06-27. Update with resolved wording or confirm.

Updated by Michael Beckerle 20 days ago

Revised. The new language above is too verbose, and not correct.

Replacement language should be:

"Separators occur in the data either before, between or after all occurrences of the elements or groups that are the children of the sequence, in accordance with dfdl:separatorPosition and dfdl:separatorSuppressionPolicy. Elements with dfdl:inputValueCalc have no representation in the data stream, and so never have an associated separator."

Also available in: Atom PDF