<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="urn:cde.berkeley.edu:babl:events:0.01" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:ev="urn:cde.berkeley.edu:babl:events:0.01" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-1.0" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-1.0">
	<xs:import namespace="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-1.0" schemaLocation="http://docs.oasis-open.org/ubl/cd-UBL-1.0/xsd/common/UBL-CommonAggregateComponents-1.0.xsd"/>
	<xs:import namespace="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-1.0" schemaLocation="http://docs.oasis-open.org/ubl/cd-UBL-1.0/xsd/common/UBL-CommonBasicComponents-1.0.xsd"/>
	<xs:annotation>
		<xs:documentation>University of California, Berkeley</xs:documentation>
		<xs:documentation>e-Berkeley Program Office</xs:documentation>
		<xs:documentation>UC Berkeley Calendar Network</xs:documentation>
		<xs:documentation>Allison Bloodworth</xs:documentation>
		<xs:documentation>This document incorporates UC Berkeley Calendar Event modeling work done by Allison Bloodworth, Sara Leavitt, Lawrence Hall of Science, Kathleen Connors, Lawrence Hall of Science, Jeff McCullough, CalAgenda, Sarah Jones, CalAgenda and Mimi Mugler, Cal Agenda during 2003-2004.</xs:documentation>
		<xs:documentation>This file contains a W3C XML schema definition for a group of public calendar Events. The model was created based on a study of events in web-based university event calendars.</xs:documentation>
		<xs:documentation>Last updated: 8/25/05</xs:documentation>
		<xs:documentation>This is a "Garden of Eden" style schema where all the elements and types are global to allow for redefines and substitution groups. Redefines are useful for creating enumerated types for elements, and substitution groups are useful for creating an element that can substitute for another one. For instance, a "Performance Event" might have different elements and constraints, but using a substitution group it can be substituted for a generic Event. Container elements are used whenever an element is unbounded. Almost all top-level elements directly under Event are optional and unbounded (inside a container element) to allow for maximum reusability of the schema. Exceptions to this rule include EventTitle and DateTime, as we consider these to be the "Core" of an Event, which all events should contain. Most other elements are also optional, and many are unbounded (inside a container element). However, at least one element is required if a container for it exists, although the container itself is optional (e.g. a Sponsor within the Sponsors elements) and all boolean elements can occur between 0-1 times (meaning they can't be unbounded). Additionally, elements that describe their parent element for which there should clearly only be one are not unbounded.</xs:documentation>
		<xs:documentation>The DateTime section of the schema is based on the IETF iCalendar Specification, RFC 2445, available at http://www.ietf.org/rfc/rfc2445.txt. We recommend that all users of this schema follow the guidelines set forth in RFC 2445.</xs:documentation>
		<xs:documentation>We suggest that users of this schema either use redefines, substitution groups, or restrictions to represent any additional business rules required in their particular situation. Additionally, this schema uses xs:anyType, the universal type which accepts any content model, to allow users to define any additional elements of an Event which may be required.</xs:documentation>
	</xs:annotation>
	<!-- Event CORE: EventTitle, DateTime -->
	<!-- Event DESCRIPTION/RESOURCES: EventSubtitle, EventID, Locations, EventTypes, Languages, EventTransparency, Description, ShortDescription, WebPages, Webcasts, Images, Documents-->
	<!-- Event PARTIES:  Participants, Performers, Sponsors-->
	<!-- Event ENTRY CONDITIONS: TargetAudiences, OpenToAudiences, AttendanceRestrictions, AdmissionInfoGroups (e.g. tickets, registration, enrollment, reservations, RSVP, etc.), AccessibilityInfo-->
	<!-- Event ADMINISTRATIVE: Event Owners, PublicEventContacts, EventListingContacts, Status, Classification, ChangeManagement-->
	<!-- Event MARKETING: RelatedEvents, FeaturedEventTypes, EventPromotions, PrivateComments, Keywords, Refreshments -->
	<!-- ######################################## -->
	<!-- GLOBAL ELEMENTS -->
	<!-- ######################################## -->
	<xs:element name="Events" type="ev:EventsType"/>
	<xs:element name="Event" type="ev:EventType">
		<xs:annotation>
			<xs:documentation>Something that takes place; an occurrence.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="AccessibilityInfo" type="ev:AccessibilityInfoType"/>
	<xs:element name="AdditionalPublicInfo" type="ev:AdditionalPublicInfoType"/>
	<xs:element name="Addresses" type="ev:AddressesType"/>
	<xs:element name="Address" type="cac:AddressType"/>
	<xs:element name="AdmissionInfoGroup" type="ev:AdmissionInfoGroupType"/>
	<xs:element name="AdmissionInfoGroupAdditionalInfo" type="ev:AdmissionInfoGroupAdditionalInfoType"/>
	<xs:element name="AdmissionInfoGroupCharge" type="ev:AdmissionInfoGroupChargeType"/>
	<xs:element name="AdmissionInfoGroupCharges" type="ev:AdmissionInfoGroupChargesType"/>
	<xs:element name="AdmissionInfoGroupContact" type="ev:ContactInfoType"/>
	<xs:element name="AdmissionInfoGroupContacts" type="ev:AdmissionInfoGroupContactsType"/>
	<xs:element name="AdmissionInfoGroupObligation" type="ev:AdmissionInfoGroupObligationType"/>
	<xs:element name="AdmissionInfoGroups" type="ev:AdmissionInfoGroupsType"/>
	<xs:element name="Amount" type="ev:AmountType"/>
	<xs:element name="AttendanceRestriction" type="ev:AttendanceRestrictionType"/>
	<xs:element name="AttendanceRestrictions" type="ev:AttendanceRestrictionsType"/>
	<xs:element name="ByDayOfWeek" type="ev:ByDayOfWeekType"/>
	<xs:element name="ByDaysOfWeek" type="ev:ByDaysOfWeekType"/>
	<xs:element name="ByHour" type="ev:ByHourType"/>
	<xs:element name="ByHours" type="ev:ByHoursType"/>
	<xs:element name="ByMinute" type="ev:ByMinuteType"/>
	<xs:element name="ByMinutes" type="ev:ByMinutesType"/>
	<xs:element name="ByMonth" type="ev:ByMonthType"/>
	<xs:element name="ByMonths" type="ev:ByMonthsType"/>
	<xs:element name="ByMonthDay" type="ev:ByMonthDayType"/>
	<xs:element name="ByMonthDays" type="ev:ByMonthDaysType"/>
	<xs:element name="BySeasons" type="ev:BySeasonsType"/>
	<xs:element name="BySetPosition" type="ev:BySetPositionType"/>
	<xs:element name="BySetPositions" type="ev:BySetPositionsType"/>
	<xs:element name="ByWeekNumber" type="ev:ByWeekNumberType"/>
	<xs:element name="ByWeekNumbers" type="ev:ByWeekNumbersType"/>
	<xs:element name="ByYearDay" type="ev:ByYearDayType"/>
	<xs:element name="ByYearDays" type="ev:ByYearDaysType"/>
	<xs:element name="ChangeManagement" type="ev:ChangeManagementType"/>
	<xs:element name="ContactInfo" type="ev:ContactInfoType"/>
	<xs:element name="ContactName" type="ev:NameType"/>
	<xs:element name="Count" type="ev:CountType"/>
	<xs:element name="Date" type="ev:DateType"/>
	<xs:element name="DateAvailable" type="ev:DateAvailableType"/>
	<xs:element name="DateCreated" type="ev:DateCreatedType"/>
	<xs:element name="DateModified" type="ev:DateModifiedType"/>
	<xs:element name="DatesModified" type="ev:DatesModifiedType"/>
	<xs:element name="DateTime" type="ev:DateTimeType"/>
	<xs:element name="DayInterval" type="ev:DayIntervalType"/>
	<xs:element name="Deadline" type="ev:DeadlineType"/>
	<xs:element name="Description" type="ev:DescriptionType"/>
	<xs:element name="Directions" type="ev:DirectionsType"/>
	<xs:element name="DistinctDate" type="ev:DistinctDateType"/>
	<xs:element name="Document" type="ev:DocumentType"/>
	<xs:element name="Documents" type="ev:DocumentsType"/>
	<xs:element name="Duration" type="ev:DurationType"/>
	<xs:element name="EmailAddress" type="ev:EmailAddressType"/>
	<xs:element name="EmailAddresses" type="ev:EmailAddressesType"/>
	<xs:element name="EndDate" type="ev:EndDateType"/>
	<xs:element name="EndTime" type="ev:EndTimeType"/>
	<xs:element name="EntryConditions" type="ev:EntryConditionsType"/>
	<xs:element name="EventContact" type="ev:EventContactType"/>
	<xs:element name="EventContactID" type="ev:EventContactIDType"/>
	<xs:element name="EventContactParentID" type="ev:EventContactParentIDType"/>
	<xs:element name="EventOwner" type="ev:EventOwnerType"/>
	<xs:element name="EventOwnerID" type="ev:EventOwnerIDType"/>
	<xs:element name="EventOwnerParentID" type="ev:EventOwnerParentIDType"/>
	<xs:element name="EventOwners" type="ev:EventOwnersType"/>
	<xs:element name="EventID" type="ev:EventIDType"/>
	<xs:element name="EventListingContacts" type="ev:EventContactsType"/>
	<xs:element name="EventPromotion" type="ev:EventPromotionType"/>
	<xs:element name="EventPromotions" type="ev:EventPromotionsType"/>
	<xs:element name="EventSubtitle" type="ev:EventSubtitleType"/>
	<xs:element name="EventTitle" type="ev:EventTitleType"/>
	<xs:element name="EventType" type="ev:EventTypeType"/>
	<xs:element name="EventTypeDescription" type="ev:EventTypeDescriptionType"/>
	<xs:element name="EventTypeID" type="ev:EventTypeIDType"/>
	<xs:element name="EventTypeParentID" type="ev:EventTypeParentIDType"/>
	<xs:element name="EventTypes" type="ev:EventTypesType"/>
	<xs:element name="ExceptionDate" type="ev:ExceptionDateType"/>
	<xs:element name="ExceptionDates" type="ev:ExceptionDatesType"/>
	<xs:element name="ExceptionRules" type="ev:RulesType"/>
	<xs:element name="Extension" type="ev:ExtensionType"/>
	<xs:element name="FeaturedEventTypes" type="ev:FeaturedEventTypesType"/>
	<xs:element name="FileSize" type="ev:FileSizeType"/>
	<xs:element name="FirstName" type="ev:FirstNameType"/>
	<xs:element name="FullName" type="ev:FullNameType"/>
	<xs:element name="Height" type="ev:HeightType"/>
	<xs:element name="Image" type="ev:ImageType"/>
	<xs:element name="Images" type="ev:ImagesType"/>
	<xs:element name="Interval" type="ev:IntervalType"/>
	<xs:element name="JobTitle" type="ev:JobTitleType"/>
	<xs:element name="JobTitles" type="ev:JobTitlesType"/>
	<xs:element name="Keyword" type="ev:KeywordType"/>
	<xs:element name="Keywords" type="ev:KeywordsType"/>
	<xs:element name="Languages" type="ev:LanguagesType"/>
	<xs:element name="LastModified" type="ev:LastModifiedType"/>
	<xs:element name="LastName" type="ev:LastNameType"/>
	<xs:element name="Location" type="ev:LocationType"/>
	<xs:element name="LocationHours" type="ev:LocationHoursType"/>
	<xs:element name="LocationName" type="ev:LocationNameType"/>
	<xs:element name="Locations" type="ev:LocationsType"/>
	<xs:element name="LocationType" type="ev:LocationTypeType"/>
	<xs:element name="LocationTypes" type="ev:LocationTypesType"/>
	<xs:element name="MapLink" type="ev:URLType"/>
	<xs:element name="MapLinks" type="ev:MapLinksType"/>
	<xs:element name="MiddleName" type="ev:MiddleNameType"/>
	<xs:element name="MiddleNames" type="ev:MiddleNamesType"/>
	<xs:element name="Name" type="ev:NameType"/>
	<xs:element name="OpenToAudiences" type="ev:OpenToAudiencesType"/>
	<xs:element name="OrganizationName" type="ev:OrganizationNameType"/>
	<xs:element name="Participant" type="ev:ParticipantType"/>
	<xs:element name="ParticipantID" type="ev:ParticipantIDType"/>
	<xs:element name="ParticipantParentID" type="ev:ParticipantParentIDType"/>
	<xs:element name="Participants" type="ev:ParticipantsType"/>
	<xs:element name="ParticipantTypes" type="ev:ParticipantTypesType"/>
	<xs:element name="Performer" type="ev:PerformerType"/>
	<xs:element name="PerformerID" type="ev:PerformerIDType"/>
	<xs:element name="PerformerParentID" type="ev:PerformerParentIDType"/>
	<xs:element name="Performers" type="ev:PerformersType"/>
	<xs:element name="PerformerTypes" type="ev:PerformerTypesType"/>
	<xs:element name="Period" type="ev:PeriodType"/>
	<xs:element name="PersonalNameSuffix" type="ev:PersonalNameSuffixType"/>
	<xs:element name="Phone" type="ev:PhoneType"/>
	<xs:element name="PhoneNumber" type="ev:PhoneNumberType"/>
	<xs:element name="PhoneNumberExtension" type="ev:PhoneNumberExtensionType"/>
	<xs:element name="Phones" type="ev:PhonesType"/>
	<xs:element name="PlayerType" type="ev:PlayerTypeType"/>
	<xs:element name="PrivateComment" type="ev:PrivateCommentType"/>
	<xs:element name="PrivateComments" type="ev:PrivateCommentsType"/>
	<xs:element name="ProfessionalAffiliation" type="ev:ProfessionalAffiliationType"/>
	<xs:element name="ProfessionalAffiliations" type="ev:ProfessionalAffiliationsType"/>
	<xs:element name="PublicEventContacts" type="ev:EventContactsType"/>
	<xs:element name="Refreshments" type="ev:RefreshmentsType"/>
	<xs:element name="RelatedEvent" type="ev:RelatedEventType"/>
	<xs:element name="RelatedEvents" type="ev:RelatedEventsType"/>
	<xs:element name="RelationType" type="ev:RelationType"/>
	<xs:element name="RecurrenceDate" type="ev:RecurrenceDateType"/>
	<xs:element name="RecurrenceDates" type="ev:RecurrenceDatesType"/>
	<xs:element name="RecurrenceID" type="ev:RecurrenceIDType"/>
	<xs:element name="RecurrenceIDDate" type="ev:DistinctDateType"/>
	<xs:element name="RecurrenceRules" type="ev:RulesType"/>
	<xs:element name="Rule" type="ev:RuleType"/>
	<xs:element name="SequenceNumber" type="ev:SequenceNumberType"/>
	<xs:element name="ShortDescription" type="ev:ShortDescriptionType"/>
	<xs:element name="Sponsor" type="ev:SponsorType"/>
	<xs:element name="SponsorID" type="ev:SponsorIDType"/>
	<xs:element name="SponsorParentID" type="ev:SponsorParentIDType"/>
	<xs:element name="Sponsors" type="ev:SponsorsType"/>
	<xs:element name="SponsorTypes" type="ev:SponsorTypesType"/>
	<xs:element name="StartDate" type="ev:StartDateType"/>
	<xs:element name="StartTime" type="ev:StartTimeType"/>
	<xs:element name="TargetAudiences" type="ev:TargetAudiencesType"/>
	<xs:element name="Time" type="ev:TimeType"/>
	<xs:element name="Title" type="ev:TitleType"/>
	<xs:element name="Until" type="ev:UntilType"/>
	<xs:element name="URL" type="ev:URLType"/>
	<xs:element name="Webcast" type="ev:WebcastType"/>
	<xs:element name="WebcastAdditionalInfo" type="ev:WebcastAdditionalInfoType"/>
	<xs:element name="Webcasts" type="ev:WebcastsType"/>
	<xs:element name="WebcastURLs" type="ev:WebcastURLsType"/>
	<xs:element name="WebPage" type="ev:WebPageType"/>
	<xs:element name="WebPages" type="ev:WebPagesType"/>
	<xs:element name="Width" type="ev:WidthType"/>
	<!-- ######################################## -->
	<!-- GLOBAL ELEMENTS which will often have enumerated lists -->
	<!-- ######################################## -->
	<xs:element name="AdmissionInfoGroupStatus" type="ev:AdmissionInfoGroupStatusType"/>
	<xs:element name="AdmissionInfoGroupType" type="ev:AdmissionInfoGroupTypeType"/>
	<xs:element name="Bandwidth" type="ev:BandwidthType"/>
	<xs:element name="BySeason" type="ev:BySeasonType"/>
	<xs:element name="Classification" type="ev:ClassificationType"/>
	<xs:element name="Currency" type="ev:CurrencyType"/>
	<xs:element name="DayOfWeek" type="ev:DayOfWeekType"/>
	<xs:element name="EventContactType" type="ev:EventContactTypeType"/>
	<xs:element name="EventOwnerType" type="ev:EventOwnerTypeType"/>
	<xs:element name="EventStatus" type="ev:EventStatusType"/>
	<xs:element name="EventTransparency" type="ev:EventTransparencyType"/>
	<xs:element name="EventTypeName" type="ev:EventTypeNameType"/>
	<xs:element name="EventTypeType" type="ev:EventTypeTypeType"/>
	<xs:element name="FeaturedEventType" type="ev:FeaturedEventTypeType"/>
	<xs:element name="Frequency" type="ev:FrequencyType"/>
	<xs:element name="Language" type="ev:LanguageType"/>
	<xs:element name="OpenToAudience" type="ev:OpenToAudienceType"/>
	<xs:element name="ParticipantType" type="ev:ParticipantTypeType"/>
	<xs:element name="PerformerType" type="ev:PerformerTypeType"/>
	<xs:element name="PersonalNameTitle" type="ev:PersonalNameTitleType"/>
	<xs:element name="PhoneNumberType" type="ev:PhoneNumberTypeType"/>
	<xs:element name="PreferredContactMethod" type="ev:PreferredContactMethodType"/>
	<xs:element name="RecurrenceIDRange" type="ev:RecurrenceIDRangeType"/>
	<xs:element name="SponsorType" type="ev:SponsorTypeType"/>
	<xs:element name="TargetAudience" type="ev:TargetAudienceType"/>
	<xs:element name="WebcastStatus" type="ev:WebcastStatusType"/>
	<xs:element name="WeekStart" type="ev:DayOfWeekType"/>
	<!-- ######################################## -->
	<!-- SIMPLE TYPES declared globally are often redefined to have enumerated lists-->
	<!-- ######################################## -->
	<xs:simpleType name="AdmissionInfoGroupStatusType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="AdmissionInfoGroupTypeType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="BandwidthType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="BySeasonType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="ClassificationType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="CurrencyType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="DayOfWeekType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="EventContactTypeType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="EventOwnerTypeType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="EventStatusType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="EventTransparencyType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="EventTypeNameType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="EventTypeTypeType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="FeaturedEventTypeType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="FrequencyType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="LanguageType">
		<xs:restriction base="xs:language"/>
	</xs:simpleType>
	<xs:simpleType name="OpenToAudienceType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="ParticipantTypeType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PerformerTypeType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PlayerTypeType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PersonalNameTitleType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PhoneNumberTypeType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PreferredContactMethodType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="RecurrenceIDRangeType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SponsorTypeType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="TargetAudienceType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="WebcastStatusType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<!-- ######################################## -->
	<!-- Other SIMPLE TYPES declared globally -->
	<!-- ######################################## -->
	<xs:simpleType name="AccessibilityInfoType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="AdditionalPublicInfoType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="AdmissionInfoGroupAdditionalInfoType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="AdmissionInfoGroupObligationType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="AmountType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="AttendanceRestrictionType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="CountType">
		<xs:restriction base="xs:integer"/>
	</xs:simpleType>
	<xs:simpleType name="DateAvailableType">
		<xs:restriction base="xs:date"/>
	</xs:simpleType>
	<xs:simpleType name="DateCreatedType">
		<xs:restriction base="xs:date"/>
	</xs:simpleType>
	<xs:simpleType name="DateModifiedType">
		<xs:restriction base="xs:date"/>
	</xs:simpleType>
	<xs:simpleType name="DateType">
		<xs:restriction base="xs:date"/>
	</xs:simpleType>
	<xs:simpleType name="DayIntervalType">
		<xs:restriction base="xs:integer"/>
	</xs:simpleType>
	<xs:simpleType name="DeadlineType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="DescriptionType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="DirectionsType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="DurationType">
		<xs:restriction base="xs:duration"/>
	</xs:simpleType>
	<xs:simpleType name="EmailAddressType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="EndDateType">
		<xs:restriction base="xs:date"/>
	</xs:simpleType>
	<xs:simpleType name="EndTimeType">
		<xs:restriction base="xs:time"/>
	</xs:simpleType>
	<xs:simpleType name="EventContactIDType">
		<xs:restriction base="xs:normalizedString"/>
	</xs:simpleType>
	<xs:simpleType name="EventContactParentIDType">
		<xs:restriction base="xs:normalizedString"/>
	</xs:simpleType>
	<xs:simpleType name="EventIDType">
		<xs:restriction base="xs:normalizedString"/>
	</xs:simpleType>
	<xs:simpleType name="EventOwnerIDType">
		<xs:restriction base="xs:normalizedString"/>
	</xs:simpleType>
	<xs:simpleType name="EventOwnerParentIDType">
		<xs:restriction base="xs:normalizedString"/>
	</xs:simpleType>
	<xs:simpleType name="EventSubtitleType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="EventTitleType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="EventTypeIDType">
		<xs:restriction base="xs:normalizedString"/>
	</xs:simpleType>
	<xs:simpleType name="EventTypeParentIDType">
		<xs:restriction base="xs:normalizedString"/>
	</xs:simpleType>
	<xs:simpleType name="EventTypeDescriptionType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="FileSizeType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="FirstNameType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="FullNameType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="HeightType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="IntervalType">
		<xs:restriction base="xs:integer"/>
	</xs:simpleType>
	<xs:simpleType name="JobTitleType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="KeywordType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="LastModifiedType">
		<xs:restriction base="xs:date"/>
	</xs:simpleType>
	<xs:simpleType name="LastNameType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="LocationHoursType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="LocationNameType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="LocationTypeType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="MiddleNameType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="ParticipantIDType">
		<xs:restriction base="xs:normalizedString"/>
	</xs:simpleType>
	<xs:simpleType name="ParticipantParentIDType">
		<xs:restriction base="xs:normalizedString"/>
	</xs:simpleType>
	<xs:simpleType name="PerformerIDType">
		<xs:restriction base="xs:normalizedString"/>
	</xs:simpleType>
	<xs:simpleType name="PerformerParentIDType">
		<xs:restriction base="xs:normalizedString"/>
	</xs:simpleType>
	<xs:simpleType name="PersonalNameSuffixType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PhoneNumberExtensionType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PhoneNumberType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="PrivateCommentType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="OrganizationNameType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="RefreshmentsType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="RelationType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SequenceNumberType">
		<xs:restriction base="xs:integer"/>
	</xs:simpleType>
	<xs:simpleType name="ShortDescriptionType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="SponsorIDType">
		<xs:restriction base="xs:normalizedString"/>
	</xs:simpleType>
	<xs:simpleType name="SponsorParentIDType">
		<xs:restriction base="xs:normalizedString"/>
	</xs:simpleType>
	<xs:simpleType name="StartDateType">
		<xs:restriction base="xs:date"/>
	</xs:simpleType>
	<xs:simpleType name="StartTimeType">
		<xs:restriction base="xs:time"/>
	</xs:simpleType>
	<xs:simpleType name="TitleType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="TimeType">
		<xs:restriction base="xs:time"/>
	</xs:simpleType>
	<xs:simpleType name="URLType">
		<xs:restriction base="xs:anyURI"/>
	</xs:simpleType>
	<xs:simpleType name="WebcastAdditionalInfoType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="WidthType">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<!-- ######################################## -->
	<!-- DateTime related SIMPLE TYPES declared globally -->
	<!-- ######################################## -->
	<xs:simpleType name="ByMinuteType">
		<xs:restriction base="xs:integer">
			<xs:pattern value="[0-5][0-9]"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ByHourType">
		<xs:restriction base="xs:integer">
			<xs:pattern value="[0-1][0-9]|[2][0-3]"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ByWeekNumberType">
		<xs:restriction base="xs:integer">
			<xs:pattern value="-[1-9]|-[1-4][0-9]|-[5][0-3]|[1-9]|[1-4][0-9]|[5][0-3]"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ByMonthType">
		<xs:restriction base="xs:integer">
			<xs:pattern value="[1-9]|[1][0-2]"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ByMonthDayType">
		<xs:restriction base="xs:integer">
			<xs:pattern value="-[1-9]|-[1-2][0-9]|-[3][0-1]|[1-9]|[1-2][0-9]|[3][0-1]"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ByYearDayType">
		<xs:restriction base="xs:integer">
			<xs:pattern value="-[1-9]|-[0-2][1-9][0-9]|-[3][0-5][0-9]|-[3][6][0-6]|[1-9]|[0-2][1-9][0-9]|[3][0-5][0-9]|[3][6][0-6]"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="BySetPositionType">
		<xs:restriction base="xs:integer">
			<xs:pattern value="-[1-9]|-[0-2][1-9][0-9]|-[3][0-5][0-9]|-[3][6][0-6]|[1-9]|[0-2][1-9][0-9]|[3][0-5][0-9]|[3][6][0-6]"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- ######################################## -->
	<!-- GLOBAL COMPLEX TYPES -->
	<!-- ######################################## -->
	<xs:complexType name="EventsType">
		<xs:sequence>
			<xs:element ref="ev:Event" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!-- BEGIN EVENT TYPE ############################## -->
	<xs:complexType name="EventType">
		<xs:sequence>
			<xs:element ref="ev:EventID" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The unique identifier of an event. The EventID itself should be a globally unique identifier. From iCalendar (RFC-2445) specification: "The generator of the identifier MUST guarantee that the identifier is unique. There are several algorithms that can be used to accomplish this. The identifier is RECOMMENDED to be the identical syntax to the [RFC 822] addr-spec. A good method to assure uniqueness is to put the domain name or a domain literal IP address of the host on which the identifier was created on the right hand side of the "@", and on the left hand side, put a combination of the current calendar date and time of day (i.e., formatted in as a DATE-TIME value) along with some other currently unique (perhaps sequential) identifier available on the system (for example, a process id number)."</xs:documentation>
					<xs:documentation>Adapted from RFC 2445: "The full range of calendar Events specified by a recurrence set (a set of recurring events which are grouped together, most likely because they were initially entered into the system together, and which are united by a series of RecurrenceDates or RecurrenceRules) is referenced by referring to just the EventID property value corresponding to the calendar component. The RecurrenceID property allows the reference to an individual instance within the recurrence set. This property is an important method for group scheduling applications to match requests with later replies, modifications or deletion requests."   "The "RecurrenceID" property is used in conjunction with the "EventID" and "Sequence" property to identify a particular instance of a recurring event."</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:EventTitle">
				<xs:annotation>
					<xs:documentation>The primary title of an Event.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:EventSubtitle" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Any additional or secondary information that is part of the title of an Event.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:DateTime">
				<xs:annotation>
					<xs:documentation>The day and time an Event occurs. Includes information on repetition.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:Locations" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The place or places the event occurs.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:EventTypes" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A categorization or categorizations of the event (e.g. Lecture, Seminar, Performance, etc.). This type allows for a hierarchy of Event types if necessary.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:Languages" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Languages spoken at the Event</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:EventTransparency" minOccurs="0">
				<xs:annotation>
					<xs:documentation>An indicator that an Event is transparent and doesn't take up time on an event calendar, or show up on free/busy time searches of a personal calendar. By default, Events are "Opaque". Events such as anniversaries and holidays may be "Transparent". Another special type for Event calendars is "TransparentToChild". This type is useful in situations where there is a parent event, such as a conference, which should take up an entire block of time but should also display their child events, such as certain presentations, inside of it.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:Description" minOccurs="0">
				<xs:annotation>
					<xs:documentation>An overall description of the Event.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:ShortDescription" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A shortened description of the Event which may be used when a shortened description of an event may be needed, such as highlighting an event on a home page.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:WebPages" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A webpage or webpages dedicated to the Event.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:Webcasts" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A webcast or webcasts of the Event.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:Images" minOccurs="0">
				<xs:annotation>
					<xs:documentation>An image or images associated with the Event.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:Documents" minOccurs="0">
				<xs:annotation>
					<xs:documentation>An document or documents associated with the Event.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:Participants" minOccurs="0">
				<xs:annotation>
					<xs:documentation>People or organizations who are participating in the event; attendees. This type allows for a hierarchy, or group, of Participants if necessary.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:Performers" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Featured participants at the event who are speaking or performing in some way (e.g. Speaker, Lecturer, Discussant, Performer, Dancer, etc.). This type allows for a hierarchy, or group, of Performers if necessary.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:Sponsors" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Entities who are putting on the event, sponsoring the event financially, or are otherwise known as an organizer or supporter of the Event. This type allows for a hierarchy, or group, of Sponsors if necessary</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:EntryConditions" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Information on tickets, registration, enrollment, reservations, RSVP, etc., target audiences, open to audiences, attendance restrictions, and accessibility info for people with disabilities.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:EventOwners" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Entities who are responsible for maintaining the Event in the Calendar network. This type allows for a hierarchy, or group, of Event Owners if necessary.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:PublicEventContacts" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A person or list of persons for the public to contact with questions about the Event. This type allows for a hierarchy, or group, of Public Event Contacts if necessary.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:EventListingContacts" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A person or list of persons for calendar administrators to contact with questions about an Event. This type allows for a hierarchy, or group, of Event Listing Contacts if necessary.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:EventStatus" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Indicates whether or not the Event is definitely scheduled to take place. This is a term used by iCalendar (RFC 2445) and could include statuses such as tentative, confirmed, and canceled.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:Classification" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Indicates how and whether the Event with be shared with other calendars or users. This is a term used by iCalendar (RFC 2445) and could include classifications such as public, private, and confidential.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:ChangeManagement" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Indicates when and by whom the Event was entered, and when and by whom the Event was modified.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:RelatedEvents" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Other events which bear some relation to the Event. This could be a parent, child, or sibling relationship, or an indicator re: another event that may also be of interest to people attending the Event. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:FeaturedEventTypes" minOccurs="0">
				<xs:annotation>
					<xs:documentation>If an event is special and should be featured in some way, the way or place the event should be featured can be described here. It is often used as a marketing tool.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:EventPromotions" minOccurs="0">
				<xs:annotation>
					<xs:documentation>If there is additional promotional material available re: the event, such as a poster or third party review, it may be documented here.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:PrivateComments" minOccurs="0">
				<xs:annotation>
					<xs:documentation>An open-ended comments field that is not displayed on any public website, but may be seen by calendar administrators or people who can edit the event. This may be used along with FeaturedEventTypes or when events are recommended to explain to calendar administrators why they should publish or feature the event on their website. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:Keywords" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Specialized terms describing an Event that may be used to help users searching for events find events of interest to them.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:Refreshments" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Information on refreshments, food, or meals that will be served at the Event.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:Extension" minOccurs="0">
				<xs:annotation>
					<xs:documentation>This element is used so that elements may be added via in the same namespace via xs:any while retaining the extensibility point and without violating the unique particle attribution rule.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>This element may be used to add an element not otherwise covered in this schema which is in a different namespace to an Event.</xs:documentation>
				</xs:annotation>
			</xs:any>
		</xs:sequence>
		<xs:anyAttribute processContents="lax">
			<xs:annotation>
				<xs:documentation>This element may be used to add an attribute not otherwise covered in this schema to an Event. It may be in the target or other namespace because the problems with xs:any elements in the same namespace don't occur with xs:anyAttribute.</xs:documentation>
			</xs:annotation>
		</xs:anyAttribute>
	</xs:complexType>
	<!-- END EVENT TYPE ############################## -->
	<xs:complexType name="EventTypesType">
		<xs:sequence>
			<xs:element ref="ev:EventType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EventTypeType">
		<xs:sequence>
			<xs:element ref="ev:EventTypeID" minOccurs="0"/>
			<xs:element ref="ev:EventTypeName"/>
			<xs:element ref="ev:EventTypeDescription" minOccurs="0"/>
			<xs:element ref="ev:EventTypeType" minOccurs="0"/>
			<xs:element ref="ev:EventTypeParentID" minOccurs="0">
				<xs:annotation>
					<xs:documentation>This element allows for the creation of a hierarchy, or group, of Event Types.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="LanguagesType">
		<xs:sequence>
			<xs:element ref="ev:Language" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="WebPagesType">
		<xs:sequence>
			<xs:element ref="ev:WebPage" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="WebPageType">
		<xs:sequence>
			<xs:element ref="ev:Title" minOccurs="0"/>
			<xs:element ref="ev:URL" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="WebcastsType">
		<xs:sequence>
			<xs:element ref="ev:Webcast" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="WebcastType">
		<xs:sequence>
			<xs:element ref="ev:Title" minOccurs="0"/>
			<xs:element ref="ev:WebcastStatus"/>
			<xs:element ref="ev:DateAvailable" minOccurs="0"/>
			<xs:element ref="ev:PlayerType" minOccurs="0"/>
			<xs:element ref="ev:Bandwidth" minOccurs="0"/>
			<xs:element ref="ev:WebcastURLs" minOccurs="0"/>
			<xs:element ref="ev:WebcastAdditionalInfo" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="WebcastURLsType">
		<xs:sequence>
			<xs:element ref="ev:URL"/>
			<xs:element ref="ev:SequenceNumber" minOccurs="0">
				<xs:annotation>
					<xs:documentation>This property defines the number number of a clip in a series of clips that comprise the webcast.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ImagesType">
		<xs:sequence>
			<xs:element ref="ev:Image" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ImageType">
		<xs:sequence>
			<xs:element ref="ev:Title" minOccurs="0"/>
			<xs:element ref="ev:Description" minOccurs="0"/>
			<xs:element ref="ev:URL" minOccurs="0"/>
			<xs:element ref="ev:Height" minOccurs="0"/>
			<xs:element ref="ev:Width" minOccurs="0"/>
			<xs:element ref="ev:FileSize" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DocumentsType">
		<xs:sequence>
			<xs:element ref="ev:Document" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DocumentType">
		<xs:sequence>
			<xs:element ref="ev:Title" minOccurs="0"/>
			<xs:element ref="ev:URL" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<!-- ############################## -->
	<xs:group name="personalName">
		<xs:sequence>
			<xs:element ref="ev:PersonalNameTitle" minOccurs="0"/>
			<xs:element ref="ev:FullName" minOccurs="0"/>
			<xs:element ref="ev:FirstName" minOccurs="0"/>
			<xs:element ref="ev:MiddleNames" minOccurs="0"/>
			<xs:element ref="ev:LastName" minOccurs="0"/>
			<xs:element ref="ev:PersonalNameSuffix" minOccurs="0"/>
		</xs:sequence>
	</xs:group>
	<xs:complexType name="MiddleNamesType">
		<xs:sequence>
			<xs:element ref="ev:MiddleName" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="NameType">
		<xs:sequence>
			<xs:choice>
				<xs:group ref="ev:personalName"/>
				<xs:element ref="ev:OrganizationName"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ContactInfoType">
		<xs:sequence>
			<xs:element ref="ev:ContactName" minOccurs="0"/>
			<xs:element ref="ev:ProfessionalAffiliations" minOccurs="0"/>
			<xs:element ref="ev:Phones" minOccurs="0"/>
			<xs:element ref="ev:EmailAddresses" minOccurs="0"/>
			<xs:element ref="ev:Addresses" minOccurs="0"/>
			<xs:element ref="ev:WebPages" minOccurs="0"/>
			<xs:element ref="ev:PreferredContactMethod" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PhonesType">
		<xs:sequence>
			<xs:element ref="ev:Phone" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PhoneType">
		<xs:sequence>
			<xs:element ref="ev:PhoneNumber"/>
			<xs:element ref="ev:PhoneNumberExtension" minOccurs="0"/>
			<xs:element ref="ev:PhoneNumberType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Potential phone number types may include home, cell, office, fax, and other.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EmailAddressesType">
		<xs:sequence>
			<xs:element ref="ev:EmailAddress" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="AddressesType">
		<xs:sequence>
			<xs:element ref="ev:Address" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!-- ############################## -->
	<xs:complexType name="ExtensionType">
		<xs:sequence>
			<xs:any namespace="##targetNamespace" processContents="lax" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute processContents="lax"/>
	</xs:complexType>
	<!-- Event PARTIES ############################## -->
	<xs:complexType name="ParticipantsType">
		<xs:sequence>
			<xs:element ref="ev:Participant" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ParticipantType">
		<xs:sequence>
			<xs:element ref="ev:ParticipantID" minOccurs="0"/>
			<xs:element ref="ev:Name" minOccurs="0"/>
			<xs:element ref="ev:ContactInfo" minOccurs="0"/>
			<xs:element ref="ev:ParticipantTypes" minOccurs="0">
				<xs:annotation>
					<xs:documentation>May be used to indicate characteristics of a particular group of participants (e.g. participant's role at the event, invited participants, participants who have RSVP'd, etc.).</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:ProfessionalAffiliations" minOccurs="0"/>
			<xs:element ref="ev:Images" minOccurs="0">
				<xs:annotation>
					<xs:documentation>An image associated with the participant.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:WebPages" minOccurs="0"/>
			<xs:element ref="ev:Description" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A description of the participant. This may be a biography.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:ParticipantParentID">
				<xs:annotation>
					<xs:documentation>This element allows for the creation of a hierarchy, or group, of Participants.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PerformersType">
		<xs:sequence>
			<xs:element ref="ev:Performer" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PerformerType">
		<xs:sequence>
			<xs:element ref="ev:PerformerID" minOccurs="0"/>
			<xs:element ref="ev:Name" minOccurs="0"/>
			<xs:element ref="ev:ContactInfo" minOccurs="0"/>
			<xs:element ref="ev:PerformerTypes" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Indicates what type of performance or performances the performer will be putting on at the Event (e.g. Speaker, Dancer, etc.).</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:ProfessionalAffiliations" minOccurs="0"/>
			<xs:element ref="ev:Images" minOccurs="0">
				<xs:annotation>
					<xs:documentation>An image associated with the performer.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:WebPages" minOccurs="0"/>
			<xs:element ref="ev:Description" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A description of the performer. This may be a biography.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:PerformerParentID">
				<xs:annotation>
					<xs:documentation>This element allows for the creation of a hierarchy, or group, of Performers.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ParticipantTypesType">
		<xs:sequence>
			<xs:element ref="ev:ParticipantType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PerformerTypesType">
		<xs:sequence>
			<xs:element ref="ev:PerformerType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProfessionalAffiliationsType">
		<xs:sequence>
			<xs:element ref="ev:ProfessionalAffiliation" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProfessionalAffiliationType">
		<xs:sequence>
			<xs:element ref="ev:JobTitles" minOccurs="0"/>
			<xs:element ref="ev:OrganizationName" minOccurs="0"/>
			<xs:element ref="ev:WebPages" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="JobTitlesType">
		<xs:sequence>
			<xs:element ref="ev:JobTitle" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SponsorsType">
		<xs:sequence>
			<xs:element ref="ev:Sponsor" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SponsorType">
		<xs:sequence>
			<xs:element ref="ev:SponsorID" minOccurs="0"/>
			<xs:element ref="ev:Name" minOccurs="0"/>
			<xs:element ref="ev:ContactInfo" minOccurs="0"/>
			<xs:element ref="ev:SponsorTypes" minOccurs="0">
				<xs:annotation>
					<xs:documentation>If a system requires that Sponsors be distinguished from each other, it may be done with this element.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:ProfessionalAffiliations" minOccurs="0"/>
			<xs:element ref="ev:Images" minOccurs="0"/>
			<xs:element ref="ev:WebPages" minOccurs="0"/>
			<xs:element ref="ev:Description" minOccurs="0"/>
			<xs:element ref="ev:SponsorParentID">
				<xs:annotation>
					<xs:documentation>This element allows for the creation of a hierarchy, or group, of Sponsors.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SponsorTypesType">
		<xs:sequence>
			<xs:element ref="ev:SponsorType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!-- Event ENTRY CONDITIONS ############################## -->
	<xs:complexType name="EntryConditionsType">
		<xs:sequence>
			<xs:element ref="ev:TargetAudiences" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Groups for whom the Event is intended.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:OpenToAudiences" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Groups to whom the Event is open, but not necessarily targeted.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:AttendanceRestrictions" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Enumerates any restrictions on entry (e.g. No children under 18, ID required, etc.).</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:AdmissionInfoGroups" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Groups of information related to different types of admission requirements (e.g. tickets, registration, enrollment, reservations, RSVP, etc.).</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:AccessibilityInfo" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Information on access to the event for people with disabilities (e.g. sign language presentation availability, wheelchair access, etc.).</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="TargetAudiencesType">
		<xs:sequence>
			<xs:element ref="ev:TargetAudience" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="OpenToAudiencesType">
		<xs:sequence>
			<xs:element ref="ev:OpenToAudience" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="AttendanceRestrictionsType">
		<xs:sequence>
			<xs:element ref="ev:AttendanceRestriction" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="AdmissionInfoGroupsType">
		<xs:sequence>
			<xs:element ref="ev:AdmissionInfoGroup" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="AdmissionInfoGroupType">
		<xs:sequence>
			<xs:element ref="ev:AdmissionInfoGroupType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Type of admission information provided by this group (e.g. tickets, registration, enrollment, reservations, RSVP, etc.).</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:AdmissionInfoGroupObligation" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Is it required, recommended, or in some other way advised that the type of this AdmissionInfoGroup (tickets, registration, enrollment, reservations, RSVP, etc.) be purchased or completed in some way?</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:AdmissionInfoGroupCharges" minOccurs="0"/>
			<xs:element ref="ev:AdmissionInfoGroupContacts" minOccurs="0"/>
			<xs:element ref="ev:DateAvailable" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The date the tickets go on sale, or the registration, RSVP, enrollment, etc. begins.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:Deadline" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The deadline by which registration, enrollment, RSVP, etc. must be completed.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:AdmissionInfoGroupStatus" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Indicates the current status of the Admission Info Group. For instance, it could be used to indicate whether registration, enrollment, etc. is open or closed, or whether tickets are sold out.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:AdmissionInfoGroupAdditionalInfo" minOccurs="0">
				<xs:annotation>
					<xs:documentation>May be used to indicate any additional info about the Admission Info Group. For instance, if there are restrictions on the methods of payment such as the use of only a major credit card.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="AdmissionInfoGroupChargesType">
		<xs:sequence>
			<xs:element ref="ev:AdmissionInfoGroupCharge" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="AdmissionInfoGroupChargeType">
		<xs:sequence>
			<xs:element ref="ev:Currency"/>
			<xs:element ref="ev:Amount"/>
			<xs:element ref="ev:Description" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Indication of what level of tickets (e.g. Orchestra, Balcony), audience, or other parameter (such as what audience) to which the associated Admission Price applies.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="AdmissionInfoGroupContactsType">
		<xs:sequence>
			<xs:element ref="ev:AdmissionInfoGroupContact" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!-- Event ADMINISTRATIVE ############################## -->
	<xs:complexType name="EventContactsType">
		<xs:sequence>
			<xs:element ref="ev:EventContact" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EventContactType">
		<xs:sequence>
			<xs:element ref="ev:EventContactID" minOccurs="0"/>
			<xs:element ref="ev:ContactInfo" minOccurs="0"/>
			<xs:element ref="ev:EventContactType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>If a system requires that Event Contacts be distinguished from each other, it may be done with this element.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:EventContactParentID" minOccurs="0">
				<xs:annotation>
					<xs:documentation>This element allows for the creation of a hierarchy, or group, of Event Contacts.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EventOwnersType">
		<xs:sequence>
			<xs:element ref="ev:EventOwner" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EventOwnerType">
		<xs:sequence>
			<xs:element ref="ev:EventOwnerID" minOccurs="0"/>
			<xs:element ref="ev:ContactInfo" minOccurs="0"/>
			<xs:element ref="ev:EventOwnerType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>If a system requires that Event Owners be distinguished from each other, it may be done with this element.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:EventOwnerParentID" minOccurs="0">
				<xs:annotation>
					<xs:documentation>This element allows for the creation of a hierarchy, or group, of Event Owners.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ChangeManagementType">
		<xs:sequence>
			<xs:element ref="ev:DateCreated" minOccurs="0"/>
			<xs:element ref="ev:DatesModified" minOccurs="0"/>
			<xs:element ref="ev:LastModified" minOccurs="0"/>
			<xs:element ref="ev:SequenceNumber" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Adapted from RFC 2445: This property defines the revision sequence number of the Event within a sequence of revisions.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DatesModifiedType">
		<xs:sequence>
			<xs:element ref="ev:DateModified" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!-- Event MARKETING ############################## -->
	<xs:complexType name="RelatedEventsType">
		<xs:sequence>
			<xs:element ref="ev:RelatedEvent" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="RelatedEventType">
		<xs:sequence>
			<xs:choice>
				<xs:element ref="ev:EventID"/>
				<xs:element ref="ev:EventTitle"/>
			</xs:choice>
			<xs:element ref="ev:RelationType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="FeaturedEventTypesType">
		<xs:sequence>
			<xs:element ref="ev:FeaturedEventType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EventPromotionsType">
		<xs:sequence>
			<xs:element ref="ev:EventPromotion" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EventPromotionType">
		<xs:sequence>
			<xs:element ref="ev:Description" maxOccurs="unbounded"/>
			<xs:element ref="ev:URL" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PrivateCommentsType">
		<xs:sequence>
			<xs:element ref="ev:PrivateComment" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="KeywordsType">
		<xs:sequence>
			<xs:element ref="ev:Keyword" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!-- Event LOCATION ############################## -->
	<xs:complexType name="LocationsType">
		<xs:sequence>
			<xs:element ref="ev:Location" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="LocationType">
		<xs:sequence>
			<xs:element ref="ev:LocationName" minOccurs="0"/>
			<xs:element ref="ev:LocationTypes" minOccurs="0"/>
			<xs:element ref="ev:Address" minOccurs="0"/>
			<xs:element ref="ev:Phones" minOccurs="0"/>
			<xs:element ref="ev:WebPages" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A webpage or webpages for the location of the Event.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:MapLinks" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A link or links to a map of the location of the Event.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:LocationHours" minOccurs="0"/>
			<xs:element ref="ev:Directions" minOccurs="0"/>
			<xs:element ref="ev:AdditionalPublicInfo" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Any additional information for the public about the location (e.g. handicapped access, directions, etc.).</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="LocationTypesType">
		<xs:sequence>
			<xs:element ref="ev:LocationType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="MapLinksType">
		<xs:sequence>
			<xs:element ref="ev:MapLink" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!-- Event CORE - DATE  ############################## -->
	<xs:complexType name="DateTimeType">
		<xs:sequence>
			<xs:annotation>
				<xs:documentation>StartDate and EndDate describe the start and end of a single Event instance. In the case of a recurring Event (a series of event instances that repeat in a manner defined by RecurrenceRule(s) and/or RecurrenceDate(s)), they describe the start and end of only the first instance of an Event, not the start and end of the entire recurrence set.</xs:documentation>
			</xs:annotation>
			<xs:element ref="ev:StartDate">
				<xs:annotation>
					<xs:documentation>Date the Event (for non-recurring events) or first instance of the Event (for recurring events) begins. Events can have a StartDate but no EndDate. In that case, the event does not take up any time (which is useful for Events such as holidays and deadlines). If an Event that takes up no time spans more than one day and thus has an EndDate, there must not be an EndTime. Another way of handling this type of event, however, is to set the EventTransparency to "Transparent." The use of the xs:date datatype allows for the inclusion of a timezone offset in the StartDate if desired.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:StartTime" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Time the Event (for non-recurring events) or first instance of the Event (for recurring events) begins. Events which take up time must have a StartTime. The use of the xs:time datatype allows for the inclusion of a timezone offset in the StartTime if desired.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:choice minOccurs="0">
				<xs:group ref="ev:EndDateTime">
					<xs:annotation>
						<xs:documentation>The date and time an Event (for non-recurring events) or first instance of the Event (for recurring events) ends. Events which take up no time (e.g. holidays) may have no EndDateTime. EndDate and EndTime are grouped together only because either EndDate or both EndDate and EndTime is an alternative to Duration.</xs:documentation>
					</xs:annotation>
				</xs:group>
				<xs:element ref="ev:Duration">
					<xs:annotation>
						<xs:documentation>Primitive type which allows durations to be represented. It is recommended that the ISO-8601 basic format PnYnMnDTnHnMnS where nY = number of years, nM = number of months, nD = number of days, nH = number of hours, nM = number of minutes and nS = number of seconds is used. It is calculated inclusive of the StartDate.</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:choice>
			<xs:element ref="ev:RecurrenceID" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Adapted from RFC 2445: "This property is used in conjunction with the EventID and SequenceNumber property to identify a specific instance of a recurring Event. The full range of Events specified by a recurrence set is referenced by referring to just the EventID corresponding to the Event. The RecurrenceID, which consists of the date of the Event instance in question, allows the reference to an individual instance within the recurrence set." "The "RecurrenceID" property is used in conjunction with the "EventID" and "Sequence" property to identify a particular instance of a recurring event, to-do or journal. For a given pair of "EventID" and "Sequence" property values, the "RecurrenceID" value for a recurrence instance is fixed. When the definition of the recurrence set for a calendar component changes, and hence the "Sequence" property value changes, the "RecurrenceID" for a given recurrence instance might also change."</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:RecurrenceDates" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Specific dates on which an event repeats. Often used instead of a Recurrence Rule when the repetition doesn't not follow a pattern, and may also be used in conjunction with a Recurrence Rule. In certain implementations it may also include Recurrence Dates calculated based on a Repetition Rule.</xs:documentation>
					<xs:documentation>Adapted rom RFC 2445: "The recurrence set is the complete set of recurrence instances for a calendar component. The recurrence set is generated by considering the initial "StartDate" property along with the "RecurrenceRule", "RecurrenceDate", "ExceptionDate" and "ExceptionRule" properties contained within the iCalendar object. The "StartDate" property defines the first instance in the recurrence set. Multiple instances of the "RecurrenceRule" and "ExceptionRule" properties can also be specified to define more sophisticated recurrence sets. The final recurrence set is generated by gathering all of the start date-times generated by any of the specified "RecurrenceRule" and "RecurrenceDate" properties, and then excluding any start date and times which fall within the union of start date and times generated by any specified "ExceptionRule" and "ExceptionDate" properties."</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:RecurrenceRules" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Rules defining when and how often an Event recurs or repeats (e.g. every Tuesday and Thursday).</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:ExceptionDates" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Adapted from RFC 2445: "This property defines the list of date/time exceptions for a recurring Event." (E.g. a conference spanning two weeks may not occur over a weekend, or a recurring event may not occur during winter break.) In certain implementations it may also include exception dates calculated based on an Exception Rule.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:ExceptionRules" minOccurs="0">
				<xs:annotation>
					<xs:documentation>From RFC 2445: "This property defines a rule or repeating pattern for an exception to a recurrence set." Often used to define exception dates with a period (e.g. the event occurs every Monday for the next 6 months, except the 1st Monday of the month.) </xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:group name="EndDateTime">
		<xs:sequence>
			<xs:element ref="ev:EndDate">
				<xs:annotation>
					<xs:documentation>Date the Event (for non-recurring events) or first instance of the Event (for recurring events) ends. The use of the xs:date datatype allows for the inclusion of a timezone offset in the EndDate if desired. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:EndTime" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Time the Event (for non-recurring events) or first instance of the Event (for recurring events) ends. The use of the xs:time datatype allows for the inclusion of a timezone offset in the EndTime if desired.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:group>
	<xs:complexType name="RecurrenceIDType">
		<xs:sequence>
			<xs:element ref="ev:RecurrenceIDDate">
				<xs:annotation>
					<xs:documentation>Adapted from RFC 2445: "The value is the effective value of the StartDate of the Event instance within the recurrence set." "The RecurrenceID is used in conjunction with the EventID and Sequence to identify a particular instance of a recurring event. For a given pair of EventID and SequenceNumber values, the RecurrenceID value for a recurrence instance is fixed. When the definition of the recurrence set for a calendar component changes, and hence the Sequence value changes, the RecurrenceID for a given recurrence instance might also change." "The value is set to the time when the original recurrence instance would occur; meaning that if the intent is to change a Friday meeting to Thursday, the date/time is still set to the original Friday meeting."</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:RecurrenceIDRange">
				<xs:annotation>
					<xs:documentation>Adapted from RFC 2445: The element specifies the effective range of recurrence instances that is specified by the property. The effective range is from the recurrence identified specified by the RecurrenceIDDate. If Range is not specified on a RecurrenceID, then the default range is the single instance specified by the RecurrenceIDDate. Values may include "ThisAndPrior" to indicate a range defined by the RecurrenceIDDate and all prior instances. The parameter value can also be "ThisAndFuture" to indicate a range defined by the recurrence identifier and all subsequent instances.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PeriodType">
		<xs:sequence>
			<xs:element ref="ev:StartDate">
				<xs:annotation>
					<xs:documentation>Date the recurrence or exclusion instance begins. The use of the xs:date datatype allows for the inclusion of a timezone offset in the StartDate if desired.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:StartTime">
				<xs:annotation>
					<xs:documentation>Time the recurrence or exclusion instance begins begins. The use of the xs:time datatype allows for the inclusion of a timezone offset in the StartTime if desired.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:choice>
				<xs:group ref="ev:PeriodEndDateTime">
					<xs:annotation>
						<xs:documentation>Date and time the recurrence or exclusion instance ends. EndDate and EndTime are grouped together only because either one or both is an alternative to Duration.</xs:documentation>
					</xs:annotation>
				</xs:group>
				<xs:element ref="ev:Duration">
					<xs:annotation>
						<xs:documentation>Primitive type which allows durations to be represented. It is recommended that the ISO-8601 basic format PnYnMnDTnHnMnS where nY = number of years, nM = number of months, nD = number of days, nH = number of hours, nM = number of minutes and nS = number of seconds is used. It is calculated inclusive of the StartDate.</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:group name="PeriodEndDateTime">
		<xs:sequence>
			<xs:element ref="ev:EndDate">
				<xs:annotation>
					<xs:documentation>Date the recurrence or exclusion instance ends. The use of the xs:date datatype allows for the inclusion of a timezone offset in the EndDate if desired. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:EndTime">
				<xs:annotation>
					<xs:documentation>Time the recurrence or exclusion instance ends. The use of the xs:time datatype allows for the inclusion of a timezone offset in the EndTime if desired.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:group>
	<xs:complexType name="DistinctDateType">
		<xs:sequence>
			<xs:element ref="ev:Date">
				<xs:annotation>
					<xs:documentation>The date a recurrence or exclusion instance occurs. When indicating the type of a RecurrenceIDDate, it is the date of the recurrence instance. The use of the xs:date datatype allows for the inclusion of a timezone offset in the Date if desired.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:Time" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The time a recurrence or exclusion instance occurs. When indicating the type of a RecurrenceIDDate, it is the time of the recurrence instance. The use of the xs:time datatype allows for the inclusion of a timezone offset in the Time if desired.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ExceptionDatesType">
		<xs:sequence>
			<xs:element ref="ev:ExceptionDate" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ExceptionDateType">
		<xs:annotation>
			<xs:documentation>Per RFC 2445, ExceptionDates may not be periods. Periods are allowed for RecurrenceDates, however.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="ev:DistinctDate"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="RecurrenceDatesType">
		<xs:sequence>
			<xs:element ref="ev:RecurrenceDate" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="RecurrenceDateType">
		<xs:choice>
			<xs:element ref="ev:Period"/>
			<xs:element ref="ev:DistinctDate"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="RulesType">
		<xs:sequence>
			<xs:element ref="ev:Rule" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="RuleType">
		<xs:sequence>
			<xs:element ref="ev:Frequency">
				<xs:annotation>
					<xs:documentation>Indicates how frequently an event repeats (e.g. hourly, daily, weekly, monthly, yearly).</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:Interval" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Indicates the number of units of frequency on which event repeats (e.g. every 2 hours, every 5 days, etc.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:choice minOccurs="0">
				<xs:element ref="ev:Count">
					<xs:annotation>
						<xs:documentation>Indicates the number of times an event repeats (e.g. daily for 10 days). This element or Until is usually required for a recurring event. If neither Count nor Until is present, the event is considered to repeat forever.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element ref="ev:Until">
					<xs:annotation>
						<xs:documentation>From RFC 2445: "The UNTIL rule part defines a date-time value which bounds the recurrence rule in an inclusive manner." The recurrence repeats "until" (inclusively) the date-time specified.</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:choice>
			<xs:element ref="ev:ByMinutes" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Indicates the minute of the hour on which an event repeats (e.g. to repeat every 20 minutes for an hour, ByMinute would have values of 0, 20, and 40. ByHour would also need to be used to indicate which hour.) This element should be limited to values 0 through 59.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:ByHours" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Indicates the hour of the day, using a 24-hour clock, on which an event repeats (e.g. to repeat at 10am, 2pm, and 4pm, ByHour would equal 10, 14, and 16). This element should be limited to values 0  through 23.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:ByDaysOfWeek" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Indicates the days of the week on which an event repeats. It can also include a positive or negative number to indicate, for example, "the third Monday of the month" or "the last Friday of the year" if the Frequency is set to something other than weekly (e.g. to repeat every third Monday of the month, DayInterval would be "3," and DayOfWeek would be "Monday").</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:ByWeekNumbers" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Indicates the week of the year on which an event repeats (e.g. the 5th week of the year). Negative values may also be used to indicate how close the week is to the end of the year (e.g. "-1" means the last week of the year), and thus this element should be limited to values -53 through 53, not including 0. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:ByMonths" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Indicates the month of the year on which an event repeats (e.g. the 7th month of the year, July.). This should be limited to values 1-12.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:ByMonthDays" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Indicates the day of the month on which an event repeats (e.g. the 31st day of the month.).  Negative values may also be used to indicate how close the week is to the end of the month (e.g. "-1" means the last day of the specified month), and thus this element should be limited to values -31 through 31, not including 0.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:ByYearDays" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Indicates the day of the year on which an event repeats (e.g. the 1st and 200th days of the year. Negative values may also be used to indicate how close the day is to the end of the year (e.g. "-1" means the last day of the year), and thus this element should be limited to values -366 through 366, not including 0.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:BySetPositions" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Indicates the instance of the set of days on which the event will repeat. (E.g. if ByDayOfWeek is set to "Mon, Tues, Wed, Thurs, Fri", and you'd like the event to repeat for the next month every 2nd weekday, "BySetPosition" would be 2). Negative values may also be used to indicate how close the day is to the end of the set (e.g. "-1" means the last day of the set), and thus this element should be limited to values -366 through 366, not including 0.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:BySeasons" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Allows users to define any set of seasons that is useful in their domain.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:WeekStart" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Defines which day of the week (e.g. Mon) on which a workweek starts. The default should be Monday. This is significant when a WEEKLY repetition rule has an interval greater than 1, and a BYDAYOFWEEK rule part is specified. This is also significant when in a YEARLY repetition rule when a BYWEEKNO rule part is specified. In this situation, WeekStart determines which week of the year is considered week 1, as week number one of the calendar year is the first week which contains at least four (4) days in that calendar year (from the iCalendar Specification, RFC 2445). </xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="UntilType">
		<xs:sequence>
			<xs:element ref="ev:Date">
				<xs:annotation>
					<xs:documentation>The date until which (inclusive of this date) an Event occurs. The use of the xs:date datatype allows for the inclusion of a timezone offset in the Date if desired.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element ref="ev:Time">
				<xs:annotation>
					<xs:documentation>The time until which (inclusive of this time) an Event occurs.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ByMinutesType">
		<xs:sequence>
			<xs:element ref="ev:ByMinute" maxOccurs="60"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ByHoursType">
		<xs:sequence>
			<xs:element ref="ev:ByHour" maxOccurs="24"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ByDaysOfWeekType">
		<xs:sequence>
			<xs:element ref="ev:ByDayOfWeek" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ByDayOfWeekType">
		<xs:sequence>
			<xs:element ref="ev:DayOfWeek"/>
			<xs:element ref="ev:DayInterval" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Indicates that it is the nth day of the interval. For example, 1 and Monday indicates that it is the first Monday of the specified interval. Negative numbers can also be used to indicate that it is the last (-1), second to the last (-2), etc. weekday of the specified interval.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ByWeekNumbersType">
		<xs:sequence>
			<xs:element ref="ev:ByWeekNumber" maxOccurs="106"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ByMonthsType">
		<xs:sequence>
			<xs:element ref="ev:ByMonth" maxOccurs="12"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ByMonthDaysType">
		<xs:sequence>
			<xs:element ref="ev:ByMonthDay" maxOccurs="62"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ByYearDaysType">
		<xs:sequence>
			<xs:element ref="ev:ByYearDay" maxOccurs="732"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="BySetPositionsType">
		<xs:sequence>
			<xs:element ref="ev:BySetPosition" maxOccurs="732"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="BySeasonsType">
		<xs:sequence>
			<xs:element ref="ev:BySeason" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
