Movatterモバイル変換


[0]ホーム

URL:


previous  next  contents  

2.The SMIL 2.1 Modules

Editor:
Thierry MICHEL, W3C.

Table of contents

2.1Introduction

This section is informative.

Since the publication of SMIL 1.0[SMIL10], interest in the integration of SMILconcepts with the HTML, the HyperText Markup Language[HTML4], and other XML languages, has grown.Likewise, the W3C HTML Working Group has specified XHTML, the ExtensibleHyperText Markup Language[XHTML10], inpreparation to subset, extend, and integrate it with other languages. Thestrategy considered for integrating respective functionality with otherXML-based languages is based on the concepts ofmodularization andprofiling[SMIL-MOD],[XMOD].

Modularization is an approach in which markup functionality isspecified as a set of modules that contain semantically-related XML elements,attributes, and attribute values.Profiling is the creation of anXML-based language through combining these modules, in order to provide thefunctionality required by a particular application.

Profiling introduces the ability to tailor an XML-based language tospecific needs, e.g. to optimize presentation and interaction for theclient's capabilities. Profiling also adds the ability for integratingfunctionality from other markup languages, releasing the language designerfrom specifying that functionality. Moreover, it provides for consistency inmarkup through the use of the same model to incorporate a function. Identicalconstructs ease authoring, while at the user agent side there is a potentialfor re-use of code. For example, a scheduler supporting SMIL timing andsynchronization functionality could be used for SMIL documents, XHTML+SMILdocuments, and SVG documents.

Modularization enables language designers to specify dedicated markupintended for integration with other, existing, language profiles. Examples ofspecifications intended for such integration are MathML and XForms[MathML],[XFORMS].

Modularization and profiling use the extensibility properties of XML, andrelated technology like XML namespaces and XML Schema[XML11],[XML-NS],[XSCHEMA].

This part of the SMIL 2.1 specification describes the framework on whichSMIL modularization and profiling is based, and specifies the SMIL 2.1Modules, their identifiers, and the requirements for conformance within thisframework.

2.1.1Modularization andProfiling

This section is informative.

The modularization approach used in this specification derives from thatset forth in XHTML Modularization[XMOD]. The framework on which SMILmodularization and profiling is based, is informally described here.

AModule is a collection ofsemantically-related XML elements, attributes, and attribute values thatrepresents a unit of functionality. Modules are defined in coherent sets.This coherency is expressed in that the elements of these modules areassociated with the same namespace.

ALanguage Profile is acombination of modules. Modules areatomic, i.e. they cannot besubset when included in a language profile. Furthermore, a modulespecification may include a set of integration requirements, to whichlanguage profiles that include the module must comply.

Commonly, there is a main language profile that incorporates nearly allthe modules associated with a single namespace. For example, the SMIL 2.1language profile uses most of the SMIL 2.1 modules. Usually, the same nameis used to loosely reference both - "SMIL 2.1" in the example. Also, thename "profile" is used to mean "language profile".

Other language profiles can be specified that are subsets of the largerone, or that incorporate a mixture of modules associated with differentnamespaces. SMIL 2.1 Basic is an example of the first, XHTML+SMIL of thelatter.

A special module in a language profile is the so-calledStructure Module, in that itcontains the root element of the language profile, e.g. <smil> or<html>. Any language profile that incorporates modules associated witha single namespace will include the Structure module associated with thatnamespace.

Other modules that require special mention are those that characterize thecore of the functionality provided by the namespace. This is expressed by thenotions ofhost language andintegration set.Both of them relate to a set of conformance requirements for languageprofiles, which includes the requirement to incorporate at least the core setof modules. The set may be different for a host language and an integrationset. A host language must incorporate the Structure module; an integrationset need not. There may be other differences as well.

The main purpose of language profile conformance is to enhanceinteroperability. Preferably, the mandatory modules for host languageconformance are defined in such a way that any document interchanged in aconforming language profile will yield a reasonable presentation when thedocument renderer, while supporting the associated mandatory module set,would ignore all other (unknown) elements and attributes. Here, "reasonablepresentation" is to be understood as something intelligible, which is notnecessarily a close reflection of the author's original intentions. Toachieve the latter, a negotiation would have to be conducted to agree on thespecific language profile to be used for the document interchange.

2.2Summary of Changes for SMIL 2.1

This section is informative.

