Movatterモバイル変換


[0]ホーム

URL:


previous  next  contents  

13.SMIL 2.1Language Profile

Editor:
Nabil Layaïda, INRIA

Table of contents

13.1Abstract

The SMIL 2.1 Language Profile describes the SMIL 2.1 modules that areincluded in the SMIL 2.1 Language and details how these modules areintegrated. It contains support for all of the major SMIL 2.1 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 2.1 markup. 


13.2SMIL 2.1 LanguageProfile

This section isinformative.

The SMIL 2.1 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 2.1 Modules".

The SMIL 2.1 Language Profile design requirements are:

  1. Ensure that the profile is completely backward compatible with SMIL 1.0.
  2. Ensure that the profile is completely backward compatible with SMIL 2.0.
  3. Ensure that all the modules' semantics maintain compatibility with SMIL semantics (this includes content and timing).
  4. Adopt new W3C Recommendations when appropriate without conflicting with other requirements.

13.3 Normative Definition of the SMIL 2.1 Language Profile

This section isnormative.

13.3.1Document Conformance

This version of SMIL provides a definition of strictly conforming SMIL 2.1documents, which are restricted to tags and attributes from the SMIL 2.1namespace. The Section "Extending SMIL 2.1Language" provides information on using SMIL 2.1 with other namespaces,for instance, on including new tags within SMIL 2.1 documents.

13.3.2SMIL 2.1 LanguageConformance

Conforming SMIL 2.1Documents

A SMIL 2.1 document is aconforming SMIL 2.1 document if itadheres to the specification described in this document (SynchronizedMultimedia Integration Language (SMIL) 2.1 Language Profile Specification)including SMIL 2.1's DTD (seeDocument Type Definition). Aconforming SMIL 2.1 document must meet all of the following criteria:

  1. The root element of the document must be thesmil element.
  2. The document must be well-formed XML.
  3. It must conform to the following W3C Recommendations:
  4. A SMIL 2.1 document can contain the following DOCTYPE declaration:

    The SMIL 2.1 Language DOCTYPE is:

    <!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 2.1//EN"                      "http://www.w3.org/2005/SMIL21/SMIL21.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 are not allowed. If the document is invalid, the user agent should issue an error.

    A document is a conforming SMIL 2.1 document if it satisfies the requirements of this specification (Synchronized Multimedia Integration Language (SMIL) 2.1 Language Profile Specification) and is valid per thenormative DTD identified by

    http://www.w3.org/TR/2005/REC-SMIL2-20051213/smil21DTD/smil21.dtd

    Per section 7.6 of the W3C Process Document, W3C will make every effort to make this normative DTD available, in its original form, at this URI.

    The SYMM WG also publishesa non-normative SMIL 2.1 DTD identified by

    http://www.w3.org/2005/SMIL21/SMIL21.dtd

    The SYMM WG plans to make changes to this DTD over time to correct errata. If you choose to refer to this DTD, please note that it is subject to change without notice at any time. The SYMM WG MAY publish a normative "snapshot" of the corrected DTD at a new URI by following theW3C Process for modifying a Recommendation.

    Individuals are free to use either of the two URIs above as the system identifier in the SMIL 2.1 language DOCTYPE, according to the desired level of stability.

  5. A document must declare a default namespace for its elements with anxmlns attribute on thesmil root element with its identifier URI:
    <smil xmlns="http://www.w3.org/2005/SMIL21/Language">   ...</smil>

    The default namespace declaration must be xmlns="http://www.w3.org/2005/SMIL21/Language".

    This namespace URI will only be used to refer to this version of this specification: different URIs will be used for any and all new versions of the specification. This namespace name may be reused in any update of the specification which is made for the purpose of clarification or bug fixes. These changes will be minor in that they do not (a) change the meaning of existing documents written using the namespace, or (b) affect the operation of existing software written to process such documents. The SYMM WG may reuse this namespace URI in a future specification that revises the SMIL 2.1 DTD, thus affecting the validity of published documents.

  6. A document may declare both an XML DOCTYPE declaration (as defined in[XML11]) and one or more XML namespace declarations (as defined in[XML-NS]). To be recognized as a SMIL 2.1 document by a conforming SMIL 2.1 user agent, the document must include the SMIL 2.1 namespace identifier as the default namespace on the<smil> tag. For example:

    Declare a SMIL 2.1 document with custom extensions conforming to a custom DTD:

    <!DOCTYPE smil SYSTEM "http://www.example.org/myveryownSMIL.dtd"><smil xmlns="http://www.w3.org/2005/SMIL21/Language"        xmlns:mysmil="http://www.example.org/2005/SMIL30/Language">        <mysmil:foo>        ...        </mysmil:foo></smil>
  7. A document that declares neither a DOCTYPE nor a default namespace declaration will be processed as a SMIL 1.0 document. Extension elements or attributes not defined by the SMIL 1.0 namespace should be declared using the XML namespace mechanism.
  8. Given that, as of this writing, DTDs have no way to describe the allowability of namespace-qualified extensions, and that extensions to SMIL 2.1 conformant documents must be namespace-qualified, here is the algorithm to be used to validate documents with extensions:

    If all non-SMIL 2.1 namespace elements and attributes and all xmlns attributes which refer to non-SMIL 2.1 namespace elements are removed from the given document and if the appropriate <!DOCTYPE ... > statement which points to the SMIL 2.1 DTD is included, the result is a valid XML document.

  9. Many SMIL 2.1 attributes are associated with several SMIL 2.1 and SMIL 2.0 namespaces including the module namespaces, module collection namespaces, the SMIL 2.1 language namespace, and the overall SMIL 2.1 namespace. Attributes in the SMIL 2.1 namespaces having the same local part are considered the same attribute as far as SMIL 2.1 Language document syntax. It is illegal to use a SMIL 2.1 attribute several times on an element, even if each occurrence is qualified by a different SMIL 2.1 namespace, and SMIL user agents shall treat this as a syntax error. For example, the following document fragment is an error, because thebegin attribute appears twice on theref element:
    <smil xmlns="http://www.w3.org/2005/SMIL21/Language"        xmlns:BasicInlineTiming="http://www.w3.org/2005/SMIL21/BasicInlineTiming">...<ref begin="5s" BasicInlineTiming:begin="5s"/>...</smil>

