D Custom Field XSLTs and XSDs

This appendix describes the XLSTs and XSDs used to transform custom fields for an Exchange 2007 Connector.

This document includes the following:

D.1 Overview of Custom Field Transformations

As noted in Chapter 9, "Synchronizing the Calendar Domain,"

You can add custom fields to a set of XSDs that are not exposed to the Hub using the secondary translation method. To enable the Exchange 2007 Connector to synchronize with the Hub, you must create the following XSD files:

  • An XSD file that defines the custom field definitions for the Exchange 2007 Connector

  • An XSD file that defines the ICAL counterparts of the field definitions

  • An XSLT file that transforms the Exchange 2007 Field definitions into ICAL definitions

  • An XSLT file that transforms the ICAL field definitions into Exchange 2007 definitions

These files are considered secondary files because they are never exposed to the Hub. To enable the Exchange 2007 Connector to synchronize these fields, these XSD files are mapped to secondary XSL files.

D.1.1 Defining Custom Fields

Example D-1 illustrates an XSD that defines custom field definitions.

Example D-1 Defining Custom Fields for the Exchange Connector

<?xml version="1.0" encoding="windows-1252" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:etl="http://xmlns.oracle.com/bdss/connector/exchange2007/types"
            xmlns:exch="http://xmlns.oracle.com/bdss/connector/exchange2007/CalendarDomain/exchange2007Connector"
            xmlns:hub="http://xmlns.oracle.com/bdss/hub/TypeLibrary"
            targetNamespace="http://xmlns.oracle.com/bdss/connector/exchange2007/ExchangeCalendarDomain"
            elementFormDefault="qualified" exch:PimDomainId="IPM.Appointment"
            exch:FolderClass="IPF.Appointment"
            exch:DomainClassType="CalendarItemType"
            exch:ExchangeDomainBatchSize="512"
            exch:DisposalType="MoveToDeletedItems" 
            exch:BodyType="Text"
            exch:FanningLimit="3"
            exch:ConflictResolutionType="AlwaysOverwrite">
  <xsd:import namespace="http://xmlns.oracle.com/bdss/hub/TypeLibrary"
              schemaLocation="../../../hub/HubTypeLibrary.xsd"/>
  <xsd:import namespace="http://xmlns.oracle.com/bdss/connector/exchange2007/types"
              schemaLocation="../../exchange2007typelibrary.xsd"/>
  <xsd:element name="ExchangeCalendar">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="AdjacentMeetingCount" type="xsd:integer"
                     minOccurs="0" maxOccurs="1" nillable="true"
                     exch:MappedInXsl="false" exch:IsCalculated="true"/>
        <xsd:element name="AllowNewTimeProposal" type="xsd:boolean"
                     minOccurs="0" maxOccurs="1" nillable="true"
                     exch:MappedInXsl="false"/>
        <xsd:element name="AppointmentReplyTime" type="xsd:dateTime"
                     minOccurs="0" maxOccurs="1" nillable="true"
                     exch:MappedInXsl="false"/>
        <xsd:element name="AppointmentSequenceNumber" type="xsd:integer"
                     minOccurs="0" maxOccurs="1" nillable="true"
                     exch:MappedInXsl="false"/>
        <xsd:element name="AppointmentState" type="xsd:integer" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="false"/>
        <xsd:element name="Body" type="xsd:string" minOccurs="0" maxOccurs="1"
                     nillable="true" exch:MappedInXsl="true"
                     exch:IsCalculated="true"/>
        <xsd:element name="CalendarItemType" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="false"/>
        <xsd:element name="Categories" type="hub:HubTokens" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="ConferenceType" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="false"/>
        <xsd:element name="ConflictingMeetingCount" type="xsd:integer"
                     minOccurs="0" maxOccurs="1" nillable="true"
                     exch:MappedInXsl="false" exch:IsCalculated="true"/>
        <xsd:element name="DateTimeStamp" type="xsd:dateTime" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="false"/>
        <xsd:element name="Duration" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="false"/>
        <xsd:element name="End" type="xsd:dateTime" minOccurs="0" maxOccurs="1"
                     nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="IsAllDayEvent" type="xsd:boolean" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="false"/>
        <xsd:element name="IsCancelled" type="xsd:boolean" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="false"
                     exch:IsCalculated="true"/>
        <xsd:element name="IsMeeting" type="xsd:boolean" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="false"/>
        <xsd:element name="IsOnlineMeeting" type="xsd:boolean" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="false"/>
        <xsd:element name="IsRecurring" type="xsd:boolean" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="false"
                     exch:IsCalculated="true"/>
        <xsd:element name="IsResponseRequested" type="xsd:boolean" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="false"/>
        <xsd:element name="ItemClass" type="xsd:string" minOccurs="1"
                     maxOccurs="1" nillable="false" exch:MappedInXsl="true"/>
        <xsd:element name="LegacyFreeBusyStatus" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="false"/>
        <xsd:element name="Location" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="MeetingRequestWasSent" type="xsd:boolean"
                     minOccurs="0" maxOccurs="1" nillable="true"
                     exch:MappedInXsl="false"/>
        <xsd:element name="MeetingWorkspaceUrl" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="false"/>
        <xsd:element name="MyResponseType" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="false"/>
        <xsd:element name="NetShowUrl" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="false"/>
        <xsd:element name="OptionalAttendees" type="hub:HubTokens" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"
                     exch:IsCalculated="true"/>
        <xsd:element name="Organizer" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="OriginalStart" type="xsd:dateTime" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="false"
                     exch:IsCalculated="true"/>
        <xsd:element name="Importance" type="etl:ExchangeImportance"
                     default="Normal" exch:MappedInXsl="true"/>
        <xsd:element name="ReminderDueBy" type="xsd:dateTime" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="ReminderIsSet" type="xsd:boolean" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="ReminderMinutesBeforeStart"
                     type="etl:ExchangeUnsignedLong" minOccurs="0" maxOccurs="1"
                     nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="RequiredAttendees" type="hub:HubTokens" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"
                     exch:IsCalculated="true"/>
        <xsd:element name="Resources" type="hub:HubTokens" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"
                     exch:IsCalculated="true"/>
        <xsd:element name="Sensitivity" type="etl:ExchangeSensitivity"
                     exch:MappedInXsl="true"/>
        <xsd:element name="Start" type="xsd:dateTime" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="Subject" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="TimeZone" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="false"/>
        <xsd:element name="UID" type="xsd:string" minOccurs="0" maxOccurs="1"
                     nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="When" type="xsd:dateTime" minOccurs="0" maxOccurs="1"
                     nillable="true" exch:MappedInXsl="false"/>
        <xsd:element name="FabricatedId" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true"
                     exch:PropertyName="BDSSFabricatedId"
                     exch:DistinguishedPropertySetId="PublicStrings"
                     exch:PropertyType="String" exch:MappedInXsl="true"/>
                     <!-- Meeting fields -->
        <xsd:element name="ResponseStatus"  
                     type="etl:ExchangeUnsignedLong"
                     minOccurs="0"
                     maxOccurs="1" nillable="true"
                     exch:PropertyId="0x8218"
                     exch:DistinguishedPropertySetId="Appointment"
                     exch:PropertyType="Integer" exch:MappedInXsl="true"/>
        <xsd:element name="MeetingStatus"
                     type="etl:ExchangeUnsignedLong"
                     minOccurs="0"
                     maxOccurs="1" nillable="true"
                     exch:PropertyId="0x8217"
                     exch:DistinguishedPropertySetId="Appointment"
                     exch:PropertyType="Integer" exch:MappedInXsl="true"/>
        <xsd:element name="ResponseRequested" type="xsd:boolean" minOccurs="0"
                     maxOccurs="1" nillable="true"
                     exch:PropertyTag="0x0063"
                     exch:PropertyType="Boolean" exch:MappedInXsl="true"/>
        <xsd:element name="OwnerAppointmentId"  
                     type="etl:ExchangeUnsignedLong"
                     minOccurs="0"
                     maxOccurs="1" nillable="true"
                     exch:PropertyTag="0x0062"
                     exch:PropertyType="Integer" exch:MappedInXsl="true"/>
        <xsd:element name="ReplyTo" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true"
                     exch:DistinguishedPropertySetId="InternetHeaders"
                     exch:PropertyName="reply-to"
                     exch:PropertyType="String" exch:MappedInXsl="true"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

D.2 Defining the ICAL Field Definitions

Example D-2 illustrates an XSD that defines the ICAL definitions for the custom fields.

Example D-2 Defining ICAL Definitions

<?xml version="1.0" encoding="windows-1252" ?>
<!--  $Header: fts/connectors/exchange2007/oracle/bdss/connectors/exchange2007/pimtransport/transform/exchange/calendar/intermediatetranslation/veventasxml.xsd st_fts_lharding_fanningsupport/2 2009/07/04 14:35:59 lharding Exp $ -->
<!--
 Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved. 
 
   NAME
     exchange2007contact.xsd
 
   DESCRIPTION
     Contains XML schema definition that for VEVENT properties of a ICAL
     message
 
   NOTES
     <other useful comments, qualifications, etc.>
 
   MODIFIED   (MM/DD/YY)
      lharding 01/10/09 - initial version
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns="http://xmlns.oracle.com/bdss/connector/exchange2007/ExchangeCalendarVEVENT"
            xmlns:etl="http://xmlns.oracle.com/bdss/connector/exchange2007/types"
            xmlns:exch="http://xmlns.oracle.com/bdss/connector/exchange2007/CalendarDomain/exchange2007Connector"
            xmlns:hub="http://xmlns.oracle.com/bdss/hub/TypeLibrary"
            targetNamespace="http://xmlns.oracle.com/bdss/connector/exchange2007/ExchangeCalendarVEVENT"
            elementFormDefault="qualified">
  <xsd:import namespace="http://xmlns.oracle.com/bdss/hub/TypeLibrary"
              schemaLocation="../../../hub/HubTypeLibrary.xsd"/>
  <xsd:import namespace="http://xmlns.oracle.com/bdss/connector/exchange2007/types"
              schemaLocation="../../exchange2007typelibrary.xsd"/>
  <xsd:complexType name="TriggerParams">
    <xsd:sequence>
      <xsd:element name="RELATED" type="xsd:string" minOccurs="0" maxOccurs="1"
                   nillable="true" exch:MappedInXsl="true"/>
      <xsd:element name="PERIOD" type="xsd:string" minOccurs="0" maxOccurs="1"
                   nillable="true" exch:MappedInXsl="true"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="VALARM">
    <xsd:sequence>
      <xsd:element name="ACTION" type="xsd:string" minOccurs="0" maxOccurs="1"
                   nillable="true" exch:MappedInXsl="true"/>
      <xsd:element name="DESCRIPTION" type="xsd:string" minOccurs="0"
                   maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
      <xsd:element name="TRIGGER" type="TriggerParams" minOccurs="0"
                   maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:element name="ExchangeCalendarVEvent">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="VALARM" type="VALARM" minOccurs="0" maxOccurs="1"
                     nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="CALSCALE" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="CATEGORIES" type="hub:HubTokens" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="CLASS" type="xsd:string" minOccurs="0" maxOccurs="1"
                     nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="COMMENT" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="CREATED" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="DESCRIPTION" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="DTEND" type="xsd:string" minOccurs="0" maxOccurs="1"
                     nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="DTSTAMP" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="DTSTART" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="DURATION" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="EXDATE" type="hub:HubTokens" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="LAST-MODIFIED" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="false" exch:MappedInXsl="true"/>
        <xsd:element name="LOCATION" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="ATTENDEE" type="hub:HubTokens" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="ORGANIZER" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="PRIORITY" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="RECURRENCE-ID" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="RESOURCES" type="hub:HubTokens" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="RELATED-TO" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="SEQUENCE" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="STATUS" type="xsd:string" minOccurs="0" maxOccurs="1"
                     nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="SUMMARY" type="xsd:string" minOccurs="0"
                     maxOccurs="1" nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="TRANSP" type="xsd:string" minOccurs="0" maxOccurs="1"
                     nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="GEO" type="xsd:string" minOccurs="0" maxOccurs="1"
                     nillable="false" exch:MappedInXsl="true"/>
        <xsd:element name="UID" type="xsd:string" minOccurs="1" maxOccurs="1"
                     nillable="false" exch:MappedInXsl="true"/>
        <xsd:element name="URL" type="xsd:string" minOccurs="0" maxOccurs="1"
                     nillable="true" exch:MappedInXsl="true"/>
        <xsd:element name="X-MICROSOFT-CDO-ALLDAYEVENT" type="xsd:boolean"
                     minOccurs="0" maxOccurs="1" nillable="true"
                     exch:MappedInXsl="true"/>
        <xsd:element name="X-ORACLE-BDSS-FABRICATED-ID" type="xsd:string"
                     minOccurs="1" maxOccurs="1" nillable="false"
                     exch:MappedInXsl="true"/>                    
        <xsd:element name="X-MICROSOFT-CDO-OWNERAPPTID" type="etl:ExchangeUnsignedLong"
                     minOccurs="0" maxOccurs="1" nillable="true"
                     exch:MappedInXsl="true"/>                     
        <xsd:element name="X-ORACLE-BDSS-SYNCING-USER" type="xsd:string"
                     minOccurs="1" maxOccurs="1" nillable="false"
                     exch:MappedInXsl="true"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

