[DFDL-WG] clarification: textStandardDecimalSeparator

Steve Hanson smh at uk.ibm.com
Thu Feb 11 04:02:16 EST 2016


Yes it is a list. This was added by an erratum (2.23) to handle EDIFACT. 

http://www.unece.org/trade/untdid/texts/d422_d.htm#p10

10. REPRESENTATION OF NUMERIC DATA ELEMENT VALUES
10.1 Decimal Mark
    The ISO representation for decimal mark is the comma ( , )
    but point on the line ( . ) is allowed. See ISO 31/0-1981.
    Both these characters are part of the Level A and B sets in
    clause 5 and both alternatives are allowed.

    When the Service string advice, UNA, is used, its third
    character specifies the one character used in the
    interchange to represent decimal mark and thus overrides the
    above alternative use.

    The decimal mark shall not be counted as a character of the
    value when computing the maximum field length of a data
    element. However, allowance has to be made for the character
    in transmission and reception.

    When a decimal mark is transmitted, there shall be at least
    one digit before and after the decimal mark. For values
    represented by integers only, neither decimal mark nor
    decimal zeroes are used unless there is a need to indicate
    the degree of precision.

    Preferred  0,5 and 2 and 2,0
    Allowed    0.5 and 2 and 2.0
    Not allowed:  ,5 or .5 or 2, or 2.

The erratum has not been implemented yet by IBM DFDL. We have many users 
using our DFDL EDIFACT schemas, which define a variable with a default 
that the user can set to be '.' or ',' and that is overridden by the UNA 
value (if UNA is present). Som far it's not been an issue for any of them, 
presumably because they only ever use one or the other in an interchange. 
But it could occur, and IBM DFDL would incorrectly fail to parse the 
interchange. So to comply with the EDIFACT spec it is needed.

The grouping separator is not similarly a list, because if both were 
allowed to vary, you have an ambiguity. EDIFACT does not allow grouping 
separators, hence it can allow both as the decimal separator.

10.2 Triad Separator
    Triad separators shall not be used in interchange.

    Allowed: 2500000
    Not allowed: 2,500,000 or 2.500.000 or 2 500 000

Regards
 
Steve Hanson
Architect, IBM DFDL
Co-Chair, OGF DFDL Working Group
IBM Integration Bus, Hursley, UK
smh at uk.ibm.com
tel:+44-1962-815848
mob:+44-7717-378890



From:   Mike Beckerle <mbeckerle.dfdl at gmail.com>
To:     "dfdl-wg at ogf.org" <dfdl-wg at ogf.org>
Date:   10/02/2016 23:38
Subject:        [DFDL-WG] clarification: textStandardDecimalSeparator
Sent by:        "dfdl-wg" <dfdl-wg-bounces at ogf.org>



Is textStandardDecimalSeparator really supposed to be a List of string 
literals, or just a single string literal.

ICU only supports a single one.

Not sure if this is a mistake. Right now Daffodil just does Schema 
Definition Error if there is more than one string literal.

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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ogf.org/pipermail/dfdl-wg/attachments/20160211/34d18d48/attachment.html>


More information about the dfdl-wg mailing list