W3C

SMIL 2.1 Recommendation Errata

This version:
http://www.w3.org/2005/10/REC-SMIL21-20051010-errata.html
This document records known errors in the document:
http://www.w3.org/TR/2005/REC-SMIL2-20051213
Latest SMIL 2 version:
http://www.w3.org/TR/SMIL2/

Last modified: $Date: 2008/06/05 12:38:44 $


About the SMIL 2.1 Recommendation

The SMIL 2.1 Recommendation has been produced by the W3C SYMM Working Group as part of the activity of the W3C Interaction Domain.

This document lists the known errata to the SMIL 2.1 Recommendation.
Each entry has the following information:

Please send general comments about this document to the public mailing list www-smil@w3.org. An archive is available at http://lists.w3.org/Archives/Public/www-smil/.

Conventions

Added text marked thus. Removed text marked thus. Changed text marked thus.


Known errors as of 05 June 2008

  1. Correction of new 2.1 FPIs for *profile-model-1.mod files, section Appendix A. SMIL 2.1 DTDs (revised 03 01 2006)
  2. Correction of SMIL Animation references in section 10 of the SMIL 2.1 Timing and Synchronization Module (revised 03 01 2006)
  3. Minor typo in the Index of SMIL 2.1 Modules in Appendix B. (revised 20 01 2006)
  4. Minor in the SMIL 2.1 Mobile Profile. (revised 03 02 2006)
  5. EBNF revision and pseudo-BNF issues. (revised 09 02 2006)
  6. Missing link in The SMIL 2.1 Content Control Modules. (revised 23 02 2006)
  7. Clarification in SMIL 2.1 Timing and Synchronization Module (revised 03 03 2006).
  8. Wrong Link in SMIL 2.1 Layout Modules (revised 3 06 2006)
  9. Minor typo in SMIL 2.1 Media Object Modules (revised 03 06 2006).
  10. Clarification in SMIL 2.1 Animation Modules for Simple animation functions (revised 04 06 2008).
  11. Clarification in SMIL 2.1 Animation Modules for SplineAnimation Module Attributes (revised 04 06 2008).

Rejected proposed erratas:

  1. SMIL21: Duplicated event definitions (revised 03 01 2006)
  2. SMIL 21: Weird XML1.1 references (revised 03 03 2006)
  3. SMIL21: 'focus' event examples (revised 03 03 2006)

Erratas:

- E01: Correction of new 2.1 FPIs for *profile-model-1.mod files, section Appendix A. SMIL 2.1 DTDs (revised 03 01 2006)

Description:

Issue raised as "New 2.1 FPIs for *profile-model-1.mod files"

Each of the new SMIL 2.1 DTDs:

PUBLIC -//W3C//DTD SMIL 2.1 Extended Mobile//EN
SYSTEM SMIL21ExtendedMobile.dtd
PUBLIC -//W3C//DTD SMIL 2.1 Mobile//EN
SYSTEM SMIL21Mobile.dtd
PUBLIC -//W3C//DTD SMIL 2.1//EN
SYSTEM SMIL21.dtd

refer to the same FPI:
PUBLIC -//W3C//ENTITIES SMIL 2.1 Document Model 1.0//EN

expecting different files:

SYSTEM smil-extended-mobile-profile-model-1.mod
SYSTEM smil-language-profile-model-1.mod
SYSTEM smil-mobile-profile-model-1.mod

This means the 2.1 DTDs will currently not work together with OASIS XML catalogs.

Resolution:

The public identifiers for the model files should be changed.

The non-normative SMIL 2.1 DTD is now updated and available at:
http://www.w3.org/2005/SMIL21/DTD/SMIL21Mobile.dtd
http://www.w3.org/2005/SMIL21/DTD/SMIL21ExtendedMobile.dtd
and in DTD Zip file available.

Note: The normative DTD identified by http://www.w3.org/TR/2005/REC-SMIL2-20051213/smil21DTD/smil21.dtd is NOT updated.
This is only a SMIL 2.1 issue as it affect only new files in SMIL 2.1. Therefore not a SMIL 2.0 errata.