The SMIL 2.1 language or these conformance criteria provide no designatedsize limits on any aspect of SMIL 2.1 content. There are no maximum values onthe number of elements, the amount of character data, or the number ofcharacters in attribute values.

SMIL 2.1 deprecatesbase as a property valuefor thecontent attribute of themeta element of SMIL 1.0 in favor ofthe more general XML Base URI mechanisms.

The SMIL 2.1 Language Profile supports the XML Base Recommendation[XMLBase]. XML Base is supported on all elements, and affects theinterpretation of URIs as specified in the individual modules defining theURI attributes. Specifically, any applicable XML Base base URI must beapplied to the interpretation of thehref attribute of the link elementsa,areaandanchor, as well as thesrc attribute of the media elementsaudio,video,img,animation,textstream,text, andref. XML Base must also be applied onlongdesc attributes of all of the SMIL2.1 Language elements.

The rules above should be revised once a normative XML Schema for SMIL 2.1is available. This revision will take into account XML Schema validation.

Conforming SMIL 2.1 LanguageUser Agents

A SMIL 2.1 user agent is a program which can parse and process a SMIL 2.1document and render the contents of the document onto output media. Aconforming SMIL 2.1 user agent must meet all of the following criteria:

  1. In order to be consistent with the XML 1.1 Recommendation[XML11], the user agent must parse and evaluate a SMIL 2.1 document for well-formedness. If the user agent claims to be a validating user agent, it must also validate documents against their referenced DTDs according to[XML11].
  2. When the user agent claims to support the functionality of SMIL 2.1 through SMIL 2.1 elements and attributes and the semantics associated with these elements and attributes, it must do so in ways consistent with this specification.
  3. The user agent must be able to successfully parse and process any conforming SMIL 2.1 documents, and support and correctly implement the semantics of all SMIL 2.1 Language Profile features.
  4. The XML parser of the user agent must be able to parse and process XML constructs defined in[XML11] and[XML-NS].
  5. The default namespace on thesmil root element recognized by the user agent will fall into one of three types:
    1. Default namespace on thesmil root element recognized in its entirety by the user agent. The user agent should process the document as the version identified by the recognized namespace. Any elements, attributes, or other syntax not defined by the default namespace on thesmil root element must be fully namespace qualified using the standard XML mechanisms for declaring namespaces for elements and attributes described in[XML-NS]. The "skip-content" mechanism (defined in the SkipContent module) will be applied to extension elements unrecognized by the user agent. Unqualified elements not part of the default namespace are illegal and must result in an error.

      Examples:

      1) A pure SMIL 1.0 document:

      <smil xmlns="http://www.w3.org/TR/REC-smil"> ...</smil>

      2) A pure SMIL 2.1 document:

      <smil xmlns="http://www.w3.org/2005/SMIL21/Language"> ...</smil>

      3) A SMIL 1.0 document that has been extended to use the excl element:

      <smil xmlns="http://www.w3.org/TR/REC-smil"      xmlns:smil21="http://www.w3.org/2005/SMIL21/" >   <smil21:excl>     ...   </smil21:excl></smil>

      4) A SMIL 2.1 document that has been extended to use the 'foo' element from a fictitious SMIL 3.0 version of SMIL:

      <smil xmlns="http://www.w3.org/2005/SMIL21/Language"               xmlns:smil30="http://www.example.org/2005/SMIL30/" >  <smil30:foo>   ...           </smil30:foo></smil>
    2. No default namespace declaration is present on thesmil root element in the document. The document will be processed as a SMIL 1.0 document.
    3. The namespace declaration is "http://www.w3.org/2001/SMIL20/Language". The document will be processed as a SMIL 2.0 document.
    4. Default namespace declaration on thesmil root element unrecognized. A SMIL user agent will not recognize the document as any version of SMIL and must issue an error.
  6. The user agent must support the following W3C Recommendations with regard to SMIL 2.1 content:
  7. The user agent ignores namespace prefix qualified elements from unrecognized namespaces and must support the skip-content attributes. If no skip-content attributes are declared, the value of true is assumed.
  8. The user agent ignores elements with unrecognized default namespace declarations and must support the skip-content attribute. If no skip-content attributes are declared, the value of true is assumed.
  9. The user agent must issue an error for an attribute value which does not conform to the syntax specified for that attribute.
  10. The detection of a syntax error in a SMIL 2.1 language Profile document must result in the user agent issuing an error and not playing the document.
  11. When the deprecated (hyphenated) and the new (camelCase) version of an attribute syntax are used in the same document, SMIL 2.1 user agents should take into account the camelCase version only.
  12. Conforming SMIL 2.1 Language user agents must play SMIL 1.0 documents as specified in the SMIL 1.0 Recommendation[SMIL10] and SMIL 2.0 documents as specified in the SMIL 2.0 Recommendation[SMIL20].

The Web Accessibility Initiative is defining "User Agent AccessibilityGuidelines 1.0"[UAAG]. Developers are encouraged to design user agentsthat satisfy at least the Level A requirements of that document. Should UAAG1.0 become a W3C Recommendation, a future version of SMIL is likely torequire Level A conformance to UAAG 1.0 as part of SMIL user agentconformance.

13.3.3TheSMIL 2.1 Language Profile

The SMIL 2.1 Language Profile supports the timeline-centric multimediafeatures found in the SMIL 2.1 modules. It uses only modules from the SMIL2.1 recommendation. As the language profile includes the mandatory modules,it is aSMILHost Language conforming language profile. This language profile includesthe following SMIL 2.1 modules:

  1. Structure functionality
    1. Structure Module
  2. Metainformation functionality
    1. Metainformation Module
  3. Timing functionality
    1. AccessKeyTiming Module
    2. BasicInlineTiming Module
    3. BasicTimeContainers Module
    4. BasicExclTimeContainers Module
    5. BasicPriorityClassContainers Module
    6. EventTiming Module
    7. FillDefault Module
    8. MediaMarkerTiming Module
    9. MinMaxTiming Module
    10. MultiArcTiming Module
    11. RepeatTiming Module
    12. RepeatValueTiming Module
    13. RestartDefault Module
    14. RestartTiming Module
    15. SyncbaseTiming Module
    16. SyncBehavior Module
    17. SyncBehaviorDefault Module
    18. WallclockTiming Module
  4. Animation functionality
    1. BasicAnimation Module
  5. Content Control functionality
    1. BasicContentControl Module
    2. CustomTestAttributes Module
    3. PrefetchControl Module
    4. SkipContentControl Module
  6. Layout functionality
    1. AlignmentLayout Module
    2. AudioLayout Module
    3. BackgroundTilingLayout Module
    4. BasicLayout Module
    5. MultiWindowLayout Module
    6. OverrideLayout Module
    7. SubRegionLayout Module
  7. Linking functionality
    1. BasicLinking Module
    2. LinkingAttributes Module
    3. ObjectLinking Module
  8. Transition Effects functionality
    1. BasicTransitions Module
    2. TransitionModifiers Module
    3. FullScreenTransitions Module
  9. Media functionality
    1. BasicMedia Module
    2. BrushMedia Module
    3. MediaAccessibility Module
    4. MediaClipping Module
    5. MediaClipMarkers Module
    6. MediaDescription Module
    7. MediaParam Module

The collection names contained in the following table define the SMIL 2.1Language Profile vocabulary.

SMIL 2.1 Language Profile
Collection NameElements in Collection
Animationanimate,set,animateMotion,animateColor
ContentControlswitch,prefetch
Layoutregion,root-layout,layout,regPoint,topLayout
LinkAnchora,area (anchor)
MediaContenttext,img,audio,video,ref,animation,textstream,brush,param
Metainformationmeta,metadata
Structuresmil,head,body
Schedulepar,seq,excl
Transitiontransition
OthercustomAttributes,customTest,paramGroup,priorityClass

In the following sections, we define the set of elements and attributesused in each of the modules included in the SMIL 2.1 Language 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 NameAttributes in Collection
Coreid (ID),class(NMTOKEN),title (CDATA),alt (CDATA),longdesc (CDATA),xml:base (CDATA)
I18nxml:lang (NMTOKEN)

Theid,classandtitleattributes in the collection Core aredefined for all the elements of the SMIL 2.1 Language Profile. Theidattribute is used in the SMIL 2.1 LanguageLanguage Profile to assign a unique XML identifier to every element in a SMILdocument. In this document, equivalent but deprecated attributes and elementsare in parentheses.

13.3.4Animation Module

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 2.1 Language Profile includes the animationfunctionality of theBasicAnimationmodule. TheBasicAnimationModule defines the semantics for theanimate,set,animateMotion andanimateColor elements.

In the SMIL 2.1 Language Profile, Animation elements can have thefollowing attributes and content model :

Animation Module
ElementsAttributesContent model
animateCore,I18n,basicTiming,Test,attributeName,attributeType,targetElement,from,to,by,values,calcMode,accumulate,additive,skip-content,customTest,fill (freeze | remove | hold | auto | default),fillDefault ( remove | freeze | hold | transition | auto | inherit )EMPTY
setCore,I18n,basicTiming,Test,attributeName,attributeType,targetElement,to,skip-content,customTest,fill (freeze | remove | hold | auto | default),fillDefault ( remove | freeze | hold | transition | auto | inherit )EMPTY
animateMotionCore,I18n,basicTiming,Test,targetElement,origin,from,to,by,values,calcMode,accumulate,additive,skip-content,customTest,fill (freeze | remove | hold | auto | default),fillDefault ( remove | freeze | hold | transition | auto | inherit )EMPTY
animateColorCore,I18n,basicTiming,Test,attributeName,attributeType,targetElement,from,to,by,values,calcMode,accumulate,additive,skip-content,customTest,fill (freeze | remove | hold | auto | default),fillDefault ( remove | freeze | hold | transition | auto | inherit )EMPTY

This profile adds theanimate,set,animateMotion andanimateColor elements to the contentmodel of thepar,seq,excl andpriorityClass elements of theTiming and Synchronization Modules. Italso adds these elements to the content model of thebody element of theStructure Module.

Specifying the target element of the animation

The animation target elements supported in the SMIL 2.1 Language Profileare theregion element defined in theLayout Modules, thearea (anchor) element defined in theLinking Modules and thetext,img,audio,animation,video,ref,textstream and thebrush elements defined in theMedia Objects modules.

The SMIL 2.1 Language Profile uses thetargetElement attribute to identifythe element to be affected by animation elements. As recommended in theBasicAnimation Module when thetargetElement attribute issupported, this profile excludes the XLink attributeshref,type,actuate andshow from theanimate,set,animateMotion andanimateColor elements.

Specifying the target attribute of the animation

The target attributes of the animations are a subset of those of theregion,area (anchor), and media elements. The animatableattributes of theregion,area (anchor), and media elements are listed inthe table below.

Thearea (anchor) element has thecoords attribute which can be subject toanimation. The attributecoords isconsidered of type string in this profile. This means that only discretenon-additive animation is supported on this attribute. 

The media elements have the following sub-region attributes which can besubject to animation:left,right,top,bottom,width,height,z-indexandbackgroundColor.

ElementsTarget ElementTarget Attributes
animateregionsoundLevel,left,right,top,bottom,width,height,z-index,backgroundColor (background-color),regionName
area (anchor)coords(string)
text,imgaudio,animation,video,ref,textstreamleft,right,top,bottom,width,height,z-index,backgroundColor
brushleft,right,top,bottom,width,height,z-index,backgroundColor,color
setregionsoundAlign,soundLevel,left,right,top,bottom,width,height,z-index,backgroundColor (background-color),regionName
area (anchor)coords(string)
text,imgaudio,animation,video,ref,textstreamleft,right,top,bottom,width,height,z-index,backgroundColor
brushleft,right,top,bottom,width,height,z-index,color
animateMotionregionAnimates thetopandleft attributes of the region.
text,imgaudio,animation,video,ref,textstreamAnimates thetop andleft attributes of the sub-region associated with the media element.
animateColorregionbackgroundColor (background-color)
text,imgaudio,animation,video,ref,textstreambackgroundColor
brushcolor

Integration definitions

The SMIL 2.1 Language Profile defines a set of integration definitions asrequired by the Animation modules. These definitions are:

13.3.5Content Control Modules

TheContent ControlModules provide a framework for selecting content based on a set of testattributes. TheContent ControlModules define semantics for theswitch,prefetch,customAttributes andcustomTest elements. The SMIL 2.1Language Profile includes the Content Control functionality of theBasicContentControl,CustomTestAttributes,PrefetchControl andSkipContentControl modules.

In the SMIL 2.1 Language Profile, Content Control elements can have thefollowing attributes and content model :

Content Control Module
ElementsAttributesContent model
switchCore,I18n,Test,customTest(Schedule |priorityClass | MediaContent | ContentControl | LinkAnchor | Animation )* |(layout )*
prefetchCore,I18n,Test,Timing,mediaSize,mediaTime,bandwidth,src,clipBegin (clip-begin),clipEnd (clip-end),skip-content,customTestEMPTY
customAttributesCore,I18n,Test,skip-contentcustomTest+
customTestCore,I18n,skip-content,defaultState(true|false) 'false',override(visible | hidden) 'hidden',uid (URI)EMPTY

This profile adds theswitchelement to the content model of thepar,seq andexcl elements of theTiming and Synchronization Modules, ofthebody and thehead elements of theStructure Module, of the content modelof thea element of theLinking Modules. The profile addsthecustomAttributeselement to the content model of thehead and thecustomTest element to the content modelof thecustomAttributeselement.

The Content Control functionality is used to define the Attribute set"Test":

Collection NameAttributes in Collection
TestsystemBitrate (system-bitrate),systemCaptions (system-captions),systemLanguage (system-language),system-overdub-or-caption,systemRequired (system-required),systemScreenSize (system-screen-size),systemScreenDepth (system-screen-depth),systemOverdubOrSubtitle,systemAudioDesc,systemOperatingSystem,systemCPU,systemComponent

The collection of Attributes Test is added to all the elements defined inthe SMIL 2.1 Language Profile, exceptcustomTest andcustomAttributes. A SMIL 2.1 useragent must support all of the values for thesystemOperatingSystem andsystemCPUattributes listed in theContent Control Modules. In addition, the user agent should accept namespacedvalues as future extensions, and not declare a syntax error. The user agentshould return false for unrecognized values of thesystemOperatingSystem andsystemCPUattributes. 

13.3.6Layout Modules

TheLayout Modules provide a frameworkfor spatial layout of visual components. TheLayout Modules define semantics for theregion,root-layout,topLayout,layout and theregPoint elements. The SMIL 2.1 LanguageProfile includes the Layout functionality of theAlignmentLayoutModule,AudioLayoutModule,BackgroundTilingLayoutModule,BasicLayoutModule,MultiWindowLayoutModule,OverrideLayoutModule,SubRegionLayoutModule modules.

In the SMIL 2.1 Language Profile, Layout elements can have the followingattributes and content model :

Layout Module
ElementsAttributesContent model
regionCore,I18n,Test,backgroundColor (background-color),showBackground (always | whenActive),bottom,fit (fill | hidden | meet | scroll | slice | meetBest),width,height,left,right,top, soundLevel,z-index,skip-content,customTest,regionName,backgroundImage,backgroundRepeat,regPoint (topLeft | topMid | topRight | midLeft | center | midRight | bottomLeft | bottomMid | bottomRight),regAlign (topLeft | topMid | topRight | midLeft | center | midRight | bottomLeft | bottomMid | bottomRight),mediaAlign (topLeft | topMid | topRight | midLeft | center | midRight | bottomLeft | bottomMid | bottomRight),soundAlign (left | both | right)region*
root-layoutCore,I18n,Test,backgroundColor(background-color),width,height,skip-content,customTest,backgroundImage,backgroundRepeatEMPTY
topLayoutCore,I18n,Test,backgroundColor(background-color),width,height,open,close,skip-content,customTest,backgroundImage,backgroundRepeatregion*
layoutCore,I18n,Test,type,customTest(root-layout |region |topLayout |regPoint)*
regPointCore,I18n,Test,top,bottom,left,right,regAlign,skip-content,customTestEMPTY

(**) The "background-color" attribute ofSMIL1.0 is deprecated in favor of "backgroundColor", but both aresupported.

The attribute collection SubregionAttributes is defined as follows:

Collection NameAttributes in Collection
SubregionAttributestop,left,bottom,right,width,height,z-index,fit,backgroundColor,regPoint,regAlign,mediaAlign,soundAlign

This profile adds thelayoutelement to the content model of thehead element of theStructure Module. It also adds thiselement to the content model of theswitch element of theContent Control Modules, whentheswitch element is a child of thehead element.

13.3.7Linking Modules

TheLinking Modules providea framework for relating documents to content, documents and documentfragments. TheLinking Modulesdefine semantics for thea andarea (anchor) elements. They define also thesemantics of a set of attributes defined for these elements. The SMIL 2.1Language Profile includes the Linking functionality of theBasicLinking,LinkingAttributes andObjectLinking modules.

Both thea andarea elements have anhref attribute, whose value must be a validURI.

Support for URIs with XPointer fragment identifier syntax is notrequired.

In the SMIL 2.1 Language Profile, Linking elements can have the followingattributes and content model :

Linking Module
ElementsAttributesContent model
aCore,I18n,basicTiming,Test,href,sourceLevel,destinationLevel,sourcePlaystate(play | pause | stop) 'pause',destinationPlaystate (play | pause) 'play',show(new | replace | pause) 'replace',accesskey,tabindex,target,external,actuate,customTest(Schedule | MediaContent | ContentControl | Animation )*
area (anchor)Core,I18n,basicTiming,Test,shape,coords,href,nohref,sourceLevel,destinationLevel,sourcePlaystate,destinationPlaystate,show,accesskey,tabindex,target,external,actuate,shape,fragment,skip-content,customTest(animate |set)*

