This section is informative.
The SMIL 3.0 UnifiedMobile profile integrates the functionalities of the SMIL 2.1 Mobile [SMIL21-mobile-profile] and SMIL 2.1 Extended Mobile [SMIL21-extended-mobile-profile] profiles, and aligns the specification with newly structured existing functionality, plus extends the functionalities available in SMIL 2.1 with modules introduced in SMIL 3.0.
The following modules used in earlier mobile profiles were changed for SMIL 3.0:
Restructuring of existing SMIL 2.1 functionality in SMIL 3.0 has resulted in the inclusion of the following new modules:
The following modules contain new or expanded functionality in the UnifiedMobile profile in SMIL 3.0:
In addition to new and changed modules, this version of SMIL also has a new requirement about the media formats that are to be supported by user agents.
This section is normative.
The SMIL 3.0 UnifiedMobile profile is a collection of SMIL 3.0 modules that provide extensive support for the SMIL 3.0 Language within the context of a representative (for 2008) mobile device. Such a device is expected to have a high-resolution display and sufficient memory and processor capacity to render nontrival SMIL documents. Although not as complete as the full SMIL 3.0 Language Profile, the SMIL 3.0 UnifiedMobile profile is rich enough to meet the needs of a wide range of interactive presentations.
The functionality of the SMIL 3.0 UnifiedMobile profile may be extended or reduced by using the SMIL 3.0 Scalability Framework.
The W3C Synchronized Multimedia Working Group (SYMM) recognizes that many mobile handsets will be configured according to the specifications of other industry standards organizations. The UnifiedMobile profile has been developed in part to give these organizations guidance on the functionality within SMIL that the SYMM working groups feels appropriate for consideration in specifications that are based (in part) on this document.
This section is informative.
The SMIL 3.0 UnifiedMobile profile is defined as a markup language. The syntax of this language is formally described with a document type definition (DTD) or an XML Schema which is based on the SMIL modules as defined in "The SMIL 3.0 Modules".
The UnifiedMobile profile design requirements are:
The Third Generation Partnership Project 2 (3GPP2) [3GPP2] defines its own SMIL language profile. The revision A of the 3GPP2 SMIL File Formats for Multimedia Services, defines the SMIL profile including some additional modules compared to the 3GPP SMIL profile [3GPP26.234R5]; AccessKeyTiming Module, MultiArcTiming Module, BasicAnimation Module and AudioLayout Module. A future revision of it may incorporate SMIL 3.0.
The UnifiedMobile profile includes all modules of 3GPP2 revision A SMIL, plus: BasicExclTimeContainers Module, SubRegionLayout Module, BackgroundTilingLayout Module, AlignmentLayout Module, OverrideLayout Module, FullScreenTransitions Module, BasicText Module, TextStyling Module, TextMotion Module, SMIL DOM Module, MediaPanZoom Module and the BrushMedia Module.
Note: because of the repartitioning of some SMIL modules (such as BasicContentControl and BasicLayout), 3GPP and SMIL 3.0 are no longer aligned with respect to module definition, but the collection of elements and attributes have not changed.
This section is normative.
In the text in this profile specification, the term UnifiedMobile Profile will be considered to refer exclusively to the SMIL 3.0 UnifiedMobile profile as defined in this document.
The definition of conformance for a SMIL 3.0 profile is given in the Definitions section of the SMIL 3.0 Scalability Framework. Based on these definitions, the UnifiedMobile profile is a Strict Host-Language Conformant SMIL 3.0 Profile.
Within the referenced sections of the Scalability Framework, the following definitions should be used:
http://www.w3.org/2008/SMIL30/UnifiedMobile
. xmlns="http://www.w3.org/ns/SMIL"
<!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 3.0 UnifiedMobile//EN" "http://www.w3.org/2008/SMIL30/SMIL30UnifiedMobile.dtd">If a document contains this declaration, it must be a valid XML document. Note that this implies that extensions to the syntax defined in the DTD (or in the corresponding XML or RelaxNG schemas) are not allowed. If the document is invalid, the user agent should issue an error.
http://www.w3.org/2008/SMIL30/informative-DTD/SMIL30UnifiedMobile.dtd
version="3.0" baseProfile="UnifiedMobile"As a consequence of the two requirements above, the effective root element declaration for a UnifiedMobile profile document must be:
<smil xmlns="http://www.w3.org/ns/SMIL" version="3.0" baseProfile="UnifiedMobile"> ... </smil>The root element may be extended as required with additional atttributes.
This version of SMIL provides a definition of strict host-language conformant SMIL 3.0 documents, which are restricted to tags and attributes from the SMIL 3.0 namespace. The Section "Extending/Restricting a SMIL 3.0 Profile" provides information on using the SMIL 3.0 UnifiedMobile profile with other namespaces, for instance, on including new tags within SMIL 3.0 documents.
Language designers and implementors wishing to extend the UnifiedMobile profile must consider the implications of the use of namespace extension syntax. Please consult the section on Scalable Profiles for restrictions and recommendations for best practice when extending SMIL.
The definition of user agent conformance for SMIL 3.0 UnifiedMobile profile documents is given in the Conforming SMIL 3.0 User Agents section of the SMIL 3.0 Scalability Framework. Conforming UnifiedMobile profile user agents must adhere completely to this section.
The UnifiedMobile profile supports the multimedia document features appropriate for mobile platforms. It uses only modules from the SMIL 3.0 recommendation. This profile includes the following SMIL 3.0 modules:
The collection names contained in the following table define the UnifiedMobile profile vocabulary.
SMIL 3.0 UnifiedMobile Profile | |
---|---|
Collection Name | Elements in Collection |
Animation | animate, animateColor, animateMotion, set |
ContentControl | prefetch, switch |
Layout | region, root-layout, layout, regPoint |
LinkAnchor | a, area [anchor] |
MediaContent | animation, audio, img, ref, text, textstream, video |
Metainformation | , |
Structure | smil, head, body |
Schedule | excl, par, seq |
Transition | transition |
In the following sections, we define the set of elements and attributes used in each of the modules included in the UnifiedMobile profile. The content model for each element is described. The content model of an element is a description of elements which may appear as its direct children. The special content model "EMPTY" means that a given element may not have children.
Collection Name | Attributes in Collection |
---|---|
Core | alt (CDATA), baseProfile 'UnifiedMobile', class (CDATA), label (CDATA), longdesc (CDATA), readIndex '0', title (CDATA), version (3.0) '3.0', xml:base (CDATA) [XMLBase], xml:id (id) (ID) |
I18n | its:dir (lro | ltr | rlo | rtl), its:locNote (CDATA), its:locNoteRef (CDATA), its:locNoteType (alert | description), its:term (no | yes), its:termInfoRef (CDATA), its:translate (no | yes), xml:lang (CDATA) |
The xml:id and id attribute are used in the UnifiedMobile
Profile to assign a unique XML identifier to every element in a SMIL
document. The xml:id and id attributes are equivalent and must not both
be used on an element. The xml:id
should be used in preference to the id
attribute.
When the document uses the SMIL 3.0 UnifiedMobile Profile DOCTYPE, only xml:id must be used.
The xml:id, [id], class and title attributes in the collection Core are defined for all the elements of the SMIL3.0 UnifiedMobile profile.
In this document, equivalent but deprecated attributes and elements are in square brakets.
A conforming UnifiedMobile profile document should not use the SMIL 1.0 attributes that have been depreciated in SMIL 2.0. UnifiedMobile profile implementations are not required to support these attributes. This would be considered an unjustified burden for the targeted constraint devices. The unsupported depreciated SMIL 1.0 attributes are the following: anchor, background-color, clip-begin, clip-end, repeat; and the additional depreciated test attributes of Content Control: system-bitrate, system-captions, system-language, system-required, system-screen-size, and, system-screen-depth.
The Animation Module provides a framework for incorporating animation into a timing framework, and a mechanism for composing the effects of multiple animations. The Animation Module uses the timing modules included in this profile for the underlying model of time. The UnifiedMobile profile includes the Animation functionality of the BasicAnimation module. The BasicAnimation Module defines the semantics for the animate, set, animateMotion and animateColor elements.
In the UnifiedMobile profile, Animation elements may have the following
attributes and content model :
Animation Module | ||
---|---|---|
Elements | Attributes | Content model |
animate | Core, I18n, Test, Timing, accumulate (none | sum) 'none', additive (replace | sum) 'replace', attributeName, attributeType (CSS | XML | auto) 'auto', by, calcMode (discrete | linear | paced) 'linear', fill (auto | default | freeze | hold | remove | transition) 'default', from, skip-content (false | true) 'true', targetElement, to, values | ()* |
animateColor | Core, I18n, Test, Timing, accumulate (none | sum) 'none', additive (replace | sum) 'replace', attributeName, attributeType (CSS | XML | auto) 'auto', by, calcMode (discrete | linear | paced) 'linear', fill (auto | default | freeze | hold | remove | transition) 'default', from, skip-content (false | true) 'true', targetElement, to, values | ()* |
animateMotion | Core, I18n, Test, Timing, accumulate (none | sum) 'none', additive (replace | sum) 'replace', by, calcMode (discrete | linear | paced) 'linear', fill (auto | default | freeze | hold | remove | transition) 'default', from, origin (default) 'default', skip-content (false | true) 'true', targetElement, to, values | ()* |
set | Core, I18n, Test, Timing, attributeName, attributeType (CSS | XML | auto) 'auto', fill (auto | default | freeze | hold | remove | transition) 'default', skip-content (false | true) 'true', targetElement, to | ()* |
This profile adds the animate, set, animateMotion and animateColor elements to the content model of the par, seq, and excl elements of the Timing and Synchronization Modules. It also adds these elements to the content model of the body element of the Structure Module.
Specifying the target element of the animation
The animation target elements supported in the UnifiedMobile profile are the region element defined in the Layout Modules, the area [anchor] element defined in the Linking Modules and the text, img, audio, animation, video, ref, textstream and the brush elements defined in the Media Objects modules.
The SMIL UnifiedMobile profile uses the targetElement attribute to identify the element to be affected by animation elements. As recommended in the BasicAnimation Module when the targetElement attribute is supported, this profile excludes the XLink attributes href, type, actuate and show from the animate, set, animateMotion and animateColor elements.
Specifying the target attribute of the animation
The target attributes of the animations are a subset of those of the region, area [anchor], and media elements. The animatable attributes of the region, area [anchor], and media elements are listed in the table below.
The area [anchor] element has the coords attribute which may be subject to animation. The attribute coords is considered of type string in this profile. This means that only discrete non-additive animation is supported on this attribute.
Media elements have the following region attributes which may be subject
to animation: left, right, top, bottom, width, height, z-index and backgroundColor [background-color].
Integration definitions
The UnifiedMobile profile defines a set of integration definitions as required by the Animation modules. These definitions are:
coerced-integer-value = Math.floor( interpolated-value + 0.5 )
The Content Control Modules provide a
framework for selecting content based on a set of test attributes. The Content Control Modules define semantics for the
switch and prefetch elements. The UnifiedMobile
profile includes the Content Control functionality of the BasicContentControl,
RequiredContentControl
Module, PrefetchControl
and SkipContentControl
modules.
In the UnifiedMobile profile, Content Control elements may have the
following attributes and content model :
Content Control Module | ||
---|---|---|
Elements | Attributes | Content model |
prefetch | Core, I18n, Test, Timing, bandwidth '100%', clipBegin, clipEnd, mediaSize, mediaTime, skip-content (false | true) 'true', src | ()* |
switch | Core, I18n, Test, allowReorder (no | yes) 'no' | (( | switch)*, ((((Animation), ( | switch)*)*, (((Schedule | MediaContent | brush | smilText | prefetch | a)+, ( | Animation | switch)*)+ | ((param | area), ( | Animation | switch)*)+)) | (layout, ( | switch)*)*)) |
This profile adds the switch element to the content model of the par, seq and excl elements of the Timing and Synchronization Modules, of the body and the head elements of the Structure Module, of the content model of the a element of the Linking Modules.
Content Control functionality is used to define the attribute set Test:
Collection Name | Attributes in Collection |
---|---|
Test | systemAudioDesc (off | on), systemBaseProfile, systemBitrate, systemCPU, systemCaptions (off | on), systemComponent, systemLanguage, , systemOverdubOrSubtitle (overdub | subtitle), systemRequired, systemScreenDepth, systemScreenSize, systemVersion (3.0) |
The Test attributes collection is added to all the elements defined in the UnifiedMobile profile. An UnifiedMobile user agent must support all of the values for the and systemCPU attributes listed in the Content Control Modules. In addition, the user agent should accept namespaced values as future extensions, and not declare a syntax error. The user agent should return false for unrecognized values of the and systemCPU attributes.
The Layout Modules provide a framework for spatial layout of visual components. The Layout Modules define semantics for the region, root-layout, layout and the regPoint elements. The UnifiedMobile Profile includes the Layout functionality of the BasicLayout, StructureLayout Module, AudioLayout, SubRegionLayout, BackgroundTilingLayout, AlignmentLayout, OverrideLayout modules.
In the UnifiedMobile profile, Layout elements may have the following
attributes and content model :
Layout Module | ||
---|---|---|
Elements | Attributes | Content model |
layout | Core, I18n, Test, type 'text/smil-basic-layout' | ( | region | root-layout | regPoint)* |
region | Core, I18n, SubregionAttributes, Test, TextAttributes, background-color, backgroundImage 'none', backgroundRepeat (inherit | noRepeat | repeat | repeatX | repeatY) 'repeat', erase (never | whenDone) 'whenDone', panZoom, regionName, sensitivity 'opaque', showBackground (always | whenActive) 'always', skip-content (false | true) 'true', soundLevel '+0.0dB', textAlign (center | end | inherit | left | right | start) 'inherit', textDirection (inherit | ltr | ltro | rtl | rtlo) 'inherit', textMode (append | crawl | inherit | jump | replace | scroll) 'inherit', textPlace (center | end | inherit | start) 'inherit', textWrapOption (inherit | noWrap | wrap) 'wrap', textWritingMode (inherit | lr | lr-tb | rl | rl-tb | tb-lr | tb-rl) 'inherit' | ( | region)* |
regPoint | Core, I18n, Test, bottom 'auto', left 'auto', regAlign (bottomLeft | bottomMid | bottomRight | center | midLeft | midRight | topLeft | topMid | topRight), right 'auto', skip-content (false | true) 'true', top 'auto' | ()* |
root-layout | Core, I18n, Test, background-color, backgroundColor, backgroundImage 'none', backgroundOpacity '100%', backgroundRepeat (inherit | noRepeat | repeat | repeatX | repeatY) 'repeat', height 'auto', skip-content (false | true) 'true', width 'auto' | ()* |
The attribute collection SubregionAttributes is defined as follows:
Collection Name | Attributes in Collection |
---|---|
SubregionAttributes | backgroundColor, backgroundOpacity '100%', bottom 'auto', fit (fill | hidden | meet | meetBest | scroll | slice), height 'auto', left 'auto', mediaAlign (bottomLeft | bottomMid | bottomRight | center | midLeft | midRight | topLeft | topMid | topRight), regAlign (bottomLeft | bottomMid | bottomRight | center | midLeft | midRight | topLeft | topMid | topRight), regPoint, right 'auto', soundAlign (both | left | right), top 'auto', width 'auto', z-index |
This profile adds the layout element to the content model of the head element of the Structure Module. It also adds this element to the content model of the switch element of the Content Control Modules, when the switch element is a child of the head element.
The Linking Modules provide a framework for relating documents to content, documents and document fragments. The Linking Modules define semantics for the a and area [anchor] elements. They define also the semantics of a set of attributes defined for these elements. The SMIL 3.0 UnifiedMobile profile includes the Linking functionality of the BasicLinking and LinkingAttributes modules.
Both the a and area [anchor] elements have an href attribute, whose value must be a valid URI.
Support for URIs with XPointer fragment identifier syntax is not required.
In the UnifiedMobile profile, Linking elements may have the following
attributes and content model :
Linking Module | ||
---|---|---|
Elements | Attributes | Content model |
a | Core, I18n, Test, Timing, accesskey, actuate (onLoad | onRequest) 'onRequest', destinationLevel '+0.0dB', destinationPlaystate (pause | play) 'play', external (false | true) 'false', href, show (new | pause | replace) 'replace', sourceLevel '+0.0dB', sourcePlaystate (pause | play | stop), tabindex, target | (Animation | ContentControl | MediaContent | Schedule | brush | | smilText)* |
area | Core, I18n, Test, Timing, accesskey, actuate (onLoad | onRequest) 'onRequest', coords, destinationLevel '+0.0dB', destinationPlaystate (pause | play) 'play', external (false | true) 'false', href, nohref (nohref), shape (circle | default | poly | rect) 'rect', show (new | pause | replace) 'replace', skip-content (false | true) 'true', sourceLevel '+0.0dB', sourcePlaystate (pause | play | stop), tabindex, target | (animate | | set)* |
This profile adds the a element to the content model of the par, seq, and excl elements of the Timing and Synchronization Modules. It also adds these elements to the content model of the body element of the Structure Module.
In the UnifiedMobile profile, a value of onLoad set on the attribute actuate indicates that the link is automatically traversed when the linking element becomes active. For linking elements containing SMIL timing, this is when the active duration of the linking element begins.
Linking behavior in the UnifiedMobile profile may be used to navigate within a document or to link across documents. When linking to destinations outside the current document, implementations may ignore the values "play" and "pause" of the sourcePlaystate attribute, and the values "new" and "pause" of the show attribute; in these cases, the semantics of the "stop" attribute (for sourcePlaystate ) and the "replace" attribute (for show) should be used. If an implementation ignores the values of the sourcePlaystate and show attributes, it may also ignore the sourceLevel attribute.
The attribute tabindex specifies the position of the element in the tabbing order at a particular instant for the current document. The tabbing order defines the order in which elements will receive focus when navigated by the user via an input device such as a keyboard. At any particular point in time, only active elements are taken into account for the tabbing order; inactive elements are ignored.
When a media object element has a tabindex attribute and becomes active, then its ordered tab index is inserted in the SMIL tab index at the location specified by the media object's tabindex attribute value. This assumes that the media object itself has tab indices, such as embedded HTML with tabindex attributes. This enables all link starting points in a SMIL presentation to have a place on the ordered list to be tab-keyed through, including those in embedded presentations.
The UnifiedMobile profile does not define four-way navigation in the SMIL 3.0 release. A definition for four-way navigation is expected in the future version of SMIL.
The Media Object Modules provide a framework for declaring media. The Media Object Modules define semantics for the ref, animation, audio, img, video, text, textstream, param, paramGroup and brush elements. The UnifiedMobile Profile includes the Media Object functionality of the BasicMedia, MediaClipping, MediaParam, BrushMedia and MediaAccessibility modules.
In the UnifiedMobile profile, media elements may have the following attributes and content model:
Media Object Module | ||
---|---|---|
Elements | Attributes | Content model |
brush | Core, I18n, MediaDescriptionAttributes, Test, Timing, backgroundColor, backgroundOpacity '100%', bottom 'auto', color, endsync 'media', erase (never | whenDone) 'whenDone', fill (auto | default | freeze | hold | remove | transition) 'default', fit (fill | hidden | meet | meetBest | scroll | slice), height 'auto', left 'auto', mediaAlign (bottomLeft | bottomMid | bottomRight | center | midLeft | midRight | topLeft | topMid | topRight), paramGroup, regAlign (bottomLeft | bottomMid | bottomRight | center | midLeft | midRight | topLeft | topMid | topRight), regPoint, region, right 'auto', sensitivity 'opaque', skip-content (false | true) 'true', tabindex, top 'auto', transIn, transOut, width 'auto', z-index | (Animation | area | | param | switch)* |
param | Core, I18n, Test, name, skip-content (false | true) 'true', type, value, valuetype (data | object | ref) 'data' | ()* |
paramGroup | Core, I18n, skip-content (false | true) 'true' | ( | param)* |
ref, animation, audio, img, text, textstream, video | Core, I18n, MediaDescriptionAttributes, SubregionAttributes, Test, Timing, clipBegin, clipEnd, endsync 'media', erase (never | whenDone) 'whenDone', fill (auto | default | freeze | hold | remove | transition) 'default', mediaRepeat (preserve | strip) 'preserve', panZoom, paramGroup, region, sensitivity 'opaque', soundLevel '+0.0dB', src, tabindex, transIn, transOut, type | (Animation | area | | param | switch)* |
The attribute collection MediaDescriptionAttributes is defined as follows:
Collection Name | Attributes in Collection |
---|---|
MediaDescriptionAttributes | abstract (CDATA), (CDATA), copyright (CDATA) |
This profile adds the ref, animation, audio, img, video, text, textstream and brush elements to the content model of the par, seq, and excl elements of the Timing and Synchronization Modules and also adds these elements to the content model of the body element of the Structure Module. It also adds these elements to the content model of the a element of the Linking Modules. Lastly, this profile adds the paramGroup element to the region element of the Layout Modules.
The following elements are allowed as children of a media object reference: anchor, area [anchor], param, animate, set, animateColor, animateMotion. The a element is not included in this list. The switch element is allowed, with the restriction that in this case the content of the switch may only be from the same set of elements as is listed above.
This section is informative.
Previous versions of SMIL did not mandate supported media types. Unfortunately, this has led to generally spotty interoperability since different SMIL players do not support a common set of media formats.
To remedy this situation, the SMIL 3.0 UnifiedMobile profile mandates a common set of media formats to be supported. These formats have been selected both because they are royalty-free as well as generally accepted by the community.
The SMIL 3.0 UnifiedMobile profile recommends the use of the following royalty-free media formats. Refer to the list of recommended MIME Types.
This section is informative.
We recognize that other industry groups such as 3GPP also mandate a list of required codecs. However, these codecs often require a license fee, which may limit the availability of such codes on open-source implementations. Given the nature of market developments, the version of the SMIL 3.0 Unified Mobile profile does contain a list of recommended non-license-free codecs; these should be integrated if possible.
The following licensed media formats are recommended to be supported:
This section is informative.
Authors are encouraged to encode media objects using one of the required MIME types whenever possible. This will ensure that their SMIL documents can be played back by a wide range of SMIL user agents.
If authors use a MIME type that is not in the list of required types, they should provide an alternative version encoded using a baseline format. This can be achieved by using a switch element as shown in the following example:
<switch> <audio src="non-baseline-format-object" /> <audio src="baseline-format-object" /> </switch>
In this example, a user agent that supports the non-baseline format will play the first audio media object, and a user agent that does not support the non-baseline format will play the second media object.
The MediaParam module defines the erase attribute, and defers definition of the "display area" to the language profile. "Display area" for the purposes of the UnifiedMobile profile corresponds to a SMIL BasicLayout region. The effects of erase="never" apply after the active duration of the media object and any fill period (defined by SMIL Timing and Synchronization), and only until other media plays to the region targeted by the media object, or until the same media object restarts.
The Metainformation Module provides a framework for describing a document, either to inform the human user or to assist in automation. The Metainformation Module defines semantics for the and elements. The UnifiedMobile Profile includes the Metainformation functionality of the Metainformation module.
In the UnifiedMobile profile, Metainformation elements may have the following attributes and content model :
Metainformation Module | ||
---|---|---|
Elements | Attributes | Content model |
Core, I18n, content, name, skip-content (false | true) 'true' | EMPTY | |
Core, I18n, skip-content (false | true) 'true' | EMPTY |
This profile adds the element to the content model of the head element of the Structure Module.
The content model of metadata is empty. Profiles that extend the Unified Mobile profile may define the RDF (Resource Description Framework) schema to be used in extending the content model of the metadata element. The Resource Description Framework is defined in the W3C RDF Recommendation [RDFsyntax].
The Structure Module provides a framework for structuring a SMIL document. The Structure Module defines semantics for the smil, head, and body elements. The UnifiedMobile profile includes the Structure functionality of the Structure module.
In the UnifiedMobile profile, the Structure elements may have the following attributes and content model :
Structure Module | ||
---|---|---|
Elements | Attributes | Content model |
smil | Core, I18n, Test, xmlns, xmlns:its 'http://www.w3.org/2005/11/its' | (()*, (head, ()*)?, (body, ()*)?) |
head | Core, I18n | (()*, ((), ()*)?, ((textStyling), ()*)?, ((layout | switch), ()*)?, (((transition)+), ()*)?, (((paramGroup)+), ()*)?) |
body | Core, I18n, MediaDescriptionAttributes, Timing, fill (auto | default | freeze | hold | remove | transition) 'default' | (Animation | ContentControl | MediaContent | Schedule | a | brush | | smilText)* |
The body element acts as the root element to span the timing tree. The body element has the behavior of a seq element. Timing on the body element is supported. The syncbase of the body element is the application begin time, which is implementation dependent, as is the application end time. Note that the effect of fill on the body element is between the end of the presentation and the application end time, and therefore the effect of fill is implementation dependent.
The Timing and Synchronization Modules provide a framework for describing timing structure, timing control properties and temporal relationships between elements. The Timing and Synchronization Modules define semantics for par, seq and excl elements. In addition, these modules define semantics for attributes including begin, dur, end, repeat (deprecated), repeatCount, repeatDur, min, max. The UnifiedMobile profile includes the Timing and Synchronization functionality of the BasicInlineTiming, EventTiming, RepeatTiming, MultiArcTiming, AccessKeyTiming, BasicTimeContainers, BasicExclTimeContainers modules.
In the UnifiedMobile profile, Timing and Synchronization elements can have the following attributes and content model :
Timing and Synchronization Module | ||
---|---|---|
Elements | Attributes | Content model |
excl | Core, I18n, MediaDescriptionAttributes, Test, Timing, endsync 'last', fill (auto | default | freeze | hold | remove | transition) 'default', region, skip-content (false | true) 'true' | (Animation | ContentControl | MediaContent | Schedule | a | brush | | smilText)* |
par | Core, I18n, MediaDescriptionAttributes, Test, Timing, endsync 'last', fill (auto | default | freeze | hold | remove | transition) 'default', region | (Animation | ContentControl | MediaContent | Schedule | a | brush | | smilText)* |
seq | Core, I18n, MediaDescriptionAttributes, Test, Timing, fill (auto | default | freeze | hold | remove | transition) 'default', region | (Animation | ContentControl | MediaContent | Schedule | a | brush | | smilText)* |
The Attribute collection Timing is defined as follows:
Collection Name | Attributes in Collection |
---|---|
Timing | begin, dur, end, repeatCount, repeatDur |
This profile adds the par, seq, and excl elements to the content model of the body element of the Structure Module and adds these elements to the content model of the a element of the Linking Modules.
Elements of the Media Object Modules have the attributes describing timing and properties of contents.
The UnifiedMobile profile specifies which types of events may be used as part of the begin and end attribute values. The supported events are described as Event-symbols according to the syntax introduced in the SMIL Timing and Synchronization module.
The supported event symbols in the UnifiedMobile profile are:
Event | example |
---|---|
focusInEvent | end="foo.focusInEvent + 3s" |
focusOutEvent | begin="foo.focusOutEvent" |
activateEvent | begin="foo.activateEvent" |
beginEvent | begin="foo.beginEvent + 2s" |
endEvent | end="foo.endEvent + 2s" |
repeatEvent | end="foo.repeatEvent" |
inBoundsEvent | end="foo.inBoundsEvent" |
outOfBoundsEvent | begin="foo.outOfBoundsEvent + 5s" |
As defined by the SMIL syncbase timing semantics, any event timing attributes that reference an invalid time-value description will be treated as if "indefinite" were specified.
<ref xml:id="x" end="30s" src="15s.mpg" /> <ref xml:id="y" end="10s" src="20s.mpg" /> <ref xml:id="z" repeatCount="4" src="5s.mpg" />
x.endEvent occurs at roughly 30s when the active duration is reached, y.endEvent occurs at roughly 10s when the playback of the continuous media is ended early by the active duration being reached, and z.endEvent occurs at roughly 20s when the fourth and final repeat has completed, thus reaching the end of its active duration. The endEvent is delivered to elements which support timing, such as media elements and time containers, and does not bubble.
A media element's bounds are restrained by the bounds of the region in which it is contained., i.e., a media element's bounds do not extend beyond its region's bounds. The inBoundsEvent is delivered to media elements only, and does not bubble.
Note that, unlike with keyboard focus which may only be active on one object at a time, the state of being within an object's bounds can be true for multiple objects simultaneously. For instance, if one object is on top of another and the cursor is placed on top of both objects, both would have raised an inBoundsEvent more recently than the raising of any respective outOfBoundsEvent. If a player does not support a pointer cursor, then these players will typically not generate the inBoundsEvent and outOfBoundEvent events.
A media element's bounds are restrained by its region's bounds, i.e., a media element's bounds do not extend beyond its region's bounds. The outOfBoundsEvent is delivered to media elements only, and does not bubble.
There will be cases where events occur simultaneously. To ensure that each UnifiedMobile implementation handles them in the same order, the following order must be used to resolve ties:
Events are listed in order of precedence, e.g., if event #6 in this list occurs at the same time as event #7, then #6 must be raised prior to #7.
The InBoundsEvent, focusInEvent, OutOfBoundsEvent, activateEvent, and focusOutEvent events do not bubble and are delivered to the target media element.
The beginEvent, endEvent and repeatEvent events do not bubble and are delivered to the timed element on which the event occurs.
The UnifiedMobile profile supports an extensible set of events. In order to resolve possible name conflicts with the events that are supported in this profile qualified event names are supported. Namespace prefixes are used to qualify the event names. As a result, the colon is reserved in begin and end attributes for qualifying event names.
For example:
<smil ... xmlns:example="http://www.example.com"> <img xml:id="foo" .../> <audio begin="foo.example:focusInEvent".../> ... </smil>
A SMIL document's begin time is defined as the moment a user agent begins the timeline for the overall document. A SMIL document's end time is defined as equal to the end time of the body element.
The Transition Effects Modules provide a framework for describing transitions such as fades and wipes. The Transition Modules define semantics for the transition element. The Unified Mobile Profile includes the functionality of the BasicTransitions and FullScreenTransitions modules.
In the UnifiedMobile profile, Transition Effects elements have the following attributes and content model :
Transition Effects Module | ||
---|---|---|
Elements | Attributes | Content model |
transition | Core, I18n, Test, direction (forward | reverse) 'forward', dur, endProgress '1.0', fadeColor 'black', scope (region | screen) 'region', skip-content (false | true) 'true', startProgress '0.0', subtype (bottom | bottomCenter | bottomLeft | bottomLeftClockwise | bottomLeftCounterClockwise | bottomLeftDiagonal | bottomRight | bottomRightClockwise | bottomRightCounterClockwise | bottomRightDiagonal | centerRight | centerTop | circle | clockwiseBottom | clockwiseBottomRight | clockwiseLeft | clockwiseNine | clockwiseRight | clockwiseSix | clockwiseThree | clockwiseTop | clockwiseTopLeft | clockwiseTwelve | cornersIn | cornersOut | counterClockwiseBottomLeft | counterClockwiseTopRight | crossfade | diagonalBottomLeft | diagonalBottomLeftOpposite | diagonalTopLeft | diagonalTopLeftOpposite | diamond | doubleBarnDoor | doubleDiamond | down | fadeFromColor | fadeToColor | fanInHorizontal | fanInVertical | fanOutHorizontal | fanOutVertical | fivePoint | fourBlade | fourBoxHorizontal | fourBoxVertical | fourPoint | fromBottom | fromLeft | fromRight | fromTop | heart | horizontal | horizontalLeft | horizontalLeftSame | horizontalRight | horizontalRightSame | horizontalTopLeftOpposite | horizontalTopRightOpposite | keyhole | left | leftCenter | leftToRight | oppositeHorizontal | oppositeVertical | parallelDiagonal | parallelDiagonalBottomLeft | parallelDiagonalTopLeft | parallelVertical | rectangle | right | rightCenter | sixPoint | top | topCenter | topLeft | topLeftClockwise | topLeftCounterClockwise | topLeftDiagonal | topLeftHorizontal | topLeftVertical | topRight | topRightClockwise | topRightCounterClockwise | topRightDiagonal | topToBottom | twoBladeHorizontal | twoBladeVertical | twoBoxBottom | twoBoxLeft | twoBoxRight | twoBoxTop | up | vertical | verticalBottomLeftOpposite | verticalBottomSame | verticalLeft | verticalRight | verticalTopLeftOpposite | verticalTopSame), type (arrowHeadWipe | audioFade | audioVisualFade | barWipe | barnDoorWipe | barnVeeWipe | barnZigZagWipe | bowTieWipe | boxSnakesWipe | boxWipe | clockWipe | diagonalWipe | doubleFanWipe | doubleSweepWipe | ellipseWipe | eyeWipe | fade | fanWipe | fourBoxWipe | hexagonWipe | irisWipe | miscDiagonalWipe | miscShapeWipe | parallelSnakesWipe | pentagonWipe | pinWheelWipe | pushWipe | roundRectWipe | saloonDoorWipe | singleSweepWipe | slideWipe | snakeWipe | spiralWipe | starWipe | triangleWipe | veeWipe | waterfallWipe | windshieldWipe | zigZagWipe) | ()* |
This profile adds the transition element to the content model of the head element of the Structure Module.
The Transition Effects Modules add transIn and transOut attributes to ref, animation, audio, img, video, text, textstream and brush elements of the Media Object Modules.
The Transition Effects Modules add the transition value to the fill attribute for all elements on which this value of the fill attribute is supported.
This section is normative.
The UnifiedMobile profile Document Type Definition is defined as a set of SMIL 3.0 modules. All SMIL 3.0 modules are integrated according to the guidelines in the W3C Note "Synchronized Multimedia Modules based upon SMIL 1.0" [SMIL-MOD], and defined within their respective module sections.