SMIL 2.1 specification provides three classes of changes to the SMILRecommendation, among the ten functional areas;

  1. New Modules are introduced (e.g.BackgroundTilingLayout,FullScreenTransitionEffects)
  2. Former SMIL Modules are deprecated and replaced by new ones to allow differentiated features to be implemented in profiles without necessarily requiring support for all of the functionality of the former SMIL module. (This is the case for the HierarchicalLayout module and ExclTimeContainers module).
  3. Former SMIL Modules are revised allowing extended functionalities (example areAudioLayout,MultiWindowLayout)

The following functional areas are affected by SMIL2.1.

Timing

Layout

Media Object

Transitions

2.3SMIL 2.1 Modules

This section is normative.

SMIL functionality is partitioned into ten functional areas. Within eachfunctional area a further partitioning is applied intomodules. All of these modules, and onlythese modules, are associated with the SMIL namespace.

The functional areas and their corresponding modules are:

Note: Modules marked with (**) are new Modules added in SMIL2.1. Modulesmarked with (*) are revised modules from SMIL

  1. Timing
    1. AccessKeyTiming
    2. BasicInlineTiming
    3. BasicTimeContainers
    4. BasicExclTimeContainers (**)
    5. BasicPriorityClassContainers (**)
    6. EventTiming
    7. FillDefault
    8. MediaMarkerTiming
    9. MinMaxTiming
    10. MultiArcTiming
    11. RepeatTiming
    12. RepeatValueTiming
    13. RestartDefault
    14. RestartTiming
    15. SyncbaseTiming
    16. SyncBehavior
    17. SyncBehaviorDefault
    18. SyncMaster
    19. TimeContainerAttributes
    20. WallclockTiming
  2. Time Manipulations
    1. TimeManipulations
  3. Animation
    1. BasicAnimation
    2. SplineAnimation
  4. Content Control
    1. BasicContentControl
    2. CustomTestAttributes
    3. PrefetchControl
    4. SkipContentControl
  5. Layout
    1. AlignmentLayout (**)
    2. AudioLayout
    3. BackgroundTilingLayout (**)
    4. BasicLayout (*)
    5. MultiWindowLayout (*)
    6. OverrideLayout (**)
    7. SubRegionLayout (**)
  6. Linking
    1. BasicLinking
    2. LinkingAttributes
    3. ObjectLinking
  7. Media Objects
    1. BasicMedia
    2. BrushMedia
    3. MediaAccessibility
    4. MediaClipping
    5. MediaClipMarkers
    6. MediaDescription
    7. MediaParam (*)
  8. Metainformation
    1. Metainformation
  9. Structure
    1. Structure
  10. Transitions
    1. BasicTransitions (*)
    2. InlineTransitions
    3. TransitionModifiers
    4. FullScreenTransitionEffects (**)

Each of these modules introduces a set of semantically-related elements,properties, and attributes. Each functional area has a corresponding sectionin this specification document. Further details on each of the modules isspecified within those sections.

The modules may be independent or complementary. For example, theSyncMaster module requires and builds upon the SyncBehavior module, but thePrefetchControl and SkipContentControl modules are independent from eachother. In addition, some modules require modules from other functionalareas.

Modules specify their integration requirements. When one module requiresanother module for basic features and as a prerequisite for integration, alanguage profile must include the second module in order to include thefirst. The first module is said to be adependent of the secondmodule. Dependency may be nested, in that a module may be dependent on amodule that is a dependent itself.

Table 1 presents the SMIL 2.1 modules and the modules they depend on.

Table 1: The SMIL 2.1 Modules and their Dependencies.
ModuleDependencies
AccessKeyTimingNONE
AlignmentLayoutBasicLayout
AudioLayoutBasicLayout
BackgroundTilingLayoutBasicLayout
BasicAnimationBasicInlineTiming
BasicContentControlNONE
BasicInlineTimingNONE
BasicExclTimeContainersNONE
BasicLayoutNONE
BasicLinkingNONE
BasicMediaNONE
BasicPriorityClassContainersBasicExclTimeContiners
BasicTimeContainersNONE
BasicTransitionsNONE
BrushMediaNONE
CustomTestAttributesBasicContentControl
EventTimingNONE
ExclTimeContainersformer SMIL module REMOVED in SMIL2.1
FillDefaultBasicTimeContainers, and/or BasicExclTimeContainers, BasicPriorityClassContainers,

and/or TimeContainerAttributes

