Mike
The correct title of this proposal is
"proposed relaxation - delimited binary data should be packed or BCD
or BLOB"
Section 12.3.8 states what binary reps
can be used with lengthKind 'delimited'. It explicitly lists just
'packed' and 'bcd'. Therefore binary numbers with binaryNumberRep 'binary',
binary calendars with binaryCalendarRep 'binarySeconds' and 'binaryMilliseconds',
binary floats and doubles, binary booleans and xs:hexBinary are disallowed
today.
The binary calendar reps are always
treated with fixed length of 4 and 8 respectively, so no point in making
them variable length.
All binary floats have length 4 and
all binary doubles have length 8 so no point in making them variable length.
I am ok with being conservative and
continuing to disallow binaryNumberRep 'binary'. As you say we can open
this up in future.
Same for binary booleans.
I agree that xs:hexBinary should be
allowed to have lengthKind 'delimited'. It will be too restrictive to only
allow BLOB data to have a specified length, or to be bounded by parent.
This is shown by IBM 4690 point-of-sale data streams which contain instances
of variable length delimited BLOBs.
If we are in agreement then we need
to take an errata on section 12 and particularly section 12.3.8 to allow
xs:hexBinary to have lengthKind 'delimited'.
Regards
Steve Hanson
Architect, Data Format Description Language (DFDL)
Co-Chair, OGF
DFDL Working Group
IBM SWG, Hursley, UK
smh@uk.ibm.com
tel:+44-1962-815848
From:
Mike Beckerle <mbeckerle.dfdl@gmail.com>
To:
dfdl-wg@ogf.org
Date:
14/08/2012 19:44
Subject:
[DFDL-WG] proposed
clarification/narrowing - delimited binary data should
be decimal
Sent by:
dfdl-wg-bounces@ogf.org
The spec allows lengthKind='delimited' for binary data.
For calendar types, it allows only 'bcd' and 'packed' binaryCalendarRep.
There is no such restriction for integer types, so those can also be 'binary'
aka twos-complement.
We should be consistent. Either we allow binaryCalendarRep='binary', or
we disallow binaryNumberRep='binary'.
I propose we disallow binaryNumberRep='binary'. Rationale: conservative
choice. We could open it up later if there was reason to do so, but we
can't easily restrict it later if we find it problematic.
This leaves only hexBinary as the exception. Elements of type hexBinary
can have lengthKind='delimited', and the schema author simply has to understand
what byte pattern is usable as a delimiter.
--
Mike Beckerle | OGF DFDL WG Co-Chair
Tel: 781-330-0412
--
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