<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified">

<xsd:include schemaLocation="common_trans_obj.xsd"/>
<xsd:include schemaLocation="common_trans.xsd"/>

	<xsd:element name="RECURRENCE" type="RecurrenceContent"/>
	<xsd:element name="RECURRENCE_LIST" type="RecurrenceListContent"/>

	<xsd:element name="REPEATED_EX" type="RepeatedContentEx"/>

	<xsd:element name="REPEATED" type="RepeatedContent"/>

	<xsd:element name="REPEATED_TYPE" type="RepeatedType" default="weekly"/>

	<xsd:element name="DAILY" type="DailyContent"/>
	<xsd:element name="WEEKLY" type="WeeklyContent"/>
	<xsd:element name="MONTHLY" type="MonthlyContent"/>

	<xsd:element name="LIMIT" type="xsd:boolean" default="false"/>
	<xsd:element name="OCCUR_NUM" type="xsd:integer" default="1"/>
	<xsd:element name="SUNDAY" type="xsd:boolean" default="false"/>       <!-- relevant only when RepeatedType="weekly"-->	
	<xsd:element name="MONDAY" type="xsd:boolean" default="false"/>       <!-- relevant only when RepeatedType="weekly"-->
	<xsd:element name="TUESDAY" type="xsd:boolean" default="false"/>      <!-- relevant only when RepeatedType="weekly"-->
	<xsd:element name="WEDNESDAY" type="xsd:boolean" default="false"/>    <!-- relevant only when RepeatedType="weekly"-->
	<xsd:element name="THURSDAY" type="xsd:boolean" default="false"/>     <!-- relevant only when RepeatedType="weekly"-->
	<xsd:element name="FRIDAY" type="xsd:boolean" default="false"/>       <!-- relevant only when RepeatedType="weekly"-->
	<xsd:element name="SATURDAY" type="xsd:boolean" default="false"/>     <!-- relevant only when RepeatedType="weekly"-->
	<xsd:element name="TIME_INTERVAL" type="xsd:integer" default="1"/>
	<xsd:element name="DAY_OF_MONTH" type="xsd:integer"/>
	<xsd:element name="INSTANCE" type="InstanceType"/>
	<xsd:element name="MONTHLY_PATTERN" type="MonthlyPatternType"/>
	<xsd:element name="GMT_OFFSET" type="GMTOffsetType"/>

	<xsd:group name="REPEATED_TYPE_EX">
		<xsd:choice>
			<xsd:element ref="DAILY"/>
			<xsd:element ref="WEEKLY"/>
			<xsd:element ref="MONTHLY"/>
		</xsd:choice>
	</xsd:group>

	<xsd:complexType name="DailyContent">
		<xsd:sequence>
			<xsd:element ref="SUNDAY" minOccurs="0"/>
			<xsd:element ref="MONDAY" minOccurs="0"/>
			<xsd:element ref="TUESDAY" minOccurs="0"/>
			<xsd:element ref="WEDNESDAY" minOccurs="0"/>
			<xsd:element ref="THURSDAY" minOccurs="0"/>
			<xsd:element ref="FRIDAY" minOccurs="0"/>
			<xsd:element ref="SATURDAY" minOccurs="0"/>
			<xsd:element ref="TIME_INTERVAL" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="WeeklyContent">
		<xsd:sequence>
			<xsd:element ref="SUNDAY" minOccurs="0"/>
			<xsd:element ref="MONDAY" minOccurs="0"/>
			<xsd:element ref="TUESDAY" minOccurs="0"/>
			<xsd:element ref="WEDNESDAY" minOccurs="0"/>
			<xsd:element ref="THURSDAY" minOccurs="0"/>
			<xsd:element ref="FRIDAY" minOccurs="0"/>
			<xsd:element ref="SATURDAY" minOccurs="0"/>
			<xsd:element ref="TIME_INTERVAL" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="MonthlyContent">
		<xsd:sequence>
			<xsd:element ref="MONTHLY_PATTERN" minOccurs="0"/>	
			<xsd:element ref="TIME_INTERVAL" minOccurs="0"/>
			<xsd:element ref="DAY_OF_MONTH" minOccurs="0"/>	
			<xsd:element ref="INSTANCE" minOccurs="0"/>	
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:simpleType name="MonthlyPatternType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="by_date"/>
			<xsd:enumeration value="by_day"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="InstanceType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="first"/>
			<xsd:enumeration value="second"/>
			<xsd:enumeration value="third"/>
			<xsd:enumeration value="fourth"/>
			<xsd:enumeration value="last"/>
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:complexType name="GMTOffsetType">
		<xsd:sequence>
			<xsd:element ref="HOUR"/>
			<xsd:element ref="MINUTE"/>
			<xsd:element ref="SIGN"/>
		</xsd:sequence>
	</xsd:complexType>

	<!-- obsolete -->
	<xsd:simpleType name="RepeatedType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="daily"/>
			<xsd:enumeration value="weekly"/>
			<xsd:enumeration value="monthly"/>
		</xsd:restriction>
	</xsd:simpleType>

	<!-- obsolete -->
	<xsd:complexType name="RepeatedContent">
		<xsd:sequence>
			<xsd:element ref="REPEATED_TYPE"/>
			<xsd:element ref="OCCUR_NUM" minOccurs="0"/>   <!-- relevant only when limit="no"-->
			<xsd:element ref="SUNDAY" minOccurs="0"/>       <!-- relevant only when RepeatedType="weekly"-->
			<xsd:element ref="MONDAY" minOccurs="0"/>       <!-- relevant only when RepeatedType="weekly"-->
			<xsd:element ref="TUESDAY" minOccurs="0"/>      <!-- relevant only when RepeatedType="weekly"-->
			<xsd:element ref="WEDNESDAY" minOccurs="0"/>    <!-- relevant only when RepeatedType="weekly"-->
			<xsd:element ref="THURSDAY" minOccurs="0"/>     <!-- relevant only when RepeatedType="weekly"-->
			<xsd:element ref="FRIDAY" minOccurs="0"/>       <!-- relevant only when RepeatedType="weekly"-->
			<xsd:element ref="SATURDAY" minOccurs="0"/>     <!-- relevant only when RepeatedType="weekly"-->
			<xsd:element ref="LIMIT" minOccurs="0"/>
			<xsd:element ref="END_TIME" minOccurs="0"/>     <!-- in GMT !!!--> <!-- relevant only when limit="yes"-->
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType> 

	<xsd:complexType name="RepeatedContentEx">
		<xsd:sequence>
			<xsd:group ref="REPEATED_TYPE_EX"/>
			<xsd:element ref="OCCUR_NUM" minOccurs="0"/>   <!-- relevant only when limit="no"-->
			<xsd:element ref="LIMIT" minOccurs="0"/>
			<xsd:element ref="END_TIME" minOccurs="0"/>     <!-- in GMT !!!--> <!-- relevant only when limit="yes"-->
			<xsd:element ref="GMT_OFFSET" minOccurs="0"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType> 

	<xsd:complexType name="RecurrenceListContent">
		<xsd:sequence>
			<xsd:element ref="RECURRENCE" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="RecurrenceContent">
		<xsd:sequence>
			<xsd:element ref="NAME"/>
			<xsd:element ref="RETURN_STATUS" minOccurs="0"/> <!-- Only for response messages -->
			<xsd:element ref="START_TIME"/>
			<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
		</xsd:sequence>
	</xsd:complexType>

</xsd:schema>
