]> err.no Git - sope/blob - sope-ical/NGiCal/NGiCal.xmap
added 'method', 'userComment' and fixed minor bugs
[sope] / sope-ical / NGiCal / NGiCal.xmap
1 {
2   "http://www.ietf.org/internet-drafts/draft-ietf-calsch-many-xcal-01.txt" = {
3
4     // components
5     
6     iCalendar = {
7       class  = NSMutableDictionary; // "ICalXRoot";
8       tagKey = "tag";
9       
10       ToManyRelationships = {
11         "subcomponents" = ( vcalendar );
12       };
13     };
14     
15     vcalendar = {
16       class  = iCalCalendar; // ICalVCalendar;
17
18       attributes = {
19         prodid   = prodId;
20         version  = version;
21         calscale = calscale;
22       };
23       
24       ToManyRelationships = {
25         events    = ( vevent    );
26         todos     = ( vtodo     );
27         journals  = ( journals  );
28         freeBusys = ( vfreebusy );
29         timezones = ( vtimezone );
30       };
31     };
32     
33     vevent = {
34       class  = iCalEvent;
35
36       attributes = {
37       };
38
39       ToManyRelationships = {
40         "alarms"          = ( valarm   );
41         "attendees"       = ( attendee );
42         "recurrenceRules" = ( rrule    );
43         "exceptionRules"  = ( exrule   );
44         "exceptionDates"  = ( exdate   );
45       };
46     };
47     
48     vtodo = {
49       class = "iCalToDo";
50
51       attributes = {
52       };
53
54       ToManyRelationships = {
55         "alarms"    = ( valarm   );
56         "attendees" = ( attendee );
57       };
58     };
59     
60     valarm = {
61       class = "iCalAlarm";
62
63       attributes = {
64         rrule = recurrenceRule;
65       };
66     };
67     
68     vfreebusy = {
69       class = "iCalFreeBusy";
70       
71       ToManyRelationships = {
72         "entries" = ( freebusy );
73       };
74     };
75     
76     vtimezone = {
77       class = NSMutableDictionary;
78       
79       attributes = {
80         tzid             = timeZoneID;
81         "X-LIC-LOCATION" = location;
82         daylight         = daylightInfo;
83         standard         = standardInfo;
84       };
85     };
86     daylight = {
87       class = NSMutableDictionary;
88       
89       attributes = {
90         tzoffsetfrom = tzOffsetFrom;
91         tzoffsetto   = tzOffsetTo;
92         tzname       = tzName;
93         dtstart      = startDate;
94         rrule        = recurrenceRule;
95       };
96     };
97     standard = {
98       class = NSMutableDictionary;
99       
100       attributes = {
101         tzoffsetfrom = tzOffsetFrom;
102         tzoffsetto   = tzOffsetTo;
103         tzname       = tzName;
104         dtstart      = startDate;
105         rrule        = recurrenceRule;
106       };
107     };
108     
109     // attributes
110     
111     dtstamp = {
112       class      = iCalDateHolder;
113       key        = "timeStampAsDate";
114       tagKey     = "tag";
115       contentKey = "string";
116     };
117     created = {
118       class      = iCalDateHolder;
119       key        = "created";
120       tagKey     = "tag";
121       contentKey = "string";
122     };
123     "last-modified" = {
124       class      = iCalDateHolder;
125       key        = "lastModified";
126       tagKey     = "tag";
127       contentKey = "string";
128     };
129     
130     dtstart = {
131       class = iCalDateHolder;
132       key   = "startDate";
133       attributes = {
134         tzid = tzid;
135       };
136       tagKey     = "tag";
137       contentKey = "string";
138     };
139     dtend = {
140       class = iCalDateHolder;
141       key   = "endDate";
142       attributes = {
143         tzid = tzid;
144       };
145       tagKey     = "tag";
146       contentKey = "string";
147     };
148     exdate = {
149       class = iCalDateHolder;
150       key   = "recurrenceRuleExceptionDate";
151       attributes = {
152         tzid = tzid;
153       };
154       tagKey     = "tag";
155       contentKey = "string";
156     };
157     due = {
158       class = iCalDateHolder;
159       attributes = {
160         tzid = tzid;
161       };
162       tagKey     = "tag";
163       contentKey = "string";
164     };
165     completed = {
166       class = iCalDateHolder;
167       attributes = {
168         tzid = tzid;
169       };
170       tagKey     = "tag";
171       contentKey = "string";
172     };
173     
174     duration = {
175       class = NSString;
176     };
177     
178     summary     = { class = NSString; };
179     description = { class = NSString; key = comment; };
180     comment     = { class = NSString; key = userComment; };
181     uid         = { class = NSString; };
182     action      = { class = NSString; };
183     priority    = { class = NSString; };
184     status      = { class = NSString; };
185     transp      = { class = NSString; key = transparency; };
186     method      = { class = NSString; };
187     sequence    = { class = NSString; };
188     categories  = { class = NSString; };
189     class       = { class = NSString; key = accessClass; };
190     percent-complete = { class = NSString; key = "percentComplete"; };
191     
192     attendee = {
193       class = iCalPerson;
194       attributes = {
195         cn = cn;
196         rsvp = rsvp;
197         role = role;
198         partstat = partStat;
199       };
200       contentKey = "email";
201     };
202     organizer = {
203       class      = iCalPerson;
204       attributes = {
205         cn = cn;
206       };
207       contentKey = "email";
208     };
209     
210     freebusy = {
211       class = NSString;
212     };
213     url = {
214       class = NSString;
215     };
216     
217     trigger = {
218       class = iCalTrigger;
219       attributes = {
220         value = valueType;
221       };
222       contentKey = "value";
223     };
224     attach = {
225       class = iCalAttachment;
226       attributes = {
227         value = valueType;
228       };
229       contentKey = "value";
230     };
231
232     tzid = {
233       class = NSString;
234     };
235     tzname = {
236       class = NSString;
237     };
238     tzoffsetfrom = {
239       class = NSString;
240     };
241     tzoffsetto = {
242       class = NSString;
243     };
244     rrule = {
245       class = iCalRecurrenceRule;
246       /*
247       attributes = {
248         freq       = rrFreq;
249         until      = rrUntil;
250         count      = rrCount;
251         interval   = rrInterval;
252         bysecond   = rrBySecondList;
253         byminute   = rrByMinuteList;
254         byhour     = rrByHourList;
255         byday      = rrByDayList;
256         bymonthday = rrByMonthDayList;
257         byyearday  = rrByYearDayList;
258         byweekno   = rrByWeekNumberList;
259         bymonth    = rrByMonthList;
260         bysetpos   = rrBySetPosList;
261         wkst       = rrWeekStart;
262       };
263       */
264       contentKey = "rrule";
265       key        = "recurrenceRule";
266     };
267     location = {
268       class = NSString;
269     };
270     
271     // extra tags
272
273     "X-LIC-LOCATION" = {
274       class = NSString;
275     };
276     
277     "X-WR-TIMEZONE" = {
278       rejectWithContent = YES;
279     };
280     "X-WR-CALNAME" = {
281       rejectWithContent = YES;
282     };
283     "X-WR-RELCALID" = {
284       rejectWithContent = YES;
285     };
286
287     "X-MICROSOFT-CDO-TZID" = {
288       rejectWithContent = YES;
289     };
290     "X-MICROSOFT-CDO-BUSYSTATUS" = {
291       rejectWithContent = YES;
292     };
293     "X-MICROSOFT-CDO-INSTTYPE" = {
294       rejectWithContent = YES;
295     };
296     "X-MICROSOFT-CDO-INTENDEDSTATUS" = {
297       rejectWithContent = YES;
298     };
299     "X-MICROSOFT-CDO-ALLDAYEVENT" = {
300       rejectWithContent = YES;
301     };
302     "X-MICROSOFT-CDO-IMPORTANCE" = {
303       rejectWithContent = YES;
304     };
305
306     "X-PILOTID" = {
307       rejectWithContent = YES;
308     };
309     "X-PILOTSTAT" = {
310       rejectWithContent = YES;
311     };
312   };
313 }