This profile adds thea element to thecontent model of thepar,seq, andexcl elements of theTiming and Synchronization Modules. Italso adds these elements to the content model of thebody element of theStructure Module.

In the SMIL 2.1 language profile, a value ofonLoad set on the attributeactuate indicates that the link isautomatically traversed when the linking element becomes active. For linkingelements containing SMIL timing, this is when the active duration of thelinking element begins.

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 atabindex attribute and becomes active,then its ordered tab index is inserted in the SMIL tab index at the locationspecified by the media object'stabindex attribute value. This assumesthat the media object itself has tab indices, such as embedded HTML withtabindex attributes. This enablesall link starting points in a SMIL presentation to have a place on theordered list to be tab-keyed through, including those in embeddedpresentations.

For SMIL 1.0 backward compatibility, theanchorelement is available but deprecatedin favor ofarea. Theanchor element supports the same attributesasarea, both the new SMIL 2.1attributes and the SMIL 1.0 attributes as defined in[SMIL10].

SMIL 1.0 backward compatibility: The show attribute valuepause is deprecated in favor of setting theshow attribute tonew and thesourcePlaystate attribute topause.

13.3.8Media Object Modules

TheMedia Object Modulesprovide a framework for declaring media. TheMedia Object Modules definesemantics for theref,animation,audio,img,video,text,textstream and brush elements. The SMIL2.1 Language Profile includes the Media functionality of theBasicMedia,MediaClipping,MediaClipMarkers,MediaParam,BrushMediaandMediaAccessibilitymodules.

In the SMIL 2.1 Language Profile, media elements can have the followingattributes and content model:

Media Object Module
ElementsAttributesContent model
text,imgaudio,animation,video,ref,textstreamCore,I18n,Timing,Test,SubregionAttributes,region,fill (freeze | remove | hold | transition | auto | default),author,copyright,abstract,src,type,erase,mediaRepeat,sensitivity,tabindex,customTest,transIn,transOut,clipBegin (clip-begin),clipEnd (clip-end),readIndex,endsync,paramGroup.(param |area (anchor)|switch | Animation)*
brushCore,I18n,Timing,Test,SubregionAttributes,abstract,region,fill (freeze | remove | hold | transition | auto | default),author,copyright,color,skip-content,erase,sensitivity,tabindex,customTest,transIn,transOut,readIndex,endsync,paramGroup.(param |area (anchor) |switch | Animation)*
paramCore,I18n,Test,name,value,valuetype (data | ref | object), type,skip-contentEMPTY
paramGroupCore,I18n,skip-contentparam*
This profile adds theref,animation,audio,img,video,text,textstream andbrush elements to the content model of thepar,seq, andexcl elements of theTiming and Synchronization Modules. Italso adds these elements to the content model of thebody element of theStructure Module. It also adds theseelements to the content model of theaelement of theLinking Modules.

SMIL 1.0 only allowedanchoras achild element of a media element. In addition toanchor, the following elements are allowedin SMIL 2.1 as children of a SMIL media object:area,param,animate,set,animateColor,animateMotion (note that thea element is not included). Theswitch element is allowed, with therestriction that in this case the content of the switch may only be from thesame set of elements.

Widely Supported MIMETypes

This section isinformative.

The members of the W3C SYMM Working Group believe that the following MIMEtypes will be widely supported by SMIL user agents:

Implementers of SMIL user agents should thus strive to provide support foreach of these types. Note, however, that this section is non-normative, andthat support for these MIME types is not a precondition for conformance tothis specification.

Authors are encouraged to encode media objects using one of the widelysupported MIME types whenever possible. This will ensure that their SMILdocuments 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 widely supportedtypes, they should provide an alternative version encoded using a baselineformat. This can be achieved by using aswitch element as shown in the followingexample:

<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.

Media Object IntegrationRequirements

This section isnormative.

The MediaParam module defines theeraseattribute, and defers definition of the"display area" to the language profile. "Display area" for the purposes ofthe SMIL 2.1 Language corresponds to a SMIL BasicLayoutregion. The effects oferase="never"apply after the active duration of the media object and any fill period(defined by SMIL Timing and Synchronization), and only until other mediaplays to the region targeted by the media object, or until the same mediaobject restarts.

13.3.9Metainformation Module

TheMetainformation Moduleprovides a framework for describing a document, either to inform the humanuser or to assist in automation. TheMetainformation Module defines semanticsfor themeta andmetadata elements. The SMIL 2.1 LanguageProfile includes the Metainformation functionality of theMetainformation module.

In the SMIL 2.1 Language Profile, Metainformation elements can have thefollowing attributes and content model :

Metainformation Module
ElementsAttributesContent model
metaCore,I18n,skip-content,content (CDATA),name (CDATA)EMPTY
metadataCore,I18n,skip-contentEMPTY

