
As per minutes from last week's call - here is proposal for TLOG after more research. TLOG The individual fields are a mixture of ASCII strings, proprietary packed decimals, and the occasional pure binary data. All fields are delimited by a separator. Fields of all types can be fixed length or variable length with a maximum. Pure binary data is preceded by a field giving the actual length. All lengths in bytes. Packed decimals. Like a packed decimal in the IBM sense. These can carry negative numbers but use a leading xD sign nibble. No sign nibble if positive or unsigned. Odd number of digits (including sign if present) are padded with xF nibble. This is best illustrated using examples. 1234 => x12x34 123 => xF1x23 -1234 => xFDx12x34 -123 => xD1x23 Proposal 1) The 'variable length with a maximum' can not be handled using a post-timing assertion, because assertions only apply on parsing. Given that IBM MRM allows you to model this case, I think we should allow dfdl:length & dfdl:lengthUnits to be specified when dfdl:lengthKind is 'delimited' or 'pattern'. Extraction during parse is still by scanning. If the physical representation exceeds that length after extraction, it is a processing error. Similarly when unparsing, if the physical representation exceeds that length prior to output, it is a processing error. 2) dfdl:binaryNumberRep is extended with another value 'tlog'. Associated property dfdl:binaryDecimalVirtualPoint is applicable. Associated property dfdl:binaryPackedSignCodes is not applicable, there being only xD to indicate negative numbers, and no distinct nibbles for unsigned or zero. 3) dfdl:lengthKind 'delimited' is permitted for numbers when dfdl:representation is 'binary' and dfdl:binaryNumberRep is 'packed' or 'bcd' or 'tlog' because it is possible to know in advance the range of bytes being used, and therefore to choose suitable delimiters. Regards Steve Hanson Programming Model Architect, WebSphere Message Broker, OGF DFDL WG Co-Chair, Hursley, UK, Internet: smh@uk.ibm.com, Phone (+44)/(0) 1962-815848 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
participants (1)
-
Steve Hanson