D.3 Transforming the Exchange Connector's Custom Fields into ICAL

Example D-3 illustrates the XLST that transforms the custom fields defined in Example D-1 into ICAL.

Example D-3 Transforming the Custom Fields into ICAL

<?xml version="1.0" encoding="UTF-8" ?>
<?oracle-xsl-mapper <!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
  <mapSources>
    <source type="XSD">
      <schema location="calendaritemtype.xsd"/>
      <rootElement name="ExchangeCalendar" namespace="http://xmlns.oracle.com/bdss/connector/exchange2007/ExchangeCalendarDomain"/>
    </source>
  </mapSources>
  <mapTargets>
    <target type="XSD">
      <schema location="veventasxml.xsd"/>
      <rootElement name="ExchangeCalendarVEvent" namespace="http://xmlns.oracle.com/bdss/connector/exchange2007/ExchangeCalendarVEVENT"/>
    </target>
  </mapTargets>
  <!-- GENERATED BY ORACLE XSL MAPPER 11.1.1.0.0(build 090218.0200.2549) AT [WED MAY 13 20:14:06 CDT 2009]. -->
?>
<xsl:stylesheet version="1.0"
                xmlns:xpath20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
                xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
                xmlns:ns1="http://xmlns.oracle.com/bdss/connector/exchange2007/ExchangeCalendarVEVENT"
                xmlns:mhdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.mediator.service.common.functions.MediatorExtnFunction"
                xmlns:oraext="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xmlns:dvm="http://www.oracle.com/XSL/Transform/java/oracle.tip.dvm.LookupValue"
                xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:med="http://schemas.oracle.com/mediator/xpath"
                xmlns:exch="http://xmlns.oracle.com/bdss/connector/exchange2007/CalendarDomain/exchange2007Connector"
                xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
                xmlns:xdk="http://schemas.oracle.com/bpel/extension/xpath/function/xdk"
                xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
                xmlns:icalconverter="http://www.oracle.com/XSL/Transform/java/oracle.bdss.connectors.exchange2007.pimtransport.transform.exchange.calendar.intermediatetranslation.ICalConverter"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                xmlns:ns0="http://xmlns.oracle.com/bdss/connector/exchange2007/ExchangeCalendarDomain"
                xmlns:ora="http://schemas.oracle.com/xpath/extension"
                xmlns:hub="http://xmlns.oracle.com/bdss/hub/TypeLibrary"
                xmlns:socket="http://www.oracle.com/XSL/Transform/java/oracle.tip.adapter.socket.ProtocolTranslator"
                xmlns:etl="http://xmlns.oracle.com/bdss/connector/exchange2007/types"
                xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
                exclude-result-prefixes="xsi xsl exch xsd ns0 hub etl ns1 xpath20 bpws mhdr oraext dvm hwf med ids xdk xref ora socket ldap">
  <xsl:template match="/">
    <ns1:ExchangeCalendarVEvent>
      <ns1:VALARM>
        <xsl:choose>
          <xsl:when test='/ns0:ExchangeCalendar/ns0:ReminderIsSet = "true"'>
            <ns1:ACTION>
              <xsl:text disable-output-escaping="no">DISPLAY</xsl:text>
            </ns1:ACTION>
          </xsl:when>
        </xsl:choose>
        <xsl:choose>
          <xsl:when test='/ns0:ExchangeCalendar/ns0:ReminderIsSet = "true"'>
            <ns1:DESCRIPTION>
              <xsl:text disable-output-escaping="no">REMINDER</xsl:text>
            </ns1:DESCRIPTION>
          </xsl:when>
        </xsl:choose>
        <xsl:choose>
          <xsl:when test='/ns0:ExchangeCalendar/ns0:ReminderIsSet = "true"'>
            <ns1:TRIGGER>
              <ns1:PERIOD>
                <xsl:value-of select="icalconverter:ConvertReminderMinutesToDuration(/ns0:ExchangeCalendar/ns0:ReminderMinutesBeforeStart)"/>
              </ns1:PERIOD>
              <ns1:RELATED>
                <xsl:text disable-output-escaping="no">START</xsl:text>
              </ns1:RELATED>
            </ns1:TRIGGER>
          </xsl:when>
        </xsl:choose>
      </ns1:VALARM>
      <ns1:CALSCALE>
        <xsl:text disable-output-escaping="no">GREGORIAN</xsl:text>
      </ns1:CALSCALE>
      <ns1:CATEGORIES>
        <xsl:for-each select="/ns0:ExchangeCalendar/ns0:Categories/ns0:Token">
          <hub:Token>
            <xsl:value-of select="."/>
          </hub:Token>
        </xsl:for-each>
      </ns1:CATEGORIES>
      <xsl:choose>
        <xsl:when test='/ns0:ExchangeCalendar/ns0:Sensitivity = "Private"'>
          <ns1:CLASS>
            <xsl:text disable-output-escaping="no">PRIVATE</xsl:text>
          </ns1:CLASS>
        </xsl:when>
        <xsl:when test='/ns0:ExchangeCalendar/ns0:Sensitivity = "Confidential"'>
          <ns1:CLASS>
            <xsl:text disable-output-escaping="no">CONFIDENTIAL</xsl:text>
          </ns1:CLASS>
        </xsl:when>
        <xsl:otherwise>
          <ns1:CLASS>
            <xsl:text disable-output-escaping="no">PUBLIC</xsl:text>
          </ns1:CLASS>
        </xsl:otherwise>
      </xsl:choose>
      <ns1:DESCRIPTION>
        <xsl:value-of select="/ns0:ExchangeCalendar/ns0:Body"/>
      </ns1:DESCRIPTION>
      <ns1:DTEND>
        <xsl:value-of select="icalconverter:FormatAsICalDate(/ns0:ExchangeCalendar/ns0:End)"/>
      </ns1:DTEND>
      <ns1:DTSTART>
        <xsl:value-of select="icalconverter:FormatAsICalDate(/ns0:ExchangeCalendar/ns0:Start)"/>
      </ns1:DTSTART>
      <ns1:LOCATION>
        <xsl:value-of select="/ns0:ExchangeCalendar/ns0:Location"/>
      </ns1:LOCATION>
      <ns1:ORGANIZER>
        <xsl:value-of select="/ns0:ExchangeCalendar/ns0:Organizer"/>
      </ns1:ORGANIZER>
      <xsl:choose>
        <xsl:when test='/ns0:ExchangeCalendar/ns0:Importance = "Low"'>
          <ns1:PRIORITY>
            <xsl:text disable-output-escaping="no">9</xsl:text>
          </ns1:PRIORITY>
        </xsl:when>
        <xsl:when test='/ns0:ExchangeCalendar/ns0:Importance = "High"'>
          <ns1:PRIORITY>
            <xsl:text disable-output-escaping="no">1</xsl:text>
          </ns1:PRIORITY>
        </xsl:when>
        <xsl:otherwise>
          <ns1:PRIORITY>
            <xsl:text disable-output-escaping="no">5</xsl:text>
          </ns1:PRIORITY>
        </xsl:otherwise>
      </xsl:choose>
      <ns1:ATTENDEE>
        <xsl:for-each select="/ns0:ExchangeCalendar/ns0:RequiredAttendees/ns0:Token">
          <hub:Token>
            <xsl:value-of select="."/>
          </hub:Token>
        </xsl:for-each>
        <xsl:for-each select="/ns0:ExchangeCalendar/ns0:OptionalAttendees/ns0:Token">
          <hub:Token>
            <xsl:value-of select="."/>
          </hub:Token>
        </xsl:for-each>
        <xsl:for-each select="/ns0:ExchangeCalendar/ns0:Resources/ns0:Token">
          <hub:Token>
            <xsl:value-of select="."/>
          </hub:Token>
        </xsl:for-each>
      </ns1:ATTENDEE>
      <ns1:STATUS>
        <xsl:text disable-output-escaping="no">CONFIRMED</xsl:text>
      </ns1:STATUS>
      <ns1:SUMMARY>
        <xsl:value-of select="/ns0:ExchangeCalendar/ns0:Subject"/>
      </ns1:SUMMARY>
      <ns1:TRANSP>
        <xsl:text disable-output-escaping="no">OPAQUE</xsl:text>
      </ns1:TRANSP>
      <ns1:UID>
        <xsl:value-of select="/ns0:ExchangeCalendar/ns0:UID"/>
      </ns1:UID>
      <ns1:X-MICROSOFT-CDO-OWNERAPPTID>
        <xsl:value-of select="/ns0:ExchangeCalendar/ns0:OwnerAppointmentId"/>
      </ns1:X-MICROSOFT-CDO-OWNERAPPTID>
     <ns1:X-ORACLE-BDSS-FABRICATED-ID>
        <xsl:value-of select="/ns0:ExchangeCalendar/ns0:FabricatedId"/>
     </ns1:X-ORACLE-BDSS-FABRICATED-ID>
    </ns1:ExchangeCalendarVEvent>
  </xsl:template>
</xsl:stylesheet>

D.4 Transforming the ICAL fields into Exchange Connector Fields

Example D-4 illustrates the XSLT that translates the ICAL properties of Example D-2 in to the format of the Exchange 2007 Connector.

Example D-4 Translating the ICAL Properties

<?xml version="1.0" encoding="UTF-8" ?>
<?oracle-xsl-mapper <!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
  <mapSources>
    <source type="XSD">
      <schema location="veventasxml.xsd"/>
      <rootElement name="ExchangeCalendarVEvent" namespace="http://xmlns.oracle.com/bdss/connector/exchange2007/ExchangeCalendarVEVENT"/>
    </source>
  </mapSources>
  <mapTargets>
    <target type="XSD">
      <schema location="calendaritemtype.xsd"/>
      <rootElement name="ExchangeCalendar" namespace="http://xmlns.oracle.com/bdss/connector/exchange2007/ExchangeCalendarDomain"/>
    </target>
  </mapTargets>
  <!-- GENERATED BY ORACLE XSL MAPPER 11.1.1.0.0(build 090218.0200.2549) AT [WED MAY 13 20:45:20 CDT 2009]. -->
