Hi Doug, Am Freitag, 3. Juni 2005 18:38 schrieben Sie: > The "DTSTART" property value, if > specified, counts as the first occurrence. Yes, and? I was discussing exactly this sentence. Did you read what I wrote in the paragraph before the one that you quote? On Friday, 3. Juni 2005 17:47 I wrote: > I thought about this issue some more, and I tend to think that the phrase > "if specified" in the RFC 2445 is actually meant to mean "if the DTSTART > matches the recurrence rule" (not if the DTSTART is present in the VEVENT > at all). The issue here is what "if specified" means. It can't mean "if a DTSTART property is available", because if there is no DTSTART (implied or explicit), then an RRULE doesn't make sense at all. So what else can it mean? It's definitely there for a reason, so the only explanation I found was that "specified" in that context was meant to be "if the first recurrence of the RRULE matches the DTSTART, it counts towards the COUNT". This might not seem relevant (or rather, it might seem pretty obvious), but if you look at the larger picture it serves as clarification: The whole recurrence set is generated by DTSTART plus the recurrences generated by the RRULEs and the RDATEs, minus the EXRULES and EXDATEs. Also, rfc 2445 says "Duplicate instances are ignored". The phrase you quote simply means that although the the dtstart will be ignored in the RRULE (because it's already in the recurrence set due to its being DTSTART), it still counts towards count. Also notice the wording: it speaks of the property value, not of the property itself. The property needs to be specified (which implies that a value for DTSTART is specified in the VEVENT), so the question here is specified *by what* ? In the event? (No, I already negated this and brought arguments for this) By the recurrence rule? At least that's the explanation I found for that exact phrase in the RFC. I may be wrong, but I haven't yet heard a better explanation to what "if specified" really means there. Please correct me, if I'm wrong! Cheers, Reinhold > > > After re-reading the rfc several times, and reading a thread on the > > libical mailing list from July 2002 > > (http://www.softwarestudio.org/mail-archives/libical/0680.html, see the > > thread following this initial mail for the relvant comments), I don't > > think that the DTSTART is meant to be automatically part of the > > recurrence set generated by the RRULE (only if it matches the BY* parts). > > So, basically, this means that > > DTSTART;VALUE=DATE:20050603 > > RRULE:FREQ=DAILY > > EXRULE:FREQ=WEEKLY;BYDAY=MO,WE;COUNT=3 > > excludes only Mo June 6, We June 8, and Mo June 13 (the count applies > > only to the nr of dates that actually match the rule, as explained above; > > and the DTSTART is not automatically excluded by the EXRULE, since > > otherwise the phrase "can be used to exclude ... DTSTART" doesn't make > > sense). > > > > Can anyone confirm this? > > > > Cheers, > > Reinhold -- ------------------------------------------------------------------ Reinhold Kainhofer, Vienna, Austria email: reinhold@xxxxxxxxxxxxx, http://reinhold.kainhofer.com/ * Financial and Actuarial Mathematics, TU Wien, http://www.fam.tuwien.ac.at * K Desktop Environment, http://www.kde.org/, KOrganizer / KPilot maintainer
Attachment:
pgp00007.pgp
Description: PGP signature