Re: SMIL21: repeat vs repeatEvent

I spent some time identifying places in the W3C documents with  
references to "repeat" and "repeatEvent", and it is indeed inconsistent  
(or at least leads to confusion). You'll find the links below.

- There is an error in the recommendation, one of the examples for the  
syntax of Event-values is illegal [5]:
[ begin="x.repeat"        : Begin each time a repeat event is observed  
on "x" ]
Indeed, the list of legal "Event-symbol" only includes "repeatEvent"  
[2].
This part of the specification needs to be fixed.

Note: [ begin="x.repeat(1)" ] is allowed, but this is part of a  
different grammar ("Repeat-values") [4]. The "(iteration_number)" part  
is mandatory by the way.

Now, "foo.repeat(1)" is semantically equivalent to "foo.repeatEvent".  
The first notation allows to access specific iteration numbers (>=1),  
whereas the second notation doesn't filter the repeat events (all of  
them are captured when raised).

On the other hand:
- [ begin="foo.end+1s" ] differs from [ begin="foo.endEvent+1s" ]  
because the first instance describes a synchronization-arc using a  
*syncbase value*, whereas the second instance shows the use of the  
*event model* (DOM-compatible).
=> In principle, the 2 notations are semantically different, and the  
"observed" begin may potentially be different. In practice (from the  
user-agent standpoint), "end" can potentially be "calculated", whereas  
"endEvent" can only be "raised".

The same can't be said for [ begin="foo.repeat(1)+1s" ] and [  
begin="foo.repeatEvent+1s" ], because they are semantically equivalent.


Therefore, for consistency purposes, a good improvement to the  
recommendation would be to rename ".repeat" to ".repeatEvent", because  
it is not a syncbase value: it is an event value.


References:

-[1] DOM events and event model
http://www.w3.org/TR/2005/PR-SMIL2-20050927/smil-timing.html#Timing- 
DOMEvents

-[2] Supported event symbols in the default profile
http://www.w3.org/TR/2005/PR-SMIL2-20050927/smil21- 
profile.html#SMILProfileNS-supported-events

-[3] Syntax for syncbase values
http://www.w3.org/TR/2005/PR-SMIL2-20050927/smil-timing.html#Timing- 
SyncbaseValueSyntax

-[4] Syntax for repeat values
http://www.w3.org/TR/2005/PR-SMIL2-20050927/smil-timing.html#Timing- 
RepeatValueSyntax

-[5] Syntax for event values
http://www.w3.org/TR/2005/PR-SMIL2-20050927/smil-timing.html#Timing- 
EventValueSyntax


and additionally:

-[6] Repeat in Smil animation
http://www.w3.org/TR/smil-animation/#RepeatingAnim

-[7] the "repeat" attribute (deprecated in favor of "repeatDur" and  
"repeatCount")
http://www.w3.org/TR/2005/PR-SMIL2-20050927/smil-timing.html#adef-repeat


Kind regards, Daniel WECK.

Received on Thursday, 8 December 2005 04:05:22 UTC