FullScreenTransitionEffectsBasicTransitions
HierarchicalLayoutformer SMIL module REMOVED in SMIL2.1
InlineTransitionsNONE
LinkingAttributesNONE
MediaAccessibilityMediaDescription
MediaClipMarkersMediaClipping
MediaClippingBasicMedia
MediaDescriptionNONE
MediaMarkerTimingNONE
MediaParamBasicMedia
MetaInformationNONE
MinMaxTimingNONE
MultiArcTimingAccessKeyTiming, and/or BasicInlineTiming, and/or EventTiming, and/or
MediaMarkerTiming, and/or RepeatValueTiming, and/or
SyncbaseTiming, and/or WallclockTiming
MultiWindowLayoutBasicLayout
ObjectLinkingBasicLinking
OverrideLayoutBasicLayout
PrefetchControlNONE
RepeatTimingNONE
RepeatValueTimingNONE
RestartDefaultRestartTiming
RestartTimingNONE
SkipContentControlNONE
SplineAnimationBasicAnimation
StructureBasicContentControl, and BasicInlineTiming, and BasicLayout, and
BasicLinking, and BasicMedia, and BasicTimeContainers, and
SkipContentControl, and SyncbaseTiming
SubRegionLayoutBasicLayout
SyncbaseTimingNONE
SyncBehaviorBasicTimeContainers, and/or
BasicExclTimeContainers, BasicPriorityClassContainers, and/or
TimeContainerAttributes
SyncBehaviorDefaultSyncBehavior
SyncMasterSyncBehavior
TimeContainerAttributesNONE
TimeManipulationsNONE
TransitionModifiersBasicTransitions, and/or InlineTransitions
WallclockTimingNONE

2.3.1SMIL DOM

This section is informative.

SMIL is an XML-based language and conforms to the (XML) DOM Core[DOM1],[DOM2]. In  the future, a SMIL-specificDOM recommendation may specify support for timing and synchronization, mediaintegration, and other synchronized multimedia functionality. A languageprofile may include DOM support. The granularity of DOM being supportedcorresponds to the modules being selected in that language profile. As withall modules, required support for the DOM is an option of the languageprofile.

2.4Identifiers forSMIL 2.1 Modules and Language Profiles

This section is normative.

This section specifies the identifiers for the SMIL 2.1 namespace and theSMIL 2.1 modules. Each SMIL host language conformant language profile shouldexplicitly state the namespace URI that is to be used to identify it. Thatnamespace URI must comply with the "Requirements on Identifiers forSMIL Host Language Conformant Language Profiles", defined below.

2.4.1The SMIL Mime Type

Documents authored in language profiles that include the SMIL Structuremodule can be associated with the "application/smil+xml" mimetype. Documents using the "application/smil+xml" mime type arerequired to be host language conformant. This Recommendation obsoletes theformer "application/smil" mime type as specified in SMIL 2.0[SMIL20].

2.4.2XML Namespace Identifierfor the SMIL 2.1 Modules

The XML namespace identifier for the complete set of SMIL 2.1 modules,elements and attributes, are contained within the following namespace:

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

2.4.3Identifiers for SMIL 2.1Modules

Each module in this specification has a unique identifier associated withit. They are intended to uniquely and consistently identify each of them.They should be used as values in a test for whether an implementationincludes a specific module, as well as in other circumstances where a need torefer to a specific SMIL 2.1 module is necessary.

Table 2 summarizes the identifiers for SMIL 2.1 modules.

