[DFDL-WG] Clarification needed: stricter separator suppresssion policy

Mike Beckerle mbeckerle.dfdl at gmail.com
Fri Jul 20 13:03:09 EDT 2018


I have been trying to rationalize the definitions in the DFDL spec for
separated sequences.

I cannot find a way to express something very simple: A repeating element
with minOccurs non-zero-length elements with separators required, and up to
maxOccurs (or unbounded) non-zero-length elements with separators are
allowed. This means separators can never be adjacent anywhere in the
corresponding data stream (except if escaped, or hidden inside say a
fixed-length string inside a complex type element). Adjacent delimiters
would be a parse error.

I expected this to be occursCountKind 'implicit' with
separatorSuppressionPolicy 'never', but that appears to mean that maxOccurs
must be bounded and there are always exactly maxOccurs separators, the
latter of which (maxOccurs - minOccurs of them) can be empty strings,
meaning optional elements will not be created for them.

All the other 3 separator suppression policies absorb adjacent separators,
except for trailingEmptyStrict doesn't absorb them at the end of the group.

There doesn't seem to be a way to be strict about the format and
speculatively parse only non-zero-length elements requiring each optional
occurance to appear with associated separator. I.e., no trailing adjacent
separators, and no adjacent separators in the middle or beginning either.

Are we missing separatorSuppressionPolicy='neverEmpty' or 'anyEmptyStrict'
perhaps?

Comments?

...mikeb


Mike Beckerle | OGF DFDL Workgroup Co-Chair | Tresys Technology |
www.tresys.com
Please note: Contributions to the DFDL Workgroup's email discussions are
subject to the OGF Intellectual Property Policy
<http://www.ogf.org/About/abt_policies.php>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ogf.org/pipermail/dfdl-wg/attachments/20180720/06e748c3/attachment.html>


More information about the dfdl-wg mailing list