?>
<xsl:stylesheet version="1.0"
                xmlns:xpath20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
                xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
                xmlns:ns0="http://xmlns.oracle.com/bdss/connector/exchange2007/ExchangeCalendarVEVENT"
                xmlns:mhdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.mediator.service.common.functions.MediatorExtnFunction"
                xmlns:oraext="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xmlns:dvm="http://www.oracle.com/XSL/Transform/java/oracle.tip.dvm.LookupValue"
                xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:med="http://schemas.oracle.com/mediator/xpath"
                xmlns:exch="http://xmlns.oracle.com/bdss/connector/exchange2007/CalendarDomain/exchange2007Connector"
                xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
                xmlns:xdk="http://schemas.oracle.com/bpel/extension/xpath/function/xdk"
                xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                xmlns:ns1="http://xmlns.oracle.com/bdss/connector/exchange2007/ExchangeCalendarDomain"
                xmlns:ora="http://schemas.oracle.com/xpath/extension"
                xmlns:icalconverter="http://www.oracle.com/XSL/Transform/java/oracle.bdss.connectors.exchange2007.pimtransport.transform.exchange.calendar.intermediatetranslation.ICalConverter"
                xmlns:hub="http://xmlns.oracle.com/bdss/hub/TypeLibrary"
                xmlns:socket="http://www.oracle.com/XSL/Transform/java/oracle.tip.adapter.socket.ProtocolTranslator"
                xmlns:etl="http://xmlns.oracle.com/bdss/connector/exchange2007/types"
                xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
                exclude-result-prefixes="xsi xsl ns0 exch xsd hub etl ns1 xpath20 bpws mhdr oraext dvm hwf med ids xdk xref ora socket ldap">
  <xsl:template match="/">
    <ns1:ExchangeCalendar>
      <ns1:Body>
        <xsl:value-of select="/ns0:ExchangeCalendarVEvent/ns0:DESCRIPTION"/>
      </ns1:Body>
      <ns1:Categories>
        <xsl:for-each select="/ns0:ExchangeCalendarVEvent/ns0:CATEGORIES/ns0:Token">
          <hub:Token>
            <xsl:value-of select="."/>
          </hub:Token>
        </xsl:for-each>
      </ns1:Categories>
      <ns1:End>
        <xsl:value-of select="/ns0:ExchangeCalendarVEvent/ns0:DTEND"/>
      </ns1:End>
      <ns1:ItemClass>
        <xsl:text disable-output-escaping="no">IPM.Appointment</xsl:text>
      </ns1:ItemClass>
      <ns1:Location>
        <xsl:value-of select="/ns0:ExchangeCalendarVEvent/ns0:LOCATION"/>
      </ns1:Location>
      <ns1:OptionalAttendees>
        <xsl:for-each select="/ns0:ExchangeCalendarVEvent/ns0:OPT-PARTICIPANT/ns0:Token">
          <xsl:choose>
            <xsl:when test="not(contains(.,/ns0:ExchangeCalendarVEvent/ns0:X-ORACLE-BDSS-SYNCING-USER))">
              <hub:Token>
                <xsl:value-of select="substring-after(.,'MAILTO:')"/>
              </hub:Token>
            </xsl:when>
          </xsl:choose>
        </xsl:for-each>
      </ns1:OptionalAttendees>
      <ns1:Organizer>
        <xsl:value-of select="translate(substring-after(/ns0:ExchangeCalendarVEvent/ns0:ORGANIZER,'MAILTO:'),' ','')"/>
      </ns1:Organizer>
      <xsl:choose>
        <xsl:when test='/ns0:ExchangeCalendarVEvent/ns0:PRIORITY = "1"'>
          <ns1:Importance>
            <xsl:text disable-output-escaping="no">High</xsl:text>
          </ns1:Importance>
        </xsl:when>
        <xsl:when test='/ns0:ExchangeCalendarVEvent/ns0:PRIORITY = "5"'>
          <ns1:Importance>
            <xsl:text disable-output-escaping="no">Normal</xsl:text>
          </ns1:Importance>
        </xsl:when>
        <xsl:when test='/ns0:ExchangeCalendarVEvent/ns0:PRIORITY = "9"'>
          <ns1:Importance>
            <xsl:text disable-output-escaping="no">Low</xsl:text>
          </ns1:Importance>
        </xsl:when>
        <xsl:otherwise>
          <ns1:Importance>
            <xsl:text disable-output-escaping="no">Normal</xsl:text>
          </ns1:Importance>
        </xsl:otherwise>
      </xsl:choose>
      <xsl:choose>
        <xsl:when test='/ns0:ExchangeCalendarVEvent/ns0:VALARM/ns0:TRIGGER/ns0:PERIOD != ""'>
          <ns1:ReminderIsSet>
            <xsl:text disable-output-escaping="no">True</xsl:text>
          </ns1:ReminderIsSet>
        </xsl:when>
        <xsl:otherwise>
          <ns1:ReminderIsSet>
            <xsl:text disable-output-escaping="no">False</xsl:text>
          </ns1:ReminderIsSet>
        </xsl:otherwise>
      </xsl:choose>
      <xsl:choose>
        <xsl:when test='/ns0:ExchangeCalendarVEvent/ns0:VALARM/ns0:TRIGGER/ns0:PERIOD != ""'>
          <ns1:ReminderMinutesBeforeStart>
            <xsl:value-of select="icalconverter:DurationToMinutesBeforeStart(/ns0:ExchangeCalendarVEvent/ns0:VALARM/ns0:TRIGGER/ns0:PERIOD)"/>
          </ns1:ReminderMinutesBeforeStart>
        </xsl:when>
        <xsl:otherwise>
          <ns1:ReminderMinutesBeforeStart/>
        </xsl:otherwise>
      </xsl:choose>
      <xsl:choose>
        <xsl:when test='/ns0:ExchangeCalendarVEvent/ns0:VALARM/ns0:TRIGGER/ns0:PERIOD != ""'>
          <ns1:ReminderDueBy>
            <xsl:value-of select="icalconverter:DurationToReminderDueByDate(/ns0:ExchangeCalendarVEvent/ns0:DTSTART,/ns0:ExchangeCalendarVEvent/ns0:VALARM/ns0:TRIGGER/ns0:PERIOD)"/>
          </ns1:ReminderDueBy>
        </xsl:when>
        <xsl:otherwise>
          <ns1:ReminderDueBy/>
        </xsl:otherwise>
      </xsl:choose>
      <ns1:RequiredAttendees>
        <xsl:for-each select="/ns0:ExchangeCalendarVEvent/ns0:REQ-PARTICIPANT/ns0:Token">
          <xsl:choose>
            <xsl:when test="not(contains(.,/ns0:ExchangeCalendarVEvent/ns0:X-ORACLE-BDSS-SYNCING-USER))">
              <hub:Token>
                <xsl:value-of select="substring-after(.,'MAILTO:')"/>
              </hub:Token>
            </xsl:when>
          </xsl:choose>
        </xsl:for-each>
        <xsl:if test="not(contains(translate(substring-after(/ns0:ExchangeCalendarVEvent/ns0:ORGANIZER,'MAILTO:'),' ', ''),/ns0:ExchangeCalendarVEvent/ns0:X-ORACLE-BDSS-SYNCING-USER))">
          <hub:Token>
            <xsl:value-of select="translate(substring-after(/ns0:ExchangeCalendarVEvent/ns0:ORGANIZER,'MAILTO:'),' ','')"/>
          </hub:Token>
        </xsl:if>
      </ns1:RequiredAttendees>
      <ns1:Resources>
        <xsl:for-each select="/ns0:ExchangeCalendarVEvent/ns0:NON-PARTICIPANT/ns0:Token">
          <xsl:choose>
            <xsl:when test="not(contains(.,/ns0:ExchangeCalendarVEvent/ns0:X-ORACLE-BDSS-SYNCING-USER))">
              <hub:Token>
                <xsl:value-of select="substring-after(.,'MAILTO:')"/>
              </hub:Token>
            </xsl:when>
          </xsl:choose>
        </xsl:for-each>
      </ns1:Resources>
      <xsl:choose>
        <xsl:when test='/ns0:ExchangeCalendarVEvent/ns0:CLASS = "PRIVATE"'>
          <ns1:Sensitivity>
            <xsl:text disable-output-escaping="no">Private</xsl:text>
          </ns1:Sensitivity>
        </xsl:when>
        <xsl:when test='/ns0:ExchangeCalendarVEvent/ns0:CLASS = "CONFIDENTIAL"'>
          <ns1:Sensitivity>
            <xsl:text disable-output-escaping="no">Confidential</xsl:text>
          </ns1:Sensitivity>
        </xsl:when>
        <xsl:otherwise>
          <ns1:Sensitivity>
            <xsl:text disable-output-escaping="no">Normal</xsl:text>
          </ns1:Sensitivity>
        </xsl:otherwise>
      </xsl:choose>
      <ns1:Start>
        <xsl:value-of select="/ns0:ExchangeCalendarVEvent/ns0:DTSTART"/>
      </ns1:Start>
      <ns1:Subject>
        <xsl:value-of select="/ns0:ExchangeCalendarVEvent/ns0:SUMMARY"/>
      </ns1:Subject>
      <ns1:UID>
        <xsl:value-of select="/ns0:ExchangeCalendarVEvent/ns0:UID"/>
      </ns1:UID>
      <ns1:FabricatedId>
        <xsl:value-of select="/ns0:ExchangeCalendarVEvent/ns0:X-ORACLE-BDSS-FABRICATED-ID"/>
      </ns1:FabricatedId>
      <ns1:OwnerAppointmentId>
        <xsl:value-of select="/ns0:ExchangeCalendarVEvent/ns0:X-MICROSOFT-CDO-OWNERAPPTID"/>
      </ns1:OwnerAppointmentId>
      <xsl:choose>
        <xsl:when test='/ns0:ExchangeCalendarVEvent/ns0:REQ-PARTICIPANT/ns0:Token != "" or /ns0:ExchangeCalendarVEvent/ns0:OPT-PARTICIPANT/ns0:Token != "" or /ns0:ExchangeCalendarVEvent/ns0:NON-PARTICIPANT/ns0:Token != ""'>
          <ns1:ResponseRequested>
            <xsl:text disable-output-escaping="no">true</xsl:text>
          </ns1:ResponseRequested>
        </xsl:when>
        <xsl:otherwise>
          <ns1:ResponseRequested>
            <xsl:text disable-output-escaping="no">false</xsl:text>
          </ns1:ResponseRequested>
        </xsl:otherwise>
      </xsl:choose>
      <xsl:choose>
        <xsl:when test="contains(/ns0:ExchangeCalendarVEvent/ns0:ORGANIZER, /ns0:ExchangeCalendarVEvent/ns0:X-ORACLE-BDSS-SYNCING-USER) = 'true'">
          <!-- SyncingUserIsOrganizer -->
          <xsl:choose>
            <xsl:when test='/ns0:ExchangeCalendarVEvent/ns0:REQ-PARTICIPANT/ns0:Token != "" or /ns0:ExchangeCalendarVEvent/ns0:OPT-PARTICIPANT/ns0:Token != "" or /ns0:ExchangeCalendarVEvent/ns0:NON-PARTICIPANT/ns0:Token != ""'>
              <!-- Attendees Present -->
              <ns1:ResponseStatus>
                <xsl:text disable-output-escaping="no">1</xsl:text>
              </ns1:ResponseStatus>
              <ns1:MeetingStatus>
                <xsl:text disable-output-escaping="no">1</xsl:text>
              </ns1:MeetingStatus>
              <ns1:ReplyTo/>
            </xsl:when>
            <xsl:otherwise>
              <!-- No Attendees Present-->
              <ns1:ResponseStatus>
                <xsl:text disable-output-escaping="no">0</xsl:text>
              </ns1:ResponseStatus>
              <ns1:MeetingStatus>
                <xsl:text disable-output-escaping="no">0</xsl:text>
              </ns1:MeetingStatus>
              <ns1:ReplyTo/>
            </xsl:otherwise>
          </xsl:choose>
        </xsl:when>
        <xsl:otherwise>
          <!-- SyncingUserNotOrganizer-->
          <xsl:choose>
            <xsl:when test='/ns0:ExchangeCalendarVEvent/ns0:REQ-PARTICIPANT/ns0:Token != "" or /ns0:ExchangeCalendarVEvent/ns0:OPT-PARTICIPANT/ns0:Token != "" or /ns0:ExchangeCalendarVEvent/ns0:NON-PARTICIPANT/ns0:Token != ""'>
              <!-- Attendees Present -->
              <ns1:ResponseStatus>
                <xsl:text disable-output-escaping="no">3</xsl:text>
              </ns1:ResponseStatus>
              <ns1:MeetingStatus>
                <xsl:text disable-output-escaping="no">3</xsl:text>
              </ns1:MeetingStatus>
              <ns1:ReplyTo>
                <xsl:value-of select="translate(substring-after(/ns0:ExchangeCalendarVEvent/ns0:ORGANIZER,'MAILTO:'),' ','')"/>
              </ns1:ReplyTo>
            </xsl:when>
            <xsl:otherwise>
              <!-- No Attendees Present -->
              <ns1:ReplyTo/>
              <ns1:ResponseStatus>
                <xsl:text disable-output-escaping="no">0</xsl:text>
              </ns1:ResponseStatus>
              <ns1:MeetingStatus>
                <xsl:text disable-output-escaping="no">0</xsl:text>
              </ns1:MeetingStatus>
            </xsl:otherwise>
          </xsl:choose>
        </xsl:otherwise>
      </xsl:choose>
    </ns1:ExchangeCalendar>
  </xsl:template>
