Suman Kalia
IBM Canada Lab
WMB Toolkit Architect and Development Lead
Tel: 905-413-3923 T/L 313-3923
Email: kalia@ca.ibm.com

For info on Message broker
http://www.ibm.com/developerworks/websphere/zones/businessintegration/wmb.html


----- Forwarded by Suman Kalia/Toronto/IBM on 09/20/2011 11:58 AM -----

From:        Suman Kalia/Toronto/IBM
To:        Mike Beckerle <mbeckerle.dfdl@gmail.com>
Cc:        Steve Hanson/UK/IBM@IBMGB
Date:        09/20/2011 11:51 AM
Subject:        Re: time zones



Here are 2 ways to model it  as discussed on the call today..

Mike - Based on what you have discovered for time zone in the range of +- nn:45,  Pattern might be better in the long run..

Using Pattern facet


        <xsd:element name="calendarTimeZone" type="tns:CalendarTimeZoneType" />

        <!-- valid values UTC, UTC+n, UTC+nn UTC+nn:nn -->
      <!-- valid values UTC, UTC-n, UTC-nn UTC-nn:nn -->
        <xsd:simpleType name="CalendarTimeZoneType">
                <xsd:restriction base="xsd:string">
                        <xsd:pattern value="(UTC)([+-]([01]\d|\d)((([:][0-5]\d){1,2})?))?)" />
                </xsd:restriction>
        </xsd:simpleType>

Pros : Allows new times zones to be added without modification to spec as it just specifies the format..  Schema validation checks the format is valid , explicit checking for values is left to Implementation code.    


Explicit enumeration   :  - Strict checking at schema level. Validation error reported by schema.  Any time a new time zone if added , spec and schema would require modification.

 <!--  time zone list from http://wikipedia.org/wiki/Time_zone#Time_zone_as_offsets_from_UTC  -->

        <xsd:simpleType name="CalendarTimeZoneEnum">
                <xsd:restriction base="xsd:string">
                        <xsd:enumeration value="UTC-12:00" />
                        <xsd:enumeration value="UTC-11:00" />
                        <xsd:enumeration value="UTC-10:00" />
                        <xsd:enumeration value="UTC-09:30" />
                        <xsd:enumeration value="UTC-09:00" />
                        <xsd:enumeration value="UTC-08:00" />
                        <xsd:enumeration value="UTC-07:00" />
                        <xsd:enumeration value="UTC-06:00" />
                        <xsd:enumeration value="UTC-05:00" />
                        <xsd:enumeration value="UTC-04:30" />
                        <xsd:enumeration value="UTC-04:00" />
                        <xsd:enumeration value="UTC-03:30" />
                        <xsd:enumeration value="UTC-03:00" />
                        <xsd:enumeration value="UTC-02:00" />
                        <xsd:enumeration value="UTC-01:00" />
                        <xsd:enumeration value="UTC" />        
                        <xsd:enumeration value="UTC+01:00" />                        
                        <xsd:enumeration value="UTC+02:00" />                                                
                        <xsd:enumeration value="UTC+03:00" />                        
                        <xsd:enumeration value="UTC+03:30" />                                        
                        <xsd:enumeration value="UTC+04:00" />                        
                        <xsd:enumeration value="UTC+04:30" />                                                
                        <xsd:enumeration value="UTC+05:00" />                        
                        <xsd:enumeration value="UTC+05:30" />                                                
                        <xsd:enumeration value="UTC+05:45" />                        
                        <xsd:enumeration value="UTC+06:00" />                                                
                        <xsd:enumeration value="UTC+06:30" />                        
                        <xsd:enumeration value="UTC+07:00" />                                        
                        <xsd:enumeration value="UTC+08:00" />                        
                        <xsd:enumeration value="UTC+09:00" />                                                
                        <xsd:enumeration value="UTC+09:30" />                        
                        <xsd:enumeration value="UTC+10:00" />                                                
                        <xsd:enumeration value="UTC+10:30" />                        
                        <xsd:enumeration value="UTC+11:00" />                                                
                        <xsd:enumeration value="UTC+11:30" />                        
                        <xsd:enumeration value="UTC+12:00" />                                        
                        <xsd:enumeration value="UTC+12:45" />                        
                        <xsd:enumeration value="UTC+13:00" />                                                
                        <xsd:enumeration value="UTC+14:00" />
                </xsd:restriction>
        </xsd:simpleType>



Suman Kalia
IBM Canada Lab
WMB Toolkit Architect and Development Lead
Tel: 905-413-3923 T/L 313-3923
Email: kalia@ca.ibm.com

For info on Message broker
http://www.ibm.com/developerworks/websphere/zones/businessintegration/wmb.html





From:        Mike Beckerle <mbeckerle.dfdl@gmail.com>
To:        Suman Kalia/Toronto/IBM@IBMCA
Date:        09/20/2011 11:04 AM
Subject:        time zones




Hey Suman,

I just googled, and this page says there are UTC-5:45 and  UTC-12:45 time zones. That was news to me. I thought they were all :00 or :30.

http://aa.usno.navy.mil/graphics/TimeZoneMap0911.pdf

...mikeb

--
Mike Beckerle | OGF DFDL WG Co-Chair | CTO | Oco, Inc.
Tel:  781-810-2125  | 100 Fifth Ave., 4th Floor, Waltham MA 02451 |

mbeckerle.dfdl@gmail.com