You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by pr...@apache.org on 2002/03/26 11:30:04 UTC

cvs commit: jakarta-commons-sandbox/periodicity/src/xml/schema vtimezone.xsd

prickett    02/03/26 02:30:04

  Added:       periodicity/docs tzid1.xsd.jpg tzid2.xsd.jpg
               periodicity/src/xml/schema vtimezone.xsd
  Log:
  A time zone schema complete with diagrams of the overall data structure
  of the xml schema. This was contributed by Mike George. Thanks Mike.
  
  This will be the basis for our implemetation of time zones in periodicity.
  
  Revision  Changes    Path
  1.1                  jakarta-commons-sandbox/periodicity/docs/tzid1.xsd.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-commons-sandbox/periodicity/docs/tzid2.xsd.jpg
  
  	<<Binary file>>
  
  
  1.1                  jakarta-commons-sandbox/periodicity/src/xml/schema/vtimezone.xsd
  
  Index: vtimezone.xsd
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  
      <xsd:annotation>
          <xsd:documentation xml:lang="en">
              This Time Zone Identifier schema complies with RFC 2445,
              'Internet Calendaring and Scheduling Core Object
              Specification' dated November 1998.  This schema
              is used to validate and format input for the Time
              Zone identifier.
              Project: org.apache.jakarta.periodicity
              Author: Mike George javajoe2975@comcast.net
          </xsd:documentation>
      </xsd:annotation>
  
  <!--
  This element validates the Time Zone Component Properties
  found in RFC 2445 Section 4.6.5 and 4.8.3.  
  Notes:
  1. A single VTIMEZONE can have many TZIDs.  This means that
  the same time zone may be represented by several different
  places.  for example, the following TZIDs are all in the 
  Eastern Standard Time Zone:
  US_New_York_Albany, 
  US_Florida_Miami, and 
  US_Georgia_Savannah.
  2. The LAST-MODIFIED date should be represented YYYY-MM-DD.
  3. TZID should be a globally unique name consisting of the
  country, state or region, and city or specific place.  The elements
  of the TZID can be combined to form a unique identifier as needed.
  4. TZLONGNAME should be the long form of the generic time
  zone name, i.e. Eastern Standard Time or Central Standard Time.
  5. TZSHORTNAME should be the abbreviated form of the TZLONGNAME,
  i.e. EST, CST.
  -->
      <xsd:element name="VTIMEZONE" type="UniqueTimeZone"/>
  
      <xsd:complexType name="UniqueTimeZone">
      	<xsd:sequence>
   			<xsd:element name="TZID" type="UniqueTZID"
   			   	minOccurs="1"
  				maxOccurs="unbounded"
   			/>
   	    	<xsd:element name="TZURL" type="xsd:anyURI"
      			default="None_available"
      			minOccurs="0"
      			maxOccurs="1"
      		/>
   			<xsd:element name="LAST-MODIFIED" type="xsd:date"
  	   			default="1900-01-01"
  	   			minOccurs="0"
      			maxOccurs="1"
      		/>
   			<xsd:element name="STANDARD" type="STANDARDC"/>
   			<xsd:element name="DAYLIGHT" type="DAYLIGHTC"/>
      		<xsd:element name="TZPROP" type="TimeZoneProperties"/>
       	</xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="UniqueTZID">
  	 	<xsd:sequence>
  	        <xsd:element name="Country" type="xsd:string"
  	        	default="England"/>
  	        <xsd:element name="StateOrRegion" type="xsd:string"
  	        	default="Greenwich"/>
  	        <xsd:element name="CityOrPlace" type="xsd:string"
  	        	default="Observatory"/>
  	        <xsd:element name="ZipCode" type="xsd:string"
  	        	default="00000"
  	        	minOccurs="0"
  	        	maxOccurs="unbounded"/>
  	        <xsd:element name="TelephoneAreaCode" type="xsd:string"
  	        	default="000"
  	        	minOccurs="0"
  	        	maxOccurs="unbounded"/>
  	        <xsd:element name="AdditionalID" type="xsd:string"
  	        	default="None"
  	        	minOccurs="0"
  	        	maxOccurs="unbounded"/>
  		</xsd:sequence>
  	</xsd:complexType>
       	   
  <!--
  The Time Zone Properties are a collection of properties 
  associated with a time zone that are not necessary for the
  VTIMEZONE application but may be useful.
  -->
      <xsd:complexType name="TimeZoneProperties">
  	  	<xsd:sequence>
  	        <xsd:element name="TZLONGNAME" type="xsd:string"
  	        	default="Universal Coordinated Time"
  	        />
  	        <xsd:element name="TZSHORTNAME" type="xsd:string"
  				default="UTC"
  	        />
  			<xsd:element name="TZLANG" type="xsd:language"
  				default="en"
  			/>
  			<xsd:element name="COMMENT" type="xsd:string"
  				default="No_comment"
  				minOccurs="0"
  				maxOccurs="1"
  			/>
  			<xsd:element name="XPROP" type="xsd:string"
  				default="For future use."
  				minOccurs="0"
  				maxOccurs="unbounded"
  			/>
  	   	</xsd:sequence>
  	</xsd:complexType>
   
     
  <!--
  This element validates the UTC-OFFSET.  The value should be in the 
  form HHMM.  Positive values represent time zones east of the prime
  meridian.  Negative values represent time zones west of the prime
  meridian.
  -->
      <xsd:simpleType name="UTC-OFFSET">
          <xsd:restriction base="xsd:decimal">
              <xsd:totalDigits value="4" fixed="true"/>
              <xsd:fractionDigits value="0" fixed="true"/>
              <xsd:pattern value="[+|-][0-2][0-9]{3}"/>
        </xsd:restriction>
      </xsd:simpleType>
      
  <!--
  This complextype is used to hold the standard and daylight savings
  time information.
  Notes:
  1. RRULE is a note about the time change rule.
  2. RDATE is the date that the rule was put in effect
  -->
  	<xsd:complexType name="STANDARDC">
  		<xsd:sequence>
  			<xsd:element name="OffsetS" type="OFFSET-RULES"/>
  		</xsd:sequence>
  	</xsd:complexType>
      
     	<xsd:complexType name="DAYLIGHTC">
     		<xsd:sequence>
     			<xsd:element name="OffsetD" type="OFFSET-RULES"/>
  		</xsd:sequence>
  	</xsd:complexType>
  
  	<xsd:complexType name="OFFSET-RULES">    	
  		<xsd:sequence>
      		<xsd:element name="DTSTART" type="xsd:date"
  	   			default="1900-01-01"
  	   		/>
  			<xsd:element name="TZOFFSETTO" type="UTC-OFFSET"
      			default="+0000"
      		/>
      		<xsd:element name="TZOFFSETFROM" type="UTC-OFFSET"
      			default="+0000"
      		/>
      		<xsd:element name="RRULE" type="xsd:string"
  				minOccurs="0"
  				maxOccurs="1"
  			/>
  			<xsd:element name="RDATE" type="xsd:date"
  				default="1900-01-01"
  				minOccurs="0"
  				maxOccurs="1"
      		/>
  		</xsd:sequence>
      </xsd:complexType>
      
  </xsd:schema>
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>