previous   next   contents   index

WD-smil-boston-dom-19991115

5. SMIL Document Object Model

A DOM application can use the hasFeature method of the DOMImplementation interface to determine whether the SMIL Object Model interfaces are supported or not. The feature string for the fundamental interfaces listed in this section is "SMIL". The version number of this feature for SMIL Boston is "2.0".

The purpose of the SMIL Boston DOM is to provide an easy access to the attributes and functionalities of the SMIL Boston specification ([SMIL Boston]). Not all SMIL Boston attributes are accessible with the following API but the user can still use the DOM Core ([DOM Level 2]) to access them (see setAttributeNS and getAttributeNS).

Table of contents

5.1. SMIL Core extensions

(ED: A separate document should describe the integrated DOM associated with SMIL documents, and documents for other document profiles (like HTML and SMIL integrations). )
Interface SMILDocument

A SMIL document is the root of the SMIL Hierarchy and holds the entire content. Beside providing access to the hierarchy, it also provides some convenience methods for accessing certain sets of information from the document.

(ED: Cover document timing, document locking?, linking modality and any other document level issues. Are there issues with nested SMIL files?
Is it worth talking about different document scenarios, corresponding to differing profiles? E.g. Standalone SMIL, HTML integration, etc. )

IDL Definition
interface SMILDocument : Document {
};

Interface SMILElement

The SMILElement interface is the base for all SMIL element types. It follows the model of the HTMLElement in the HTML DOM, extending the base Element class to denote SMIL-specific elements.

Note that the SMILElement interface overlaps with the HTMLElement interface. In practice, an integrated document profile that include HTML and SMIL modules will effectively implement both interfaces (see also the DOM documentation discussion of Inheritance vs Flattened Views of the API).