The solution is to give these files

smil-extended-mobile-profile-model-1.mod
smil-mobile-profile-model-1.mod

1- the FPIs shown:

PUBLIC -//W3C//ENTITIES SMIL 2.1 Extended Mobile Document Model 1.0//EN
SYSTEM smil-extended-mobile-profile-model-1.mod

PUBLIC -//W3C//ENTITIES SMIL 2.1 Mobile Document Model 1.0//EN
SYSTEM smil-mobile-profile-model-1.mod

the FPI is changed in the comments at the top of

2- The entity definition is changed in following files

from

<!ENTITY % smil-model.mod
PUBLIC "-//W3C//ENTITIES SMIL 2.1 Document Model 1.0//EN" "smil-mobile-profile-model-1.mod" >

to

<!ENTITY % smil-model.mod
PUBLIC "-//W3C//ENTITIES SMIL 2.1 Mobile Document Model 1.0//EN" "smil-mobile-profile-model-1.mod" >

and changed in the following files:

from

<!ENTITY % smil-model.mod
PUBLIC "-//W3C//ENTITIES SMIL 2.1 Document Model 1.0//EN"
"smil-extended-mobile-profile-model-1.mod" >

to

<!ENTITY % smil-model.mod
PUBLIC "-//W3C//ENTITIES SMIL 2.1 Extended Mobile Document Model 1.0//EN"
"smil-extended-mobile-profile-model-1.mod" >

- E02: Correction in the SMIL 2.1 Timing and Synchronization Module for SMIL Animation references in section 10 (revised 03 01 2006)

Description:

The [SMIL-ANIMATION] reference refers to the SMIL Animation Recommendation

Resolution:

The [SMIL-ANIMATION] reference should refer to the SMIL 2.1 Animation Modules Chapter and not to the SMIL Animation Recommendation

Therefore:

[SMIL-ANIMATION] (whick links to the SMIL Animation Recommendation)

should be replaced by

[SMIL-ANIMATION] (whick links to the SMIL 2.1 Animation Modules Chapter)

- E03: Minor typo in the Index of SMIL 2.1 Modules in Appendix B. (revised 20 01 2006)

Description:

The Index of SMIL 2.1 Modules in Appendix B, lists for each Module Name where in the Recommandation the Module is specified .

The document says SMIL 21 for each Module.

Resolution:

The document says SMIL 21 for each Module. For each Module it should say SMIL 2.1

example :

AccessKeyTiming SMIL 21 Timing

replace by:

AccessKeyTiming SMIL 2.1 Timing

- E04: Minor typo in the SMIL 2.1 Mobile Profile. section 14.1 (revised 03 02 2006)

Description:

Minor typo in the 4th sentence of theAbstract of the SMIL 2.1 Mobile Profile

Resolution:

"The SMIL 2.1 Mobile Profile is largely compatibility with the SMIL profile that third Generation Partnership Program (3GPP) has defined ..."

replace by:

"The SMIL 2.1 Mobile Profile is largely compatible with the SMIL profile that third Generation Partnership Program (3GPP) has defined ..."

- E05: EBNF and pseudo-BNF issues. (revised 09 02 2006)

Description:

In the SMIL 2.1 Recommendation, definition of possible attribute values are sometimes listed multiple times, first as pseudo-BNF and also as a real EBNF syntax definition. Unfortunately, in some cases (eg. begin/end) definitions pseudo-BNF and the EBNF definitions are not identical. There are two types of differences: white space (which is explicit in the EBNF) and capitalization of non-terminal names.

Furthermore in some cases, the current EBNF definitions do not conform to the XML 1.1 format. For example "Symbols are written with an initial capital letter if they are the start symbol of a regular language, otherwise with an initial lowercase letter." And also, comments are denoted as /* ... */.

Resolution:

Throughout the SMIL 2.1 Recommendation, the pseudo-BNF in the definitions of attributes are only Informative and the Normative syntax is given by the EBNF definition.

The EBNF defiitions are fixed to be internally consistent and to follow the rules set by XML 1.1, this means:

