root/trunk/resources/exsynchwsdefs/iCalendar-params.xsd

Revision 3103 (checked in by douglm, 2 years ago)

Further changes to the icalendar schema

Add a translator to produce XML internal format from bw classes

Complete the SOAP fetchItem method

Line 
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- edited with XMLSpy v2010 rel. 3 sp1 (x64) (http://www.altova.com) by Toby Considine (TC9) -->
3 <!--non-normative, to support development of WS-Calendar - 2010/10/30. Refer to rfc5545 and xCal in the IETF for normative description-->
4 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
5            xmlns:xcal="urn:ietf:params:xml:ns:icalendar-2.0"
6            targetNamespace="urn:ietf:params:xml:ns:icalendar-2.0"
7            elementFormDefault="qualified">
8
9   <xs:include schemaLocation="iCalendar-valtypes.xsd" />
10          
11   <!-- =====================================================================
12        3.2 Property parameter definitions
13        ===================================================================== -->
14
15   <xs:complexType name="BaseParameterType" abstract="true" >
16   </xs:complexType>
17
18   <xs:element name="base-parameter" type="xcal:BaseParameterType" />
19
20   <xs:complexType name="ArrayOfParameters">
21     <xs:sequence>
22       <xs:element ref="xcal:base-parameter" maxOccurs="unbounded"/>
23     </xs:sequence>
24   </xs:complexType>
25          
26   <!-- =====================================================================
27        Define all the standard properties. By using a substitutionGroup we
28        make it easy to extend the list of parameters. As an example see
29        the parameters defined in iCalendar-caldavsched-extensions.xsd
30        ===================================================================== --> 
31
32   <xs:element name="altrep" type="xcal:altrepParamType"
33               substitutionGroup="xcal:base-parameter" />
34   <xs:element name="cn" type="xcal:cnParamType"
35               substitutionGroup="xcal:base-parameter" />
36   <xs:element name="cutype" type="xcal:cutypeParamType"
37               substitutionGroup="xcal:base-parameter" />
38   <xs:element name="delegated-from" type="xcal:delegated-fromParamType"
39               substitutionGroup="xcal:base-parameter" />
40   <xs:element name="delegated-to" type="xcal:delegated-toParamType"
41               substitutionGroup="xcal:base-parameter" />
42   <xs:element name="dir" type="xcal:dirParamType"
43               substitutionGroup="xcal:base-parameter" />
44   <xs:element name="encoding" type="xcal:encodingParamType"
45               substitutionGroup="xcal:base-parameter" />
46   <xs:element name="fmttype" type="xcal:fmttypeParamType"
47               substitutionGroup="xcal:base-parameter" />
48   <xs:element name="fbtype" type="xcal:fbtypeParamType"
49               substitutionGroup="xcal:base-parameter" />
50   <xs:element name="language" type="xcal:languageParamType"
51               substitutionGroup="xcal:base-parameter" />
52   <xs:element name="member" type="xcal:memberParamType"
53               substitutionGroup="xcal:base-parameter" />
54   <xs:element name="partstat" type="xcal:partstatParamType"
55               substitutionGroup="xcal:base-parameter" />
56   <xs:element name="range" type="xcal:rangeParamType"
57               substitutionGroup="xcal:base-parameter" />
58   <xs:element name="related" type="xcal:relatedParamType"
59               substitutionGroup="xcal:base-parameter" />
60   <xs:element name="reltype" type="xcal:reltypeParamType"
61               substitutionGroup="xcal:base-parameter" />
62   <xs:element name="role" type="xcal:roleParamType"
63               substitutionGroup="xcal:base-parameter" />
64   <xs:element name="rsvp" type="xcal:rsvpParamType"
65               substitutionGroup="xcal:base-parameter" />
66   <xs:element name="sent-by" type="xcal:sent-byParamType"
67               substitutionGroup="xcal:base-parameter" />
68   <xs:element name="tzid" type="xcal:tzidParamType"
69               substitutionGroup="xcal:base-parameter" />
70              
71  
72   <!-- Scheduling parameters for attendee or organizer -->
73   <xs:element name="schedule-agent" type="xcal:schedule-agentParamType"
74               substitutionGroup="xcal:base-parameter" />
75   <xs:element name="schedule-force-send" type="xcal:schedule-force-sendParamType"
76               substitutionGroup="xcal:base-parameter" />
77   <xs:element name="schedule-status" type="xcal:schedule-statusParamType"
78               substitutionGroup="xcal:base-parameter" />
79  
80   <!-- Bedework x-parameters -->
81   <xs:element name="x-bedework-uid" type="xcal:x-bedework-uidParamType"
82               substitutionGroup="xcal:base-parameter" />
83  
84   <!-- Parameters that take a simple text value -->
85   <xs:complexType name="TextParameterType" >
86     <xs:complexContent mixed="false">
87       <xs:extension base="xcal:BaseParameterType">
88         <xs:sequence>
89           <xs:element ref="xcal:text" />
90         </xs:sequence>
91       </xs:extension>
92     </xs:complexContent>
93   </xs:complexType>
94  
95   <!-- Parameters that take a uri value -->
96   <xs:complexType name="UriParameterType" >
97     <xs:complexContent mixed="false">
98       <xs:extension base="xcal:BaseParameterType">
99         <xs:sequence>
100           <xs:element ref="xcal:uri"/>
101         </xs:sequence>
102       </xs:extension>
103     </xs:complexContent>
104   </xs:complexType>
105  
106   <xs:complexType name="CalAddressListParamType">
107     <xs:complexContent mixed="false">
108       <xs:extension base="xcal:BaseParameterType">
109         <xs:sequence>
110           <xs:element ref="xcal:cal-address" maxOccurs="unbounded"/>
111         </xs:sequence>
112       </xs:extension>
113     </xs:complexContent>
114   </xs:complexType>
115  
116   <xs:complexType name="CalAddressParamType">
117     <xs:complexContent mixed="false">
118       <xs:extension base="xcal:BaseParameterType">
119         <xs:sequence>
120           <xs:element ref="xcal:cal-address" />
121         </xs:sequence>
122       </xs:extension>
123     </xs:complexContent>
124   </xs:complexType>
125  
126   <!-- 3.2.1 Alternate Text Representation -->
127   <xs:complexType name="altrepParamType">
128     <xs:complexContent mixed="false">
129       <xs:extension base="xcal:UriParameterType"/>
130     </xs:complexContent>
131   </xs:complexType>
132  
133   <!-- 3.2.2 Common Name -->
134   <xs:complexType name="cnParamType">
135     <xs:complexContent mixed="false">
136       <xs:extension base="xcal:TextParameterType"/>
137     </xs:complexContent>
138   </xs:complexType>
139  
140   <!-- 3.2.3 Calendar User Type -->
141   <xs:simpleType name="cutypeValueType">
142     <xs:restriction base="xs:token">
143       <xs:enumeration value="INDIVIDUAL"/>
144       <xs:enumeration value="GROUP"/>
145       <xs:enumeration value="RESOURCE"/>
146       <xs:enumeration value="ROOM"/>
147       <xs:enumeration value="UNKNOWN"/>
148     </xs:restriction>
149   </xs:simpleType>
150  
151   <xs:complexType name="cutypeParamType">
152     <xs:complexContent mixed="false">
153       <xs:extension base="xcal:BaseParameterType">
154         <xs:sequence>
155           <xs:element name="text" type="xcal:cutypeValueType"/>
156         </xs:sequence>
157       </xs:extension>
158     </xs:complexContent>
159   </xs:complexType>
160  
161   <!-- 3.2.4 Delegators -->
162   <xs:complexType name="delegated-fromParamType">
163     <xs:complexContent mixed="false">
164       <xs:extension base="xcal:CalAddressListParamType">
165       </xs:extension>
166     </xs:complexContent>
167   </xs:complexType>
168
169   <!-- 3.2.5 Delegatees -->
170   <xs:complexType name="delegated-toParamType">
171     <xs:complexContent mixed="false">
172       <xs:extension base="xcal:CalAddressListParamType">
173       </xs:extension>
174     </xs:complexContent>
175   </xs:complexType>
176  
177   <!-- 3.2.6 Directory Entry Reference -->
178   <xs:complexType name="dirParamType">
179     <xs:complexContent mixed="false">
180       <xs:extension base="xcal:UriParameterType"/>
181     </xs:complexContent>
182   </xs:complexType>
183  
184   <!-- 3.2.7 Inline Encoding -->
185   <xs:simpleType name="encodingValueType">
186     <xs:restriction base="xs:token">
187       <xs:enumeration value="8BIT"/>
188       <xs:enumeration value="BASE64"/>
189     </xs:restriction>
190   </xs:simpleType>
191  
192   <xs:complexType name="encodingParamType">
193     <xs:complexContent mixed="false">
194       <xs:extension base="xcal:BaseParameterType">
195         <xs:sequence>
196           <xs:element name="text" type="xcal:encodingValueType"/>
197         </xs:sequence>
198       </xs:extension>
199     </xs:complexContent>
200   </xs:complexType>
201  
202   <!-- 3.2.8 Format Type -->
203   <xs:complexType name="fmttypeParamType">
204     <xs:complexContent mixed="false">
205       <xs:extension base="xcal:TextParameterType"/>
206     </xs:complexContent>
207   </xs:complexType>
208  
209   <!-- 3.2.9 Free/Busy Time Type -->
210   <xs:simpleType name="fbtypeValueType">
211     <xs:restriction base="xs:token">
212       <xs:enumeration value="FREE"/>
213       <xs:enumeration value="BUSY"/>
214       <xs:enumeration value="BUSY-UNAVAILABLE"/>
215       <xs:enumeration value="BUSY-TENTATIVE"/>
216     </xs:restriction>
217   </xs:simpleType>
218  
219   <xs:complexType name="fbtypeParamType">
220     <xs:complexContent mixed="false">
221       <xs:extension base="xcal:BaseParameterType">
222         <xs:sequence>
223           <xs:element name="text" type="xcal:fbtypeValueType"/>
224         </xs:sequence>
225       </xs:extension>
226     </xs:complexContent>
227   </xs:complexType>
228  
229   <!-- 3.2.10 Language -->
230   <xs:complexType name="languageParamType">
231     <xs:complexContent mixed="false">
232       <xs:extension base="xcal:TextParameterType"/>
233     </xs:complexContent>
234   </xs:complexType>
235  
236   <!-- 3.2.11 Group or List Membership -->
237   <xs:complexType name="memberParamType">
238     <xs:complexContent mixed="false">
239       <xs:extension base="xcal:CalAddressListParamType">
240       </xs:extension>
241     </xs:complexContent>
242   </xs:complexType>
243  
244   <!-- 3.2.12 Participation Status -->
245   <xs:simpleType name="partstatValueType">
246     <xs:union memberTypes="xcal:type-partstat-event xcal:type-partstat-todo xcal:type-partstat-jour"/>
247   </xs:simpleType>
248  
249   <xs:simpleType name="type-partstat-event">
250     <xs:restriction base="xs:token">
251       <xs:enumeration value="NEEDS-ACTION"/>
252       <xs:enumeration value="ACCEPTED"/>
253       <xs:enumeration value="DECLINED"/>
254       <xs:enumeration value="TENTATIVE"/>
255       <xs:enumeration value="DELEGATED"/>
256     </xs:restriction>
257   </xs:simpleType>
258  
259   <xs:simpleType name="type-partstat-todo">
260     <xs:restriction base="xs:token">
261       <xs:enumeration value="NEEDS-ACTION"/>
262       <xs:enumeration value="ACCEPTED"/>
263       <xs:enumeration value="DECLINED"/>
264       <xs:enumeration value="TENTATIVE"/>
265       <xs:enumeration value="DELEGATED"/>
266       <xs:enumeration value="COMPLETED"/>
267       <xs:enumeration value="IN-PROCESS"/>
268     </xs:restriction>
269   </xs:simpleType>
270  
271   <xs:simpleType name="type-partstat-jour">
272     <xs:restriction base="xs:token">
273       <xs:enumeration value="NEEDS-ACTION"/>
274       <xs:enumeration value="ACCEPTED"/>
275       <xs:enumeration value="DECLINED"/>
276     </xs:restriction>
277   </xs:simpleType>
278  
279   <xs:complexType name="partstatParamType">
280     <xs:complexContent mixed="false">
281       <xs:extension base="xcal:BaseParameterType">
282         <xs:sequence>
283           <xs:element name="text" type="xcal:partstatValueType"/>
284         </xs:sequence>
285       </xs:extension>
286     </xs:complexContent>
287   </xs:complexType>
288  
289   <!-- 3.2.13 Recurrence Identifier Range -->
290   <xs:simpleType name="rangeValueType">
291     <xs:restriction base="xs:token">
292       <xs:enumeration value="THISANDFUTURE"/>
293     </xs:restriction>
294   </xs:simpleType>
295  
296   <xs:complexType name="rangeParamType">
297     <xs:complexContent mixed="false">
298       <xs:extension base="xcal:BaseParameterType">
299         <xs:sequence>
300           <xs:element name="text" type="xcal:rangeValueType"/>
301         </xs:sequence>
302       </xs:extension>
303     </xs:complexContent>
304   </xs:complexType>
305  
306   <!-- 3.2.14 Alarm Trigger Relationship -->
307   <xs:simpleType name="relatedValueType">
308     <xs:restriction base="xs:token">
309       <xs:enumeration value="START"/>
310       <xs:enumeration value="END"/>
311     </xs:restriction>
312   </xs:simpleType>
313  
314   <xs:complexType name="relatedParamType">
315     <xs:complexContent mixed="false">
316       <xs:extension base="xcal:BaseParameterType">
317         <xs:sequence>
318           <xs:element name="text" type="xcal:relatedValueType"/>
319         </xs:sequence>
320       </xs:extension>
321     </xs:complexContent>
322   </xs:complexType>
323  
324   <!-- 3.2.15 Relationship Type -->
325   <xs:simpleType name="reltypeValueType">
326     <xs:restriction base="xs:token">
327       <xs:enumeration value="PARENT"/>
328       <xs:enumeration value="CHILD"/>
329       <xs:enumeration value="SIBLING"/>
330     </xs:restriction>
331   </xs:simpleType>
332  
333   <xs:complexType name="reltypeParamType">
334     <xs:complexContent mixed="false">
335       <xs:extension base="xcal:BaseParameterType">
336         <xs:sequence>
337           <xs:element name="text" type="xcal:reltypeValueType"/>
338         </xs:sequence>
339       </xs:extension>
340     </xs:complexContent>
341   </xs:complexType>
342  
343   <!-- 3.2.16 Participation Role -->
344   <xs:simpleType name="roleValueType">
345     <xs:restriction base="xs:token">
346       <xs:enumeration value="CHAIR"/>
347       <xs:enumeration value="REQ-PARTICIPANT"/>
348       <xs:enumeration value="OPT-PARTICIPANT"/>
349       <xs:enumeration value="NON-PARTICIPANT"/>
350     </xs:restriction>
351   </xs:simpleType>
352  
353   <xs:complexType name="roleParamType">
354     <xs:complexContent mixed="false">
355       <xs:extension base="xcal:BaseParameterType">
356         <xs:sequence>
357           <xs:element name="text" type="xcal:roleValueType"/>
358         </xs:sequence>
359       </xs:extension>
360     </xs:complexContent>
361   </xs:complexType>
362  
363   <!-- 3.2.17 RSVP Expectation -->
364   <xs:simpleType name="rsvpValueType">
365     <xs:restriction base="xs:token">
366       <xs:enumeration value="TRUE"/>
367       <xs:enumeration value="FALSE"/>
368     </xs:restriction>
369   </xs:simpleType>
370  
371   <xs:complexType name="rsvpParamType">
372     <xs:complexContent mixed="false">
373       <xs:extension base="xcal:BaseParameterType">
374         <xs:sequence>
375           <xs:element name="text" type="xcal:rsvpValueType"/>
376         </xs:sequence>
377       </xs:extension>
378     </xs:complexContent>
379   </xs:complexType>
380  
381   <!-- 3.2.18 Sent By -->
382   <xs:complexType name="sent-byParamType">
383     <xs:complexContent mixed="false">
384       <xs:extension base="xcal:CalAddressParamType">
385       </xs:extension>
386     </xs:complexContent>
387   </xs:complexType>
388  
389   <!-- 3.2.19 Time Zone Identifier -->
390   <xs:complexType name="tzidParamType">
391     <xs:complexContent mixed="false">
392       <xs:extension base="xcal:TextParameterType"/>
393     </xs:complexContent>
394   </xs:complexType>
395  
396   <!-- Scheduling parameters - Defined by CalDAV scheduling -->
397  
398   <xs:simpleType name="schedule-agentValueType">
399     <xs:restriction base="xs:token">
400       <xs:enumeration value="SERVER"/>
401       <xs:enumeration value="CLIENT"/>
402       <xs:enumeration value="NONE"/>
403     </xs:restriction>
404   </xs:simpleType>
405  
406   <xs:complexType name="schedule-agentParamType">
407     <xs:complexContent mixed="false">
408       <xs:extension base="xcal:BaseParameterType">
409         <xs:sequence>
410           <xs:element name="text" type="xcal:schedule-agentValueType"/>
411         </xs:sequence>
412       </xs:extension>
413     </xs:complexContent>
414   </xs:complexType>
415  
416   <xs:simpleType name="schedule-force-sendValueType">
417     <xs:restriction base="xs:token">
418       <xs:enumeration value="REQUEST"/>
419       <xs:enumeration value="REPLY"/>
420     </xs:restriction>
421   </xs:simpleType>
422  
423   <xs:complexType name="schedule-force-sendParamType">
424     <xs:complexContent mixed="false">
425       <xs:extension base="xcal:BaseParameterType">
426         <xs:sequence>
427           <xs:element name="text" type="xcal:schedule-force-sendValueType"/>
428         </xs:sequence>
429       </xs:extension>
430     </xs:complexContent>
431   </xs:complexType>
432  
433   <xs:complexType name="schedule-statusParamType">
434     <xs:complexContent mixed="false">
435       <xs:extension base="xcal:TextParameterType"/>
436     </xs:complexContent>
437   </xs:complexType>
438  
439   <!-- Bedework x-parameters -->
440  
441   <xs:complexType name="x-bedework-uidParamType">
442     <xs:complexContent mixed="false">
443       <xs:extension base="xcal:TextParameterType"/>
444     </xs:complexContent>
445   </xs:complexType>
446 </xs:schema>
Note: See TracBrowser for help on using the browser.