The SMIL 2.1 Extended Mobile Profile is a collection of SMIL 2.1 modulesthat provide extensive support for the SMIL 2.1 Language within the contextof an advanced (for 2005) mobile device. Such a device is expected to have ahigh-resolution display and sufficient memory and processor capacity torender nontrival SMIL documents. Although not as complete as the fullSMIL 2.1 Language Profile,the SMIL 2.1 Extended Mobile Profile is rich enough to meet the needs of awide range of interactive presentations.
The SMIL 2.1 Extended Mobile Profile is new to SMIL 2.1. It builds on thefunctionality defined for theSMIL 2.1 MobileProfile. The functionality of the SMIL 2.1 Extended Mobile Profile may befurther extended by using theSMIL 2.1 ScalabilityFramework.
This section isinformative.
The SMIL 2.1 Extended Mobile Profile is defined as a markup language. Thesyntax 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 2.1 Modules".
In the text in this profile specification, the termExtended MobileProfile will be considered to refer exclusively to the SMIL 2.1 ExtendedMobile Profile as defined in this document.
The Extended Mobile Profile design requirements are:
This section isinformative.
The Third Generation Partnership Project 2 (3GPP2)[3GPP2] defines itsown SMIL language profile. The revision A of the 3GPP2 SMIL File Formats forMultimedia Services, which is now under discussion (as of Dec. 2005), definesthe SMIL profile including some additional modules compared to the 3GPP SMILprofile[3GPP26.234R5];AccessKeyTiming Module,MultiArcTiming Module,BasicAnimation ModuleandAudioLayout Module.A future revision of it may incorporate SMIL 2.1.
The Extended Mobile Profile includes all modules of 3GPP2 revision A SMILand the following additional ones:BasicExclTimeContainers Module,SubRegionLayout Module,BackgroundTilingLayout Module,AlignmentLayout Module,OverrideLayout Module,FullScreenTransitionsModule andBrushMedia Module.
This section isnormative.
This version of SMIL provides a definition of strictly conforming ExtendedMobile Profile documents, which are restricted to tags and attributes fromthe SMIL 2.1 namespace. In the future, the language described in this profilemay be extended by other W3C Recommendations, or by private extensions. Forthese extensions, the following rules must be obeyed:
Conformant Extended Mobile Profile user agents are expected to handledocuments containing extensions that obey these two rules.
The Extended Mobile Profile is a conforming SMIL 2.1 specification. Therules for defining conformant documents are provided in theSMIL 2.1Language Conformance in theSMIL 2.1Language Profile document. Note that while the referenced section iswritten for the SMIL 2.1 Language Profile, all of the rules apply to theExtended Mobile Profile as well, with the exception that the Extended MobileProfile'snamespace should beused instead of the SMIL 2.1 Language Profile's namespace.
Documents written for the Extended Mobile Profile must declare a defaultnamespace for its elements with an
<smil xmlns="http://www.w3.org/2005/SMIL21/ExtendedMobile"> ...</smil>
The default namespace declaration must be
xmlns="http://www.w3.org/2005/SMIL21/ExtendedMobile"
Language designers and implementors wishing to extend the Extended MobileProfile must consider the implications of the use of namespace extensionsyntax. Please consult the section onScalable Profiles forrestrictions and recommendations for best practice when extending SMIL.
Extended Mobile ProfileDOCTYPEdeclaration
A SMIL 2.1 document can contain the following DOCTYPE declaration:
The SMIL 2.1 Extended Mobile Profile DOCTYPE is:
<!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 2.1 Extended Mobile//EN""http://www.w3.org/2005/SMIL21/SMIL21ExtendedMobile.dtd">
If a document contains this declaration, it must be a valid XMLdocument.
Note that this implies that extensions to the syntax defined in the DTD arenot allowed. If the document is invalid, the user agent should issue anerror.
The collection names contained in the following table define the ExtendedMobile Profile vocabulary.
SMIL 2.1 Extended Mobile Profile | |
---|---|
Collection Name | Elements in Collection |
Animation | animate,set,animateMotion,animateColor |
ContentControl | switch,prefetch |
Layout | region,root-layout,layout,regPoint |
LinkAnchor | a,area [anchor] |
MediaContent | text,img,audio,video,ref,animation,textstream,brush,param,paramGroup |
Metainformation | meta,metadata |
Structure | smil,head,body |
Schedule | par,seq,excl |
Transition | transition |
In the following sections, we define the set of elements and attributesused in each of the modules included in the Extended Mobile Profile. Thecontent model for each element is described. The content model of an elementis a description of elements which can appear as its direct children. Thespecial content model "EMPTY" means that a given element may not havechildren.
Collection Name | Attributes in Collection |
---|---|
Core | id (ID),class(NMTOKEN),title (CDATA),alt (CDATA),longdesc (CDATA),xml:base (CDATA) |
I18n | xml:lang (NMTOKEN) |
Theid,
TheAnimation Module provides aframework for incorporating animation into a timing framework, and amechanism for composing the effects of multiple animations. The AnimationModule uses the timing modules included in this profile for the underlyingmodel of time. The Extended Mobile Profile includes the Animationfunctionality of theBasicAnimationmodule. TheBasicAnimationModule defines the semantics for the
In the Extended Mobile Profile, Animation elements can have the followingattributes and content model :
Animation Module | ||
---|---|---|
Elements | Attributes | Content model |
animate | Core,I18n,Timing,Test,attributeName,attributeType,targetElement,from,to,by,values,calcMode,accumulate,additive,skip-content,fill (freeze | remove | hold | auto | default) | EMPTY |
set | Core,I18n,Timing,Test,attributeName,attributeType,targetElement,to,skip-content,fill (freeze | remove | hold | auto | default) | EMPTY |
animateMotion | Core,I18n,Timing,Test,targetElement,origin,from,to,by,values,calcMode,accumulate,additive,skip-content,fill (freeze | remove | hold | auto | default) | EMPTY |
animateColor | Core,I18n,Timing,Test,attributeName,attributeType,targetElement,from,to,by,values,calcMode,accumulate,additive,skip-content,fill (freeze | remove | hold | auto | default) | EMPTY |
This profile adds theanimate,set,
Specifying the target element of the animation
The animation target elements supported in the Extended Mobile Profile aretheregion element defined in theLayout Modules, the
The SMIL Extended Mobile Profile uses the
Specifying the target attribute of the animation
The target attributes of the animations are a subset of those of the
Thearea [
Media elements have the following region attributes which can be subjectto animation:left,
Integration definitions
The Extended Mobile Profile defines a set of integration definitions asrequired by the Animation modules. These definitions are:
coerced-integer-value = Math.floor( interpolated-value + 0.5 )
TheContent ControlModules provide a framework for selecting content based on a set of testattributes. TheContent ControlModules define semantics for the
In the Extended Mobile Profile, Content Control elements can have thefollowing attributes and content model :
Content Control Module | ||
---|---|---|
Elements | Attributes | Content model |
switch | Core,I18n,Test | ((Schedule | MediaContent | ContentControl | LinkAnchor | Animation)* | (layout )*) |
prefetch | Core,I18n,Test,Timing,mediaSize,mediaTime,bandwidth,src,skip-content,clipBegin,clipEnd | EMPTY |
This profile adds theswitchelement to the content model of thepar,seq and
Content Control functionality is used to define the attribute set"Test":
The Test attributes collection is added to all the elements defined in theExtended Mobile Profile. An Extended Mobile user agent must support all ofthe values for the
TheLayout Modules provide a frameworkfor spatial layout of visual components. TheLayout Modules define semantics for theregion,
In the Extended Mobile Profile, Layout elements can have the followingattributes and content model :
Layout Module | ||
---|---|---|
Elements | Attributes | Content model |
region | Core,I18n,Test,backgroundColor [background-color],backgroundImage,backgroundRepeat,bottom,fit (fill | hidden | meet | meetBest | scroll | slice),height,left,mediaAlign,regAlign,regionName,regPoint,right,showBackground (always | whenActive),skip-content,soundAlign,soundLevel,top,width,z-index | region* |
root-layout | Core,I18n,Test,backgroundColor [background-color],backgroundImage,backgroundRepeat,width,height,skip-content | EMPTY |
layout | Core,I18n,Test,type | (root-layout |region |regPoint)* |
regPoint | Core,I18n,Test,top,bottom,left,right,regAlign (topLeft|topMid | topRight | midLeft | center | midRight | bottomLeft | bottomMid | bottomRight),skip-content | EMPTY |
The attribute collection SubregionAttributes is defined as follows:
Collection Name | Attributes in Collection |
---|---|
SubregionAttributes | top,left,bottom,right,width,height,z-index,fit,backgroundColor [background-color],mediaAlign,regPoint,regAlign,soundAlign,soundLevel |
This profile adds thelayoutelement to the content model of the
TheLinking Modules providea framework for relating documents to content, documents and documentfragments. TheLinking Modulesdefine semantics for thea and
Both thea and
Support for URIs with XPointer fragment identifier syntax is notrequired.
In the Extended Mobile Profile, Linking elements can have the followingattributes and content model :
Linking Module | ||
---|---|---|
Elements | Attributes | Content model |
a | Core,I18n,Timing,Test,href,sourceLevel,destinationLevel,sourcePlaystate(play | pause | stop) 'pause',destinationPlaystate (play | pause) 'play',show(new | replace | pause) 'replace',accesskey,tabindex,target,external,actuate | (Schedule | MediaContent | ContentControl | Animation )* |
area [anchor] | Core,I18n,Timing,Test,shape,coords,href,nohref,sourceLevel,destinationLevel,sourcePlaystate,destinationPlaystate,show,accesskey,tabindex,target,external,actuate,shape,fragment,skip-content | (animate |set)* |
This profile adds thea element to thecontent model of thepar,
In the Extended Mobile Profile, a value of
Linking behavior in the Extended Mobile Profile may be used to navigatewithin a document or to link across documents. When linking to destinationsoutside the current document, implementations may ignore the values
The attributetabindex specifiesthe position of the element in the tabbing order at a particular instant forthe current document. The tabbing order defines the order in which elementswill receive focus when navigated by the user via an input device such as akeyboard. At any particular point in time, only active elements are takeninto account for the tabbing order; inactive elements are ignored.
When a media object element has a
The Extended Mobile Profile does not define four-way navigation in theSMIL 2.1 release. A definition for four-way navigation is expected in thefuture version of SMIL.
TheMedia Object Modulesprovide a framework for declaring media. TheMedia Object Modules definesemantics for theref,
In the Extended Mobile Profile, media elements can have the followingattributes and content model:
Media Object Module | ||
---|---|---|
Elements | Attributes | Content model |
text,img,audio,animation,video,ref,textstream | Core,I18n,Timing,Test,SubregionAttributes,region,fill (freeze | remove | hold | transition | auto | default),author,copyright, abstract,src,type,erase,mediaRepeat,paramGroup,sensitivity,tabindex,transIn,transOut,clipBegin [clip-begin],clipEnd [clip-end],readIndex,endsync. | (param |area[anchor] |switch | Animation)* |
brush | Core,I18n,Timing,Test,SubregionAttributes,abstract,region,fill (freeze | remove | hold | transition | auto | default),author,copyright,color,skip-content,erase,sensitivity,tabindex,transIn,transOut,readIndex,endsync. | (param |area [anchor]|switch | Animation)* |
param | Core,I18n,Test,name,value,valuetype (data | ref | object), type,skip-content | EMPTY |
paramGroup | Core,I18n,Test,skip-content | (param)* |
This profile adds theref,
The following elements are allowed as children of a media objectreference:anchor,
This section isinformative.
The members of the W3C SYMM Working Group recommend that at least thefollowing content types and file formats be supported by Mobile Profile useragents:
This section isnormative.
The MediaParam module defines theeraseattribute, and defers definition of the "display area" to the languageprofile. "Display area" for the purposes of the Extended Mobile Profilecorresponds to a SMIL BasicLayout
TheMetainformation Moduleprovides a framework for describing a document, either to inform the humanuser or to assist in automation. TheMetainformation Module defines semanticsfor themeta and
In the Extended Mobile Profile, Metainformation elements can have thefollowing attributes and content model :
Metainformation Module | ||
---|---|---|
Elements | Attributes | Content model |
meta | Core,I18n,skip-content,content (CDATA),name (CDATA) | EMPTY |
metadata | Core,I18n,skip-content | EMPTY |
This profile adds themeta elementto the content model of theheadelement of theStructure Module.
The content model of metadata is empty. Profiles that extend the ExtendedMobile Profile may define the RDF (Resource Description Framework) schema tobe used in extending the content model of the metadata element. The ResourceDescription 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
In the Extended Mobile Profile, the Structure elements can have thefollowing attributes and content model :
Structure Module | ||
---|---|---|
Elements | Attributes | Content model |
smil | Core,I18n,Test,xmlns | (head?,body?) |
head | Core,I18n | (meta*,(metadata, meta*)?,((layout|switch),meta*)?, (transition+, meta*)?, (paramGroup+, meta*)?) |
body | Core,I18n,Timing,fill,abstract,author,copyright | (Schedule | MediaContent | ContentControl |a )* |
Thebody element acts as the rootelement to span the timing tree. The body element has the behavior of a
TheTiming and SynchronizationModules provide a framework for describing timing structure, timingcontrol properties and temporal relationships between elements. TheTiming and Synchronization Modulesdefine semantics forpar,
In the Extended Mobile Profile, Timing and Synchronization elements canhave the following attributes and content model :
Timing and Synchronization Module | ||
---|---|---|
Elements | Attributes | Content model |
par | Core,I18n,Timing,Test,endsync,fill(freeze | remove | hold | auto | default),abstract,author,copyright,region | (Schedule | MediaContent | ContentControl |a | Animation)* |
seq | Core,I18n,Timing,Test,fill (freeze | remove | hold | auto | default),abstract,author,copyright,region | (Schedule | MediaContent | ContentControl |a | Animation) * |
excl | Core,I18n,Timing,Test,endsync,skip-content,fill (freeze | remove | hold | auto | default ),abstract,author,copyright,region | ((Schedule | MediaContent | ContentControl |a | Animation)* |
The Attribute collection Timing is defined as follows:
Collection Name | Attributes in Collection |
---|---|
Timing | begin,dur,end,repeat,repeatCount,repeatDur,min,max |
This profile adds thepar,
Elements of theMedia ObjectModules have the attributes describing timing and properties ofcontents.
The Extended Mobile Profile specifies which types of events can be used aspart of thebegin and
The supported event symbols in the Extended Mobile Profile are:
Event | example |
---|---|
focusInEvent (In DOM Level 2: "DOMFocusIn") | end="foo.focusInEvent + 3s" |
focusOutEvent (In DOM Level 2: "DOMFocusOut") | begin="foo.focusOutEvent" |
activateEvent (In DOM Level 2: "DOMActivate") | 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 theSMIL syncbasetiming semantics, any event timing attributes that reference an invalidtime-value description will be treated as if "indefinite" were specified.
<ref end="30s" src="15s.mpg" /><ref end="10s" src="20s.mpg" /><ref 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 can 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 eachExtended Mobile implementation handles them in the same order, the followingorder must be used to resolve ties:
Events are listed in order of precedence, e.g., if event #6 in this listoccurs at the same time as event #7, then #6 must be raised prior to #7.
The InBoundsEvent, focusInEvent, OutOfBoundsEvent, activateEvent, andfocusOutEvent events do not bubble and are delivered to the target mediaelement.
The beginEvent, endEvent and repeatEvent events do not bubble and aredelivered to the timed element on which the event occurs.
The Extended Mobile Profile supports an extensible set of events. In orderto resolve possible name conflicts with the events that are supported in thisprofile qualified event names are supported. Namespace prefixes are used toqualify the event names. As a result, the colon is reserved in begin and endattributes for qualifying event names.
For example:
<smil ... xmlns:example="http://www.example.com"> <img .../> <audio begin="foo.example:focusInEvent".../> ... </smil>
A SMIL document's begin time is defined as the moment a user agent beginsthe timeline for the overall document. A SMIL document's end time is definedas equal to the end time of thebodyelement.
TheTransition EffectsModules provide a framework for describing transitions such as fades andwipes. TheTransitionModules define semantics for the
In the Extended Mobile Profile, Transition Effects elements have thefollowing attributes and content model :
Transition Effects Module | ||
---|---|---|
Elements | Attributes | Content model |
transition | Core,I18n,Test,dur,type,subtype,startProgress,endProgress,direction,fadeColor,scope,skip-content | EMPTY |
This profile adds the
TheTransition EffectsModules addtransIn and
TheTransition EffectsModules add thetransition value to the
This section isnormative.
TheExtended Mobile Profile Document TypeDefinition is defined as a set of SMIL 2.1 modules. All SMIL 2.1 modulesare integrated according to the guidelines in the W3C Note "SynchronizedMultimedia Modules based upon SMIL 1.0"[SMIL-MOD], and defined withintheir respective module sections.