Hi Mike
If we are unparsing an occurrence then yes
we apply alignment properties before we output the content, even if the
content is zero length. I emphasise "if we are unparsing an occurrence"
because if an element is optional and there is no occurrence in the infoset
we will not unparse anything, so the alignment is not relevant and not
used.
Regards
Steve Hanson
Architect, IBM
DFDL
Co-Chair, OGF
DFDL Working Group
IBM
Integration Bus, Hursley, UK
smh@uk.ibm.com
tel:+44-1962-815848
mob:+44-7717-378890
From:
Mike Beckerle <mbeckerle.dfdl@gmail.com>
To:
"dfdl-wg@ogf.org"
<dfdl-wg@ogf.org>
Date:
21/01/2016 22:37
Subject:
[DFDL-WG] clarification
needed - unparser - do we use mandatory text alignment for zero-length
strings?
Sent by:
"dfdl-wg"
<dfdl-wg-bounces@ogf.org>
Suppose field 1 is 3 bits long.
Suppose field 2 is a string in utf-8. dfdl:emptyValueDelimiterPolicy='none'
If field2 has any contents, then those characters must
begin on a byte boundary, so before the first character we will skip 5
bits.
What if field2 is of length 0 ? Do we skip 5 bits anyway
or not?
Note that if dfdl:emptyValueDelimiterPolicy is "both",
and an initator or terminator is defined, then even if length is 0 we definitely
will unparse a character at least so the 5 bits of alignment are needed
in that case.
But if there is no framing, and no content, do we align
to the text mandatory alignment or not?
Now, I believe the answer to this should be "yes"
we skip the 5 bits anyway. Because if field 2 is lengthKind='pattern',
then when parsing, we have to scan for a match to the pattern, and so we
have to know where to start the scan, which has to be at a byte boundary.
So even if there is no match, so the length at parse time is zero, we still
had to skip 5 bits before we could start scanning.
So to be consistent with this, I believe unparsing must
also output the 5 bits regardless of whether the string is length 0 or
not.
So there's what should it do, but also if all the constructs
for this work in IBM DFDL, I'm curious what it actually does.
Thanks
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
--
dfdl-wg mailing list
dfdl-wg@ogf.org
https://www.ogf.org/mailman/listinfo/dfdl-wg
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU