This section is informative.
The SMIL 3.0 Language profile extends the SMIL 2.1 Language profile withnew functionalities introduced in SMIL 3.0 Modules. Specifically, thefollowing modules have been added to the list of modules:
The following modules were changed for SMIL 3.0:
In addition to new and changed modules, this version of SMIL also has anew requirement about the media formats that are to be supported by useragents, and thereadIndexattribute was added to theCore collection,meaning it may occur on many more elements.
This section is normative.
The SMIL 3.0 Language profile describes the SMIL 3.0 modules that areincluded in the SMIL 3.0 Language and details how these modules areintegrated. It contains support for all of the major SMIL 3.0 featuresincluding animation, content control, layout, linking, media object,meta-information, structure, timing and transition effects. It is designedfor Web clients that support direct playback from SMIL 3.0 markup.
This section isinformative.
The SMIL 3.0 Language profile is defined as a markup language. The syntaxof 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 SMIL 3.0 Language profile design requirements are:
This section is normative.
In the text in this profile specification, the termLanguageProfile will be considered to refer exclusively to the SMIL 3.0 Language profile as defined in this document.
The definition of conformance for a SMIL 3.0 profile is given in theDefinitions section of theSMIL 3.0 Scalability Framework. Based on these definitions, the Language profile isaStrict 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/Language
.xmlns="http://www.w3.org/ns/SMIL"
<!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 3.0 Language//EN""http://www.w3.org/2008/SMIL30/SMIL30Language.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 (orin the corresponding XML or RelaxNG schemas) are not allowed. If the documentis invalid, the user agent should issue an error.
http://www.w3.org/2008/SMIL30/informative-DTD/SMIL30Language.dtd
version="3.0" baseProfile="Language"As a consequence of the two requirements above, the effective root element declaration fora Language profile document must be:
<smil xmlns="http://www.w3.org/ns/SMIL" version="3.0" baseProfile="Language"> ...</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.0documents, which are restricted to tags and attributes from the SMIL 3.0namespace. The Section "Extending/Restricting a SMIL3.0 Profile" provides information on using the SMIL 3.0 Languageprofile with other namespaces, for instance, on including new tags withinSMIL 3.0 documents.
Language designers and implementors wishing to extend the Languageprofile must consider the implications of the use of namespace extensionsyntax. Please consult the section onScalable Profiles for restrictionsand recommendations for best practice when extending SMIL.
The definition of user agent conformance for SMIL 3.0 Languageprofile documents is given in theConforming SMIL 3.0 UserAgents section of theSMIL 3.0 Scalability Framework. Conforming Language profile user agents must adhere completely to this section.
The SMIL 3.0 Language profile supports the structured-timeline-centricmultimedia features found in the SMIL 3.0 modules. It uses only modules fromthe SMIL 3.0 recommendation. This Language profile includes thefollowing SMIL 3.0 modules:
The collection names contained in the following table define the SMIL 3.0Language profile vocabulary.
SMIL 3.0 Language Profile | |
---|---|
Collection Name | Elements in Collection |
Animation | animate,animateColor,animateMotion,set |
ContentControl | prefetch,switch |
Layout | layout,region,regPoint,root-layout,topLayout |
LinkAnchor | a,area (anchor) |
MediaContent | animation,audio,brush,img,ref,smilText,text,textstream,video |
Metainformation | meta,metadata |
Schedule | excl,par,seq |
State | delvalue,newvalue,send,setvalue |
Structure | smil,head,body |
TextContent | tev,clear,br,span,p,div,textStyle,textStyling |
Transition | transition |
Other | customAttributes,customTest,param,paramGroup,priorityClass,state,submission |
In the following sections, we define the set of elements and attributesused in each of the modules included in the SMIL 3.0 Language profile. Thecontent model for each element is described. The content model of an elementis a description of elements which may appear as its direct children. Thespecial content model "EMPTY" means that a given element may not havechildren.
Collection Name | Attributes in Collection |
---|---|
Core | alt (CDATA),baseProfile'Language',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) |
Thexml:id and
The attributes in the collection Core are defined for all the elements ofthe SMIL 3.0 Language profile.
In this document, equivalent but deprecated attributes and elements are inparentheses.
The Structure Module provides a framework for structuring a SMIL document.The Structure Module defines semantics for the
The Identity Module provides attributes to identify the SMIL version andprofile used in a SMIL document. The Identity Module defines semantics fortheversion and
In the SMIL 3.0 Language profile, the Structure elements may have thefollowing attributes and content model :
Structure Module | ||
---|---|---|
Elements | Attributes | Content model |
smil | Core,I18n,Test,xmlns,xmlns:its'http://www.w3.org/2005/11/its' | ((metadata)*, (head, (metadata)*)?, (body, (metadata)*)?) |
head | Core,I18n | ((meta)*, ((customAttributes), (meta)*)?, ((metadata), (meta)*)?, ((textStyling), (meta)*)?, ((layout |switch), (meta)*)?, ((state), (meta)*)?, ((submission), (meta)*)*, (((transition)+), (meta)*)?, (((paramGroup)+), (meta)*)?) |
body | Core,I18n,MediaDescriptionAttributes,Timing,fill (auto |default |freeze |hold |remove |transition)'default' | (Animation | ContentControl | MediaContent | Schedule | State |a |metadata)* |
The attributexmlns must be presenton the elementsmil and it must havethe value'http://www.w3.org/ns/SMIL'.
Thebody element acts as the rootelement to span the timing tree. The body element has the behavior of a
TheMedia Object Modules providea framework for declaring media. TheMedia Object Modules define semanticsfor theref,
In the SMIL 3.0 Language profile, media elements may have the followingattributes and content model:
Media Object Module | ||
---|---|---|
Elements | Attributes | Content model |
ref,animation,audio,img,text,textstream,video | Core,I18n,MediaDescriptionAttributes,MediaOpacityAttributes,SubregionAttributes,Test,Timing,clip-begin,clip-end,clipBegin,clipEnd,customTest,endsync'media',erase (never |whenDone)'whenDone',expr,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 (anchor) |metadata |param |switch)* |
brush | Core,I18n,MediaDescriptionAttributes,Test,Timing,backgroundColor,backgroundOpacity'100%',bottom'auto',color,customTest,endsync'media',erase (never |whenDone)'whenDone',expr,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 (anchor) |metadata |param |switch)* |
param | Core,I18n,Test,customTest,name,skip-content (false |true)'true',type,value,valuetype (data |object |ref)'data' | (metadata)* |
paramGroup | Core,I18n,skip-content (false |true)'true' | (metadata |param)* |
The attribute collections MediaDescriptionAttributes andMediaOpacityAttributes are defined as follows:
Collection Name | Attributes in Collection |
---|---|
MediaDescriptionAttributes | abstract (CDATA),author (CDATA),copyright (CDATA) |
MediaOpacityAttributes | chromaKey,chromaKeyOpacity,chromaKeyTolerance,mediaBackgroundOpacity,mediaOpacity |
This profile adds theref,
SMIL 1.0 only allowedanchor as achild element of a media element. In addition to
TheMediaRenderAttributesModule defines theeraseattribute, and defers definition of the "display area" to the languageprofile. "Display area" for the purposes of the SMIL 3.0 Language correspondsto a SMIL BasicLayoutregion. Theeffects oferase=
TheTiming and Synchronization Modulesprovide a framework for describing timing structure, timing controlproperties and temporal relationships between elements. TheTiming and Synchronization Modules definesemantics forpar,
In the SMIL 3.0 Language profile, Timing and Synchronization elements mayhave the following attributes and content model :
Timing and Synchronization Module | ||
---|---|---|
Elements | Attributes | Content model |
par | Core,I18n,MediaDescriptionAttributes,Test,Timing,customTest,endsync'last',expr,fill (auto |default |freeze |hold |remove |transition)'default',region | (Animation | ContentControl | MediaContent | Schedule | State |a |metadata)* |
seq | Core,I18n,MediaDescriptionAttributes,Test,Timing,customTest,expr,fill (auto |default |freeze |hold |remove |transition)'default',region | (Animation | ContentControl | MediaContent | Schedule | State |a |metadata)* |
excl | Core,I18n,MediaDescriptionAttributes,Test,Timing,customTest,endsync'last',expr,fill (auto |default |freeze |hold |remove |transition)'default',region,skip-content (false |true)'true' | ((metadata)*, (((Schedule | MediaContent | Animation | ContentControl |a | State), (metadata)*)* | (priorityClass, (metadata)*)+)) |
priorityClass | Core,I18n,MediaDescriptionAttributes,Test,customTest,higher (pause |stop)'pause',lower (defer |never)'defer',pauseDisplay (disable |hide |show)'show',peers (defer |never |pause |stop)'stop',skip-content (false |true)'true' | (Animation | ContentControl | MediaContent | Schedule | State |a |metadata)* |
The Attribute collections Timing and BasicTiming are defined asfollows:
Collection Name | Attributes in Collection |
---|---|
BasicTiming | begin,dur,end,max'indefinite',min'0',repeat,repeatCount,repeatDur |
Timing | begin,dur,end,fillDefault (auto |freeze |hold |inherit |remove |transition)'inherit',max'indefinite',min'0',repeat,repeatCount,repeatDur,restart (always |default |never |whenNotActive)'default',restartDefault (always |inherit |never |whenNotActive)'inherit',syncBehavior (canSlip |default |independent |locked)'default',syncBehaviorDefault (canSlip |independent |inherit |locked)'inherit',syncTolerance'default',syncToleranceDefault'inherit' |
This profile adds thepar,
Elements of theMedia ObjectModules, elements of theAnimationModule, elements of theState Modules andthesmilText element of thesmilText Modules have the attributes describingtiming and properties of contents.
The SMIL 3.0 Language profile specifies which types of events may be usedas part of thebegin and
The supported event symbols in the SMIL 3.0 Language 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" |
topLayoutCloseEvent | end="toplayout1.topLayoutCloseEvent" |
topLayoutOpenEvent | end="toplayout2.topLayoutOpenEvent+5s" |
stateChange(ref) | end="foo.stateChange(//*)" |
contentControlChange(attrname) | end="root.contentControlChange(systemBitrate)" |
contentControlChange | end="root.contentControlChange" |
This example is informative.
In the following example,
<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 may 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.
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 eachSMIL 3.0 Language implementation handles them in the same order, thefollowing order 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 topLayoutOpenEvent and topLayoutCloseEvent events do not bubble andare delivered to thetopLayoutelement on which the event occurs.
The SMIL 3.0 Language profile supports an extensible set of events. Inorder to resolve possible name conflicts with the events that are supportedin this profile qualified event names are supported. Namespace prefixes areused to qualify the event names. As a result, the colon is reserved in beginand end attributes for qualifying event names.
This example is informative.
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 beginsthe timeline for the overall document. A SMIL document's end time is definedas equal to the end time of thebodyelement.
TheContent Control Modules provide aframework for selecting content based on a set of test attributes. TheContent Control Modules define semantics for theswitch,
In the SMIL 3.0 Language profile, Content Control elements may have thefollowing attributes and content model :
Content Control Module | ||
---|---|---|
Elements | Attributes | Content model |
switch | Core,I18n,Test,allowReorder (no |yes)'no',customTest | ((metadata |switch)*, ((((Animation), (metadata |switch)*)*, (((Schedule | MediaContent | State |prefetch |a)+, (metadata | Animation |switch)*)+ | ((param |area (anchor)), (metadata | Animation |switch)*)+)) | (layout, (metadata |switch)*)*)) |
prefetch | Core,I18n,Test,Timing,bandwidth'100%',clip-begin,clip-end,clipBegin,clipEnd,customTest,expr,mediaSize,mediaTime,skip-content (false |true)'true',src | (metadata)* |
customAttributes | Core,I18n,skip-content (false |true)'true' | ((metadata)*, (customTest, (metadata)*)+) |
customTest | Core,I18n,defaultState (false |true)'false',override (hidden |visible)'hidden',skip-content (false |true)'true',uid | (metadata)* |
This profile adds theswitchelement to the content model of thepar,seq and
The Content Control functionality is used to define the Attribute set"Test":
Collection Name | Attributes in Collection |
---|---|
Test | system-bitrate,system-captions (off |on),system-language,system-overdub-or-caption (caption |overdub),system-required,system-screen-depth,system-screen-size,systemAudioDesc (off |on),systemBaseProfile,systemBitrate,systemCPU,systemCaptions (off |on),systemComponent,systemLanguage,systemOperatingSystem,systemOverdubOrSubtitle (overdub |subtitle),systemRequired,systemScreenDepth,systemScreenSize,systemVersion (3.0) |
The collection of Attributes Test is added to all the elements defined inthe SMIL 3.0 Language profile, except
TheLayout Modules provide a framework forspatial layout of visual components. TheLayoutModules define semantics for the
In the SMIL 3.0 Language profile, Layout elements may have the followingattributes and content model :
Layout Module | ||
---|---|---|
Elements | Attributes | Content model |
region | Core,I18n,MediaOpacityAttributes,SubregionAttributes,Test,TextAttributes,background-color,backgroundImage'none',backgroundRepeat (inherit |noRepeat |repeat |repeatX |repeatY)'repeat',customTest,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' | (metadata |region)* |
root-layout | Core,I18n,Test,background-color,backgroundColor,backgroundImage'none',backgroundOpacity'100%',backgroundRepeat (inherit |noRepeat |repeat |repeatX |repeatY)'repeat',customTest,height'auto',skip-content (false |true)'true',width'auto' | (metadata)* |
topLayout | Core,I18n,Test,backgroundColor,backgroundImage'none',backgroundOpacity'100%',backgroundRepeat (inherit |noRepeat |repeat |repeatX |repeatY)'repeat',close (onRequest |whenNotActive)'onRequest',customTest,height'auto',open (onStart |whenActive)'onStart',skip-content (false |true)'true',width'auto' | (metadata |region)* |
layout | Core,I18n,Test,customTest,type'text/smil-basic-layout' | (metadata |region |root-layout |topLayout |regPoint)* |
regPoint | Core,I18n,Test,bottom'auto',customTest,left'auto',regAlign (bottomLeft |bottomMid |bottomRight |center |midLeft |midRight |topLeft |topMid |topRight),right'auto',skip-content (false |true)'true',top'auto' | (metadata)* |
The "background-color"attribute of SMIL1.0 is deprecated in favor of "
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 thelayoutelement to the content model of the
ThesmilText Modules provide a light-weightmethod of adding in-line text to a SMIL presentation. ThesmilText Modules define semantics for the
In the SMIL 3.0 Language profile, SMILtext elements may have the followingattributes and content model:
Text Module | ||
---|---|---|
Elements | Attributes | Content model |
smilText | Core,I18n,MediaDescriptionAttributes,MediaOpacityAttributes,Test,TextAttributes,Timing,backgroundColor,backgroundOpacity'100%',bottom'auto',customTest,endsync'media',erase (never |whenDone)'whenDone',expr,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,textAlign (center |end |inherit |left |right |start)'inherit',textConceal (both |final |inherit |initial |none)'inherit',textMode (append |crawl |inherit |jump |replace |scroll)'inherit',textPlace (center |end |inherit |start)'inherit',textRate'auto',textWrapOption (inherit |noWrap |wrap)'wrap',textWritingMode (inherit |lr |lr-tb |rl |rl-tb |tb-lr |tb-rl)'inherit',top'auto',transIn,transOut,width'auto',z-index | (#PCDATA |br |clear |div |metadata |p |param |span |tev) |
tev | Core,I18n,begin,next | (metadata)* |
clear | Core,I18n,begin,next | (metadata)* |
br | Core,I18n | (metadata)* |
div | Core,I18n,MediaDescriptionAttributes,TextAttributes,textAlign (center |end |inherit |left |right |start)'inherit',textWrapOption (inherit |noWrap |wrap)'wrap',textWritingMode (inherit |lr |lr-tb |rl |rl-tb |tb-lr |tb-rl)'inherit' | (#PCDATA |br |clear |div |metadata |p |span |tev) |
p | Core,I18n,MediaDescriptionAttributes,TextAttributes,textWrapOption (inherit |noWrap |wrap)'wrap',textWritingMode (inherit |lr |lr-tb |rl |rl-tb |tb-lr |tb-rl)'inherit' | (#PCDATA |br |clear |metadata |span |tev) |
span | Core,I18n,MediaDescriptionAttributes,TextAttributes,textDirection (inherit |ltr |ltro |rtl |rtlo)'inherit',textWrapOption (inherit |noWrap |wrap)'wrap' | (#PCDATA |br |clear |metadata |span |tev) |
textStyle | Core,I18n,Test,TextAttributes,textAlign (center |end |inherit |left |right |start)'inherit',textConceal (both |final |inherit |initial |none)'inherit',textDirection (inherit |ltr |ltro |rtl |rtlo)'inherit',textMode (append |crawl |inherit |jump |replace |scroll)'inherit',textPlace (center |end |inherit |start)'inherit',textRate'auto',textWrapOption (inherit |noWrap |wrap)'wrap',textWritingMode (inherit |lr |lr-tb |rl |rl-tb |tb-lr |tb-rl)'inherit' | (metadata)* |
textStyling | Core,I18n | ((metadata)*, (textStyle, (metadata)*)+) |
This profile adds thesmilTextelement to the content model of thepar,seq,
The SMILtext functionality is used to define the Attribute set"TextAttributes":
Collection Name | Attributes in Collection |
---|---|
TextAttributes | textBackgroundColor'transparent',textColor,textFontFamily'inherit',textFontSize'inherit',textFontStyle (inherit |italic |normal |oblique |reverseOblique)'inherit',textFontWeight (bold |inherit |normal)'inherit',textStyle,xml:space (default |preserve)'default' |
TheLinking Modules provide aframework 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 SMIL 3.0 Language profile, Linking elements may have the followingattributes and content model :
Linking Module | ||
---|---|---|
Elements | Attributes | Content model |
a | BasicTiming,Core,I18n,Test,accesskey,actuate (onLoad |onRequest)'onRequest',customTest,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 | State |metadata)* |
area (anchor) | BasicTiming,Core,I18n,Test,accesskey,actuate (onLoad |onRequest)'onRequest',coords,customTest,destinationLevel'+0.0dB',destinationPlaystate (pause |play)'play',expr,external (false |true)'false',fragment,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 |metadata |set)* |
This profile adds thea element to thecontent model of thepar,
In the SMIL 3.0 language profile, a value of
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
For SMIL 1.0 backward compatibility, the
SMIL 1.0 backward compatibility: The show attribute value
TheMetainformation Module provides aframework for describing a document, either to inform the human user or toassist in automation. TheMetainformationModule defines semantics for the
In the SMIL 3.0 Language profile, Metainformation elements may have thefollowing attributes and content model :
Metainformation Module | ||
---|---|---|
Elements | Attributes | Content model |
meta | Core,I18n,content,name,skip-content (false |true)'true' | EMPTY |
metadata | Core,I18n,skip-content (false |true)'true' | EMPTY |
This profile adds themeta and
The content model of metadata is empty. Profiles that extend the SMIL 3.0Language profile may define the RDF (Resource Description Framework) schemato be used in extending the content model of the metadata element. TheResource Description Framework is defined in the W3C RDF Recommendation[RDFsyntax]. Other XML-based metadata formats may also be included in asmiliar manner. Note that if any content is added to the
TheTransition Modules provide aframework for describing transitions such as fades and wipes. TheTransition Modules define semantics for thetransition element and the
In the SMIL 3.0 Language profile, Transition Effects elements have thefollowing attributes and content model :
Transition Effects Module | ||
---|---|---|
Elements | Attributes | Content model |
transition | Core,I18n,Test,borderColor'black',borderWidth'0',customTest,direction (forward |reverse)'forward',dur,endProgress'1.0',fadeColor'black',horzRepeat'1',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),vertRepeat'1' | (metadata)* |
This profile adds the
TheTransition Effects Modules addtransIn and
TheTransition Effects Modules add thetransition value to the
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 SMIL 3.0 Language profile includes the animationfunctionality of theBasicAnimation module.TheBasicAnimation Module defines thesemantics for theanimate,
In the SMIL 3.0 Language profile, Animation elements may have thefollowing attributes and content model :
Animation Module | ||
---|---|---|
Elements | Attributes | Content model |
animate | BasicTiming,Core,I18n,Test,accumulate (none |sum)'none',additive (replace |sum)'replace',attributeName,attributeType (CSS |XML |auto)'auto',by,calcMode (discrete |linear |paced)'linear',customTest,expr,fill (auto |default |freeze |hold |remove |transition)'default',fillDefault (auto |freeze |hold |inherit |remove |transition)'inherit',from,restart (always |default |never |whenNotActive)'default',restartDefault (always |inherit |never |whenNotActive)'inherit',skip-content (false |true)'true',targetElement,to,values | (metadata)* |
set | BasicTiming,Core,I18n,Test,attributeName,attributeType (CSS |XML |auto)'auto',customTest,expr,fill (auto |default |freeze |hold |remove |transition)'default',fillDefault (auto |freeze |hold |inherit |remove |transition)'inherit',restart (always |default |never |whenNotActive)'default',restartDefault (always |inherit |never |whenNotActive)'inherit',skip-content (false |true)'true',targetElement,to | (metadata)* |
animateMotion | BasicTiming,Core,I18n,Test,accumulate (none |sum)'none',additive (replace |sum)'replace',by,calcMode (discrete |linear |paced)'linear',customTest,expr,fill (auto |default |freeze |hold |remove |transition)'default',fillDefault (auto |freeze |hold |inherit |remove |transition)'inherit',from,origin (default)'default',restart (always |default |never |whenNotActive)'default',restartDefault (always |inherit |never |whenNotActive)'inherit',skip-content (false |true)'true',targetElement,to,values | (metadata)* |
animateColor | BasicTiming,Core,I18n,Test,accumulate (none |sum)'none',additive (replace |sum)'replace',attributeName,attributeType (CSS |XML |auto)'auto',by,calcMode (discrete |linear |paced)'linear',customTest,expr,fill (auto |default |freeze |hold |remove |transition)'default',fillDefault (auto |freeze |hold |inherit |remove |transition)'inherit',from,restart (always |default |never |whenNotActive)'default',restartDefault (always |inherit |never |whenNotActive)'inherit',skip-content (false |true)'true',targetElement,to,values | (metadata)* |
This profile adds theanimate,set,
Specifying the target element of the animation
The animation target elements supported in the SMIL 3.0 Language profileare theregion element defined in theLayout Modules, the
The SMIL 3.0 Language profile uses the
Specifying the target attribute of the animation
The target attributes of the animations are a subset of those of the
Thearea (
The media elements have the following sub-region attributes which may besubject to animation:
Integration definitions
The SMIL 3.0 Language profile defines a set of integration definitions asrequired by the Animation modules. These definitions are:
coerced-integer-value = Math.floor( interpolated-value + 0.5 )
TheState Modules provide a framework fordeclaratively manipulating various bits of state in a SMIL presentation. TheState Modules define semantics for the
In the SMIL 3.0 Language profile, the State elements may have thefollowing attributes and content model:
State Module | ||
---|---|---|
Elements | Attributes | Content model |
delvalue | BasicTiming,Core,I18n,Test,customTest,expr,fillDefault (auto |freeze |hold |inherit |remove |transition)'inherit',ref,restart (always |default |never |whenNotActive)'default',restartDefault (always |inherit |never |whenNotActive)'inherit',skip-content (false |true)'true' | (metadata)* |
newvalue | BasicTiming,Core,I18n,Test,customTest,expr,fillDefault (auto |freeze |hold |inherit |remove |transition)'inherit',name,ref'/*',restart (always |default |never |whenNotActive)'default',restartDefault (always |inherit |never |whenNotActive)'inherit',skip-content (false |true)'true',value,where (after |before |child)'child' | (metadata)* |
send | BasicTiming,Core,I18n,Test,customTest,expr,fillDefault (auto |freeze |hold |inherit |remove |transition)'inherit',restart (always |default |never |whenNotActive)'default',restartDefault (always |inherit |never |whenNotActive)'inherit',skip-content (false |true)'true',submission | (metadata)* |
setvalue | BasicTiming,Core,I18n,Test,customTest,expr,fillDefault (auto |freeze |hold |inherit |remove |transition)'inherit',ref,restart (always |default |never |whenNotActive)'default',restartDefault (always |inherit |never |whenNotActive)'inherit',skip-content (false |true)'true',value | (metadata)* |
state | Core,I18n,language'http://www.w3.org/TR/1999/REC-xpath-19991116',skip-content (false |true)'true',src | EMPTY |
submission | Core,I18n,action,method (get |post |put),ref,replace (all |instance |none),target | (metadata)* |
This profile adds thestate andsubmission elements to thecontent model of thehead element oftheStructure Module, and the
The content model of thestateelement is declared as empty. The
Thesubmission attribute valueis an IDREF that refers to a
Themethod attribute must at leastsupport the valuesget,
Interpolation of values using the mechanism from theStateInterpolationmodule is supported on the attributes for whichanimation is supported.Interpolation is also supported on the
Support for using XPath 1.0 as the expression language is required.Support for other languages is implementation-defined. The default value forthelanguage attribute is
When using XPath as the expression language, the content of the
When using XPath as the expression language the following constraints arein force:
Interpretation of XPath expressions depends on anexpressioncontext. That context is defined thus:
This section is normative.
TheSMIL 3.0 Language profile Document TypeDefinition is defined as a set of SMIL 3.0 modules. All SMIL 3.0 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.
This section is normative.
The following royalty-free media formats should be supported:
While many SMIL user agents support speciality media types for streamingaudio and video content, SMIL user agent developers are also encouraged tosupport the following non-royalty-free media formats to furtherinteroperability of SMIL content:
Since both of these technologies are not freely available to user agentdevelopers, the actual availability will remain player dependent.
This section is informative.
Authors are encouraged to encode media objects using one of therecommended MIME types whenever possible. This will ensure that their SMILdocuments can be played back by a wide range of SMIL user agents.
Note that the MIME type for Ogg Vorbis audio and Ogg Theora video arelisted as application/ogg. The Xiph.org Foundation has decided that it wantsto change the MIME types of the various formats it defines, so this MIME typemay change in the future.
If authors use a MIME type that is not in the list of recommended types,they should provide an alternative version encoded using a baseline format.This may be achieved by using a
<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 willplay the first audio media object, and a user agent that does not support thenon-baseline format will play the second media object.
Implementers are encouraged to implement support for other license-freecodecs as this will probably lead to enhanced interoperability.
This section is informative.
SMIL 3.0 follows the lead of SVG Tiny in the way JPEG is required. Thenormative text is adapted from[SVGMobile12-JPEG].
This section specifies the JPEG support recommended by a SMIL 3.0implementations. The recommended support is targeted at specifying a level offunctionality known to be compatibly supported within the industryandwithout licensing issues.
In general when people refer to JPEG[JPEG], they actually mean JPEGcompressed images within the JFIF[JFIF] file format. JFIF was created bythe Independent JPEG Group (IJG) for storing a single JPEG-compressed imagein a file.
SMIL 3.0 User Agents should support JPEG images stored in a JFIF file[JFIF]. Other transport or storage mechanisms may be supported.
The following coding processes defined by the JPEG specification[JPEG],in Table 1, section 4.11, should be supported:
The following statements also apply:
The following encoding processes may be supported
SMIL 3.0 UA's should convert Y,Cb,Cr values compressed in the JPEG imageto RGB as defined in the JFIF specification[JFIF] and may assume that theRGB values are sRGB.