1- All symbols in the following list should actually be capitalized since each one defines a simple regular language.
2- Undefined symbols used in the EBNF definitions must be defined. Some are defined by XML, however we should mention that and we should use the same spelling. In particular, XML defines Nmtoken and Char where we used NMTOKEN and Character. XML does not define ID and IDREF in an EBNF but merely says that values of type ID and IDREF must match Name. We suggest the following updated EBNF definitions.

We could have defined Event-symbol to be the same as Id-value, but we didn't, because that would give the false sense that an Event-symbols is an IDREF. An Event-symbols is the name of an event generated by the player, and is not a reference to an ID within the document.

1- Timing and Synchronization Chapter

Following is a complete list of all EBNF defintions in the Timing and Synchronization Chapter in order of occurrence.
Replace the following EBNF definitions:

S                     ::= (#x20 | #x9 | #xD | #xA)+
begin-value-list      ::= begin-value (S? ";" S? begin-value-list )?
begin-value           ::= (offset-value | syncbase-value | event-value
                          | repeat-value | accesskey-value
                          | media-marker-value | wallclock-sync-value
                          | "indefinite" )
end-value-list        ::= end-value (S? ";" S? end-value-list )?
end-value             ::= (offset-value | syncbase-value | event-value
                          | repeat-value | accesskey-value
                          | media-marker-value | wallclock-sync-value
                          | "indefinite" )
Clock-value           ::= ( Full-clock-value | Partial-clock-value
                          | Timecount-value )
Full-clock-value      ::= Hours ":" Minutes ":" Seconds ("." Fraction)?
Partial-clock-value   ::= Minutes ":" Seconds ("." Fraction)?
Timecount-value       ::= Timecount ("." Fraction)? (Metric)?
Metric                ::= "h" | "min" | "s" | "ms"
Hours                 ::= DIGIT+; any positive number
Minutes               ::= 2DIGIT; range from 00 to 59
Seconds               ::= 2DIGIT; range from 00 to 59
Fraction              ::= DIGIT+
Timecount             ::= DIGIT+
2DIGIT                ::= DIGIT DIGIT
DIGIT                 ::= [0-9]
offset-value          ::= ( S? ("+" | "-") S? )? ( Clock-value )
smil-1-syncbase-value ::= "id(" Id-value ")"
                          ( "(" ( "begin" | "end" | Clock-value) ")" )?
Id-value              ::= Id-ref-value
Id-ref-value          ::= IDREF | Escaped-Id-ref-value
Escaped-Id-ref-value  ::= Escape-Char NMTOKEN
Escape-Char           ::= "\"
Syncbase-value        ::= ( Syncbase-element "." Time-symbol )
                          ( S? ("+"|"-") S? Clock-value )?
Syncbase-element      ::= Id-value
Time-symbol           ::= "begin" | "end"
Event-value           ::= ( Eventbase-element "." )? Event-symbol
                          ( S? ("+"|"-") S? Clock-value )?
Eventbase-element     ::= ID
Repeat-value          ::= ( Eventbase-element "." )?
                          "repeat(" iteration ")"
                          ( S? ("+"|"-") S? Clock-value )?
iteration             ::= DIGIT+
Accesskey-value       ::= "accesskey(" character ")"
                          ( S? ("+"|"-") S? Clock-value )?
Media-Marker-value    ::= Id-value ".marker(" S? marker-name S? ")"
wallclock-sync-value  ::= "wallclock(" S?
                          (DateTime | WallTime | Date)  S? ")"
DateTime              ::= Date "T" WallTime
Date                  ::= Years "-" Months "-" Days
WallTime              ::= (HHMM-Time | HHMMSS-Time)(TZD)?
HHMM-Time             ::= Hours24 ":" Minutes
HHMMSS-Time           ::= Hours24 ":" Minutes ":" Seconds
                          ("." Fraction)?
Years                 ::= 4DIGIT;
Months                ::= 2DIGIT; range from 01 to 12
Days                  ::= 2DIGIT; range from 01 to 31
Hours24               ::= 2DIGIT; range from 00 to 23
4DIGIT                ::= DIGIT DIGIT DIGIT DIGIT
TZD                   ::= "Z" | (("+" | "-") Hours24 ":" Minutes )

By following EBNF definitions:

Event-symbol          ::= Escape-Char? NameStartChar
                          (Escape-Char? NameChar)*
                          /* add to #Timing-EventValueSyntax */
Marker-name           ::= (Char - ")")+
                          /* add to #Timing-MediaMarkerValueSyntax */
Idref                 ::= Name
Nmtoken -- see [XML 1.1]
Name -- see [XML 1.1]
Char -- see [XML 1.1]

S                     ::= (#x20 | #x9 | #xD | #xA)+
Begin-value-list      ::= Begin-value (S? ";" S? Begin-value-list )?
Begin-value           ::= (Offset-value | Syncbase-value | Event-value
                          | Repeat-value | Accesskey-value
                          | Media-Marker-value | Wallclock-sync-value
                          | "indefinite" )
End-value-list        ::= End-value (S? ";" S? End-value-list )?
End-value             ::= (Offset-value | Syncbase-value | Event-value
                          | Repeat-value | Accesskey-value
                          | Media-Marker-value | Wallclock-sync-value
                          | "indefinite" )
Clock-value           ::= ( Full-clock-value | Partial-clock-value
                          | Timecount-value )
Full-clock-value      ::= Hours ":" Minutes ":" Seconds ("." Fraction)?
Partial-clock-value   ::= Minutes ":" Seconds ("." Fraction)?
Timecount-value       ::= Timecount ("." Fraction)? (Metric)?
Metric                ::= "h" | "min" | "s" | "ms"
Hours                 ::= DIGIT+ /* any positive number */
Minutes               ::= 2DIGIT /* range from 00 to 59 */
Seconds               ::= 2DIGIT /* range from 00 to 59 */
Fraction              ::= DIGIT+
Timecount             ::= DIGIT+
2DIGIT                ::= DIGIT DIGIT
DIGIT                 ::= [0-9]
Offset-value          ::= ( S? ("+" | "-") S? )? ( Clock-value )
SMIL-1-syncbase-value ::= "id(" Id-value ")"
                          ( "(" ( "begin" | "end" | Clock-value) ")" )?
Id-value              ::= Id-ref-value
Id-ref-value          ::= Idref | Escaped-Id-ref-value
Escaped-Id-ref-value  ::= Escape-Char? NameStartChar
                          (Escape-Char? NameChar)*
Escape-Char           ::= "\"
Syncbase-value        ::= ( Syncbase-element "." Time-symbol )
                          ( S? ("+"|"-") S? Clock-value )?
Syncbase-element      ::= Id-value
Time-symbol           ::= "begin" | "end"
Event-value           ::= ( Eventbase-element "." )? Event-symbol
                          ( S? ("+"|"-") S? Clock-value )?
Eventbase-element     ::= Id-value
Repeat-value          ::= ( Eventbase-element "." )?
                          "repeat(" Iteration ")"
                          ( S? ("+"|"-") S? Clock-value )?
Iteration             ::= DIGIT+
Accesskey-value       ::= "accesskey(" Char ")"
                          ( S? ("+"|"-") S? Clock-value )?
Media-Marker-value    ::= Id-value ".marker(" S? Marker-name S? ")"
Wallclock-sync-value  ::= "wallclock(" S?
                          (DateTime | WallTime | Date)  S? ")"
DateTime              ::= Date "T" WallTime
Date                  ::= Years "-" Months "-" Days
WallTime              ::= (HHMM-Time | HHMMSS-Time)(TZD)?
HHMM-Time             ::= Hours24 ":" Minutes
HHMMSS-Time           ::= Hours24 ":" Minutes ":" Seconds
                          ("." Fraction)?
Years                 ::= 4DIGIT
Months                ::= 2DIGIT /* range from 01 to 12 */
Days                  ::= 2DIGIT /* range from 01 to 31 */
Hours24               ::= 2DIGIT /* range from 00 to 23 */
4DIGIT                ::= DIGIT DIGIT DIGIT DIGIT
TZD                   ::= "Z" | (("+" | "-") Hours24 ":" Minutes )

2- Amination Modules Chapter

Following is a complete list of all EBNF defintions in the Animation chapter in order of occurrence.
Replace the following EBNF definitions:

coordinate-pair ::= "("coordinate comma-wsp coordinate")"
coordinate ::= num
num ::= Number

control-pt-set ::= ( fpval comma-wsp fpval comma-wsp fpval 
comma-wsp fpval )fpval ::= Floating point number
S              ::= spacechar*
comma-wsp      ::= S (spacechar|",") S
spacechar      ::= (#x20 | #x9 | #xD | #xA)

by the following EBNF


Coordinate-pair ::= "("Coordinate Comma-wsp Coordinate")"
Coordinate ::= Num
Num ::= Number

Control-pt-set ::= ( Fpval Comma-wsp Fpval Comma-wsp Fpval Comma-wsp Fpval )
Fpval          ::= Floating point number

S ::= (#x20 | #x9 | #xD | #xA)+ /* from XML 1.1 */
Comma-wsp ::= S? (S|",") S?

3- Content Control Modules Chapter

Following is a complete list of all EBNF defintions in the Content Control chapter in order of occurrence.
Replace the following EBNF definitions:

systemLanguageArgumentValue ::= (languageTag (S? ',' S? languageTag)*)?

S ::= (#x20 | #x9 | #xD | #xA)+

S ::= (#x20 | #x9 | #xD | #xA)+

systemRequiredArgumentValue := NMTOKEN (S? '+' S? NMTOKEN)*

screen size   ::= Screen-height"X"Screen-width

S ::= (#x20 | #x9 | #xD | #xA)+

CustomTestArgumentValue := IDREF (S? '+' S? IDREF)*

Bytes-value    ::= DIGIT+ /* any positive number Percent-value */
Percent-value  ::= DIGIT+ "%" /* any positive number in the range 0 to 100 */

bytes-value ::= Digit+; any positive number
percent-value ::= Digit+ "%"; any positive number in the range 0 to 100

Clock-val         ::= ( Hms-val | Smpte-val )
Smpte-val         ::= ( Smpte-type )? Hours ":" Minutes ":" Seconds ( ":" Frames ( "." Subframes )? )?
Smpte-type        ::= "smpte" | "smpte-30-drop" | "smpte-25"
Hms-val           ::= ( "npt=" )? (Full-clock-val | Partial-clock-val | Timecount-val)
Full-clock-val    ::= Hours ":" Minutes ":" Seconds ("." Fraction)?
Partial-clock-val ::= Minutes ":" Seconds ("." Fraction)?
Timecount-val     ::= Timecount ("." Fraction)? (Metric)?
Metric            ::= "h" | "min" | "s" | "ms"
Hours             ::= DIGIT+; any positive number
Minutes           ::= 2DIGIT; range from 00 to 59
Seconds           ::= 2DIGIT; range from 00 to 59
Frames            ::= 2DIGIT; smpte range = 00-29, smpte-30-drop range = 00-29, smpte-25 range = 00-24
Subframes         ::= 2DIGIT; smpte range = 00-01, smpte-30-drop range = 00-01, smpte-25 range = 00-01
Fraction          ::= DIGIT+
Timecount         ::= DIGIT+
2DIGIT            ::= DIGIT DIGIT
DIGIT             ::= [0-9] 

bitrate-value ::= Digit+; any positive number

by following EBNF:

SystemLanguageArgumentValue ::= (Language-Tag (S? ',' S? Language-Tag)*)? /* Language-Tag comes from [RFC1766] */

S ::= (#x20 | #x9 | #xD | #xA)+

SystemRequiredArgumentValue ::= Nmtoken (S? '+' S? Nmtoken)*

Screen-size ::= Screen-height S? "X" S? Screen-width

Screen-height ::= DIGIT+ /* pixel value, an integer value greater than 0*/.
Screen-width  ::= DIGIT+ /* pixel value, an integer value greater than 0*/.

CustomTestArgumentValue ::= Idref (S? '+' S? Idref)*
Idref                 ::= Name
Name -- see [XML 1.1]
Bytes-value    ::= DIGIT+ /* any positive number Percent-value */
Percent-value  ::= DIGIT+ "%" /* any positive number in the range 0 to 100 */

Informative Note: A value of three sets of colon-separated digitscan be produced both by Hms-val and Smpte-val. This is however not aproblem since in both cases the values are interpreted as Hours, Minutes and Seconds.

Clock-val      ::= ( Hms-val | Smpte-val )
Smpte-val      ::= ( Smpte-type )? Hours ":" Minutes ":" Seconds ( ":" Frames ( "." Subframes )? )?
Smpte-type        ::= "smpte" | "smpte-30-drop" | "smpte-25"
Hms-val           ::= ( "npt=" )? (Full-clock-val | Partial-clock-val | Timecount-val)
Full-clock-val    ::= Hours ":" Minutes ":" Seconds ("." Fraction)?
Partial-clock-val ::= Minutes ":" Seconds ("." Fraction)?
Timecount-val     ::= Timecount ("." Fraction)? (Metric)?
Metric            ::= "h" | "min" | "s" | "ms"
Hours             ::= DIGIT+ /* any positive number */
Minutes           ::= 2DIGIT /* range from 00 to 59 */
Seconds           ::= 2DIGIT /* range from 00 to 59 */
Frames            ::= 2DIGIT /* smpte range = 00-29, smpte-30-drop range = 00-29, smpte-25 range = 00-24 */
Subframes         ::= 2DIGIT /* smpte range = 00-01, smpte-30-drop range = 00-01, smpte-25 range = 00-01 */
Fraction          ::= DIGIT+
Timecount         ::= DIGIT+
2DIGIT            ::= DIGIT DIGIT
DIGIT             ::= [0-9]
Bitrate-value     ::= DIGIT+ /* any positive number */

4- The Media Object Modules Chapter

Following is a complete list of all EBNF defintions in the Media Object chapter in order of occurrence.
Replace the following EBNF definitions:

Clip-value-MediaClipping ::= [ Metric "=" ] ( Clock-val | Smpte-val )
Metric            ::= Smpte-type | "npt"
Smpte-type        ::= "smpte" | "smpte-30-drop" | "smpte-25"
Smpte-val         ::= Hours ":" Minutes ":" Seconds
                           [ ":" Frames [ "." Subframes ]]

Hours             ::= Digit+ /* see XML 1.0 for a definition of ´Digit´*/ 
Minutes           ::= Digit Digit; range from 00 to 59
Seconds           ::= Digit Digit; range from 00 to 59

Frames            ::= Digit Digit; smpte range = 00-29,  smpte-30-drop range = 00-29, smpte-25 range = 00-24
Subframes         ::= Digit Digit; smpte range = 00-01,  smpte-30-drop range = 00-01, smpte-25 range = 00-01

Clip-value-MediaClipMarkers ::= Clip-value-MediaClipping | "marker" "=" URI-reference
    /* "URI-reference" is defined in  [URI]  */

by following EBNF definitions:

Clip-value-MediaClipping ::= [ Metric "=" ] ( Clock-val | Smpte-val )
Metric            ::= Smpte-type | "npt"
Smpte-type        ::= "smpte" | "smpte-30-drop" | "smpte-25"
Smpte-val         ::= Hours ":" Minutes ":" Seconds 
                           [ ":" Frames [ "." Subframes ]]
Hours             ::= DIGIT+ /* see XML 1.1 for a definition of ´DIGIT´*/
Minutes           ::= DIGIT DIGIT /* range from 00 to 59 */
Seconds           ::= DIGIT DIGIT /* range from 00 to 59 */

Frames            ::= DIGIT DIGIT /* smpte range = 00-29, smpte-30-drop range = 00-29, smpte-25 range = 00-24 */
Subframes         ::= DIGIT DIGIT /* smpte range = 00-01, smpte-30-drop range = 00-01, smpte-25 range = 00-01 */

Clip-value-MediaClipMarkers ::= Clip-value-MediaClipping | "marker" "=" URI-reference
    /* "URI-reference" is defined in  [URI]  */

- E06: Missing link in The SMIL 2.1 Content Control Modules in section 4.3.2 . (revised 23 02 2006)

Description:

1- The Reference [RFC1766] in the definition of systemLanguage (system-language) in ihe SMIL 2.1 Content Control Modules, is missing its link.

systemLanguage (system-language)
values: a comma-separated list of language names as defined in [RFC1766], or an empty/null string

Resolution:

The definition should be:

systemLanguage (system-language)
values: a comma-separated list of language names as defined in [RFC1766], or an empty/null string

2- In the Appendix E. SMIL 2.1 References, the RFC1766 reference should be listed as a Normative Reference in the "E.1 Normative References Section".

- E07: Clarification in SMIL 2.1 Timing and Synchronization Module section 10.4.1 (revised 03 03 2006).

Description:

in the SMIL 2.1Timing and Synchronization Module section 10.4.1, the syncMaster attribute definition state: "The associated property is read-only, and cannot be set by script."

Resolution:

Delete the following line: “The associated property is read-only, and cannot be set by script”.

- E08: Wrong Link in SMIL 2.1 Layout Modules section 5.4.2 (revised 03 06 2006).

Description:

"In SMIL 2.1 AudioLayout (5.4.2 Overview), one attribute is supported that allows the sound intensity of an audio object to be specified via the soundLevel attribute."
The link on "soundLevel" should be: <http://www.w3.org/TR/SMIL2/layout.html#adef-soundLevel>
NOT: <http://www.w3.org/TR/SMIL2/layout.html#adef-region>

Resolution:

"In SMIL 2.1 AudioLayout, one attribute is supported that allows the sound intensity of an audio object to be specified via the soundLevel attribute."

- E09: Minor typo in SMIL 2.1 Media Object Modules section 7.4.1 (revised 03 06 2006).

Description:

At the end of the second paragraph of section 7.4.1 there is a missing space character for "typeattribute".

"or by using type information contained in the typeattribute".

Resolution:

or by using type information contained in the type attribute.


- E10: Clarification in SMIL 2.1 Animation Modules section 3.5.4 (revised 04 06 2008).

Description:

In section 3.5.4 Simple animation functions specified by from, to and by, in the Examples subsection, change the following sentences

"The rectangle will grow from 10 to 20 pixels in the first 5 seconds, and then from 20 to 30 in the next 5 seconds, and so on up to 110 pixels after 10 repeats."

and

"The rectangle is 30 pixels wide after 5 seconds, and 130 pixels wideafter 10 repeats."

Resolution:

Replace the above 2 sentences by:

"The rectangle will grow from 10 to 20 pixels in the first 5 seconds, and then from 30 to 40 in the next 5 seconds, and so on up to 200 pixels after 10 repeats."

and

"After 5 seconds, the rectangle jumps from 40 pixels to 50 pixels wide, and it is 220 pixels wide at the end of the 10th repeat."


- E11: Clarification in SMIL 2.1 Animation Modules section 3.8.1 (revised 04 06 2008).

Description:

In section 3.8.1 SMIL 2.1 SplineAnimation Module Attributes,

Resolution:

1- the first example and text should be changed from:

Discrete animation can be used with keyTimes, as in the following example:

<animateColor attributeName="color" dur="10s" calcMode="discrete" values="green; yellow; red" keyTimes="0.0; 0.8;" />

This example also shows how keyTimes values can interact with an indefinite duration. The value of the "color" attribute will be set to green for 5 seconds, and then to yellow for 5 seconds, and then will remain red for the remainder of the document, since the (unspecified) duration defaults to "indefinite".

to

Discrete animation may be used with keyTimes, as in the following example:

<animateColor attributeName="color" dur="10s" calcMode="discrete" values="green; yellow; red" keyTimes="0.0; 0.5; 0.8" />

The value of the "color" attribute will be set to green for 5 seconds, and then to yellow for 3 seconds, and then will remain red for the last 2 seconds.

2- Also in Section 3.8.1 SMIL 2.1 SplineAnimation Module Attributes, the first example after the table is incorrect.

The example and text should be changed from:

The keyTimes and keySplines attributes can also be used with the from/to/by shorthand forms for specifying values, as in the following example:

<animate attributeName="foo" from="10" to="20" dur="10s" keyTimes="0.0; 0.7" calcMode="spline" keySplines=".5 0 .5 1" />

The value will change from 10 to 20, using an "ease-in/ease-out" curve specified by the keySplines values. The keyTimes values cause the value of 20 to be reached at 7 seconds, and to hold there for the remainder of the 10 second simple duration.

to:

The keyTimes and keySplines attributes may also be used with the from/to/by shorthand forms for specifying values, as in the following example:

<animate attributeName="foo" from="10" to="20" dur="10s" keyTimes="0.0; 1.0" calcMode="spline" keySplines=".5 0 .5 1" />

The value will change from 10 to 20, using an "ease-in/ease-out" curve specified by the keySplines values. The keyTimes values cause the value

of 20 to be reached at 10 seconds.

(The introductory sentences remain the same but are added for completeness.)

Note: The same change applies to Section 3.2.3 Animation function calculation modes in SMIL Animation.

The original example (after 7 seconds the value 20 is reached and then held for the remainder), can be done with something like this:

<par dur="10s">
<animate attributeName="foo" from="10" to="20" dur="7s" fill="freeze" keyTimes="0.0; 1.0" calcMode="spline" keySplines=".5 0 .5 1" />
</par>


Rejected proposed erratas:

- R01: SMIL21: Duplicated event definitions (revised 03 01 2006)

Description: I am not sure why it does that (it seems like this is duplicated for each profile), but these are 3 slightly different definitions and can easily be confused; there are also problems like that the first definition does not define the intrinsic bubbling behavior of the event.

I think these events should be defined just once; if there are profile-specific considerations these should be called out explicitly for the profiles.

Resolution:

The Timing and Synchronization Module defines a set of events that may be included by a host language, and each Profile specifies which types of events can be used. A Mail sent to Bjoern Hoehrmannexplains why beginEvent event is defined in the SMIL 2.1 Timing and Synchronization Module and in the Profiles Chapters.

- R02: SMIL 21: Weird XML1.1 references (revised 03 03 2006)

Description: section 13.3.2 requires that SMIL 2.1 documents conform to XML 1.1; this seems to be a result of global search and replace, there are no references to XML 1.0 anymore. This is an error, while it'd be good to say XML 1.1 may be used for SMIL 2.1 documents, requiring that implies that XML 1.0 must not be used for SMIL. Considering that XML 1.1 should be used only if really needed, this is a bad idea.

Resolution:

SYMM WG practise is to reference to latest version of other specifications, such as the XML 1.1 Recommendation, unless there is good reason not to do so. A Last Call SMIL 2.1 Working Draft review comment requested using XML 1.1. [XML 1.1]

The SYMM WG does not think that reference to XML 1.1 [XML 1.1] will be of much of a problem because the XML 1.1 specific features in SMIL are minimal.

- R03: SMIL21: 'focus' event examples. (revised 20 03 2006)

Description:

The SYMM WG has reviewed your comment sent to the public smil mailing list about the SMIL 2.1 Rec.

The SYMM WG has found three occurrences of "focus" as an event value in the SMIL 2.1 specification. In all three cases, the value is shown as en example of what event timing might look like. It is true that "focus" does not occur in any of the SMIL Language profiles that were published as part of the recommendation, but that does not mean that the values are incorrect and could not be used by other profiles. In fact, "focus" is a valid event in the XHTML+SMIL profile which was published as a Note shortly after the SMIL 2.0 Recommendation (see http://www.w3.org/TR/XHTMLplusSMIL/ which references http://www.w3.org/TR/DOM-Level-2-Events/events.html).
The SMIL Recommendation is set up so that it could be reused in other specification, and other specifications might well use "focus" (or "load" for that matter) as a valid event symbol.
By the way, the last two occurrences are very clearly XHTML+SMIL since they also use the timeAction attribute.

Resolution:

In conclusion, the SYMM Working Group rejects the erratum.


Thierry Michel