[DFDL-WG] Numbers with multiple ranges

DFDL mbeckerle.dfdl at gmail.com
Fri Mar 6 22:49:47 CST 2009


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 <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: 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
>  dfdl-wg at ogf.org
>  http://www.ogf.org/mailman/listinfo/dfdl-wg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.ogf.org/pipermail/dfdl-wg/attachments/20090306/61342d2b/attachment.html 


More information about the dfdl-wg mailing list