[DFDL-WG] examples of decimal validation using pattern facet

Steve Hanson smh at uk.ibm.com
Mon May 20 05:34:44 EDT 2013


I ran a test with IBM DFDL (Java) with textNumberPattern '00.####' and 
textNumberCheckPolicy 'lax' and all the variations below parse 
dsuccessfully. It also parsed "99." 

I then ran the test with textNumberCheckPolicy 'strict' and it also parsed 
successfully. There's some leniency inherent in ICU's strict mode, but 
this particular leniency does not correspond to the words in the latest 
spec internal draft...
If ‘strict’ and dfdl:textNumberRep is ‘standard’ then the data must follow 
the pattern with the exceptions that digits 0-9, decimal separator and 
exponent separator are always recognised and parsed.
IBM has an ongoing discussion with ICU in this area, I'll add this to the 
agenda.
Regards

Steve Hanson
Architect, IBM Data Format Description Language (DFDL)
Co-Chair, OGF DFDL Working Group
IBM SWG, Hursley, UK
smh at uk.ibm.com
tel:+44-1962-815848



From:   Mike Beckerle <mbeckerle.dfdl at gmail.com>
To:     dfdl-wg at ogf.org, 
Date:   18/05/2013 19:49
Subject:        [DFDL-WG] examples of decimal validation using pattern 
facet
Sent by:        dfdl-wg-bounces at ogf.org




Roger costello of Mitre provides this example of using pattern facet.

Basically, it expresses several different possible formats, all of which 
are some combination of digits and a optional decimal point.  In terms of 
cobol-style patterns it is one of these formats:

99
99.9
99.99
99.999
99.9999

I am not sure a textNumberPattern can handle the optionality of the 
decimal point. I know we can deal with the varying number of fraction 
digits, and the fixed number of integer digits, but conditional decimal 
point I am unsure about.







---------- Forwarded message ----------
From: Costello, Roger L. <costello at mitre.org>
Date: Fri, May 17, 2013 at 4:00 PM
Subject: RE: examples of decimal validation using pattern facet
To: Mike Beckerle <mbeckerle.dfdl at gmail.com>
Cc: "Cranford, Jonathan W." <jcranford at mitre.org>


Hello Mike,
 
Ø  Can you send an example of the lat/lon validation 
Ø  you mentioned on yesterday's Daffodil call?
 
Here ya go:

            <xsd:simpleType name="foo"> 
                        <xsd:restriction base="xsd:decimal">
                                    <xsd:minInclusive value="00"/>
                                    <xsd:maxInclusive value="59.9999"/>
                                    <xsd:pattern value=
"[0-9]{2}|[0-9]{2}\.[0-9]{1}|[0-9]{2}\.[0-9]{2}|[0-9]{2}\.[0-9]{3}|[0-9]{2}\.[0-9]{4}"
/>
                        </xsd:restriction>
            </xsd:simpleType>
 
/Roger
 
From: Mike Beckerle [mailto:mbeckerle.dfdl at gmail.com] 
Sent: Thursday, May 16, 2013 8:15 AM
To: Costello, Roger L.
Subject: examples of decimal validation using pattern facet
 
Roger,

Can you send an example of the lat/lon validation you mentioned on 
yesterday's Daffodil call?

The other members of the workgroup are wondering what can't be done via 
totalDigits/fractionDigits, etc.

The rationale for why pattern facet is not supported on numbers in DFDL is 
that we already have a much more powerful mechanism for parsing and 
unparsing numbers called textNumberPattern. The pattern facet only allows 
pass/fail using a regex, and is considered redundant (and problematic) for 
numbers as a result.

...mike

-- 
Mike Beckerle | OGF DFDL Workgroup Co-Chair | Tresys Technology | 
www.tresys.com



-- 
Mike Beckerle | OGF DFDL Workgroup Co-Chair | Tresys Technology | 
www.tresys.com
--
  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/20130520/d15e0e3a/attachment.html>


More information about the dfdl-wg mailing list