summaryrefslogtreecommitdiff
path: root/schemas/incidence.xsd
diff options
context:
space:
mode:
authorChristian Mollekopf <mollekopf@kolabsys.com>2011-10-28 18:42:30 (GMT)
committerChristian Mollekopf <mollekopf@kolabsys.com>2011-10-28 18:42:30 (GMT)
commitfe24da9e687415550bab73e0873cc752c4d2ac7e (patch)
treedc639ae0960b699d79c971c40a9598aa908eb7ab /schemas/incidence.xsd
parent5198b32d4e57b684725228319b24322c47eec65d (diff)
downloadlibkolabxml-fe24da9e687415550bab73e0873cc752c4d2ac7e.tar.gz
recurrence v1
Diffstat (limited to 'schemas/incidence.xsd')
-rw-r--r--schemas/incidence.xsd100
1 files changed, 29 insertions, 71 deletions
diff --git a/schemas/incidence.xsd b/schemas/incidence.xsd
index 3aa082f..bad72bf 100644
--- a/schemas/incidence.xsd
+++ b/schemas/incidence.xsd
@@ -15,7 +15,7 @@
<xs:element name="creator" type="SMTPContact" />
<xs:element name="organizer" type="SMTPContact" />
<xs:element name="alarm" type="xs:string" />
- <xs:element name="recurrence" type="Recurrence" />
+ <xs:element name="recurrence" type="Recurrence" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="attendee" type="Attendee" />
</xs:sequence>
</xs:extension>
@@ -51,79 +51,37 @@
</xs:restriction>
</xs:simpleType>
- <xs:simpleType name="Cycle">
- <xs:restriction base="xs:string">
- <xs:enumeration value="daily" />
- <xs:enumeration value="weekly" />
- <xs:enumeration value="monthly" />
- <xs:enumeration value="yearly" />
- </xs:restriction>
- </xs:simpleType>
- <xs:complexType name="Recurrence" abstract="true">
- <xs:sequence>
- <xs:element name="interval" type="xs:string" />
- <xs:element name="exclusion" type="xs:string" maxOccurs="unbounded" minOccurs="0" />
- <xs:element name="rangetype" type="RecurrenceType" />
- </xs:sequence>
+ <xs:complexType name="Recurrence">
+ <xs:sequence>
+ <xs:element name="yearly" type="Interval" maxOccurs="1" minOccurs="0" />
+ <xs:element name="monthly" type="Interval" maxOccurs="1" minOccurs="0" />
+ <xs:element name="weekly" type="Interval" maxOccurs="1" minOccurs="0" />
+ <xs:element name="daily" type="Interval" maxOccurs="1" minOccurs="0" />
+ <xs:element name="hourly" type="Interval" maxOccurs="1" minOccurs="0" />
+ <xs:element name="minutely" type="Interval" maxOccurs="1" minOccurs="0" />
+ <xs:element name="secondly" type="Interval" maxOccurs="1" minOccurs="0" />
+ <xs:choice>
+ <xs:element name="count" type="xs:int"></xs:element>
+ <xs:element name="enddate" type="xs:dateTime"></xs:element>
+ </xs:choice>
+ <xs:element name="exception" type="Exception"
+ maxOccurs="unbounded" minOccurs="0">
+ </xs:element>
+ </xs:sequence>
</xs:complexType>
-
- <xs:complexType name="RecurrenceType" abstract="true">
- <xs:attribute name="type" type="xs:string" />
- </xs:complexType>
-
- <xs:complexType name="DailyRecurrence">
- <xs:complexContent>
- <xs:extension base="Recurrence">
- <xs:attribute name="cycle" type="xs:string" fixed="daily" use="required" />
- </xs:extension>
- </xs:complexContent>
+
+ <xs:complexType name="Interval">
+ <xs:choice>
+ <xs:element name="interval" type="xs:int"></xs:element>
+ <xs:element name="list" type="xs:int" maxOccurs="unbounded" minOccurs="1"></xs:element>
+ </xs:choice>
</xs:complexType>
- <xs:complexType name="WeeklyRecurrence">
- <xs:complexContent>
- <xs:extension base="Recurrence">
- <xs:attribute name="cycle" type="xs:string" fixed="weekly" use="required" />
- </xs:extension>
- </xs:complexContent>
+ <xs:complexType name="Exception">
+ <xs:sequence>
+ <xs:element name="date" type="xs:dateTime"></xs:element>
+ <xs:element name="subevent" type="xs:string"></xs:element>
+ </xs:sequence>
</xs:complexType>
-
- <xs:complexType name="MonthlyRecurrence">
- <xs:complexContent>
- <xs:extension base="Recurrence">
- <xs:sequence>
- <xs:element name="interval" type="xs:string">
- </xs:element>
- <xs:element name="day" type="xs:string">
- </xs:element>
- <xs:element name="daynumber" type="xs:string">
- </xs:element>
- </xs:sequence>
- <xs:attribute name="cycle" type="xs:string" fixed="monthly" use="required" />
- <xs:attribute name="type" type="xs:string" use="required" />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="YearlyRecurrence">
- <xs:complexContent>
- <xs:extension base="Recurrence">
- <xs:sequence>
- <xs:element name="interval" type="xs:string" />
- <xs:element name="day" type="xs:string" />
- <xs:element name="daynumber" type="xs:string" />
- <xs:element name="month" type="xs:string" />
- </xs:sequence>
- <xs:attribute name="cycle" type="xs:string" fixed="yearly" use="required" />
- <xs:attribute name="type" type="xs:string" use="required">
- <xs:restriction base="xs:string">
- <xs:enumeration value="monthday" />
- <xs:enumeration value="yearday" />
- <xs:enumeration value="weekday" />
- </xs:restriction>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
</xs:schema> \ No newline at end of file