schemas/incidence.xsd

Christian Mollekopf mollekopf at kolabsys.com
Thu Oct 13 17:45:40 CEST 2011


 schemas/incidence.xsd |  147 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 147 insertions(+)

New commits:
commit 96d8c6cf164fd78b0986bedac001da1f8ed6c3a1
Author: Christian Mollekopf <chrigi_1 at fastmail.fm>
Date:   Thu Oct 13 17:45:34 2011 +0200

    First version of Incidence Schema

diff --git a/schemas/incidence.xsd b/schemas/incidence.xsd
new file mode 100644
index 0000000..abbf56b
--- /dev/null
+++ b/schemas/incidence.xsd
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	targetNamespace="http://www.kolab.org/Kolab" xmlns="http://www.kolab.org/Kolab"
+	elementFormDefault="qualified">
+
+	<xs:include schemaLocation="base.xsd" />
+
+	<xs:complexType name="Incidence">
+		<xs:complexContent>
+			<xs:extension base="XMLBase">
+				<xs:sequence>
+					<xs:element name="summary" type="xs:string" />
+					<xs:element name="location" type="xs:string" />
+					<xs:element name="creator" type="SMTPContact">
+
+					</xs:element>
+					<xs:element name="organizer" type="SMTPContact"></xs:element>
+					<xs:element name="start-date" type="xs:dateTime"></xs:element>
+					<xs:element name="alarm" type="xs:string"></xs:element>
+					<xs:element name="recurrence" type="Recurrence"></xs:element>
+					<xs:element name="attendees">
+						<xs:complexType>
+							<xs:complexContent>
+								<xs:extension base="SMTPContact">
+									<xs:sequence>
+										<xs:element name="status" type="xs:string">
+										</xs:element>
+										<xs:element name="request-response" type="xs:string">
+										</xs:element>
+										<xs:element name="role" type="xs:string">
+										</xs:element>
+									</xs:sequence>
+								</xs:extension>
+							</xs:complexContent>
+						</xs:complexType>
+					</xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+
+	<xs:complexType name="SMTPContact">
+		<xs:sequence>
+			<xs:element name="display-name" type="xs:string"></xs:element>
+			<xs:element name="smtp-address" type="xs:string"></xs:element>
+		</xs:sequence>
+	</xs:complexType>
+
+	<xs:simpleType name="NewSimpleType">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="daily"></xs:enumeration>
+			<xs:enumeration value="weekly"></xs:enumeration>
+			<xs:enumeration value="monthly"></xs:enumeration>
+			<xs:enumeration value="yearly"></xs:enumeration>
+		</xs:restriction>
+	</xs:simpleType>
+
+	<xs:complexType name="Recurrence" abstract="true">
+		<xs:sequence>
+			<xs:element name="interval" type="xs:string">
+			</xs:element>
+			<xs:element name="rangetype">
+				<xs:complexType>
+					<xs:attribute name="type" type="xs:string">
+					</xs:attribute>
+				</xs:complexType>
+			</xs:element>
+			<xs:element name="exclusion" type="xs:string" maxOccurs="unbounded"
+				minOccurs="0">
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType>
+
+
+	<xs:complexType name="DailyRecurrence">
+		<xs:complexContent>
+			<xs:extension base="Recurrence">
+				<xs:attribute name="cycle" type="xs:string" fixed="daily"
+					use="required">
+				</xs:attribute>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+
+	<xs:complexType name="WeeklyRecurrence">
+		<xs:complexContent>
+			<xs:extension base="Recurrence">
+				<xs:attribute name="cycle" type="xs:string" fixed="weekly"
+					use="required">
+				</xs:attribute>
+			</xs:extension>
+		</xs:complexContent>
+	</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>
+				<xs:attribute name="type" type="xs:string" use="required">
+				</xs:attribute>
+			</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>
+					<xs:element name="day" type="xs:string">
+					</xs:element>
+					<xs:element name="daynumber" type="xs:string">
+					</xs:element>
+					<xs:element name="month" type="xs:string">
+					</xs:element>
+				</xs:sequence>
+				<xs:attribute name="cycle" type="xs:string" fixed="yearly"
+					use="required">
+				</xs:attribute>
+				<xs:attribute name="type" use="required">
+					<xs:simpleType>
+						<xs:restriction base="xs:string">
+							<xs:enumeration value="monthday">
+							</xs:enumeration>
+							<xs:enumeration value="yearday">
+							</xs:enumeration>
+							<xs:enumeration value="weekday">
+							</xs:enumeration>
+						</xs:restriction>
+					</xs:simpleType>
+				</xs:attribute>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+
+</xs:schema>
\ No newline at end of file





More information about the commits mailing list