]> err.no Git - sope/blob - sope-ical/NGiCal/NGiCal.xmap
fixed mapping of 'method' attribute
[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         method   = method;
23       };
24       
25       ToManyRelationships = {
26         events    = ( vevent    );
27         todos     = ( vtodo     );
28         journals  = ( journals  );
29         freeBusys = ( vfreebusy );
30         timezones = ( vtimezone );
31       };
32     };
33     
34     vevent = {
35       class  = iCalEvent;
36
37       attributes = {
38       };
39
40       ToManyRelationships = {
41         "alarms"          = ( valarm   );
42         "attendees"       = ( attendee );
43         "recurrenceRules" = ( rrule    );
44         "exceptionRules"  = ( exrule   );
45         "exceptionDates"  = ( exdate   );
46       };
47     };
48     
49     vtodo = {
50       class = "iCalToDo";
51
52       attributes = {
53       };
54
55       ToManyRelationships = {
56         "alarms"    = ( valarm   );
57         "attendees" = ( attendee );
58       };
59     };
60     
61     valarm = {
62       class = "iCalAlarm";
63
64       attributes = {
65         rrule = recurrenceRule;
66       };
67     };
68     
69     vfreebusy = {
70       class = "iCalFreeBusy";
71       
72       ToManyRelationships = {
73         "entries" = ( freebusy );
74       };
75     };
76     
77     vtimezone = {
78       class = NSMutableDictionary;
79       
80       attributes = {
81         tzid             = timeZoneID;
82         "X-LIC-LOCATION" = location;
83         daylight         = daylightInfo;
84         standard         = standardInfo;
85       };
86     };
87     daylight = {
88       class = NSMutableDictionary;
89       
90       attributes = {
91         tzoffsetfrom = tzOffsetFrom;
92         tzoffsetto   = tzOffsetTo;
93         tzname       = tzName;
94         dtstart      = startDate;
95         rrule        = recurrenceRule;
96       };
97     };
98     standard = {
99       class = NSMutableDictionary;
100       
101       attributes = {
102         tzoffsetfrom = tzOffsetFrom;
103         tzoffsetto   = tzOffsetTo;
104         tzname       = tzName;
105         dtstart      = startDate;
106         rrule        = recurrenceRule;
107       };
108     };
109     
110     // attributes
111     
112     dtstamp = {
113       class      = iCalDateHolder;
114       key        = "timeStampAsDate";
115       tagKey     = "tag";
116       contentKey = "string";
117     };
118     created = {
119       class      = iCalDateHolder;
120       key        = "created";
121       tagKey     = "tag";
122       contentKey = "string";
123     };
124     "last-modified" = {
125       class      = iCalDateHolder;
126       key        = "lastModified";
127       tagKey     = "tag";
128       contentKey = "string";
129     };
130     
131     dtstart = {
132       class = iCalDateHolder;
133       key   = "startDate";
134       attributes = {
135         tzid = tzid;
136       };
137       tagKey     = "tag";
138       contentKey = "string";
139     };
140     dtend = {
141       class = iCalDateHolder;
142       key   = "endDate";
143       attributes = {
144         tzid = tzid;
145       };
146       tagKey     = "tag";
147       contentKey = "string";
148     };
149     exdate = {
150       class = iCalDateHolder;
151       key   = "recurrenceRuleExceptionDate";
152       attributes = {
153         tzid = tzid;
154       };
155       tagKey     = "tag";
156       contentKey = "string";
157     };
158     due = {
159       class = iCalDateHolder;
160       attributes = {
161         tzid = tzid;
162       };
163       tagKey     = "tag";
164       contentKey = "string";
165     };
166     completed = {
167       class = iCalDateHolder;
168       attributes = {
169         tzid = tzid;
170       };
171       tagKey     = "tag";
172       contentKey = "string";
173     };
174     
175     duration = {
176       class = NSString;
177     };
178     
179     summary     = { class = NSString; };
180     description = { class = NSString; key = comment; };
181     comment     = { class = NSString; key = userComment; };
182     uid         = { class = NSString; };
183     action      = { class = NSString; };
184     priority    = { class = NSString; };
185     status      = { class = NSString; };
186     transp      = { class = NSString; key = transparency; };
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 }