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