Table 2: The SMIL 2.1 Module Identifiers.
Module nameIdentifier
AccessKeyTiminghttp://www.w3.org/2005/SMIL21/AccessKeyTiming
AudioLayouthttp://www.w3.org/2005/SMIL21/AudioLayout
BackgroundTilingLayouthttp://www.w3.org/2005/SMIL21/BackgroundTilingLayout
AlignmentLayouthttp://www.w3.org/2005/SMIL21/AlignmentLayout
BasicAnimationhttp://www.w3.org/2005/SMIL21/BasicAnimation
BasicContentControlhttp://www.w3.org/2005/SMIL21/BasicContentControl
BasicInlineTiminghttp://www.w3.org/2005/SMIL21/BasicInlineTiming
BasicExclTimeContainershttp://www.w3.org/2005/SMIL21/BasicExclTimeContainers
BasicLayouthttp://www.w3.org/2005/SMIL21/BasicLayout
BasicLinkinghttp://www.w3.org/2005/SMIL21/BasicLinking
BasicMediahttp://www.w3.org/2005/SMIL21/BasicMedia
BasicPriorityClassContainershttp://www.w3.org/2005/SMIL21/BasicPriorityClassContainers
BasicTimeContainershttp://www.w3.org/2005/SMIL21/BasicTimeContainers
BasicTransitionshttp://www.w3.org/2005/SMIL21/BasicTransitions
BrushMediahttp://www.w3.org/2005/SMIL21/BrushMedia
CustomTestAttributeshttp://www.w3.org/2005/SMIL21/CustomTestAttributes
EventTiminghttp://www.w3.org/2005/SMIL21/EventTiming
ExclTimeContainersformer SMIL module removed in SMIL21
FillDefaulthttp://www.w3.org/2005/SMIL21/FillDefault
FullScreenTransitionEffectshttp://www.w3.org/2005/SMIL21/FullScreenTransitionEffects
HierarchicalLayoutformer SMIL module removed in SMIL21
InlineTransitionshttp://www.w3.org/2005/SMIL21/InlineTransitions
LinkingAttributeshttp://www.w3.org/2005/SMIL21/LinkingAttributes
MediaAccessibilityhttp://www.w3.org/2005/SMIL21/MediaAccessibility
MediaClipMarkershttp://www.w3.org/2005/SMIL21/MediaClipMarkers
MediaClippinghttp://www.w3.org/2005/SMIL21/MediaClipping
MediaDescriptionhttp://www.w3.org/2005/SMIL21/MediaDescription
MediaMarkerTiminghttp://www.w3.org/2005/SMIL21/MediaMarkerTiming
MediaParamhttp://www.w3.org/2005/SMIL21/MediaParam
Metainformationhttp://www.w3.org/2005/SMIL21/Metainformation
MinMaxTiminghttp://www.w3.org/2005/SMIL21/MinMaxTiming
MultiArcTiminghttp://www.w3.org/2005/SMIL21/MultiArcTiming
MultiWindowLayouthttp://www.w3.org/2005/SMIL21/MultiWindowLayout
ObjectLinkinghttp://www.w3.org/2005/SMIL21/ObjectLinking
OverrideLayouthttp://www.w3.org/2005/SMIL21/OverrideLayout
PrefetchControlhttp://www.w3.org/2005/SMIL21/PrefetchControl
RepeatTiminghttp://www.w3.org/2005/SMIL21/RepeatTiming
RepeatValueTiminghttp://www.w3.org/2005/SMIL21/RepeatValueTiming
RestartDefaulthttp://www.w3.org/2005/SMIL21/RestartDefault
RestartTiminghttp://www.w3.org/2005/SMIL21/RestartTiming
SkipContentControlhttp://www.w3.org/2005/SMIL21/SkipContentControl
SplineAnimationhttp://www.w3.org/2005/SMIL21/SplineAnimation
Structurehttp://www.w3.org/2005/SMIL21/Structure
SubRegionLayouthttp://www.w3.org/2005/SMIL21/SubRegionLayout
SyncbaseTiminghttp://www.w3.org/2005/SMIL21/SyncbaseTiming
SyncBehaviorhttp://www.w3.org/2005/SMIL21/SyncBehavior
SyncBehaviorDefaulthttp://www.w3.org/2005/SMIL21/SyncBehaviorDefault
SyncMasterhttp://www.w3.org/2005/SMIL21/SyncMaster
TimeContainerAttributeshttp://www.w3.org/2005/SMIL21/TimeContainerAttributes
TimeManipulationshttp://www.w3.org/2005/SMIL21/TimeManipulations
TransitionModifiershttp://www.w3.org/2005/SMIL21/TransitionModifiers
WallclockTiminghttp://www.w3.org/2005/SMIL21/WallclockTiming

2.4.4Identifiers for SMIL 2.1 Profiles andFeatures

In addition to the module identifiers above, there may be differentfeatures and variances from one language profile to another that may not beexpressed as the support or non-support of a particular module. Thesefeatures may be expressed using the following identifiers:

http://www.w3.org/2005/SMIL21/NestedTimeContainers
Profile allows nesting of thepar andseq time containers.
http://www.w3.org/2005/SMIL21/SMIL20DeprecatedFeatures
Profile supports deprecated SMIL  features. .
http://www.w3.org/2005/SMIL21/SMIL10DeprecatedFeatures
Profile supports deprecated SMIL 1.0 features.

Implementations that support the SMIL BasicContentControl module mustallow these as identifiers for use with the XML namespace mechanism, and mustallow the associated namespace identifier to be used with the systemRequiredtest attribute. Profiles must identify those attributes for which animplementation must return "true" (this is an integration requirement).Implementations must return "false" for modules or features which are notfully supported.

