[DFDL-WG] Numbers with multiple ranges

Mike Beckerle mbeckerle.dfdl at gmail.com
Mon Mar 9 08:37:07 CDT 2009


 
But you can parse it.
 
If it's just the validation, you still have ambiguitities e.g., suppose I
form a union of two types, each derived from xs:int, but with different DFDL
representations. There's a conflict then, how is that resolved. Rules for
"consistency" among two DFDL annotations will be complex. E.g., is an int
with a 31 bit representation compatible wiht an int with 32 bit
representation? - shouldn't be unless both are unsigned. Etc.
 
...mike
 
 
 

Mike Beckerle | OGF DFDL WG Co-Chair | CTO | Oco, Inc.
Tel:  781-810-2100  | 100 Fifth Ave., 4th Floor, Waltham MA 02451 |
<mailto:mbeckerle.dfdl at gmail.com> mbeckerle.dfdl at gmail.com 

 

  _____  

From: Steve Hanson [mailto:smh at uk.ibm.com] 
Sent: Monday, March 09, 2009 4:46 AM
To: DFDL
Cc: dfdl-wg at ogf.org
Subject: Re: [DFDL-WG] Numbers with multiple ranges



It's a validation issue. I have a packed decimal number with ranges 0-100,
200-300, 400-500. I can't parse and validate this with DFDL. WTX can handle
this today. 

Regards

Steve Hanson
Programming Model Architect
WebSphere Message Brokers
Hursley, UK
Internet: smh at uk.ibm.com
Phone (+44)/(0) 1962-815848 



DFDL <mbeckerle.dfdl at gmail.com> 


07/03/2009 04:49 


To
Steve Hanson/UK/IBM at IBMGB 

cc
"dfdl-wg at ogf.org" <dfdl-wg at ogf.org> 

Subject
Re: [DFDL-WG] Numbers with multiple ranges

	




What does this have to do with representation/ format ? 

Seems totally out of scope to me. 

...mikeb 


On Mar 6, 2009, at 12:18 PM, Steve Hanson < <mailto:smh at uk.ibm.com>
smh at uk.ibm.com> wrote:


One of the existing non-XML parsers from IBM is capable of modelling an
integer or decimal with non-contiguous ranges, eg, 0-100, 200-300, 400-500.
It is also possible to model this using XML Schema, using a user-defined
simple type which is a union of simple type restrictions. 

However it is not possible to model this in DFDL because unions are not
supported. A choice could be used, but that would give different named
elements in the resultant infoset depending on the value, which is not
ideal. 

I believe this is use case that we should consider for DFDL 1.0.  We could
decide to allow unions, but with a constraint that the members of the union
had to be restrictions of the same built-in type, and that clashing DFDL
properties on the members was an error. I believe the existing scoping rules
for visiting types would still apply ok. No annotation appears on the
xs:union only on the xs:simpleType as currently. The net effect is that our
parsing rules are the same as currently, but we gain validation capability. 

I am not in favour of more widespread support for unions. I don't have a
compelling use case for union of different logical types, eg, xs:dateTime
and xs:string. 

Your thoughts are welcome. 

 !-- integer range 0 - 100 
 <xsd:simpleType name="intRange1"> 
   <xsd:restriction base="xsd:int"> 
     <xsd:maxInclusive value="100"/> 
     <xsd:minInclusive value="0"/> 
   </xsd:restriction> 
 </xsd:simpleType> 

 !-- integer range 200 - 300 
 <xsd:simpleType name="intRange2"> 
   <xsd:restriction base="xsd:int"> 
     <xsd:maxInclusive value="300"/> 
     <xsd:minInclusive value="200"/> 
   </xsd:restriction> 
 </xsd:simpleType> 

 !-- integer range 400-500 
 <xsd:simpleType name="intRange3"> 
   <xsd:restriction base="xsd:int"> 
     <xsd:maxInclusive value="500"/> 
     <xsd:minInclusive value="400"/> 
   </xsd:restriction> 
 </xsd:simpleType> 

 !-- Union of above types 
 <xsd:simpleType name="intRange"> 
   <xsd:union memberTypes="intRange1 intRange2 intRange3"/> 
 </xsd:simpleType> 

 !-- Union of anonymous types being restrictions of above types 
 <xsd:simpleType name="intRangeLocal"> 
   <xsd:union> 
     <xsd:simpleType> 
       <xsd:restriction base="intRange1"/> 
     </xsd:simpleType> 
     <xsd:simpleType> 
       <xsd:restriction base="intRange2"/> 
     </xsd:simpleType> 
     <xsd:simpleType> 
       <xsd:restriction base="intRange3"/> 
     </xsd:simpleType> 
   </xsd:union> 
 </xsd:simpleType> 

 !-- Union of anonymous types being local restrictions 
 <xsd:simpleType name="intRangeLocalRestrictions"> 
   <xsd:union> 
     <xsd:simpleType> 
       <xsd:restriction base="xsd:int"> 
         <xsd:minInclusive value="0"/> 
         <xsd:maxInclusive value="100"/> 
       </xsd:restriction> 
     </xsd:simpleType> 
     <xsd:simpleType> 
       <xsd:restriction base="xsd:int"> 
         <xsd:minInclusive value="200"/> 
         <xsd:maxInclusive value="300"/> 
       </xsd:restriction> 
     </xsd:simpleType> 
     <xsd:simpleType> 
       <xsd:restriction base="xsd:int"> 
         <xsd:minInclusive value="400"/> 
         <xsd:maxInclusive value="500"/> 
       </xsd:restriction> 
     </xsd:simpleType> 
   </xsd:union> 
 </xsd:simpleType> 

Regards

Steve Hanson
Programming Model Architect
WebSphere Message Brokers
Hursley, UK
Internet:  <mailto:smh at uk.ibm.com>  <mailto:smh at uk.ibm.com> smh at 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 









--
dfdl-wg mailing list
 <mailto:dfdl-wg at ogf.org>  <mailto:dfdl-wg at ogf.org> dfdl-wg at ogf.org
 <http://www.ogf.org/mailman/listinfo/dfdl-wg>
<http://www.ogf.org/mailman/listinfo/dfdl-wg>
http://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/20090309/b160f031/attachment-0001.html 


More information about the dfdl-wg mailing list