</xsl:stylesheet>

D.5 Mapping Windows Time Zones to Java-Standard Time Zones

Example D-5 illustrates an the XSD that maps Microsoft Windows time zones to Java-standard time zones when building Hub Calendar records. Example D-6 illustrates the XLST file that transforms the time zone mappings.

Example D-5 XSD for Mapping Microsoft Windows Time Zones to Java-Standard Time Zones

<?xml version="1.0" encoding="windows-1252" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="TimeZoneMapping">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="TimeZone" maxOccurs="unbounded">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="Java" minOccurs="1" nillable="false"
                           maxOccurs="1">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="TimeZoneIds" maxOccurs="1">
                      <xsd:complexType>
                        <xsd:sequence>
                          <xsd:element name="TimeZoneId" maxOccurs="unbounded">
                            <xsd:complexType>
                              <xsd:simpleContent>
                                <xsd:extension base="xsd:string">
                                  <xsd:attribute name="extractionDefault"
                                                 type="xsd:string"/>
                                </xsd:extension>
                              </xsd:simpleContent>
                            </xsd:complexType>
                          </xsd:element>
                        </xsd:sequence>
                      </xsd:complexType>
                    </xsd:element>
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
              <xsd:element name="Exchange" nillable="false" maxOccurs="1">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="TimeZoneIds" minOccurs="1" maxOccurs="1">
                      <xsd:complexType>
                        <xsd:sequence>
                          <xsd:element name="TimeZoneId" minOccurs="1" maxOccurs="unbounded">
                            <xsd:complexType>
                              <xsd:simpleContent>
                                <xsd:extension base="xsd:string">
                                  <xsd:attribute name="createUpdateDefault"
                                                 type="xsd:string"/>
                                
                                </xsd:extension>
                              </xsd:simpleContent>
                            </xsd:complexType>
                          </xsd:element>
                        </xsd:sequence>
                      </xsd:complexType>
                    </xsd:element>
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
              <xsd:element name="Standard" nillable="false" maxOccurs="1">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="OnsetLocalDate" type="xsd:string"
                                 maxOccurs="1"/>
                    <xsd:element name="OffsetFrom" type="xsd:integer"
                                 maxOccurs="1"/>
                    <xsd:element name="OffsetTo" type="xsd:integer"
                                 maxOccurs="1"/>
                    <xsd:element name="Onset" minOccurs="0">
                      <xsd:complexType>
                        <xsd:sequence>
                          <xsd:element name="Frequency" type="xsd:string"/>
                          <xsd:element name="Interval" type="xsd:integer"/>
                          <xsd:element name="Month" type="xsd:string"/>
                          <xsd:element name="Day" type="xsd:string"/>
                          <xsd:element name="DayOffset" type="xsd:string"/>
                        </xsd:sequence>
                      </xsd:complexType>
                    </xsd:element>
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
              <xsd:element name="DayLight">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="OnsetLocalDate" type="xsd:string"
                                 maxOccurs="1"/>
                    <xsd:element name="OffsetFrom" type="xsd:integer"
                                 maxOccurs="1"/>
                    <xsd:element name="OffsetTo" type="xsd:integer"
                                 maxOccurs="1"/>
                    <xsd:element name="Onset" minOccurs="0">
                      <xsd:complexType>
                        <xsd:sequence>
                          <xsd:element name="Frequency" type="xsd:string"/>
                          <xsd:element name="Interval" type="xsd:integer"/>
                          <xsd:element name="Month" type="xsd:string"/>
                          <xsd:element name="Day" type="xsd:string"/>
                          <xsd:element name="DayOffset" type="xsd:string"/>
                        </xsd:sequence>
                      </xsd:complexType>
                    </xsd:element>
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

Example D-6 XLST for Transforming Windows Time Zones

<?xml version="1.0" encoding="windows-1252" standalone="yes" ?>
<!--  Header: fts/connectors/exchange2007/oracle/bdss/connectors/exchange2007/pimtransport/transform/exchange/calendar/intermedatetranslation/timezoneregistry.xml -->
<!--
 Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved. 
 
   NAME
     timezoneregistry.xml - maps Java and Exchange time zones
 
   DESCRIPTION
   This XML file maps Java time zone identifiers to the time zone identifiers
   used by Exchange 2007.
   
   The following list enumerates the Java time zones that are not present in 
   this file because there are no corresponding time zone for Exchange:
   2) All GMT-09 that do not observe daylight savings time:
      Pacific/Gambier, Pacific/Marquesas, Pacific/Palau
   3) All GMT-10 that observe daylight savings time:
      US/Aleutian, America/Atka, America/Adak
   4) All GMT-02 that do not observe daylight savings time:
      Atlantic/South_Georgia
      Brazil/DeNoronha
      America/Noronha
   5) All GMT+14
      Pacific/Kiritimati
   6) All GMT-08 that do not observe daylight savings time:
      Pacific/Pitcairn
   7) All legacy Etc/GMTx timezones
   
   The time zone entries must conform to the schema defined in timezoneregistryschema.xsd
 
  Each time zone mapping has a <TimeZone> parent element and four child elements:
  <Java>     contains all the Java time zones.  This child element has one or more
             <TimeZoneId> elements that contains a Java time zone id.  If there is
             more than one, then one must have a "extractionDefault" attribute with
             a value of "true"
  <Exchange> contains the Exchange time zone(s).  This child element has at least
             one <TimeZoneId> element containing an Exchange time zone id.  If there
             is more than one, a "createUpdateDefault" attribute must be specified
             on one of the values.
  <Standard> contains a description of when standard time begins
  <DayLight> contains a description of when daylight time begins
 
   The <Standard> and <DayLight> elements contain sub-elements as described below:
   OnsetLocalDate - The local date/time when the time sub-component (Standard/Daylight) begins
   OffsetTo - The offset that becomes effective on the OnsetLocalDate
   OffsetFrom - The offset that was effective prior to the OnsetLocalDate
   Onset - describes a recurrence pattern that the sub-component occurs
      Frequency - Yearly
      Interval - 1 = Every, 2 = Every Other, etc.  If Frequency == Yearly and 
                 interval == 1, interpreted as Every Year; if interval == 2,
                 interpreted as Every Other Year, etc.
      Month    - January..December 
      Day      - Sunday..Saturday
      DayOffset - First, Second, Third, Fourth, Last
 
   NOTES
   EWS reports a warning if any TZ is used other than PST.  In some cases, EWS
   creates the record and it appears in the correct time slot and in other cases
   it does not.  Regardless of how the record appears in outlook, the connector fails
   the create/update request because of the warning.  Microsoft is looking in to
   this.
   
   Currently, only have > 1 Exchange time zone for the PST time zone.  The Exchange
   time zones stamped on Exchange records come from the system registry of the client
   machine running MS Outlook.  These time zones are not consistant across Windows
   OS versions and service packs.  When MS clears up the TZ issue, this file most
   likely needs to be updated.
   
   MODIFIED   (MM/DD/YY)
      lharding 06/08/09 - Initial Version