This section is informative.

Modules can also be identified collectively. The following modulecollections are defined:

http://www.w3.org/2005/SMIL21/
All the modules specified by the SMIL 2.1 specification.
http://www.w3.org/2005/SMIL21/Language
The modules used by theSMIL 2.1 Language profile.
http://www.w3.org/2005/SMIL21/Mobile
The modules used by theSMIL 2.1 Mobile profile.
http://www.w3.org/2005/SMIL21/ExtendedMobile
The modules used by theSMIL 2.1 Extended Mobile profile.
http://www.w3.org/2005/SMIL21/HostLanguage
The modules required forSMIL Host Language Conformance.
http://www.w3.org/2005/SMIL21/IntegrationSet
The modules required forSMIL Integration Set Conformance.

2.5SMIL Conformance

This section is informative.

In this section we specify the rules for SMIL host language and SMILintegration set conformance. First, the conformance requirements forhost languageconformance andintegration setconformance are given. The requirements are similar to those set forthfor XHTML host language document type conformance and XHTML integration setdocument type conformance[XMOD]. In a final section the requirements onidentifiers for host languageconformant language profiles are given.

Currently, there exist four language profiles using SMIL 2.1 Modules.They are theSMIL 2.1 Language Profile,theSMIL 2.1Extended Mobile Profile, theSMIL 2.1 MobileProfile and theSMIL 2.1Basic Language Profile. All four profiles are SMIL host languageconformant.

This section is normative.

The following two tables list names used to collectively reference certainsets of SMIL 2.1 elements and attributes. These are used in the definitionsof the minimum support in the two sections below on SMIL host languageconformance and SMIL integration set conformance. The term "minimum support"is used to refer to the minimum set of elements that an element can contain,and the minimum set of attributes that can be used on an element.

Table 3: Names of SMIL 2.1 Element Collections.
Element Set NameElements
TIMING-ELMSpar,seq
MEDIA-ELMSref,animation,audio,img,video,text,textstream
EMPTYno elements are required as a minimum

 

Table 4: Names of SMIL 2.1 Attribute Collections.
Attribute Set NameAttributes
TIMING-ATTRSbegin,end,dur,repeatDur,repeatCount,max,min,fill,endsync
CONTCTRL-ATTRSsystemBitrate,systemCaptions,systemLanguage,systemRequired,systemSize,systemDepth,systemOverdubOrSubtitle,systemAudioDesc,systemOperatingSystem,systemCPU,systemComponent
MEDIA-ATTRSsrc,type
LINKING-ATTRShref,sourceLevel,destinationLevel,sourcePlaystate,destinationPlaystate,show,accesskey,tabindex,target,external,actuate,alt
COMMON-ATTRSid,class,xml:lang,title

2.5.1SMIL Host LanguageConformance

A language profile is said to be SMIL 2.1 host language conformant if itincludes the following modules:

  1. Structure
  2. BasicContentControl
  3. BasicInlineTiming
  4. BasicLayout
  5. BasicLinking
  6. BasicMedia
  7. BasicTimeContainers
  8. MinMaxTiming
  9. RepeatTiming
  10. SkipContentControl
  11. SyncbaseTiming

In addition, the following requirements must be satisfied:

  1. The language profile defines what modules it collects.
  2. The language profile includes all elements, attributes, and attribute values specified by the collected modules.
  3. The language profile fulfills the "minimum support" requirements for elements and attributes as listed in Table 5 below.
  4. The language profile complies with the integration requirements set forth by the modules it collects.
  5. The language profile specifies the semantics related to the integration of the modules.
  6. The language profile defines its DTD or XML Schema.
  7. The language profile defines a unique identifier conforming to the requirements set forth inRequirements on Identifiers for SMIL Host Language Conformant Language Profiles.
  8. The SyncbaseTiming module should be included in Host Language conformant profiles, although it is not strictly required. We strongly recommend inclusion of this module in Host Language conformant profiles to maintain a high level of consistency and interoperability with other languages that have integrated SMIL modules including the SMIL Language, XHTML+SMIL, and SVG. Only profiles designed to operate on severely constrained devices may omit the SyncbaseTiming module.
