W3C home > Mailing lists > Public > www-svg@w3.org > September 2010

Single-valued keyTimes

From: Brian Birtles <birtles@gmail.com>
Date: Fri, 17 Sep 2010 11:15:29 +0900
Message-ID: <AANLkTinYCtU53Ak6m8cqew=k3t28ZO3i=23QJgJ6pit_@mail.gmail.com>
To: www-svg <www-svg@w3.org>
Dear all,

I'd like to clarify whether the following fragment of SVG is correct:

    <animate attributeName="cx" values="150" keyTimes="0" dur="1s"/>

The reason I believe this clarification is needed is that we have the
following rules:
* values is a list of ONE or more values.[1]
* the number of keyTimes must match the number of values.[2]
* for linear and spline animation the first keyTime must be 0 and the last
keyTime must be 1.[2]
(Recall that for animate the default calcMode is linear)

So technically the above fragment is in error since the last keyTime is not

Admittedly, it's a fairly obscure case since, (a) only having one value
means it's not really linear animation anyway, (b) setting keyTimes isn't
going to have any effect unless we have 3 or more values (except for

Nevertheless, SVG seems to be pretty strict about error-checking:

  If there are any errors in the ‘keyTimes’  specification (bad values, too
many or too few values), the document fragment is in error (see error

My suggestion is that the above be considered valid largely for the sake of
making generating SVG from script simpler. For example, a script may
generate keyTimes regardless of whether they will have any effect and it's
often easier to get that script to just spit out '0' when there's only one
value than having to special-case it to not set the attribute.

So perhaps we could update the following statement to allow for the case of
only one keyTime:

    For linear and spline animation, the first time value in the list must
be 0, and the last time value in the list must be 1.[2]

Best regards,

Brian Birtles

Received on Friday, 17 September 2010 02:16:02 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 8 March 2017 09:47:22 UTC