-->
<TimeZoneMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="timezoneregistryschema.xsd">
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Kwajalein</TimeZoneId>
            <TimeZoneId extractionDefault="true">Pacific/Kwajalein</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-12:00) International Dateline West</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-1200</OffsetFrom>
         <OffsetTo>-1200</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-1200</OffsetFrom>
         <OffsetTo>-1200</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Pacific/Samoa</TimeZoneId>
            <TimeZoneId>Pacific/Pago_Pago</TimeZoneId>
            <TimeZoneId extractionDefault="true">US/Samoa</TimeZoneId>
            <TimeZoneId>Pacific/Midway</TimeZoneId>
            <TimeZoneId>Pacific/Niue</TimeZoneId>
            <TimeZoneId>Pacific/Apia</TimeZoneId>
            <TimeZoneId>MIT</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-11:00) Midway Island, Samoa</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-1100</OffsetFrom>
         <OffsetTo>-1100</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-1100</OffsetFrom>
         <OffsetTo>-1100</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Pacific/Honolulu</TimeZoneId>
            <TimeZoneId>HST</TimeZoneId>
            <TimeZoneId extractionDefault="true">US/Hawaii</TimeZoneId>
            <TimeZoneId>Pacific/Johnston</TimeZoneId>
            <TimeZoneId>Pacific/Tahiti</TimeZoneId>
            <TimeZoneId>Pacific/Fakaofo</TimeZoneId>
            <TimeZoneId>Pacific/Rarotonga</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-10:00) Hawaii</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-1000</OffsetFrom>
         <OffsetTo>-1000</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-1000</OffsetFrom>
         <OffsetTo>-1000</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>America/Anchorage</TimeZoneId>
            <TimeZoneId>AST</TimeZoneId>
            <TimeZoneId>America/Yakutat</TimeZoneId>
            <TimeZoneId>America/Juneau</TimeZoneId>
            <TimeZoneId>America/Nome</TimeZoneId>
            <TimeZoneId extractionDefault="true">US/Alaska</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-09:00) Alaska</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0800</OffsetFrom>
         <OffsetTo>-0900</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0900</OffsetFrom>
         <OffsetTo>-0800</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>First</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>US/Pacific-New</TimeZoneId>
            <TimeZoneId>PST</TimeZoneId>
            <TimeZoneId>Canada/Pacific</TimeZoneId>
            <TimeZoneId>America/Dawson</TimeZoneId>
            <TimeZoneId>America/Vancouver</TimeZoneId>
            <TimeZoneId extractionDefault="true">US/Pacific</TimeZoneId>
            <TimeZoneId>PST8PDT</TimeZoneId>
            <TimeZoneId>America/Los_Angeles</TimeZoneId>
            <TimeZoneId>America/Ensenada</TimeZoneId>
            <TimeZoneId>Canada/Yukon</TimeZoneId>
            <TimeZoneId>America/Whitehorse</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-08:00) Pacific Time (US &amp; Canada)</TimeZoneId>
            <TimeZoneId createUpdateDefault="true">(GMT-08:00) Pacific Time (US &amp; Canada); Tijuana</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0700</OffsetFrom>
         <OffsetTo>-0800</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0800</OffsetFrom>
         <OffsetTo>-0700</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>First</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">America/Tijuana</TimeZoneId>
            <TimeZoneId>Mexico/BajaNorte</TimeZoneId>
            <TimeZoneId>Mexico/BajaSur</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-08:00) Tijuana, Baja California</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0700</OffsetFrom>
         <OffsetTo>-0800</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0800</OffsetFrom>
         <OffsetTo>-0700</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>First</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">US/Arizona</TimeZoneId>
            <TimeZoneId>America/Phoenix</TimeZoneId>
            <TimeZoneId>PNT</TimeZoneId>
            <TimeZoneId>America/Mermosillo</TimeZoneId>
            <TimeZoneId>MST</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-07:00) Arizona</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0700</OffsetFrom>
         <OffsetTo>-0700</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0700</OffsetFrom>
         <OffsetTo>-0700</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>America/Chihuahua</TimeZoneId>
            <TimeZoneId extractionDefault="true">America/Mazatlan</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-07:00) Chihuahua, La Paz, Mazatlan</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0600</OffsetFrom>
         <OffsetTo>-0700</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0700</OffsetFrom>
         <OffsetTo>-0600</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>First</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>America/Inuvik</TimeZoneId>
            <TimeZoneId>America/Cambridge_Bay</TimeZoneId>
            <TimeZoneId extractionDefault="true">US/Mountain</TimeZoneId>
            <TimeZoneId>America/Denver</TimeZoneId>
            <TimeZoneId>America/Edmonton</TimeZoneId>
            <TimeZoneId>America/Dawson_Creek</TimeZoneId>
            <TimeZoneId>America/Yellowknife</TimeZoneId>
            <TimeZoneId>MST7MDT</TimeZoneId>
            <TimeZoneId>Navajo</TimeZoneId>
            <TimeZoneId>America/Boise</TimeZoneId>
            <TimeZoneId>America/Shiprock</TimeZoneId>
            <TimeZoneId>Canada/Mountain</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-07:00) Mountain Time (US &amp; Canada)</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0600</OffsetFrom>
         <OffsetTo>-0700</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0700</OffsetFrom>
         <OffsetTo>-0600</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>First</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">America/El_Salvador</TimeZoneId>
            <TimeZoneId>America/Tegucigalpa</TimeZoneId>
            <TimeZoneId>America/Managua</TimeZoneId>
            <TimeZoneId>America/Belize</TimeZoneId>
            <TimeZoneId>America/Regina</TimeZoneId>
            <TimeZoneId>America/Guatemala</TimeZoneId>
            <TimeZoneId>America/Costa_Rica</TimeZoneId>
            <TimeZoneId>Pacific/Galapagos</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-06:00) Central America</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0600</OffsetFrom>
         <OffsetTo>-0600</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0600</OffsetFrom>
         <OffsetTo>-0600</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>US/Indiana-Starke</TimeZoneId>
            <TimeZoneId>America/North_Dakota/New_Salem</TimeZoneId>
            <TimeZoneId>CST6CDT</TimeZoneId>
            <TimeZoneId>America/Indiana/Tell_City</TimeZoneId>
            <TimeZoneId extractionDefault="true">US/Central</TimeZoneId>
            <TimeZoneId>CST</TimeZoneId>
            <TimeZoneId>Canada/Central</TimeZoneId>
            <TimeZoneId>America/Winnipeg</TimeZoneId>
            <TimeZoneId>America/Rainy_River</TimeZoneId>
            <TimeZoneId>America/Chicago</TimeZoneId>
            <TimeZoneId>America/Rankin_Inlet</TimeZoneId>
            <TimeZoneId>America/Knox_IN</TimeZoneId>
            <TimeZoneId>America/Merida</TimeZoneId>
            <TimeZoneId>America/Cancun</TimeZoneId>
            <TimeZoneId>America/Menominee</TimeZoneId>
            <TimeZoneId>America/Indiana/Knox</TimeZoneId>
            <TimeZoneId>America/North_Dakota/Center</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-06:00) Central Time (US &amp; Canada)</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0500</OffsetFrom>
         <OffsetTo>-0600</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0600</OffsetFrom>
         <OffsetTo>-0500</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>First</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">America/Mexico_City</TimeZoneId>
            <TimeZoneId>Mexico/General</TimeZoneId>
            <TimeZoneId>Chile/EasterIsland</TimeZoneId>
            <TimeZoneId>Pacific/Easter</TimeZoneId>
            <TimeZoneId>America/Monterrey</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-06:00) Guadalajara, Mexico City, Monterrey</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0500</OffsetFrom>
         <OffsetTo>-0600</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0600</OffsetFrom>
         <OffsetTo>-0500</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>First</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Canada/East-Saskatchewan</TimeZoneId>
            <TimeZoneId extractionDefault="true">Canada/Saskatchewan</TimeZoneId>
            <TimeZoneId>America/Swift_Current</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-06:00) Saskatchewan</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0600</OffsetFrom>
         <OffsetTo>-0600</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0600</OffsetFrom>
         <OffsetTo>-0600</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>America/Bogota</TimeZoneId>
            <TimeZoneId extractionDefault="true">America/Lima</TimeZoneId>
            <TimeZoneId>America/Jamaica</TimeZoneId>
            <TimeZoneId>America/Panama</TimeZoneId>
            <TimeZoneId>America/Coral_Harbour</TimeZoneId>
            <TimeZoneId>America/Port-au-Prince</TimeZoneId>
            <TimeZoneId>America/Cayman</TimeZoneId>
            <TimeZoneId>America/Atikokan</TimeZoneId>
            <TimeZoneId>America/Resolute</TimeZoneId>
            <TimeZoneId>America/Guayaquil</TimeZoneId>
            <TimeZoneId>Jamaica</TimeZoneId>
            <TimeZoneId>EST</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-05:00) Bogota, Lima, Quito, Rio Branco</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0500</OffsetFrom>
         <OffsetTo>-0500</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0500</OffsetFrom>
         <OffsetTo>-0500</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">US/Eastern</TimeZoneId>
            <TimeZoneId>America/Nipigon</TimeZoneId>
            <TimeZoneId>US/Michigan</TimeZoneId>
            <TimeZoneId>America/New_York</TimeZoneId>
            <TimeZoneId>America/Kentucky/Monticello</TimeZoneId>
            <TimeZoneId>America/Detroit</TimeZoneId>
            <TimeZoneId>America/Indiana/Vevay</TimeZoneId>
            <TimeZoneId>America/Nassau</TimeZoneId>
            <TimeZoneId>EST5EDT</TimeZoneId>
            <TimeZoneId>Canada/Eastern</TimeZoneId>
            <TimeZoneId>America/Indiana/Marengo</TimeZoneId>
            <TimeZoneId>America/Louisville</TimeZoneId>
            <TimeZoneId>America/Fort_Wayne</TimeZoneId>
            <TimeZoneId>America/Indiana/Winamac</TimeZoneId>
            <TimeZoneId>America/Pangnirtung</TimeZoneId>
            <TimeZoneId>America/Thunder_Bay</TimeZoneId>
            <TimeZoneId>America/Grand_Turk</TimeZoneId>
            <TimeZoneId>America/Toronto</TimeZoneId>
            <TimeZoneId>IET</TimeZoneId>
            <TimeZoneId>America/Indiana/Petersburg</TimeZoneId>
            <TimeZoneId>America/Kentucky/Louisville</TimeZoneId>
            <TimeZoneId>America/Indiana/Vincennes</TimeZoneId>
            <TimeZoneId>America/Iqaluit</TimeZoneId>
            <TimeZoneId>America/Montreal</TimeZoneId>
            <TimeZoneId>Cuba</TimeZoneId>
            <TimeZoneId>America/Havana</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-05:00) Eastern Time (US &amp; Canada)</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0400</OffsetFrom>
         <OffsetTo>-0500</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0500</OffsetFrom>
         <OffsetTo>-0400</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>First</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>America/Indianapolis</TimeZoneId>
            <TimeZoneId>America/Indiana/Indianapolis</TimeZoneId>
            <TimeZoneId extractionDefault="true">US/East-Indiana</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-05:00) Indiana (East)</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0500</OffsetFrom>
         <OffsetTo>-0500</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0500</OffsetFrom>
         <OffsetTo>-0500</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>America/Caracas</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-04:30) Caracas</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0430</OffsetFrom>
         <OffsetTo>-0430</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0430</OffsetFrom>
         <OffsetTo>-0430</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>America/Montreal</TimeZoneId>
            <TimeZoneId extractionDefault="true">Canada/Atlantic</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-04:00) Atlantic Time (Canada)</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0300</OffsetFrom>
         <OffsetTo>-0400</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0400</OffsetFrom>
         <OffsetTo>-0300</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>First</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">America/La_Paz</TimeZoneId>
            <TimeZoneId>America/Martinique</TimeZoneId>
            <TimeZoneId>America/St_Lucia</TimeZoneId>
            <TimeZoneId>America/Aruba</TimeZoneId>
            <TimeZoneId>America/Dominica</TimeZoneId>
            <TimeZoneId>America/St_Vincent</TimeZoneId>
            <TimeZoneId>America/Puerto_Rico</TimeZoneId>
            <TimeZoneId>America/Tortola</TimeZoneId>
            <TimeZoneId>America/Barbados</TimeZoneId>
            <TimeZoneId>America/Grenada</TimeZoneId>
            <TimeZoneId>America/Port_of_Spain</TimeZoneId>
            <TimeZoneId>America/St_Thomas</TimeZoneId>
            <TimeZoneId>America/Virgin</TimeZoneId>
            <TimeZoneId>America/St_Barthelemy</TimeZoneId>
            <TimeZoneId>America/St_Kitts</TimeZoneId>
            <TimeZoneId>America/Curacao</TimeZoneId>
            <TimeZoneId>America/Antigua</TimeZoneId>
            <TimeZoneId>America/Blanc-Sablon</TimeZoneId>
            <TimeZoneId>America/Guadeloupe</TimeZoneId>
            <TimeZoneId>America/Marigot</TimeZoneId>
            <TimeZoneId>America/Montserrat</TimeZoneId>
            <TimeZoneId>America/Anguilla</TimeZoneId>
            <TimeZoneId>America/Santo_Domingo</TimeZoneId>
            <TimeZoneId>PRT</TimeZoneId>
            <TimeZoneId>America/Rio_Branco</TimeZoneId>
            <TimeZoneId>America/Eirunepe</TimeZoneId>
            <TimeZoneId>America/Boa_Vista</TimeZoneId>
            <TimeZoneId>America/Porto_Acre</TimeZoneId>
            <TimeZoneId>America/Porto_Velho</TimeZoneId>
            <TimeZoneId>America/Guyana</TimeZoneId>
            <TimeZoneId>Brazil/Acre</TimeZoneId>
            <TimeZoneId>Brazil/West</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-04:00) La Paz</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0400</OffsetFrom>
         <OffsetTo>-0400</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0400</OffsetFrom>
         <OffsetTo>-0400</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>America/Manaus</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-04:00) Manaus</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0300</OffsetFrom>
         <OffsetTo>-0400</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0400</OffsetFrom>
         <OffsetTo>-0300</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>First</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Chile/Continental</TimeZoneId>
            <TimeZoneId>Antarctica/Palmer</TimeZoneId>
            <TimeZoneId>America/Thule</TimeZoneId>
            <TimeZoneId>America/Asuncion</TimeZoneId>
            <TimeZoneId>Atlantic/Bermuda</TimeZoneId>
            <TimeZoneId>America/Glace_Bay</TimeZoneId>
            <TimeZoneId>America/Halifax</TimeZoneId>
            <TimeZoneId>America/Moncton</TimeZoneId>
            <TimeZoneId>America/Goose_Bay</TimeZoneId>
            <TimeZoneId>America/Cuiaba</TimeZoneId>
            <TimeZoneId>America/Campo_Grande</TimeZoneId>
            <TimeZoneId>Atlantic/Stanley</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-04:00) Santiago</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0300</OffsetFrom>
         <OffsetTo>-0400</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>March</Month>
            <Day>Saturday</Day>
            <DayOffset>Second</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0400</OffsetFrom>
         <OffsetTo>-0300</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Saturday</Day>
            <DayOffset>Second</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>America/St_Johns</TimeZoneId>
            <TimeZoneId extractionDefault="true">CNT</TimeZoneId>
            <TimeZoneId>Canada/Newfoundland</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-03:30) Newfoundland</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0230</OffsetFrom>
         <OffsetTo>-0330</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0330</OffsetFrom>
         <OffsetTo>-0230</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>First</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">BET</TimeZoneId>
            <TimeZoneId>Brazil/East</TimeZoneId>
            <TimeZoneId>America/Sao_Paulo</TimeZoneId>
            <TimeZoneId>America/Miquelon</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-03:00) Brasilia</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0200</OffsetFrom>
         <OffsetTo>-0300</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>February</Month>
            <Day>Sunday</Day>
            <DayOffset>Second</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0300</OffsetFrom>
         <OffsetTo>-0200</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Third</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">America/Buenos_Aires</TimeZoneId>
            <TimeZoneId>America/Rosario</TimeZoneId>
            <TimeZoneId>America/Argentina/Cordoba</TimeZoneId>
            <TimeZoneId>America/Cordoba</TimeZoneId>
            <TimeZoneId>America/Argentina/Tucuman</TimeZoneId>
            <TimeZoneId>AGT</TimeZoneId>
            <TimeZoneId>America/Argentina/Buenos_Aires</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-03:00) Buenos Aires</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0200</OffsetFrom>
         <OffsetTo>-0300</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0300</OffsetFrom>
         <OffsetTo>-0200</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>America/Montevideo</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-03:00) Montevideo</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0200</OffsetFrom>
         <OffsetTo>-0300</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0300</OffsetFrom>
         <OffsetTo>-0200</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">America/Paramaribo</TimeZoneId>
            <TimeZoneId>America/Recife</TimeZoneId>
            <TimeZoneId>America/Fortaleza</TimeZoneId>
            <TimeZoneId>America/Bahia</TimeZoneId>
            <TimeZoneId>America/Araguaina</TimeZoneId>
            <TimeZoneId>America/Santarem</TimeZoneId>
            <TimeZoneId>America/Belem</TimeZoneId>
            <TimeZoneId>America/Maceio</TimeZoneId>
            <TimeZoneId>America/Mendoza</TimeZoneId>
            <TimeZoneId>America/Catamarca</TimeZoneId>
            <TimeZoneId>America/Jujuy</TimeZoneId>
            <TimeZoneId>America/Cayenne</TimeZoneId>
            <TimeZoneId>America/Argentina/Catamarca</TimeZoneId>
            <TimeZoneId>America/Argentina/Mendoza</TimeZoneId>
            <TimeZoneId>America/Argentina/San_Juan</TimeZoneId>
            <TimeZoneId>America/Argentina/Jujuy</TimeZoneId>
            <TimeZoneId>America/Argentina/San_Luis</TimeZoneId>
            <TimeZoneId>America/Argentina/La_Rioja</TimeZoneId>
            <TimeZoneId>America/Argentina/ComodRivadavia</TimeZoneId>
            <TimeZoneId>America/Argentina/Ushuaia</TimeZoneId>
            <TimeZoneId>America/Argentina/Rio_Gallegos. Salta</TimeZoneId>
            <TimeZoneId>Antarctica/Rothera</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-03:00) Georgetown</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0300</OffsetFrom>
         <OffsetTo>-0300</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0300</OffsetFrom>
         <OffsetTo>-0300</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>America/Godthab</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-03:00) Greenland</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0200</OffsetFrom>
         <OffsetTo>-0300</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0300</OffsetFrom>
         <OffsetTo>-0200</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>First</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
   <Java>
   <TimeZoneIds>
   <TimeZoneId></TimeZoneId>
   </TimeZoneIds>
   </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-02:00) Mid-Atlantic</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0100</OffsetFrom>
         <OffsetTo>-0200</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>September</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0200</OffsetFrom>
         <OffsetTo>-0100</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Atlantic/Azores</TimeZoneId>
            <TimeZoneId>America/Scoresbysund</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-01:00) Azores</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+0000</OffsetFrom>
         <OffsetTo>-0100</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>-0100</OffsetFrom>
         <OffsetTo>+0000</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Atlantic/Cape_Verde</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT-01:00) Cape Verde Is.</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0100</OffsetFrom>
         <OffsetTo>-0100</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>-0100</OffsetFrom>
         <OffsetTo>-0100</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Africa/El_Aaiun</TimeZoneId>
            <TimeZoneId>Africa/Casablanca</TimeZoneId>
            <TimeZoneId>Greenwich</TimeZoneId>
            <TimeZoneId>Africa/Conakry</TimeZoneId>
            <TimeZoneId>Africa/Bissau</TimeZoneId>
            <TimeZoneId>Africa/Timbuktu</TimeZoneId>
            <TimeZoneId>Africa/Abidjan</TimeZoneId>
            <TimeZoneId>Africa/Freetown</TimeZoneId>
            <TimeZoneId>Africa/Ouagadougou</TimeZoneId>
            <TimeZoneId>Africa/Bamako</TimeZoneId>
            <TimeZoneId extractionDefault="true">GMT</TimeZoneId>
            <TimeZoneId>Atlantic/St_Helena</TimeZoneId>
            <TimeZoneId>Africa/Dakar</TimeZoneId>
            <TimeZoneId>Africa/Banjul</TimeZoneId>
            <TimeZoneId>America/Danmarkshavn</TimeZoneId>
            <TimeZoneId>Africa/Sao_Tome</TimeZoneId>
            <TimeZoneId>Iceland</TimeZoneId>
            <TimeZoneId>Africa/Lome</TimeZoneId>
            <TimeZoneId>Africa/Nouakchott</TimeZoneId>
            <TimeZoneId>UCT</TimeZoneId>
            <TimeZoneId>Universal</TimeZoneId>
            <TimeZoneId>UTC</TimeZoneId>
            <TimeZoneId>Zulu</TimeZoneId>
            <TimeZoneId>Africa/Accra</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT) Casablanca</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0000</OffsetFrom>
         <OffsetTo>+0000</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0000</OffsetFrom>
         <OffsetTo>+0000</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Africa/Monrovia</TimeZoneId>
            <TimeZoneId>Atlantic/Reykjavik</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT) Monrovia, Reykjavik</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0000</OffsetFrom>
         <OffsetTo>+0000</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0000</OffsetFrom>
         <OffsetTo>+0000</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">GB</TimeZoneId>
            <TimeZoneId>Europe/Guernsey</TimeZoneId>
            <TimeZoneId>GB-Eire</TimeZoneId>
            <TimeZoneId>Europe/Jersey</TimeZoneId>
            <TimeZoneId>Eire</TimeZoneId>
            <TimeZoneId>Europe/Dublin</TimeZoneId>
            <TimeZoneId>Europe/Belfast</TimeZoneId>
            <TimeZoneId>Europe/London</TimeZoneId>
            <TimeZoneId>Europe/Isle_of_Man</TimeZoneId>
            <TimeZoneId>Portugal</TimeZoneId>
            <TimeZoneId>Europe/Lisbon</TimeZoneId>
            <TimeZoneId>Atlantic/Faroe</TimeZoneId>
            <TimeZoneId>Atlantic/Canary</TimeZoneId>
            <TimeZoneId>Atlantic/Faeroe</TimeZoneId>
            <TimeZoneId>Atlantic/Madeira</TimeZoneId>
            <TimeZoneId>WET</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0100</OffsetFrom>
         <OffsetTo>+0000</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T010000</OnsetLocalDate>
         <OffsetFrom>+0000</OffsetFrom>
         <OffsetTo>+0100</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Europe/Prague</TimeZoneId>
            <TimeZoneId>Europe/Budapest</TimeZoneId>
            <TimeZoneId>Europe/Ljubljana</TimeZoneId>
            <TimeZoneId>Europe/Bratislava</TimeZoneId>
            <TimeZoneId extractionDefault="true">Europe/Belgrade</TimeZoneId>
            <TimeZoneId>MET</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+0200</OffsetFrom>
         <OffsetTo>+0100</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0100</OffsetFrom>
         <OffsetTo>+0200</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Europe/Brussels</TimeZoneId>
            <TimeZoneId>Europe/Copenhagen</TimeZoneId>
            <TimeZoneId>Europe/Madrid</TimeZoneId>
            <TimeZoneId>Europe/Paris</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+01:00) Brussels, Copenhagen, Madrid, Paris</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+0200</OffsetFrom>
         <OffsetTo>+0100</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0100</OffsetFrom>
         <OffsetTo>+0200</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Europe/Warsaw</TimeZoneId>
            <TimeZoneId>Europe/Zagreb</TimeZoneId>
            <TimeZoneId extractionDefault="true">Europe/Sarajevo</TimeZoneId>
            <TimeZoneId>Europe/Skopje</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+0200</OffsetFrom>
         <OffsetTo>+0100</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0100</OffsetFrom>
         <OffsetTo>+0200</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Africa/Ndjamena</TimeZoneId>
            <TimeZoneId>Africa/Douala</TimeZoneId>
            <TimeZoneId>Africa/Libreville</TimeZoneId>
            <TimeZoneId>Africa/Brazzaville</TimeZoneId>
            <TimeZoneId>Africa/Lagos</TimeZoneId>
            <TimeZoneId>Africa/Porto-Novo</TimeZoneId>
            <TimeZoneId>Africa/Luanda</TimeZoneId>
            <TimeZoneId>Africa/Kinshasa</TimeZoneId>
            <TimeZoneId>Africa/Niamey</TimeZoneId>
            <TimeZoneId>Africa/Bangui</TimeZoneId>
            <TimeZoneId>Africa/Malabo</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+01:00) West Central Africa</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0100</OffsetFrom>
         <OffsetTo>+0100</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0100</OffsetFrom>
         <OffsetTo>+0100</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Asia/Amman</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+02:00) Amman</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T040000</OnsetLocalDate>
         <OffsetFrom>+0300</OffsetFrom>
         <OffsetTo>+0200</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+0200</OffsetFrom>
         <OffsetTo>+0300</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Europe/Athens</TimeZoneId>
            <TimeZoneId>Europe/Istanbul</TimeZoneId>
            <TimeZoneId>Europe/Bucharest</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+02:00) Athens, Bucharest, Istanbul</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+0300</OffsetFrom>
         <OffsetTo>+0200</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0200</OffsetFrom>
         <OffsetTo>+0300</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
      </TimeZone>
      <TimeZone>
         <Java>
            <TimeZoneIds>
               <TimeZoneId>Europe/Minsk</TimeZoneId>
            </TimeZoneIds>
         </Java>
         <Exchange>
            <TimeZoneIds>
               <TimeZoneId>(GMT+02:00) Minsk</TimeZoneId>
            </TimeZoneIds>
         </Exchange>
         <Standard>
            <OnsetLocalDate>16010101T030000</OnsetLocalDate>
            <OffsetFrom>+0300</OffsetFrom>
            <OffsetTo>+0200</OffsetTo>
            <Onset>
               <Frequency>Yearly</Frequency>
               <Interval>1</Interval>
               <Month>October</Month>
               <Day>Sunday</Day>
               <DayOffset>Last</DayOffset>
            </Onset>
         </Standard>
         <DayLight>
            <OnsetLocalDate>16010101T020000</OnsetLocalDate>
            <OffsetFrom>+0200</OffsetFrom>
            <OffsetTo>+0300</OffsetTo>
            <Onset>
               <Frequency>Yearly</Frequency>
               <Interval>1</Interval>
               <Month>April</Month>
               <Day>Sunday</Day>
               <DayOffset>Last</DayOffset>
            </Onset>
         </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Asia/Beirut</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+02:00) Beirut</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T040000</OnsetLocalDate>
         <OffsetFrom>+0300</OffsetFrom>
         <OffsetTo>+0200</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+0200</OffsetFrom>
         <OffsetTo>+0300</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Africa/Cairo</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+02:00) Cairo</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0300</OffsetFrom>
         <OffsetTo>+0200</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>September</Month>
            <Day>Wednesday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0200</OffsetFrom>
         <OffsetTo>+0300</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>May</Month>
            <Day>Friday</Day>
            <DayOffset>First</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Africa/Gaborone</TimeZoneId>
            <TimeZoneId>Africa/Lubumbashi</TimeZoneId>
            <TimeZoneId>Africa/Kigali</TimeZoneId>
            <TimeZoneId>Africa/Blantyre</TimeZoneId>
            <TimeZoneId>Africa/Maputo</TimeZoneId>
            <TimeZoneId>Africa/Lusaka</TimeZoneId>
            <TimeZoneId extractionDefault="true">CAT</TimeZoneId>
            <TimeZoneId>Africa/Harare</TimeZoneId>
            <TimeZoneId>Africa/Bujumbura</TimeZoneId>
            <TimeZoneId>Africa/Maseru</TimeZoneId>
            <TimeZoneId>Africa/Mbabane</TimeZoneId>
            <TimeZoneId>Africa/Johannesburg</TimeZoneId>
            <TimeZoneId>Libya</TimeZoneId>
            <TimeZoneId>Afria/Tripoli</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+02:00) Harare, Pretoria</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0200</OffsetFrom>
         <OffsetTo>+0200</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0200</OffsetFrom>
         <OffsetTo>+0200</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Europe/Helsinki</TimeZoneId>
            <TimeZoneId>Europe/Riga</TimeZoneId>
            <TimeZoneId>Europe/Tallinn</TimeZoneId>
            <TimeZoneId>Europe/Sofia</TimeZoneId>
            <TimeZoneId>EET</TimeZoneId>
            <TimeZoneId>Europe/Uzhgorod</TimeZoneId>
            <TimeZoneId>Europe/Nicosia</TimeZoneId>
            <TimeZoneId>Europe/Kaliningrad</TimeZoneId>
            <TimeZoneId>Asia/Damascus</TimeZoneId>
            <TimeZoneId>ART</TimeZoneId>
            <TimeZoneId>Europe/Chisinau</TimeZoneId>
            <TimeZoneId>Asia/Gaza</TimeZoneId>
            <TimeZoneId>Europe/Mariehamn</TimeZoneId>
            <TimeZoneId>Asia/Beirut</TimeZoneId>
            <TimeZoneId>Asia/Nicosia</TimeZoneId>
            <TimeZoneId>Turkey</TimeZoneId>
            <TimeZoneId>Egypt</TimeZoneId>
            <TimeZoneId>Asia/Amman</TimeZoneId>
            <TimeZoneId>Europe/Zaporozhye</TimeZoneId>
            <TimeZoneId>Europe/Simferopol</TimeZoneId>
            <TimeZoneId>Europe/Tiraspol</TimeZoneId>
            <TimeZoneId>Europe/Kiev</TimeZoneId>
            <TimeZoneId>Europe/Vilnius</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T040000</OnsetLocalDate>
         <OffsetFrom>+0300</OffsetFrom>
         <OffsetTo>+0200</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+0200</OffsetFrom>
         <OffsetTo>+0300</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Asia/Jerusalem</TimeZoneId>
            <TimeZoneId extractionDefault="true">Israel</TimeZoneId>
            <TimeZoneId>Asia/Tel_Aviv</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+02:00) Jerusalem</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0200</OffsetFrom>
         <OffsetTo>+0200</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0200</OffsetFrom>
         <OffsetTo>+0200</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Africa/Windhoek</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+02:00) Windhoek</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+0200</OffsetFrom>
         <OffsetTo>+0100</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0100</OffsetFrom>
         <OffsetTo>+0200</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Asia/Qatar</TimeZoneId>
            <TimeZoneId extractionDefault="true">Asia/Baghdad</TimeZoneId>
            <TimeZoneId>Asia/Bahrain</TimeZoneId>
            <TimeZoneId>Asia/Aden</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+03:00) Baghdad</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T040000</OnsetLocalDate>
         <OffsetFrom>+0300</OffsetFrom>
         <OffsetTo>+0300</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>First</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+0300</OffsetFrom>
         <OffsetTo>+0300</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>First</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Asia/Kuwait</TimeZoneId>
            <TimeZoneId>Asia/Riyadh</TimeZoneId>
            <TimeZoneId>Asia/Riyadh89</TimeZoneId>
            <TimeZoneId>Asia/Riyadh88</TimeZoneId>
            <TimeZoneId>Mideast/Riyadh87</TimeZoneId>
            <TimeZoneId>Mideast/Riyadh88</TimeZoneId>
            <TimeZoneId>Mideast/Riyadh89</TimeZoneId>
            <TimeZoneId>Asia/Riyadh87</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+03:00) Kuwait, Riyadh</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0300</OffsetFrom>
         <OffsetTo>+0300</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0300</OffsetFrom>
         <OffsetTo>+0300</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>W-SU</TimeZoneId>
            <TimeZoneId extractionDefault="true">Europe/Moscow</TimeZoneId>
            <TimeZoneId>Europe/Volgograd</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+03:00) Moscow, St. Petersburg, Volgograd</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+0400</OffsetFrom>
         <OffsetTo>+0300</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0300</OffsetFrom>
         <OffsetTo>+0400</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Indian/Antananarivo</TimeZoneId>
            <TimeZoneId>Africa/Asmara</TimeZoneId>
            <TimeZoneId>Africa/Djibouti</TimeZoneId>
            <TimeZoneId extractionDefault="true">EAT</TimeZoneId>
            <TimeZoneId>Indian/Comoro</TimeZoneId>
            <TimeZoneId>Africa/Asmera</TimeZoneId>
            <TimeZoneId>Africa/Kampala</TimeZoneId>
            <TimeZoneId>Africa/Khartoum</TimeZoneId>
            <TimeZoneId>Africa/Addis_Ababa</TimeZoneId>
            <TimeZoneId>Africa/Dar_es_Salaam</TimeZoneId>
            <TimeZoneId>Africa/Mogadishu</TimeZoneId>
            <TimeZoneId>Africa/Nairobi</TimeZoneId>
            <TimeZoneId>Indian/Mayotte</TimeZoneId>
            <TimeZoneId>Antarctica/Syowa</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+03:00) Nairobi</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0300</OffsetFrom>
         <OffsetTo>+0300</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0300</OffsetFrom>
         <OffsetTo>+0300</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Asia/Tbilisi</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+03:00) Tbilisi</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+0300</OffsetFrom>
         <OffsetTo>+0300</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0300</OffsetFrom>
         <OffsetTo>+0300</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Iran</TimeZoneId>
            <TimeZoneId extractionDefault="true">Asia/Tehran</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+03:30) Tehran</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0430</OffsetFrom>
         <OffsetTo>+0330</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>September</Month>
            <Day>Tuesday</Day>
            <DayOffset>Fourth</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0330</OffsetFrom>
         <OffsetTo>+0430</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>First</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Asia/Muscat</TimeZoneId>
            <TimeZoneId>Asia/Dubai</TimeZoneId>
            <TimeZoneId>Indian/Reunion</TimeZoneId>
            <TimeZoneId>Indian/Mahe</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+04:00) Abu Dhabi, Muscat</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0400</OffsetFrom>
         <OffsetTo>+0400</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0400</OffsetFrom>
         <OffsetTo>+0400</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Asia/Baku</TimeZoneId>
            <TimeZoneId extractionDefault="true">NET</TimeZoneId>
            <TimeZoneId>Asia/Yerevan</TimeZoneId>
            <TimeZoneId>Indian/Mauritius</TimeZoneId>
            <TimeZoneId>Europe/Samara</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+04:00) Baku</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+0500</OffsetFrom>
         <OffsetTo>+0400</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0400</OffsetFrom>
         <OffsetTo>+0500</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Asia/Yerevan</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+04:00) Yerevan</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+0500</OffsetFrom>
         <OffsetTo>+0400</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0400</OffsetFrom>
         <OffsetTo>+0500</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Asia/Kabul</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+04:30) Kabul</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0430</OffsetFrom>
         <OffsetTo>+0430</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0430</OffsetFrom>
         <OffsetTo>+0430</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Asia/Yekaterinburg</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+05:00) Ekaterinburg</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+0600</OffsetFrom>
         <OffsetTo>+0500</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0500</OffsetFrom>
         <OffsetTo>+0600</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Asia/Karachi</TimeZoneId>
            <TimeZoneId extractionDefault="true">PLT</TimeZoneId>
            <TimeZoneId>Asia/Samarkand</TimeZoneId>
            <TimeZoneId>Asia/Tashkent</TimeZoneId>
            <TimeZoneId>Asia/Dushanbe</TimeZoneId>
            <TimeZoneId>Asia/Aqtobe</TimeZoneId>
            <TimeZoneId>Asia/Aqtau</TimeZoneId>
            <TimeZoneId>Asia/Oral</TimeZoneId>
            <TimeZoneId>Asia/Ashgabat</TimeZoneId>
            <TimeZoneId>Indian/Maldives</TimeZoneId>
            <TimeZoneId>Indian/Kerguelen</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+05:00) Islamabad, Karachi</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0500</OffsetFrom>
         <OffsetTo>+0500</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0500</OffsetFrom>
         <OffsetTo>+0500</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Asia/Tashkent</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+05:00) Tashkent</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0500</OffsetFrom>
         <OffsetTo>+0500</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0500</OffsetFrom>
         <OffsetTo>+0500</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Asia/Calcutta</TimeZoneId>
            <TimeZoneId>IST</TimeZoneId>
            <TimeZoneId>Asia/Kolkata</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0530</OffsetFrom>
         <OffsetTo>+0530</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0530</OffsetFrom>
         <OffsetTo>+0530</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Asia/Colombo</TimeZoneId>
            <TimeZoneId>Antarctica/Mawson</TimeZoneId>
            <TimeZoneId>Antarctica/Vostok</TimeZoneId>
            <TimeZoneId>Indian/Chagos</TimeZoneId>
            <TimeZoneId>Indian/Cocos</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+06:00) Sri Jayawardenepura</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0600</OffsetFrom>
         <OffsetTo>+0600</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0600</OffsetFrom>
         <OffsetTo>+0600</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Asia/Katmandu</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+05:45) Kathmandu</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0545</OffsetFrom>
         <OffsetTo>+0545</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0545</OffsetFrom>
         <OffsetTo>+0545</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Asia/Almaty</TimeZoneId>
            <TimeZoneId>Asia/Novosibirsk</TimeZoneId>
            <TimeZoneId>Asia/Omsk</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+06:00) Almaty, Novosibirsk</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+0700</OffsetFrom>
         <OffsetTo>+0600</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0600</OffsetFrom>
         <OffsetTo>+0700</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>BST</TimeZoneId>
            <TimeZoneId extractionDefault="true">Asia/Dhaka</TimeZoneId>
            <TimeZoneId>Asia/Dacca</TimeZoneId>
            <TimeZoneId>Asia/Bishkek</TimeZoneId>
            <TimeZoneId>Asia/Thimbu</TimeZoneId>
            <TimeZoneId>Asia/Thimphu</TimeZoneId>
            <TimeZoneId>Asia/Qyzylorda</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+06:00) Astana, Dhaka</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0600</OffsetFrom>
         <OffsetTo>+0600</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0600</OffsetFrom>
         <OffsetTo>+0600</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Asia/Rangoon</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+06:30) Yangon (Rangoon)</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0630</OffsetFrom>
         <OffsetTo>+0630</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0630</OffsetFrom>
         <OffsetTo>+0630</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Asia/Vientiane</TimeZoneId>
            <TimeZoneId extractionDefault="true">VST</TimeZoneId>
            <TimeZoneId>Asia/Phnom_Penh</TimeZoneId>
            <TimeZoneId>Asia/Saigon</TimeZoneId>
            <TimeZoneId>Asia/Ho_Chi_Minh</TimeZoneId>
            <TimeZoneId>Asia/Bangkok</TimeZoneId>
            <TimeZoneId>Asia/Pontianak</TimeZoneId>
            <TimeZoneId>Asia/Jakarta</TimeZoneId>
            <TimeZoneId>Asia/Hovd</TimeZoneId>
            <TimeZoneId>Antarctica/Davis</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+07:00) Bangkok, Hanoi, Jakarta</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0700</OffsetFrom>
         <OffsetTo>+0700</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0700</OffsetFrom>
         <OffsetTo>+0700</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Asia/Krasnoyarsk</TimeZoneId>
            <TimeZoneId>Indian/Christmas</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+07:00) Krasnoyarsk</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+0800</OffsetFrom>
         <OffsetTo>+0700</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0700</OffsetFrom>
         <OffsetTo>+0800</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Asia/Hong_Kong</TimeZoneId>
            <TimeZoneId>Hongkong</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0800</OffsetFrom>
         <OffsetTo>+0800</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0800</OffsetFrom>
         <OffsetTo>+0800</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Asia/Irkutsk</TimeZoneId>
            <TimeZoneId>Asia/Ulaanbaatar</TimeZoneId>
            <TimeZoneId>Asia/Ulan_Bator</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+08:00) Irkutsk, Ulaan Bataar</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+0900</OffsetFrom>
         <OffsetTo>+0800</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0800</OffsetFrom>
         <OffsetTo>+0900</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Asia/Kuala_Lumpur</TimeZoneId>
            <TimeZoneId>Asia/Kuching</TimeZoneId>
            <TimeZoneId>Asia/Singapore</TimeZoneId>
            <TimeZoneId>Singapore</TimeZoneId>
            <TimeZoneId>Asia/Manila</TimeZoneId>
            <TimeZoneId>Asia/Brunei</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+08:00) Kuala Lumpur, Singapore</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0800</OffsetFrom>
         <OffsetTo>+0800</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0800</OffsetFrom>
         <OffsetTo>+0800</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Australia/Perth</TimeZoneId>
            <TimeZoneId>Antarctica/Casey</TimeZoneId>
            <TimeZoneId>Australia/West</TimeZoneId>
            <TimeZoneId>Australia/Eucla</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+08:00) Perth</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0800</OffsetFrom>
         <OffsetTo>+0800</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0800</OffsetFrom>
         <OffsetTo>+0800</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Asia/Kashgar</TimeZoneId>
            <TimeZoneId>Asia/Harbin</TimeZoneId>
            <TimeZoneId>Asia/Urumqi</TimeZoneId>
            <TimeZoneId>Asia/Chungking</TimeZoneId>
            <TimeZoneId>PRC</TimeZoneId>
            <TimeZoneId>Asia/Chongqing</TimeZoneId>
            <TimeZoneId>Asia/Taipei</TimeZoneId>
            <TimeZoneId>Asia/Shanghai</TimeZoneId>
            <TimeZoneId>Asia/Macao</TimeZoneId>
            <TimeZoneId>CTT</TimeZoneId>
            <TimeZoneId>Asia/Macau</TimeZoneId>
            <TimeZoneId>Asia/Choibalsan</TimeZoneId>
            <TimeZoneId>Asia/Makassar</TimeZoneId>
            <TimeZoneId>Asia/Ujung_Pandang</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+08:00) Taipei</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0800</OffsetFrom>
         <OffsetTo>+0800</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0800</OffsetFrom>
         <OffsetTo>+0800</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Asia/Tokyo</TimeZoneId>
            <TimeZoneId extractionDefault="true">JST</TimeZoneId>
            <TimeZoneId>Japan</TimeZoneId>
            <TimeZoneId>Asia/Dili</TimeZoneId>
            <TimeZoneId>Asia/Jayapura</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+09:00) Osaka, Sapporo, Tokyo</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0900</OffsetFrom>
         <OffsetTo>+0900</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0900</OffsetFrom>
         <OffsetTo>+0900</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Asia/Seoul</TimeZoneId>
            <TimeZoneId>Asia/Pyongyang</TimeZoneId>
            <TimeZoneId extractionDefault="true">ROK</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+09:00) Seoul</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0900</OffsetFrom>
         <OffsetTo>+0900</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0900</OffsetFrom>
         <OffsetTo>+0900</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Asia/Yakutsk</TimeZoneId>
            <TimeZoneId>Australia/Yancowinna</TimeZoneId>
            <TimeZoneId>Australia/Broken_Hill</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+09:00) Yakutsk</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+1000</OffsetFrom>
         <OffsetTo>+0900</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0900</OffsetFrom>
         <OffsetTo>+1000</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Australia/South</TimeZoneId>
            <TimeZoneId extractionDefault="true">Australia/Adelaide</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+09:30) Adelaide</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+1030</OffsetFrom>
         <OffsetTo>+0930</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+0930</OffsetFrom>
         <OffsetTo>+1030</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Australia/Darwin</TimeZoneId>
            <TimeZoneId>ACT</TimeZoneId>
            <TimeZoneId>Australia/North</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+09:30) Darwin</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0930</OffsetFrom>
         <OffsetTo>+0930</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+0930</OffsetFrom>
         <OffsetTo>+0930</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Australia/Lindeman</TimeZoneId>
            <TimeZoneId>Australia/Queensland</TimeZoneId>
            <TimeZoneId>Australia/Lord_Howe</TimeZoneId>
            <TimeZoneId>Australia/LHI</TimeZoneId>
            <TimeZoneId extractionDefault="true">Australia/Brisbane</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+10:00) Brisbane</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+1000</OffsetFrom>
         <OffsetTo>+1000</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+1000</OffsetFrom>
         <OffsetTo>+1000</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Australia/Currie</TimeZoneId>
            <TimeZoneId extractionDefault="true">Australia/Sydney</TimeZoneId>
            <TimeZoneId>Australia/NSW</TimeZoneId>
            <TimeZoneId>Australia/ACT</TimeZoneId>
            <TimeZoneId>Australia/Canberra</TimeZoneId>
            <TimeZoneId>Australia/Victoria</TimeZoneId>
            <TimeZoneId>Australia/Melbourne</TimeZoneId>
            <TimeZoneId>AET</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+10:00) Canberra, Melbourne, Sydney</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+1100</OffsetFrom>
         <OffsetTo>+1000</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+1000</OffsetFrom>
         <OffsetTo>+1100</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Pacific/Guam</TimeZoneId>
            <TimeZoneId>Pacific/Saipan</TimeZoneId>
            <TimeZoneId>Pacific/Port_Moresby</TimeZoneId>
            <TimeZoneId>Antarctica/DumontDUrville</TimeZoneId>
            <TimeZoneId>Pacific/Yap</TimeZoneId>
            <TimeZoneId>Pacific/Truk</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+10:00) Guam, Port Moresby</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+1000</OffsetFrom>
         <OffsetTo>+1000</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+1000</OffsetFrom>
         <OffsetTo>+1000</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Australia/Tasmania</TimeZoneId>
            <TimeZoneId extractionDefault="true">Australia/Hobart</TimeZoneId>
            <TimeZoneId>Asia/Sakhalin</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+10:00) Hobart</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+1100</OffsetFrom>
         <OffsetTo>+1000</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+1000</OffsetFrom>
         <OffsetTo>+1100</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>First</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId>Asia/Vladivostok</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+10:00) Vladivostok</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T030000</OnsetLocalDate>
         <OffsetFrom>+1100</OffsetFrom>
         <OffsetTo>+1000</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+1000</OffsetFrom>
         <OffsetTo>+1100</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Last</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Asia/Magadan</TimeZoneId>
            <TimeZoneId>Pacific/Efate</TimeZoneId>
            <TimeZoneId>SST</TimeZoneId>
            <TimeZoneId>Pacific/Guadalcanal</TimeZoneId>
            <TimeZoneId>Pacific/Kosrae</TimeZoneId>
            <TimeZoneId>Pacific/Noumea</TimeZoneId>
            <TimeZoneId>Pacific/Ponape</TimeZoneId>
            <TimeZoneId>Pacific/Norfolk</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+11:00) Magadan, Solomon Is., New Caledonia</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+1100</OffsetFrom>
         <OffsetTo>+1100</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+1100</OffsetFrom>
         <OffsetTo>+1100</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">NST</TimeZoneId>
            <TimeZoneId>NZ</TimeZoneId>
            <TimeZoneId>Antarctica/South_Pole</TimeZoneId>
            <TimeZoneId>Pacific/Auckland</TimeZoneId>
            <TimeZoneId>Antarctica/McMurdo</TimeZoneId>
            <TimeZoneId>Pacific/Wallis</TimeZoneId>
            <TimeZoneId>Asia/Anadyr</TimeZoneId>
            <TimeZoneId>Pacific/Chatham</TimeZoneId>
            <TimeZoneId>NZ-CHAT</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+12:00) Auckland, Wellington</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+1300</OffsetFrom>
         <OffsetTo>+1200</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>April</Month>
            <Day>Sunday</Day>
            <DayOffset>Third</DayOffset>
         </Onset>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T020000</OnsetLocalDate>
         <OffsetFrom>+1200</OffsetFrom>
         <OffsetTo>+1300</OffsetTo>
         <Onset>
            <Frequency>Yearly</Frequency>
            <Interval>1</Interval>
            <Month>October</Month>
            <Day>Sunday</Day>
            <DayOffset>First</DayOffset>
         </Onset>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Pacific/Fiji</TimeZoneId>
            <TimeZoneId>Asia/Kamchatka</TimeZoneId>
            <TimeZoneId>Pacific/Majuro</TimeZoneId>
            <TimeZoneId>Pacific/Nauru</TimeZoneId>
            <TimeZoneId>Pacific/Wake</TimeZoneId>
            <TimeZoneId>Pacific/Tarawa</TimeZoneId>
            <TimeZoneId>Pacific/Funafuti</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+12:00) Fiji, Kamchatka, Marshall Is.</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+1200</OffsetFrom>
         <OffsetTo>+1200</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+1200</OffsetFrom>
         <OffsetTo>+1200</OffsetTo>
      </DayLight>
   </TimeZone>
   <TimeZone>
      <Java>
         <TimeZoneIds>
            <TimeZoneId extractionDefault="true">Pacific/Tongatapu</TimeZoneId>
            <TimeZoneId>Pacific/Enderbury</TimeZoneId>
         </TimeZoneIds>
      </Java>
      <Exchange>
         <TimeZoneIds>
            <TimeZoneId>(GMT+13:00) Nuku'alofa</TimeZoneId>
         </TimeZoneIds>
      </Exchange>
      <Standard>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+1300</OffsetFrom>
         <OffsetTo>+1300</OffsetTo>
      </Standard>
      <DayLight>
         <OnsetLocalDate>16010101T000000</OnsetLocalDate>
         <OffsetFrom>+1300</OffsetFrom>
         <OffsetTo>+1300</OffsetTo>
      </DayLight>
   </TimeZone>
</TimeZoneMapping>