]> err.no Git - sope/blob - sope-ical/NGiCal/NGiCal.xmap
Added transparency and added convenience methods
[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         rrule       = recurrenceRule;
38       };
39
40       ToManyRelationships = {
41         "alarms"    = ( valarm   );
42         "attendees" = ( attendee );
43       };
44     };
45     
46     vtodo = {
47       class = "iCalToDo";
48
49       attributes = {
50         rrule       = recurrenceRule;
51       };
52
53       ToManyRelationships = {
54         "alarms"    = ( valarm   );
55         "attendees" = ( attendee );
56       };
57     };
58     
59     valarm = {
60       class = "iCalAlarm";
61
62       attributes = {
63         rrule        = recurrenceRule;
64       };
65     };
66     
67     vfreebusy = {
68       class = "iCalFreeBusy";
69       
70       ToManyRelationships = {
71         "entries" = ( freebusy );
72       };
73     };
74     
75     vtimezone = {
76       class = NSMutableDictionary;
77       
78       attributes = {
79         tzid             = timeZoneID;
80         "X-LIC-LOCATION" = location;
81         daylight         = daylightInfo;
82         standard         = standardInfo;
83       };
84     };
85     daylight = {
86       class = NSMutableDictionary;
87       
88       attributes = {
89         tzoffsetfrom = tzOffsetFrom;
90         tzoffsetto   = tzOffsetTo;
91         tzname       = tzName;
92         dtstart      = startDate;
93         rrule        = recurrenceRule;
94       };
95     };
96     standard = {
97       class = NSMutableDictionary;
98       
99       attributes = {
100         tzoffsetfrom = tzOffsetFrom;
101         tzoffsetto   = tzOffsetTo;
102         tzname       = tzName;
103         dtstart      = startDate;
104         rrule        = recurrenceRule;
105       };
106     };
107     
108     // attributes
109     
110     dtstamp = {
111       class      = iCalDateHolder;
112       key        = "timeStampAsDate";
113       tagKey     = "tag";
114       contentKey = "string";
115     };
116     created = {
117       class      = iCalDateHolder;
118       key        = "created";
119       tagKey     = "tag";
120       contentKey = "string";
121     };
122     "last-modified" = {
123       class      = iCalDateHolder;
124       key        = "lastModified";
125       tagKey     = "tag";
126       contentKey = "string";
127     };
128     
129     dtstart = {
130       class = iCalDateHolder;
131       key   = "startDate";
132       attributes = {
133         tzid = tzid;
134       };
135       tagKey     = "tag";
136       contentKey = "string";
137     };
138     dtend = {
139       class = iCalDateHolder;
140       key   = "endDate";
141       attributes = {
142         tzid = tzid;
143       };
144       tagKey     = "tag";
145       contentKey = "string";
146     };
147     due = {
148       class = iCalDateHolder;
149       attributes = {
150         tzid = tzid;
151       };
152       tagKey     = "tag";
153       contentKey = "string";
154     };
155     completed = {
156       class = iCalDateHolder;
157       attributes = {
158         tzid = tzid;
159       };
160       tagKey     = "tag";
161       contentKey = "string";
162     };
163     
164     duration = {
165       class = NSString;
166     };
167     
168     summary     = { class = NSString; };
169     description = { class = NSString; key = comment; };
170     uid         = { class = NSString; };
171     action      = { class = NSString; };
172     priority    = { class = NSString; };
173     status      = { class = NSString; };
174     transp      = { class = NSString; key = transparency; };
175     sequence    = { class = NSString; };
176     categories  = { class = NSString; };
177     class       = { class = NSString; key = accessClass; };
178     percent-complete = { class = NSString; key = "percentComplete"; };
179     
180     attendee = {
181       class = iCalPerson;
182       attributes = {
183         cn = cn;
184         rsvp = rsvp;
185         role = role;
186         partstat = partStat;
187       };
188       contentKey = "email";
189     };
190     organizer = {
191       class      = iCalPerson;
192       attributes = {
193         cn = cn;
194       };
195       contentKey = "email";
196     };
197     
198     freebusy = {
199       class = NSString;
200     };
201     url = {
202       class = NSString;
203     };
204     
205     trigger = {
206       class = iCalTrigger;
207       attributes = {
208         value = valueType;
209       };
210       contentKey = "value";
211     };
212     attach = {
213       class = iCalAttachment;
214       attributes = {
215         value = valueType;
216       };
217       contentKey = "value";
218     };
219
220     tzid = {
221       class = NSString;
222     };
223     tzname = {
224       class = NSString;
225     };
226     tzoffsetfrom = {
227       class = NSString;
228     };
229     tzoffsetto = {
230       class = NSString;
231     };
232     rrule = {
233       class = NSString;
234     };
235     location = {
236       class = NSString;
237     };
238     
239     // extra tags
240
241     "X-LIC-LOCATION" = {
242       class = NSString;
243     };
244     
245     "X-WR-TIMEZONE" = {
246       rejectWithContent = YES;
247     };
248     "X-WR-CALNAME" = {
249       rejectWithContent = YES;
250     };
251     "X-WR-RELCALID" = {
252       rejectWithContent = YES;
253     };
254
255     "X-MICROSOFT-CDO-TZID" = {
256       rejectWithContent = YES;
257     };
258     "X-MICROSOFT-CDO-BUSYSTATUS" = {
259       rejectWithContent = YES;
260     };
261     "X-MICROSOFT-CDO-INSTTYPE" = {
262       rejectWithContent = YES;
263     };
264     "X-MICROSOFT-CDO-INTENDEDSTATUS" = {
265       rejectWithContent = YES;
266     };
267     "X-MICROSOFT-CDO-ALLDAYEVENT" = {
268       rejectWithContent = YES;
269     };
270     "X-MICROSOFT-CDO-IMPORTANCE" = {
271       rejectWithContent = YES;
272     };
273
274     "X-PILOTID" = {
275       rejectWithContent = YES;
276     };
277     "X-PILOTSTAT" = {
278       rejectWithContent = YES;
279     };
280   };
281 }