{ "http://www.ietf.org/internet-drafts/draft-ietf-calsch-many-xcal-01.txt" = { // components iCalendar = { class = NSMutableDictionary; // "ICalXRoot"; tagKey = "tag"; ToManyRelationships = { "subcomponents" = ( vcalendar ); }; }; vcalendar = { class = iCalCalendar; // ICalVCalendar; attributes = { prodid = prodId; version = version; calscale = calscale; }; ToManyRelationships = { events = ( vevent ); todos = ( vtodo ); journals = ( journals ); freeBusys = ( vfreebusy ); timezones = ( vtimezone ); }; }; vevent = { class = iCalEvent; ToManyRelationships = { "alarms" = ( valarm ); "attendees" = ( attendee ); }; }; vtodo = { class = "iCalToDo"; ToManyRelationships = { "alarms" = ( valarm ); "attendees" = ( attendee ); }; }; valarm = { class = "iCalAlarm"; }; vfreebusy = { class = "iCalFreeBusy"; ToManyRelationships = { "entries" = ( freebusy ); }; }; vtimezone = { class = NSMutableDictionary; attributes = { tzid = timeZoneID; "X-LIC-LOCATION" = location; daylight = daylightInfo; standard = standardInfo; }; }; daylight = { class = NSMutableDictionary; attributes = { tzoffsetfrom = tzOffsetFrom; tzoffsetto = tzOffsetTo; tzname = tzName; dtstart = startDate; rrule = recurrenceRule; }; }; standard = { class = NSMutableDictionary; attributes = { tzoffsetfrom = tzOffsetFrom; tzoffsetto = tzOffsetTo; tzname = tzName; dtstart = startDate; rrule = recurrenceRule; }; }; // attributes dtstamp = { class = iCalDateHolder; key = "timeStampAsDate"; tagKey = "tag"; contentKey = "string"; }; created = { class = iCalDateHolder; key = "created"; tagKey = "tag"; contentKey = "string"; }; "last-modified" = { class = iCalDateHolder; key = "lastModified"; tagKey = "tag"; contentKey = "string"; }; dtstart = { class = iCalDateHolder; key = "startDate"; attributes = { tzid = tzid; }; tagKey = "tag"; contentKey = "string"; }; dtend = { class = iCalDateHolder; key = "endDate"; attributes = { tzid = tzid; }; tagKey = "tag"; contentKey = "string"; }; due = { class = iCalDateHolder; attributes = { tzid = tzid; }; tagKey = "tag"; contentKey = "string"; }; completed = { class = iCalDateHolder; attributes = { tzid = tzid; }; tagKey = "tag"; contentKey = "string"; }; duration = { class = NSString; }; summary = { class = NSString; }; description = { class = NSString; key = comment; }; uid = { class = NSString; }; action = { class = NSString; }; priority = { class = NSString; }; status = { class = NSString; }; transp = { class = NSString; }; sequence = { class = NSString; }; categories = { class = NSString; }; class = { class = NSString; key = accessClass; }; percent-complete = { class = NSString; key = "percentComplete"; }; attendee = { class = iCalPerson; attributes = { cn = cn; rsvp = rsvp; role = role; partstat = partStat; }; contentKey = "email"; }; organizer = { class = iCalPerson; attributes = { cn = cn; }; contentKey = "email"; }; freebusy = { class = NSString; }; url = { class = NSString; }; trigger = { class = iCalTrigger; attributes = { value = valueType; }; contentKey = "value"; }; attach = { class = iCalAttachment; attributes = { value = valueType; }; contentKey = "value"; }; tzid = { class = NSString; }; tzname = { class = NSString; }; tzoffsetfrom = { class = NSString; }; tzoffsetto = { class = NSString; }; rrule = { class = NSString; }; location = { class = NSString; }; // extra tags "X-LIC-LOCATION" = { class = NSString; }; "X-WR-TIMEZONE" = { rejectWithContent = YES; }; "X-WR-CALNAME" = { rejectWithContent = YES; }; "X-WR-RELCALID" = { rejectWithContent = YES; }; "X-MICROSOFT-CDO-TZID" = { rejectWithContent = YES; }; "X-MICROSOFT-CDO-BUSYSTATUS" = { rejectWithContent = YES; }; "X-MICROSOFT-CDO-INSTTYPE" = { rejectWithContent = YES; }; "X-MICROSOFT-CDO-INTENDEDSTATUS" = { rejectWithContent = YES; }; "X-MICROSOFT-CDO-ALLDAYEVENT" = { rejectWithContent = YES; }; "X-MICROSOFT-CDO-IMPORTANCE" = { rejectWithContent = YES; }; "X-PILOTID" = { rejectWithContent = YES; }; "X-PILOTSTAT" = { rejectWithContent = YES; }; }; }