This profile adds themeta elementto the content model of theheadelement of theStructure Module.

The content model of metadata is empty. Profiles that extend the SMIL 2.1Language Profile can 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].

13.3.10Structure Module

The Structure Module provides a framework for structuring a SMIL document.The Structure Module defines semantics for thesmil,head, andbody elements. The SMIL 2.1 Language Profileincludes the Structure functionality of theStructure module.

In the SMIL 2.1 Language Profile, the Structure elements can have thefollowing attributes and content model :

Structure Module
ElementsAttributesContent model
smilCore,I18n,Test,xmlns(head?,body?)
headCore,I18n(meta*, (customAttributes,meta*)?,(metadata,meta*)?,((layout|switch),meta*)?, (transition+,meta*)?, (paramGroup+,meta*)?)
bodyCore,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 aseq element. Timing on thebody element is supported. The syncbase ofthebody element is the applicationbegin time, which is implementation dependent, as is the application endtime. Note that the effect offillonthebodyelement is between the end ofthe presentation and the application end time, and therefore the effect offill is implementation dependent.

13.3.11Timing and Synchronization Modules

TheTiming and SynchronizationModules provide a framework for describing timing structure, timingcontrol properties and temporal relationships between elements. TheTiming and Synchronization Modulesdefine semantics forpar,seq,excl andpriorityClass elements. In addition,these modules define semantics for attributes includingbegin,dur,end,repeat (deprecated),repeatCount,repeatDur,syncBehavior,syncTolerance,syncBehaviorDefault,syncToleranceDefault,restartDefault,fillDefault,restart,min,max.TheSMIL 2.1 Language Profile includes the Timing functionality of theAccessKeyTiming Module,BasicInlineTiming Module,BasicTimeContainers Module,BasicExclTimeContaineModule,BasicPriorityClassContainersModule,EventTiming Module,FillDefault Module,MediaMarkerTiming Module,MinMaxTiming Module,MultiArcTiming Module,RepeatTiming Module,RepeatValueTiming Module,RestartDefault Module,RestartTiming Module,SyncbaseTiming Module,SyncBehavior Module,SyncBehaviorDefault Module,WallclockTiming Module modules.

In the SMIL 2.1 Language Profile, Timing and Synchronization elements canhave the following attributes and content model :