Table 5: Minimum Support for SMIL Host Language Conformance.
ElementMinimum Support
ElementsAttributes
smilhead,bodyCOMMON-ATTRS,CONTCTRL-ATTRS,xmlns
headlayout,switchCOMMON-ATTRS
bodyTIMING-ELMS,MEDIA-ELMS,switch,aCOMMON-ATTRS
layoutregion, root-layoutCOMMON-ATTRS,CONTCTRL-ATTRS,type
root-layoutEMPTYCOMMON-ATTRS,backgroundColor,height,width
regionEMPTYCOMMON-ATTRS,backgroundColor,bottom,fit,height,left,regionName, right,showBackground,top,width,z-index,skip-content
ref,animation,audio,img,video,text,textstreamareaCOMMON-ATTRS,CONTCTRL-ATTRS,TIMING-ATTRS,repeat,MEDIA-ATTRS,region
aMEDIA-ELMSCOMMON-ATTRS,LINKING-ATTRS
areaEMPTYCOMMON-ATTRS,LINKING-ATTRS,TIMING-ATTRS,repeat,shape,coords,nohref
par,seqTIMING-ELMS,MEDIA-ELMS,switch,aCOMMON-ATTRS,CONTCTRL-ATTRS,TIMING-ATTRS,repeat
switchTIMING-ELMS,MEDIA-ELMS,a,layoutCOMMON-ATTRS,CONTCTRL-ATTRS

Support of deprecated elements and attributes is no longer required forSMIL 2.1 host language conformance but it is highly recommended for allmodules the given language supports. Support of deprecated elements andattributes can only be left out in cases where interoperability with SMIL 1.0implementations is not an issue. For example, if a SMIL 2.1 host languagesupports theMultiArcTiming module,it is highly recommended that it support the deprecated syntax defined in theMultiArcTiming module.

Since the SMIL 2.1Structure modulemay only be used in a profile that is SMIL host language conformant, thisimplies that the SMIL 2.1Structuremodule must at least be accompanied with the nine other modules required forhost language conformance that were named above. Those modules themselves canstill be used in other, non SMIL host language conformant, languageprofiles.

2.5.2SMIL Integration SetConformance

A language profile is said to be SMIL 2.1 integration set conformant if itincludes the following modules:

  1. BasicContentControl
  2. BasicInlineTiming
  3. BasicMedia
  4. BasicTimeContainers
  5. MinMaxTiming
  6. RepeatTiming
  7. SyncbaseTiming

In addition, the following requirements must be satisfied:

  1. The language profile defines what modules it collects.
  2. The language profile includes all elements, attributes, and attribute values specified by the collected SMIL 2.1 modules.
  3. The language profile fulfills the "minimum support" requirements for elements and attributes as listed in Table 6 below.
  4. The language profile complies with the integration requirements set forth by the SMIL 2.1 modules it collects.
  5. The SyncbaseTiming module should be included in Integration Set conformant profiles, although it is not strictly required. We strongly recommend inclusion of this module in Integration Set conformant profiles to maintain a high level of consistency and interoperability with other languages that have integrated SMIL modules including theSMIL 2.1 Language, XHTML+SMIL[XHTMLplusSMIL], and SVG[SVG]. Only profiles designed to operate on severely constrained devices may omit the SyncbaseTiming module.
Table 6: Minimum Support for SMIL Integration Set Conformance.
ElementMinimum Support
ElementsAttributes
ref,animation,audio,img,video,text,textstream CONTCTRL-ATTRS,TIMING-ATTRS,MEDIA-ATTRS
par,seqTIMING-ELMS,MEDIA-ELMS,switchCONTCTRL-ATTRS,TIMING-ATTRS
switchTIMING-ELMS,MEDIA-ELMSCONTCTRL-ATTRS

Support of deprecated elements and attributes is not required forSMIL 2.1 integration set conformance. However, when included, the aboverequirements also apply to these elements and attributes. Also, whensupported, it is required that all the deprecated elements and attributesfrom all the included modules are supported as a whole.

2.5.3Requirements on Identifiersfor SMIL Host Language Conformant Language Profiles

This section is informative.

A language profile is specified through its DTD or XML Schema. Theidentifier of these can be used to identify the language profile. SMIL 1.0has specified the default namespace declaration on its root element,smil, as the decisive identifier fordistinguishing it from other language profiles[SMIL10]. For that purpose SMIL 1.0 hasspecified

http://www.w3.org/TR/REC-smil

as the namespace identifier for SMIL 1.0

This section is normative.