(ED: // etc. This needs attention)

IDL Definition
interface SMILElement : Element {
           attribute DOMString        id;
                                        // raises(DOMException) on setting

};

Attributes
id of type DOMString
The unique id.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

5.2. Structure extensions

(ED: This module will include the smil, head and body elements. )

5.3. Meta informations extensions

(ED: The following interfaces are based on SMIL 1.0 and will change in future versions. )
Interface SMILMetaElement

@@TODO.


IDL Definition
interface SMILMetaElement : SMILElement {
           attribute DOMString        content;
                                        // raises(DOMException) on setting

           attribute DOMString        name;
                                        // raises(DOMException) on setting

           attribute DOMString        skipContent;
                                        // raises(DOMException) on setting

};

Attributes
content of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

name of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

skipContent of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

5.4. Layout extensions

(ED: The following interfaces are based on SMIL 1.0 and will change in future versions. )

This module includes the layout, root_layout and region elements, and associated attributes.

Interface SMILLayoutElement

Declares layout type for the document. See the LAYOUT element definition in SMIL 1.0.


IDL Definition
interface SMILLayoutElement : SMILElement {
           attribute DOMString        type;
                                        // raises(DOMException) on setting

};

Attributes
type of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

Interface SMILRootLayoutElement

Declares layout properties for the root element. See the root-layout element definition in SMIL 1.0.


IDL Definition
interface SMILRootLayoutElement : SMILElement {
           attribute DOMString        title;
                                        // raises(DOMException) on setting

           attribute DOMString        skipContent;
                                        // raises(DOMException) on setting

           attribute DOMString        backgroundColor;
                                        // raises(DOMException) on setting

           attribute long             height;
                                        // raises(DOMException) on setting

           attribute long             width;
                                        // raises(DOMException) on setting

};

Attributes
title of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

skipContent of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

backgroundColor of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

height of type long
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

width of type long
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

Interface SMILRegionElement

Controls the position, size and scaling of media object elements. See the region element definition in SMIL 1.0.


IDL Definition
interface SMILRegionElement : SMILElement {
           attribute DOMString        title;
                                        // raises(DOMException) on setting

           attribute DOMString        skipContent;
                                        // raises(DOMException) on setting

           attribute DOMString        fit;
                                        // raises(DOMException) on setting

           attribute DOMString        backgroundColor;
                                        // raises(DOMException) on setting

           attribute long             height;
                                        // raises(DOMException) on setting

           attribute long             width;
                                        // raises(DOMException) on setting

           attribute DOMString        top;
                                        // raises(DOMException) on setting

           attribute long             zIndex;
                                        // raises(DOMException) on setting

};

Attributes
title of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

skipContent of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

fit of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

backgroundColor of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

height of type long
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

width of type long
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

top of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

zIndex of type long
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

The layout module also includes the region attribute, used in SMIL layout to associate layout with content elements. This is represented as an individual interface, that is supported by content elements in SMIL documents (i.e. in profiles that use SMIL layout).

Interface SMILRegionInterface

Declares rendering surface for an element. See the region attribute definition in SMIL 1.0.


IDL Definition
interface SMILRegionInterface {
           attribute SMILRegionElement  region;
};

Attributes
region of type SMILRegionElement

5.5. Timing and synchronization extensions

This module includes extensions for timing and synchronization.

(ED: This will be fleshed out as we work on the timing module. For now, we will define a time leaf interface as a placeholder for simple media elements (i.e. those that are not also time containers). This is just an indication of one possibility - this is subject to discussion and review. )
Interface Time

The Time interface is a datatype that represents times within the timegraph. A Time has a type, key values to describe the time, and a boolean to indicate whether the values are currently unresolved. Note that if the boolean value "resolved" is false, then the time must be considered to be "indefinite" (although the other values are still set to describe the Time).


IDL Definition
interface Time {
  readonly attribute boolean          resolved;
  readonly attribute double           resolvedOffset;
  // TimeTypes
  const unsigned short      SMIL_TIME_INDEFINITE           = 0;
  const unsigned short      SMIL_TIME_OFFSET               = 1;
  const unsigned short      SMIL_TIME_SYNC_BASED           = 2;
  const unsigned short      SMIL_TIME_EVENT_BASED          = 3;
  const unsigned short      SMIL_TIME_WALLCLOCK            = 4;
  const unsigned short      SMIL_TIME_MEDIA_MARKER         = 5;

  readonly attribute unsigned short   timeType;
           attribute double           offset;
                                        // raises(DOMException) on setting

           attribute Element          baseElement;
                                        // raises(DOMException) on setting

           attribute boolean          baseBegin;
                                        // raises(DOMException) on setting

           attribute DOMString        event;
                                        // raises(DOMException) on setting

           attribute DOMString        marker;
                                        // raises(DOMException) on setting

};

Attributes
resolved of type boolean, readonly
A boolean indicating whether the current Time has been fully resolved to the document schedule. Note that for this to be true, the current Time must be defined (not indefinite), the syncbase and all Time's that the syncbase depends on must be defined (not indefinite), and the begin Time of all ascendent time containers of this element and all Time elements that this depends upon must be defined (not indefinite).
If this Time is based upon an event, this Time will only be resolved once the specified event has happened, subject to the constraints of the time container.
Note that this may change from true to false when the parent time container ends its simple duration (including when it repeats or restarts).

resolvedOffset of type double, readonly
The clock value in seconds relative to the parent time container begin. This indicates the resolved time relationship to the parent time container. This is only valid if resolved is true.

Definition group TimeTypes

An integer indicating the type of this time value.

Defined Constants
SMIL_TIME_INDEFINITE The Time is specified to be "indefinite". The Time may have a resolved value, if a method call is made to activate this time (beginElement for a begin time, or endElement for an active end time). If the Time is resolved, the resolvedOffset will reflect the time at which the method call was made.
The Time attributes offset, baseBegin, event and marker are undefined for this type.
SMIL_TIME_OFFSET The value is a simple offset from the default syncbase. The baseElement will be the default syncbase element defined by the time model, the baseBegin indicates whether the default syncbase is relative to the begin or active end of the baseElement, and the offset will be the specified offset.
The Time attributes baseElement, baseBegin, event and marker are undefined for this type.
SMIL_TIME_SYNC_BASED The value is relative to the begin of the specified baseElement. The baseElement will be the specified syncbase, the baseBegin indicates whether the default syncbase is relative to the begin or active end of the baseElement, and the offset will be the specified offset. Note that this includes times specified with the logical syncbases "prev.begin" or "prev.end".
The Time attributes event and marker are undefined for this type.
SMIL_TIME_EVENT_BASED The value is relative to the specified event raised on the baseElement. The baseElement will be the specified syncbase, and the offset will be the specified offset. If the Time is resolved, the resolvedOffset will reflect the time at which the event was raised.
The Time attributes baseBegin and marker are undefined for this type.
SMIL_TIME_WALLCLOCK The value is specified as a wallclock value. If the Time is resolved, the resolvedOffset will reflect the wallclock time, converted to document time.
The Time attributes baseElement, baseBegin, event and marker are undefined for this type.
SMIL_TIME_MEDIA_MARKER The value is specified as a marker value associated with a given media element. The baseElement will be the specified media element, and the marker will be the name of the media marker value. If the Time is resolved, the resolvedOffset will reflect the time associated with the specified marker value.
The Time attributes offset, baseElement and event are undefined for this type.
timeType of type unsigned short, readonly
A code representing the type of the underlying object, as defined above.

offset of type double
The clock value in seconds relative to the syncbase or eventbase. Default value is 0.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised on attempts to modify this readonly attribute.

baseElement of type Element
The base element for a sync-based or event-based time.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised on attempts to modify this readonly attribute.

baseBegin of type boolean
If true, indicates that a sync-based time is relative to the begin of the baseElement. If false, indicates that a sync-based time is relative to the active end of the baseElement.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised on attempts to modify this readonly attribute.

event of type DOMString
The name of the event for an event-based time. Default value is null.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised on attempts to modify this readonly attribute.

marker of type DOMString
The name of the marker from the media element, for media marker times. Default value is null.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised on attempts to modify this readonly attribute.

Interface TimeList

The TimeList interface provides the abstraction of an ordered collection of times, without defining or constraining how this collection is implemented.

The items in the TimeList are accessible via an integral index, starting from 0.


IDL Definition
interface TimeList {
  Time               item(in unsigned long index);
  readonly attribute unsigned long    length;
};

Attributes
length of type unsigned long, readonly
The number of times in the list. The range of valid child time indices is 0 to length-1 inclusive.

Methods
item
Returns the indexth item in the collection. If index is greater than or equal to the number of times in the list, this returns null.
Parameters

unsigned long

index

Index into the collection.

Return Value

Time

The time at the indexth position in the TimeList, or null if that is not a valid index.

No Exceptions

Interface ElementTime

This interface defines the set of timing attributes that are common to all timed elements.


IDL Definition
interface ElementTime {
           attribute TimeList         begin;
                                        // raises(DOMException) on setting

           attribute TimeList         end;
                                        // raises(DOMException) on setting

           attribute float            dur;
                                        // raises(DOMException) on setting

           attribute float            repeatCount;
                                        // raises(DOMException) on setting

           attribute long             repeatDur;
                                        // raises(DOMException) on setting

  boolean            beginElement();
  boolean            endElement();
  void               pauseElement();
  void               resumeElement();
  void               seekElement(inout DOMString seekTo);
};

Attributes
begin of type TimeList
The desired value (as a list of times) of the begin instant of this node.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

end of type TimeList
The desired value (as a list of times) of the end instant of this node.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

dur of type float
The desired simple duration value of this node in seconds. Negative value means "indefinite".
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

repeatCount of type float
Causes the element to play repeatedly (loop) for the specified number of times. A negative value repeat the element indefinitely. Default value is 0 (undefined).
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

repeatDur of type long
Causes the element to play repeatedly (loop) for the specified duration in milliseconds. Negative means "indefinite".
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

Methods
beginElement
Causes this element to begin the local timeline (subject to sync constraints).
Return Value

boolean

true if the method call was successful and the element was begun. false if the method call failed. Possible reasons for failure include:

  • The element doesn't support the beginElement method. (the beginEvent attribute is not set to "none")
  • The element is already active and can't be restart when it is active. (the restart attribute is set to "whenNotActive")
  • The element is active or has been active and can't be restart. (the restart attribute is set to "never").
No Parameters
No Exceptions

endElement
Causes this element to end the local timeline (subject to sync constraints).
Return Value

boolean

true if the method call was successful and the element was endeed. false if method call failed. Possible reasons for failure include:

  • The element doesn't support the endElement method. (the endEvent attribute is not set to "none")
  • The element is not active.
No Parameters
No Exceptions

pauseElement
Causes this element to pause the local timeline (subject to sync constraints).
No Parameters
No Return Value
No Exceptions

resumeElement
Causes this element to resume a paused local timeline.
No Parameters
No Return Value
No Exceptions

seekElement
Seeks this element to the specified point on the local timeline (subject to sync constraints). If this is a timeline, this must seek the entire timeline (i.e. propagate to all timeChildren).
Parameters

DOMString

seekTo

The desired position on the local timeline.

No Return Value
No Exceptions

Events:

begin
This event is raised when the element local timeline begins to play. It will be raised each time the element begins the active duration (i.e. not on repeats - see the repeat Event). It may be raised both in the course of normal (i.e. scheduled or interactive) timeline play, as well as in the case that the element was begun with the beginElement() method. Note that if an element is restarted while it is currently playing, the element will raise an end event and another begin event, as the element restarts. Note that if an element is not yet ready to play (e.g. if media is not ready), the begin event should not be raised until the element timeline actually begins to play and local time begins to advance.
As a composite timeline begins to play, each element will raise an begin event as it in turn begins to play. A parent element will raise an begin event before any child elements do.
end
This event is raised at the active end of the element. Note that this event is not raised at the simple end of each repeat - see the repeat event. This event may be raised both in the course of normal (i.e. scheduled or interactive) timeline play, as well as in the case that the element was ended with the endElement() method. As a time container reaches its simple and/or active end, child elements will raise an end event if the time container "cuts short" its active duration. Note that if an element is restarted while it is currently playing, the element will raise an end event and another begin event, as the element restarts.
repeat
This event is raised when the element local timeline repeats. It will be raised each time the element repeats, after the first iteration.
(ED: This event should support an integer attribute to indicate the current repeat iteration. )
pause
This event is raised when the element local timeline is paused. This is only raised when the element pauseElement() method is invoked.
(ED: When pausing a timeline, I do not think that all descendents should also raise pause events. However, it may be useful to have media descendents raise a pause event. This needs attention.
I think we should consider supporting a "reason" attribute on this event. This would allow authors to disambiguate a pause due to a method call, and a pause forced by the timing engine as part of handling an out-of-sync problem. )
resume
This event is raised when the element local timeline resumes after being paused. This is only raised when the element resumeElement method is invoked, and only if the element was actually paused.
(ED: When resuming a timeline, I do not think that all descendents should also raise resume events. However, it may be useful to have media descendents raise a resume event. This needs attention. )
outOfSync
This event is raised when an element timeline falls out of sync (either for internal or external reasons). The default action of the timing model is to attempt to reestablish the synchronization, however the means may be implementation dependent. Depending upon the synchronization rules, this event may propagate up the time graph for each timeline that is affected.
syncRestored
This event is raised when an element that has fallen out of sync has been restored to the proper sync relationship with the parent timeline. This will only be raise after an outOfSync event has been raised. Depending upon the synchronization rules, this event may propagate down the time graph, effectively "unwinding" the original outOfSync stack.
Interface ElementTimeManipulation

This interface support use-cases commonly associated with animation.


IDL Definition
interface ElementTimeManipulation {
           attribute float            speed;
                                        // raises(DOMException) on setting

           attribute float            accelerate;
                                        // raises(DOMException) on setting

           attribute float            decelerate;
                                        // raises(DOMException) on setting

           attribute boolean          autoReverse;
                                        // raises(DOMException) on setting

};

Attributes
speed of type float
Defines the playback speed of element time. The value is specified as a multiple of normal (parent time container) play speed. Legal values are signed floating point values. Zero values are not allowed. The default is 1.0 (no modification of speed).
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

accelerate of type float
The percentage value of the simple acceleration of time for the element. Allowed values are from 0 to 100. Default value is 0 (no acceleration).
The sum of the values for accelerate and decelerate must not exceed 100. If it does, the deceleration value will be reduced to make the sum legal.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

decelerate of type float
The percentage value of the simple decelerate of time for the element. Allowed values are from 0 to 100. Default value is 0 (no deceleration).
The sum of the values for accelerate and decelerate must not exceed 100. If it does, the deceleration value will be reduced to make the sum legal.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

autoReverse of type boolean
The "play forwards then backwards" functionality. Default value is false.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

Interface ElementTimeSynchronization

The synchronization behavior extension.


IDL Definition
interface ElementTimeSynchronization {
  readonly attribute DOMString        syncBehavior;
  readonly attribute float            syncTolerance;
  readonly attribute DOMString        defaultSyncBehavior;
  readonly attribute float            defaultSyncTolerance;
  readonly attribute boolean          syncMaster;
};

Attributes
syncBehavior of type DOMString, readonly
The runtime synchronization behavior for an element.

syncTolerance of type float, readonly
The sync tolerance for the associated element. It has an effect only if the element has syncBehavior="locked".

defaultSyncBehavior of type DOMString, readonly
Defines the default value for the runtime synchronization behavior for an element, and all descendents.

defaultSyncTolerance of type float, readonly
Defines the default value for the sync tolerance for an element, and all descendents.

syncMaster of type boolean, readonly
If set to true, forces the time container playback to sync to this element.

Interface ElementTimeContainer

This is a placeholder - subject to change. This represents generic timelines.


IDL Definition
interface ElementTimeContainer : ElementTime {
  readonly attribute NodeList         timeChildrens;
  NodeList           getActiveChildrenAt(inout DOMString instant);
};

Attributes
timeChildrens of type NodeList, readonly
A NodeList that contains all timed childrens of this node. If there are no timed children, the Nodelist is empty.

Note: An iterator is more appropriate here than a node list but it requires Traversal module support.

Methods
getActiveChildrenAt
Returns a list of child elements active at the time of invocation.
Parameters

DOMString

instant

The desired position on the local timeline.

Return Value

NodeList

List of timed child-elements active at instant.

No Exceptions

Interface ElementParallelTimeContainer

A parallel container defines a simple parallel time grouping in which multiple elements can play back at the same time.


IDL Definition
interface ElementParallelTimeContainer : ElementTimeContainer {
           attribute DOMString        endSync;
                                        // raises(DOMException) on setting

};

Attributes
endSync of type DOMString
Controls the end of the container.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

Interface ElementSequentialTimeContainer

A seq container defines a sequence of elements in which elements play one after the other.


IDL Definition
interface ElementSequentialTimeContainer : ElementTimeContainer {
};

Interface ElementExclusiveTimeContainer

This interface defines a time container with semantics based upon par, but with the additional constraint that only one child element may play at a time.


IDL Definition
interface ElementExclusiveTimeContainer : ElementTimeContainer {
           attribute DOMString        endSync;
                                        // raises(DOMException) on setting

};

Attributes
endSync of type DOMString
Controls the end of the container.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

5.6. Media Object extensions

This module includes the media elements, and associated attributes. They are all currently represented by a single interface, as there are no specific attributes for individual media elements.

(ED: This extensions are based on SMIL 1.0 and will change in future versions. )
Interface SMILMediaElement

Declares media content.


IDL Definition
interface SMILMediaElement : ElementTime, SMILElement {
           attribute DOMString        abstractAttr;
                                        // raises(DOMException) on setting

           attribute DOMString        alt;
                                        // raises(DOMException) on setting

           attribute DOMString        author;
                                        // raises(DOMException) on setting

           attribute DOMString        clipBegin;
                                        // raises(DOMException) on setting

           attribute DOMString        clipEnd;
                                        // raises(DOMException) on setting

           attribute DOMString        copyright;
                                        // raises(DOMException) on setting

           attribute DOMString        longdesc;
                                        // raises(DOMException) on setting

           attribute DOMString        src;
                                        // raises(DOMException) on setting

           attribute DOMString        title;
                                        // raises(DOMException) on setting

           attribute DOMString        type;
                                        // raises(DOMException) on setting

};

Attributes
abstractAttr of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

alt of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

author of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

clipBegin of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

clipEnd of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

copyright of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

longdesc of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

src of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

title of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

type of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

Interface SMILRefElement
(ED: // audio, video, ... )

IDL Definition
interface SMILRefElement : SMILMediaElement {
};

5.7. Animations extensions

This module will include interfaces associated with animations extensions.

5.7.1. SMIL Animation

The following interface comes from the SMIL Animation draft.

Interface ElementTimeControl

IDL Definition
interface ElementTimeControl {
  boolean            beginElement()
                                        raises(DOMException);
  boolean            endElement()
                                        raises(DOMException);
};

Methods
beginElement
Causes this element to begin the local timeline (subject to sync constraints).
Return Value

boolean

true if the method call was successful and the element was begun. false if the method call failed. Possible reasons for failure include:

  • The element doesn't support the beginElement method. (the beginEvent attribute is not set to "none")
  • The element is already active and can't be restart when it is active. (the restart attribute is set to "whenNotActive")
  • The element is active or has been active and can't be restart. (the restart attribute is set to "never").
Exceptions

DOMException

SYNTAX_ERR: The element was not defined with the appropriate syntax to allow beginElement calls.

No Parameters

endElement
Causes this element to end the local timeline (subject to sync constraints).
Return Value

boolean

true if the method call was successful and the element was ended. false if method call failed. Possible reasons for failure include:

  • The element doesn't support the endElement method. (the endEvent attribute is not set to "none")
  • The element is not active.
Exceptions

DOMException

SYNTAX_ERR: The element was not defined with the appropriate syntax to allow endElement calls.

No Parameters

5.7.2. SMIL Boston Animation

Interface ElementAnimation

This interface define the set of animation extensions.

(ED: The [XLink] attributes will go in a XLink interface. )

IDL Definition
interface ElementAnimation : ElementTime, ElementTimeControl {
           attribute Element          targetElement;
                                        // raises(DOMException) on setting

           attribute DOMString        href;
                                        // raises(DOMException) on setting

};

Attributes
targetElement of type Element
This attribute specifies the target element to be animated. If no href and targetElement are specified in the animation document, the default value of this attribute is the first element ancestor. If a href is not null, setting this attribute has no effect.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

href of type DOMString
This attribute specifies an [XLink] reference to the target element to be animated.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

Interface SMILAnimateElement

This interface represents the SMIL animate element, the SMIL animateColor element and the SMIL animateMotion element.


IDL Definition
interface SMILAnimateElement : ElementAnimation, SMILElement {
           attribute TimeList         keyTimes;
                                        // raises(DOMException) on setting

           attribute TimeList         keySplines;
                                        // raises(DOMException) on setting

};

Attributes
keyTimes of type TimeList
A semicolon-separated list of time values used to control the pacing of the animation.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

keySplines of type TimeList
A set of Bezier control points associated with the keyTimes list.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

Interface SMILSetElement

This interface represents the set element.


IDL Definition
interface SMILSetElement : ElementAnimation, SMILElement {
};

Interface SMILAnimateMotionElement

This interface present the animationMotion element in SMIL.


IDL Definition
interface SMILAnimateMotionElement : SMILAnimateElement {
           attribute DOMString        path;
                                        // raises(DOMException) on setting

           attribute DOMString        origin;
                                        // raises(DOMException) on setting

};

Attributes
path of type DOMString
Specifies the curve that describes the attribute value as a function of time.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

origin of type DOMString
Specifies the origin of motion for the animation.
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

5.8. Transition extensions

This module will include interfaces associated with transition markup. This is yet to be defined.

5.9. Linking extensions

This module includes interfaces for hyperlinking elements.

5.10. Content Control extensions

This module includes interfaces for content control markup.

(ED: This extensions are based on SMIL 1.0 and will change in future versions. )
Interface SMILSwitchElement

Defines a block of content control. See the switch element definition in SMIL 1.0.


IDL Definition
interface SMILSwitchElement : SMILElement {
           attribute DOMString        title;
                                        // raises(DOMException) on setting

};

Attributes
title of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

Interface ElementTest

Defines the test attributes interface. See the Test attributes definition in SMIL 1.0.


IDL Definition
interface ElementTest {
           attribute DOMString        systemBitrate;
                                        // raises(DOMException) on setting

           attribute DOMString        systemCaptions;
                                        // raises(DOMException) on setting

           attribute DOMString        systemLanguage;
                                        // raises(DOMException) on setting

           attribute DOMString        systemOverdubOrCaption;
                                        // raises(DOMException) on setting

           attribute DOMString        systemRequired;
                                        // raises(DOMException) on setting

           attribute DOMString        systemScreenSize;
                                        // raises(DOMException) on setting

           attribute DOMString        systemScreenDepth;
                                        // raises(DOMException) on setting

};

Attributes
systemBitrate of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

systemCaptions of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

systemLanguage of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

systemOverdubOrCaption of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

systemRequired of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

systemScreenSize of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

systemScreenDepth of type DOMString
Exceptions on setting

DOMException

NO_MODIFICATION_ALLOWED_ERR: Raised if this attribute is readonly.

5.11. Media Player extensions

(ED: This is NOT a plug-in interface, but rather a simple interface that describes some guaranteed methods that any application plug-in interface must support. This provides a means of standardizing extensions to the timing model, independent of the specific application. )

5.11.1. Media Player Level 1 Interface

5.11.2. Media Player Level 2 Interface

5.11.3. Media Player Level 3 Interface


previous   next   contents   index