Timing and Synchronization Module
ElementsAttributesContent model
parCore,I18n,Timing,Test,endsync,customTest,fill(freeze | remove | hold | auto | default),abstract,author,copyright,region(Schedule | MediaContent | ContentControl |a | Animation)*
seqCore,I18n,Timing,Test,customTest,fill (freeze | remove | hold | auto | default),abstract,author,copyright,region(Schedule | MediaContent | ContentControl |a | Animation *
exclCore,I18n,Timing,Test,endsync,skip-content,customTest,fill (freeze | remove | hold | auto | default ),abstract,author,copyright,region((Schedule | MediaContent | ContentControl |a | Animation)* |priorityClass+)
priorityClassCore,I18n,Test,peers ( stop | pause| defer | never ) 'stop',higher ( stop | pause ) 'pause',lower ( defer | never ) 'defer',skip-content,pauseDisplay,customTest,abstract,author,copyright((Schedule | MediaContent | ContentControl |a | Animation)*)

The Attribute collections Timing and basicTiming are defined asfollows:

Collection NameAttributes in Collection
Timingbegin,dur,end,repeat (deprecated),repeatCount,repeatDur,syncBehavior ( canSlip | locked | independent | default),syncTolerance,syncBehaviorDefault ( canSlip | locked | independent | inherit ) 'inherit',syncToleranceDefault,restartDefault (always | whenNotActive | never),fillDefault ( remove | freeze | hold | transition | auto | inherit ),restart (always | whenNotActive | never | default),min,max
basicTimingbegin,dur,end,repeat(deprecated),repeatCount,repeatDur,min,max

This profile adds thepar,seq, andexcl elements to the content model of thebody element of theStructure Module and adds theseelements to the content model of theaelement of theLinkingModules.

Elements of theMedia ObjectModules have the attributes describing timing and properties ofcontents.

Supported Event Symbols

The SMIL 2.1 Language Profile specifies which types of events can be usedas part of thebegin andend attribute values. The supported events aredescribed as Event-symbols according to thesyntax introduced in theSMIL Timing and Synchronizationmodule.

The supported event symbols in the SMIL 2.1 Language Profile are:

Eventexample
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"
endEventend="foo.endEvent + 2s"
repeatEventend="foo.repeatEvent"
inBoundsEventend="foo.inBoundsEvent"
outOfBoundsEventbegin="foo.outOfBoundsEvent + 5s"
topLayoutCloseEventend="toplayout1.topLayoutCloseEvent"
topLayoutOpenEventend="toplayout2.topLayoutOpenEvent+5s"

Event semantics

focusInEvent:
Raised when a media element gets the keyboard focus in its rendering space, i.e., when it becomes the media element to which all subsequent keystroke-event information is passed. Once an element has the keyboard focus, it continues to have it until a user action or DOM method call either removes the focus from it or gives the focus to another media element, or until its rendering space is removed. Only one media element can have the focus at any particular time. The focusInEvent is delivered to media elements only, and does not bubble.
focusOutEvent:
Raised when a media element loses the keyboard focus from its rendering space, i.e., when it stops being the media element to which all subsequent keystroke-event information is passed. The focusOutEvent is delivered to media elements only, and does not bubble.
activateEvent:
Raised when a media element is activated by user input such as by a mouse click within its visible rendering space or by specific keystrokes when the element has the keyboard focus. The activateEvent is delivered to media elements only, and does not bubble.
beginEvent:
Raised when the element actually begins playback of its active duration. If an element does not ever begin playing, this event is never raised. If an element has a repeat count, beginEvent only is raised at the beginning of the first iteration. The beginEvent is delivered to elements which support timing, such as media elements and time containers, and does not bubble.
endEvent:
Raised when an element actually ends playback; this is when its active duration is reached or whenever a playing element is stopped. In the following example,
<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.

repeatEvent:
Raised when the second and subsequent iterations of a repeated element begin playback. An element that has norepeatDur,repeatCount, orrepeat attribute but that plays two or more times due to multiple begin times will not raise a repeatEvent when it restarts. Also, children of a time container that repeats will not raise their own repeatEvents when their parent repeats and they begin playing again. The repeatEvent is delivered to elements which support timing, such as media elements and time containers, and does not bubble.
inBoundsEvent:
Raised when one of the following happens:

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.

outOfBoundsEvent:
Raised when one of the following happens:

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.

topLayoutCloseEvent
Raised when a topLayout closes for any reason. This event is delivered to that topLayout. If a topLayout reopens when additional media becomes active in its region(s), this event will be raised again if and when the topLayout closes again, and will be raised every subsequent time it closes. This event is delivered totopLayout elements only and does not bubble.
topLayoutOpenEvent
Raised when a topLayout window opens. This event is delivered to that topLayout. If a topLayout closes and then reopens when additional media becomes active in its region(s), this event will be raised again, and will be raised every subsequent time it reopens. This event is delivered totopLayout elements only and does not bubble.

Order of raising of simultaneous events:

There will be cases where events occur simultaneously. To ensure that eachSMIL 2.1 Language implementation handles them in the same order, thefollowing order must be used to resolve ties:

  1. InBoundsEvent
  2. focusInEvent (should follow 1)
  3. OutOfBoundsEvent
  4. activateEvent (should follow 2)
  5. focusOutEvent (should follow 3)
  6. endEvent
  7. beginEvent (must follow 6)
  8. repeatEvent
  9. topLayoutCloseEvent
  10. topLayoutOpenEvent (must follow 9)

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.

Extending the set of supported events

The SMIL 2.1 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.

For example:

<smil ... xmlns:example="http://www.example.com">   <img .../>    <audio begin="foo.example:focusInEvent".../>    ... </smil>

Integration definitions

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.

13.3.12Transition Effects Modules

TheTransition Modulesprovide a framework for describing transitions such as fades and wipes. TheTransition Modules definesemantics for thetransitionelement. The SMIL 2.1 Language Profile includes the functionality of theBasicTransitions,TransitionModifiers and theFullScreenTransitionsModule modules.

In the SMIL 2.1 Language Profile, Transition Effects elements have thefollowing attributes and content model :

Transition Effects Module
ElementsAttributesContent model
transitionCore,I18n,Test,dur,type,subtype,startProgress,endProgress,direction,fadeColor,scope,horzRepeat,vertRepeat,borderWidth,borderColor,skip-content,customTestEMPTY

This profile adds thetransition element to the content modelof thehead element of theStructure Module

TheTransition EffectsModules addtransIn andtransOut attributes toref,animation,audio,img,video,text,textstream and brush elements of theMedia Object Modules.

TheTransition EffectsModules add thetransition value to thefill attribute for all elements on which thisvalue of thefill attribute issupported.

13.4Extendingthe SMIL 2.1 Language

This section is normative

In the future, SMIL 2.1 Language may be extended by other W3CRecommendations, or by private extensions. For these extensions, thefollowing rules must be obeyed:

Conformant SMIL 2.1 user agents are prepared to handle documentscontaining extensions that obey these two rules.

13.5Appendix A: SMIL 2.1Document Type Definition

This section isnormative.

The  SMIL 2.1 Language Profile DocumentType Definition is defined as a set of SMIL 2.1 modules. All SMIL 2.1modules are integrated according to the guidelines in the W3C Note "Synchronized Multimedia Modules based upon SMIL 1.0"[SMIL-MOD], anddefined within their respective module sections.


previous  next  contents  

[8]ページ先頭

©2009-2025 Movatter.jp