For the purpose of identifying the version and the language profile used,SMIL host language conformant documents must satisfy the followingrequirements:

  1. The document should declare a default namespace[XML-NS].
  2. The default namespace must be declared on thesmil root element.
  3. In case the SMIL host language conformant language profile has been issued as a W3C Recommendation, the default namespace identifier must satisfy the following requirements:
    1. The URI is constructed conformant to the requirements set forth by the W3C[W3C-NSURI].
    2. The default namespace identifier should identify the language profile.
      In case the language profile is a subset of a larger one, the default namespace identifier may also identify that larger language profile. The module collection that is required to be supported in the subset language profile may be indicated through thesystemRequired attribute on thesmil element.
      See theSMIL Basic Language Profile specification for an example.

2.5.4Error Handling in SMIL HostLanguage Conformant Documents

Syntax errors in a SMIL Host Language conformant document are handledaccording to the XML rules for well-formed or valid XML[XML11].

Semantic errors can arise at various levels. One is where the declaredattribute values are of unknown value. Another is where the assembledpresentation is (possibly) conflicting, as in a case where media objects arecompeting for display space or where they are synchronized ambiguously. Theselatter types, although maybe an error according to the author's intentions,are not considered an error and the user agent will present according to theresolution rules defined in this specification.

2.5.5Handling ofSyntax errors in Attribute Values

Errors in attribute values might remain undetectable to the parser,because the value type is declared as CDATA, or because the value range isopen ended, as in the case of events, for example. However, errors inattribute values can be detected within a given language profile, where thatlanguage profile specifies the supported value set. Specifications oflanguage profiles are required to specify the error handling that is requiredwhen such an attribute value error occurs.

2.6Creating a DTD for a LanguageProfile

This section is informative.

This section describes how language profiles could be defined using theSMIL 2.1 modular DTDs. The reader is assumed to be familiar with themechanisms defined in "Modularization of XHTML"[XMOD], in particular Appendix D[XMOD-APPD] and Appendix E[XMOD-APPE]. In general, the SMIL 2.1 modular DTDsuse the same mechanisms as the XHTML modular DTDs use. Exceptions to thisare:

  1. SMIL supports qualified attribute names for SMIL attributes that can appear on non-SMIL elements. This enables these attributes to use prefixes to indicate that they belong to the SMIL 2.1 namespace.
  2. SMIL supports module level INCLUDE/IGNORE instead of XHTML's element/attlist level. Similar to XHTML Modularization, this prohibits profiles from importing only part of a module -- they have to support either all the elements and attributes or none.

Below, we give a short description of the files that are used to definethe SMIL 2.1 modular DTDs. See the table and the end of the section for acomplete list of the filenames involved.

Following the same mechanisms as the XHTML modular DTDs, the SMIL 2.1specification places the XML element declarations (e.g. <!ELEMENT...>)and attribute list declarations (e.g. <!ATTLIST...>) of all SMIL 2.1elements in separate files, the SMIL module files. A SMIL module file isprovided for each functional area in the SMIL 2.1 specification (that is,there is a SMIL module file for animation, layout, timing, etc).

The SMIL module files are used in the normative definitions of thespecification of the SMIL 2.1 Language Profile. Usage of the same modulefiles for defining other SMIL profiles is recommended, but not required. Therequirements that SMIL language profiles must follow are stated in theSMIL 2.1 specification, not in the DTD code.

To make the SMIL module files independent of each other, and independentof the language profiles, the element and attribute declarations make heavyuse of XML entities. This provides profiles with the necessary hooks todefine the actual content models and attributes of the SMIL elements.

The SMIL 2.1 Language Profile provides examples of how the SMIL modulefiles can be used. Most of the DTD files are reused across the differentprofiles. Reused are the SMIL module files, the files that define the datatypes and the common attributes, the "qname" file that takes care of addingnamespace prefixes if necessary, and the framework file, which takes care ofincluding files in the appropriate order.

The files that are different for each profile are the driver file anddocument model file. This would, in general, also apply to new profiles: todefine a new language profile, one has to write the extension module(s), thedriver file that defines which modules are used, and a document model filethat defines the extended document model. The driver file and document modelfile are described in more detail below.

The driver file.

This is the file that would be referenced by a document's DOCTYPEdeclaration. Its main job is to define which document model file and which ofthe SMIL module files the profile is using. It may also define an optionalnamespace to be used in all namespace prefixes. For example, to prefix allSMIL element names with "foobar", the following can be added to the start ofthe profile:

<!ENTITY % SMIL.prefixed "INCLUDE" >
<!ENTITY % SMIL.prefix "foobar" >

