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