4 commits - schemas/incidence.xsd
Christian Mollekopf
mollekopf at kolabsys.com
Mon Oct 31 00:26:16 CET 2011
schemas/incidence.xsd | 100 ++++++++++++++++----------------------------------
1 file changed, 33 insertions(+), 67 deletions(-)
New commits:
commit 59b83ad700ff516ecd38e2c30d9e86c00325b8f4
Author: Christian Mollekopf <mollekopf at kolabsys.com>
Date: Mon Oct 31 00:07:08 2011 +0100
make optional
diff --git a/schemas/incidence.xsd b/schemas/incidence.xsd
index 988b7bb..1db62a5 100644
--- a/schemas/incidence.xsd
+++ b/schemas/incidence.xsd
@@ -85,8 +85,8 @@
<xs:element name="minutely" type="Interval" maxOccurs="1" minOccurs="0" />
<xs:element name="secondly" type="Interval" maxOccurs="1" minOccurs="0" />
<xs:element name="occurence" type="xs:int" maxOccurs="unbounded" minOccurs="0" />
- <xs:element name="weekstart" type="xs:int" />
- <xs:choice>
+ <xs:element name="weekstart" type="xs:int" maxOccurs="1" minOccurs="0" />
+ <xs:choice maxOccurs="1" minOccurs="0">
<xs:element name="count" type="xs:int" />
<xs:element name="enddate" type="xs:dateTime" />
</xs:choice>
commit 6216173988b8156b8b5fa98f3510f98256f22680
Author: Christian Mollekopf <mollekopf at kolabsys.com>
Date: Sun Oct 30 23:55:35 2011 +0100
updated recurrences
diff --git a/schemas/incidence.xsd b/schemas/incidence.xsd
index 9eb24d1..988b7bb 100644
--- a/schemas/incidence.xsd
+++ b/schemas/incidence.xsd
@@ -53,43 +53,43 @@
<xs:complexType name="Recurrence">
- <xs:sequence>
- <xs:element name="cycle" type="Cycle" maxOccurs="unbounded"
- minOccurs="1">
- </xs:element>
- <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:sequence>
+ <xs:element name="rule" type="Rule" maxOccurs="unbounded" minOccurs="0" />
+ <xs:element name="date" type="xs:dateTime" maxOccurs="unbounded" minOccurs="0" />
+ <xs:element name="exception" type="Exception" maxOccurs="unbounded" minOccurs="0" />
+ </xs:sequence>
</xs:complexType>
<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:choice>
+ <xs:element name="interval" type="xs:int"/>
+ <xs:element name="list" type="xs:int" maxOccurs="unbounded" minOccurs="1" />
+ </xs:choice>
</xs:complexType>
<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:sequence>
+ <xs:element name="rule" type="Rule" />
+ <xs:element name="date" type="xs:dateTime" />
+ <xs:element name="subevent" type="xs:string" />
+ </xs:sequence>
</xs:complexType>
- <xs:complexType name="Cycle">
- <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:sequence>
+ <xs:complexType name="Rule">
+ <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:element name="occurence" type="xs:int" maxOccurs="unbounded" minOccurs="0" />
+ <xs:element name="weekstart" type="xs:int" />
+ <xs:choice>
+ <xs:element name="count" type="xs:int" />
+ <xs:element name="enddate" type="xs:dateTime" />
+ </xs:choice>
+ </xs:sequence>
</xs:complexType>
</xs:schema>
\ No newline at end of file
commit a73c4d24e5cb0137425e4bb7ea763446203d003f
Author: Christian Mollekopf <mollekopf at kolabsys.com>
Date: Fri Oct 28 21:01:31 2011 +0200
use multiple cycles instead of repeating the whole recurrence
diff --git a/schemas/incidence.xsd b/schemas/incidence.xsd
index bad72bf..9eb24d1 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" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="recurrence" type="Recurrence" minOccurs="0" maxOccurs="1"/>
<xs:element name="attendee" type="Attendee" />
</xs:sequence>
</xs:extension>
@@ -54,13 +54,9 @@
<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:element name="cycle" type="Cycle" maxOccurs="unbounded"
+ minOccurs="1">
+ </xs:element>
<xs:choice>
<xs:element name="count" type="xs:int"></xs:element>
<xs:element name="enddate" type="xs:dateTime"></xs:element>
@@ -84,4 +80,16 @@
<xs:element name="subevent" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
+
+ <xs:complexType name="Cycle">
+ <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:sequence>
+ </xs:complexType>
</xs:schema>
\ No newline at end of file
commit fe24da9e687415550bab73e0873cc752c4d2ac7e
Author: Christian Mollekopf <mollekopf at kolabsys.com>
Date: Fri Oct 28 20:42:30 2011 +0200
recurrence v1
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
More information about the commits
mailing list