Elements defined in their modules as, for example, <video> willbecome parsed as <foobar:video>. This also applies for SMIL attributesthat appear on other elements, so, for example, "begin" becomes"foobar:begin". The default is that the qname prefix is empty -- that is, itis effectively turned off by default.

After these definitions, the driver file includes the framework file(which will subsequently include the data type, common attributes, qname anddocument model file), after which the SMIL module files are included that areused by this profile.

The document model file.

The document model file contains the XML entities that are used by theSMIL module files to define the content models and attribute lists of theelements in that profile.

Content models generally differ from profile to profile, or containelements from other modules. To avoid these dependencies in the SMIL modulefiles, content models need to be defined in the document model file. The(dummy) default content model as defined in the SMIL module files is "EMPTY"for all SMIL 2.1 elements.

For the same reasons, the SMIL module files only define a defaultattribute list for their elements. This default list only contains theSMIL 2.1 core attributes and the attributes that are defined in the sameSMIL module file. All other attributes need to be added to this default listby defining the appropriate XML entities. For example, the Media ObjectsModule file only adds the core and media related attributes on the mediaobjects; other attributes, such as the timing attributes, are added to thislist by the document model file.

Table 7: Formal public identifiers and system identifiers of all files used in the SMIL 2.1 modular DTDs.
Driver files for the predefined profiles
-//W3C//DTD SMIL 2.1 Language //ENhttp://www.w3.org/2005/SMIL21/SMIL21.dtd
-//W3C//DTD SMIL 2.1 Extended Mobile//ENhttp://www.w3.org/2005/SMIL21/SMIL21ExtendedMobile.dtd
-//W3C//DTD SMIL 2.1 Mobile //ENhttp://www.w3.org/2005/SMIL21/SMIL21Mobile.dtd
Document model files for the predefined profiles
-//W3C//ENTITIES SMIL 2.1 Language Profile Document Model 1.0//ENhttp://www.w3.org/2005/SMIL21/smil-language-profile-model-1.mod
-//W3C//ENTITIES SMIL 2.1 Extended Mobile Profile Document Model 1.0//ENhttp://www.w3.org/2005/SMIL21/smil-extended-mobile-profile-model-1.mod
-//W3C//ENTITIES SMIL 2.1 Mobile Profile Document Model 1.0//ENhttp://www.w3.org/2005/SMIL21/smil-mobile-profile-model-1.mod
SMIL 2.1 module files
-//W3C//ELEMENTS SMIL 2.1 Animation//ENhttp://www.w3.org/2005/SMIL21/SMIL-anim.mod
-//W3C//ELEMENTS SMIL 2.1 Content Control//ENhttp://www.w3.org/2005/SMIL21/SMIL-control.mod
-//W3C//ELEMENTS SMIL 2.1 Layout//ENhttp://www.w3.org/2005/SMIL21/SMIL-layout.mod
-//W3C//ELEMENTS SMIL 2.1 Linking//ENhttp://www.w3.org/2005/SMIL21/SMIL-link.mod
-//W3C//ELEMENTS SMIL 2.1 Media Objects//ENhttp://www.w3.org/2005/SMIL21/SMIL-media.mod
-//W3C//ELEMENTS SMIL 2.1 Document Metainformation//ENhttp://www.w3.org/2005/SMIL21/SMIL-metainformation.mod
-//W3C//ELEMENTS SMIL 2.1 Document Structure//ENhttp://www.w3.org/2005/SMIL21/SMIL-struct.mod
-//W3C//ELEMENTS SMIL 2.1 Timing//ENhttp://www.w3.org/2005/SMIL21/SMIL-timing.mod
-//W3C//ELEMENTS SMIL 2.1 Transition//ENhttp://www.w3.org/2005/SMIL21/SMIL-transition.mod
Other utilities: data types, common attributes, qname and frame work files
-//W3C//ENTITIES SMIL 2.1 Datatypes 1.0//ENhttp://www.w3.org/2005/SMIL21/smil-datatypes-1.mod
-//W3C//ENTITIES SMIL 2.1 Common Attributes 1.0//ENhttp://www.w3.org/2005/SMIL21/smil-attribs-1.mod
-//W3C//ENTITIES SMIL 2.1 Qualified Names 1.0//ENhttp://www.w3.org/2005/SMIL21/smil-qname-1.mod
-//W3C//ENTITIES SMIL 2.1 Modular Framework 1.0//ENhttp://www.w3.org/2005/SMIL21/smil-framework-1.mod

previous  next  contents  

[8]ページ先頭

©2009-2025 Movatter.jp