The SMIL 2.1 Mobile Profile is a collection of SMIL 2.1 modules thatprovide support for the SMIL 2.1 language within the context of a mobiledevice. Such a device is expected to have sufficient display, memory, andprocessor capabilities to render basic interactive multimedia presentationsin SMIL. The SMIL 2.1 Mobile Profile is a super-set of theSMIL 2.1 Basic Profile and asub-set of theSMIL2.1 Extended Mobile Profile. The SMIL 2.1 Mobile Profile is largelycompatibility with the SMIL profile that third Generation Partnership Program(3GPP) has defined for the multimedia messaging (MMS) and the enhanced packedswitched streaming (e-PSS) mobile services in its own specification([3GPP26.246R6]).
The functionality of the SMIL 2.1 Mobile Profile may be further extendedby using theSMIL 2.1Scalability Framework. When extending the functionality of this profile,it is highly recommended to include functionality from theSMIL2.1 Extended Mobile Profile first.
This section isinformative.
The SMIL 2.1 Mobile Profile is defined as a markup language. The syntax ofthis language is formally described with a document type definition (DTD) oran 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 termMobileProfile will be considered to refer exclusively to the SMIL 2.1 MobileProfile as defined in this document.
The Mobile Profile design requirements are:
This section isinformative.
The Third Generation Partnership Program (3GPP)[3GPP] has defined itsown SMIL language profile. This profile specifically targets the MultimediaMessaging Service (MMS) and the Packet Switched Streaming Service (PSS). Bothare mobile services. The 3GPP SMIL profile was first defined for 3GPP Release4 in Section 8.1 of[3GPP26.234R4], updated for Release 5 in Section 8.1 of[3GPP26.234R5]. The latest available version (by 2005) is part 3GPP Release6 in Technical Specification[3GPP26.246R6]. The 3GPP SMIL language profileis based on SMIL 2.0. A future revision of it may incorporate SMIL 2.1.
The Mobile Profile includes all modules of 3GPP SMIL and the followingadditional ones:AccessKeyTimingModule,BackgroundTilingLayoutModule,AudioLayoutModule,AlignmentLayoutModule, andFullScreenTransitionsModule.
This section isinformative.
Also the Third Generation Partnership Project 2 (3GPP2)[3GPP2] definesits own SMIL Language Profile. The first version of the 3GPP2 SMIL profile isdefined in 3GPP2 File Formats for Multimedia Services[3GPP2.C.S0050-0] andis the same as the 3GPP Release 5 SMIL profile[3GPP26.234R5], except thenamespace identifier. The 3GPP2 File Formats for Multimedia Services definesa set of common file formats to specific services such as MultimediaMessaging Services (MMS)[3GPP2.C.S0045] and Multimedia Streaming Services(MSS), and its SMIL profile includes a superset of the SMIL modules for theseservices. The revision A of the 3GPP2 SMIL profile, which is now underdiscussion (as of Dec. 2005), will include the following additional modules:AccessKeyTiming Module,MultiArcTiming Module,BasicAnimation Module, andAudioLayoutModule. A future revision of it may incorporate SMIL 2.1.
Comparing the Mobile Profile with the revision A of the 3GPP2 SMILprofile, the additional modules are:BackgroundTilingLayoutModule,AlignmentLayoutModule, andFullScreenTransitionsModule. The missing modules areMultiArcTiming Module andBasicAnimationModule.
This section isnormative.
This version of SMIL provides a definition of strictly conforming MobileProfile documents, which are restricted to tags and attributes from the SMIL2.1 namespace. In the future, the language described in this profile may beextended by other W3C Recommendations, or by private extensions. For theseextensions, the following rules must be obeyed:
Conformant Mobile Profile user agents are expected to handle documentscontaining extensions that obey these two rules.
The Mobile Profile is a conforming SMIL 2.1 specification. The rules fordefining conformant documents are provided in theSMIL 2.1Language Conformance in theSMIL 2.1Language Profile document. Note that while the section is written for theSMIL 2.1 Language profile, all of the rules apply to the Mobile Profile aswell, with the exception that the Mobile Profile'snamespace should be used instead ofthe SMIL 2.1 Language Profile's namespace and the Mobile Profile's DOCTYPEdeclaration should be used instead of the SMIL 2.1 Language Profile DOCTYPEdeclaration.
Documents written for the Mobile Profile must declare a default namespacefor its elements with anxmlnsattribute on thesmil root element withits identifier URI:
<smil xmlns="http://www.w3.org/2005/SMIL21/Mobile"> ...</smil>
The default namespace declaration must be
xmlns="http://www.w3.org/2005/SMIL21/Mobile"
Language designers and implementors wishing to extend the Mobile Profilemust consider the implications of the use of namespace extension syntax.Please consult the section onScalable Profiles forrestrictions and recommendations for best practice when extending SMIL.
Mobile ProfileDOCTYPE declaration
A SMIL 2.1 document can contain the following DOCTYPE declaration:
The SMIL 2.1 Mobile Profile DOCTYPE is:
<!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 2.1 Mobile//EN""http://www.w3.org/2005/SMIL21/SMIL21Mobile.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.
Since the Mobile Profile defines a conforming SMIL document, the rules fordefining conformant user agents are the same as provided in theConforming SMIL 2.1Language User Agents in the SMIL 2.1 Language Profile document, with theexception that the conforming user agent must support theMobile Profile's namespace insteadof the SMIL 2.1 Language Profile's namespace.
The Mobile Profile supports the SMIL 2.1 features for basic multimediapresentations. It uses only modules from the SMIL 2.1 Recommendation. As thelanguage profile includes the mandatory modules, it is aSMILHost Language conforming language profile. This language profile includesthe following SMIL 2.1 modules:
The collection names contained in the following table define the MobileProfile vocabulary.
SMIL 2.1 Mobile Profile | |
---|---|
Collection Name | Elements in Collection |
ContentControl | switch,prefetch |
Layout | region,root-layout,layout,regPoint |
LinkAnchor | a,area |
MediaContent | text,img,audio,video,ref,textstream,param,paramGroup |
Metainformation | meta,metadata |
Structure | smil,head,body |
Schedule | par,seq |
Transition | transition |
In the following sections, we define the set of elements and attributesused in each of the modules included in the Mobile Profile. The content modelfor each element is described. The content model of an element is adescription of elements which can appear as its direct children. The specialcontent model "EMPTY" means that a given element may not have children.
Collection Name | Attributes in Collection |
---|---|
Core | id (ID),class(NMTOKEN),title (CDATA),alt (CDATA),longdesc (CDATA),xml:base (CDATA) |
I18n | xml:lang (NMTOKEN) |
Theid,
A conforming Mobile Profile document should not use the SMIL 1.0attributes that have been depreciated in SMIL 2.0. Mobile Profileimplementations are not required to support these attributes. This would beconsidered an unjustified burden for the targeted constraint devices. Theunsupported depreciated SMIL 1.0 attributes are the following: anchor,background-color, clip-begin, clip-end, repeat; and the additionaldepreciated test attributes of Content Control: system-bitrate,system-captions, system-language, system-required, system-screen-size, and,system-screen-depth.
TheContent ControlModules provide a framework for selecting content based on a set of testattributes. TheContent ControlModules define semantics for the
In the Mobile Profile, Content Control elements can have the followingattributes and content model :
Content Control Module | ||
---|---|---|
Elements | Attributes | Content model |
switch | Core,I18n,Test | ((Schedule | MediaContent | ContentControl | LinkAnchor)* | (layout )*) |
prefetch | Core,I18n,Test,Timing,mediaSize,mediaTime,bandwidth,src,skip-content,clipBegin,clipEnd | EMPTY |
This profile adds theswitchelement to the content model of theparandseq elements of theTiming and Synchronization Modules, ofthebody and the
Content Control functionality is used to define the attribute set"Test":
Collection Name | Attributes in Collection |
---|---|
Test | systemBitrate,systemCaptions,systemLanguage, system-overdub-or-caption,systemRequired,systemScreenSize, systemScreenDepth,systemOverdubOrSubtitle,systemAudioDesc,systemOperatingSystem,systemCPU,systemComponent |
The Test attributes collection is added to all the elements defined in theMobile Profile. A mobile user agent must support all of the values for thesystemOperatingSystemandsystemCPUattributes listed inthe Content Control Modules. In addition, the user agent should acceptnamespaced values as future extensions, and not declare a syntax error. Theuser agent should return false for unrecognized values of the
TheLayout Modules provide a frameworkfor spatial layout of visual components. TheLayout Modules define semantics for theregion,
In the Mobile Profile, Layout elements can have the following attributesand content model :
Layout Module | ||
---|---|---|
Elements | Attributes | Content model |
region | Core,I18n,Test,backgroundColor,showBackground (always | whenActive),bottom,fit (fill | hidden | meet | scroll | slice),width,height,left,right,top,soundLevel,z-index,skip-content,regionName | EMPTY |
root-layout | Core,I18n,Test,backgroundColor,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 |
This profile adds the layoutelement 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 Mobile Profile, Linking elements can have the following attributesand 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)* |
area | Core,I18n,Timing,Test,shape,coords,href,nohref,sourceLevel,destinationLevel,sourcePlaystate,destinationPlaystate,show,accesskey,tabindex,target,external,actuate,shape,fragment,skip-content | EMPTY |
This profile adds thea element to thecontent model of thepar and
In the Mobile Profile, a value ofonLoad seton the attributeactuate indicatesthat the link is automatically traversed when the linking element becomesactive. For linking elements containing SMIL timing, this is when the activeduration of the linking element begins.
Linking behavior in the Mobile Profile may be used to navigate within adocument or to link across documents. When linking to destinations outsidethe 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
TheMedia Object Modulesprovide a framework for declaring media. TheMedia Object Modules definesemantics for theref,
In the Mobile Profile, media elements can have the following attributesand content model:
Media Object Module | ||
---|---|---|
Elements | Attributes | Content model |
text,img,audio,video,ref,textstream | Core,I18n,Timing,Test,region,fill (freeze | remove | hold | transition | auto | default),author,copyright, abstract,src,type,erase,mediaRepeat,paramGroup,sensitivity,tabindex,transIn,transOut,clipBegin,clipEnd,readIndex,endsync,mediaAlign,regPoint,regAlign,soundAlign,soundLevel. | (param |area|switch)* |
param | Core,I18n,Test,name,value,valuetype (data | ref | object), type,skip-content | EMPTY |
paramGroup | Core,I18n,Test,skip-content | (param)* |
Thearea and
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 Mobile Profile corresponds toa SMIL BasicLayoutregion. Theeffects oferase=
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 Mobile Profile, Metainformation elements can have the followingattributes 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 MobileProfile may define their own content model of the metadata element.
The Structure Module provides a framework for structuring a SMIL document.The Structure Module defines semantics for the
In the Mobile Profile, the Structure elements can have the followingattributes 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 and
In the Mobile Profile, Timing and Synchronization elements can have thefollowing 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)* |
seq | Core,I18n,Timing,Test,fill (freeze | remove | hold | auto | default),abstract,author,copyright,region | (Schedule | MediaContent | ContentControl |a) * |
The Attribute collection Timing is defined as follows:
Collection Name | Attributes in Collection |
---|---|
Timing | begin,dur,end,repeatCount,repeatDur,min,max |
This profile adds thepar and
Elements of theMedia ObjectModules have the attributes describing timing and properties ofcontents.
The Mobile Profile specifies which types of events can be used as part ofthebegin and
The supported event symbols in the Mobile Profile are:
Event | example |
---|---|
focusInEvent (In DOM Level 2: "DOMFocusIn") | end="foo.focusInEvent" |
focusOutEvent (In DOM Level 2: "DOMFocusOut") | begin="foo.focusOutEvent" |
activateEvent (In DOM Level 2: "DOMActivate") | begin="foo.activateEvent" |
beginEvent | begin="foo.beginEvent" |
endEvent | end="foo.endEvent" |
repeatEvent | end="foo.repeatEvent" |
inBoundsEvent | end="foo.inBoundsEvent" |
outOfBoundsEvent | begin="foo.outOfBoundsEvent" |
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 eachMobile implementation handles them in the same order, the following ordermust 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 Mobile Profile supports an extensible set of events. In order toresolve 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 Mobile Profile, Transition Effects elements have the followingattributes 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.
TheMobile Profile Document Type Definition isdefined as a set of SMIL 2.1 modules. All SMIL 2.1 modules are integratedaccording to the guidelines in the W3C Note "Synchronized Multimedia Modulesbased upon SMIL 1.0"[SMIL-MOD], and defined within their respective modulesections.