This section is informative.
The SMIL 3.0 specification adds theIdentity Module to the SMIL 2.1Structure Module[SMIL21-structure]. It also adds thexml:id attribute, which should be used toassign identity to elements instead of theid attribute, which has been deprecated in SMIL3.0.
This section is informative
This Section defines the SMILStructure module and theIdentity Module.
TheStructure module providesthe base elements for structuring SMIL content. These elements act as theroot in the content model of allSMIL HostLanguage conformant language profiles. The Structure module is amandatory module for SMIL Host Language conformant language profiles. TheSMIL Structure module is composed of thesmil,head, andbody elements, and is compatible with SMIL1.0[SMIL10]. The corresponding SMIL 1.0elements form a subset of the Structure module, both in syntax and semantics,as their attributes and content model is also exposed by the Structuremodule. Thus, the Structure module is backwards compatible with SMIL 1.0.
TheIdentity Module providesattributes to identify the SMIL version and the SMIL profile.
This section is normative
3.3.1Elements andattributes
This section defines the elements and attributes that make up the SMIL 3.0Structure module.
Thesmil element
Thesmil element acts as the rootelement for allSMIL HostLanguage conformant language profiles.
Thesmil element may have thefollowing attributes:
- xml:id
- Thexml:id attribute uniquely identifies an element within a document. Its value is an XML identifier. Refer to the "xml:id Version 1.0" Recommendation[XML-ID]. It is strongly recommended that SMIL generators and authors use onlyxml:id to assign identity to elements.
- id (Deprecated.)
- Theid attribute uniquely identifies an element within a document. Its value is an XML identifier. Theid attribute is deprecated in SMIL 3.0; SMIL 3.0 content should usexml:id instead. If thexml:id andid attributes are used on the same element, theid will be ignored. Theid attribute may become obsolete in a future version of SMIL. User agents should continue to support this deprecated attribute for reasons of backward compatibility.
- class
- Theclass attribute assigns a class name or a set of class names to an element. Any number of elements may be assigned the same class name or names. Multiple class names must be separated by white space characters.
- xml:lang
- Thexml:lang attribute specifies the language of an element, and is specified in XML 1.1[XML11].xml:lang differs fromsystemLanguage test attribute in one important respect.xml:lang provides information about content's language independent of what implementations do with the information, whereassystemLanguage is a test attribute with specific associated behavior (seesystemLanguage inSMIL 3.0 BasicContentControl Module for details).
- title
- Thetitle attribute offers advisory information about the element for which it is set. Values of the title attribute may be rendered by user agents in a variety of ways. For instance, visual browsers frequently display the title as a "tool tip" (a short message that appears when the pointing device pauses over an object).
- xmlns[:/prefix/]
- The standard XML attribute for identifying an XML namespace. Refer to the "Namespaces in XML" Recommendation[XML-NS] and to the rules forSMIL 3.0 Conformant Documents.
Thesmil element may contain thefollowing elements:
- head
- body
Thehead element
Thehead element containsinformation that is not related to the temporal behavior of the presentation.Three types of information may be contained byhead. These aremeta information,layout information, andauthor-defined content control.
Thehead element contains elementsdepending on the other modules and specific syntax included in the languageprofile integrating this module.
Thebody element
Thebody element containsinformation that is related to the temporal and linking behavior of thedocument. It acts as the root element of the timing tree.
Thebody element has the timingsemantics of a time container equal to that of theseq element [BasicTimeContainers module]. Note, that in otherlanguage profiles, where abody elementfrom another (Structure) Module is in use, thatbody element may have different timingsemantics. For example, in the XHTML+SMIL language profile (still in progressand not yet a W3C Recommendation), thebody element comes from HTML, and acts as apar time container.
The timing attributes defined in the various SMIL 3.0 Timing modules arepart of thebody element so far as thecorresponding timing modules, such asBasicInlineTiming, are part of the languageprofile. When a timing module is included in a language profile, the featuresof that module should be supported on thebody element just as they are supported onthe other elements in the profile. For example, thesyncMaster attribute should besupported on thebody element if theSyncMaster module is included in the integratingprofile.
Thebody element contains elementsdepending on the other modules and specific syntax included in the languageprofile integrating this module.
This section is normative
When this module is included in a language profile, thexml:id,class, andtitle attributes defined in this module mustbe included on all elements from all modules used in the profile, includingthose from other module families and of non-SMIL origin. The integratingprofile should also consider adding thexml:lang attribute to the applicableelements.
The SMIL Structure module is the starting module when building anySMIL HostLanguage conformant language profile. The Structure module may not beused for building other, non-SMIL Host Language conformant language profiles.This implies that the SMIL Structure module must at least be accompanied withthe other modules mandatory for SMIL Host language conformance, and theelements in the structure module must include at least the minimum contentmodels required for SMIL Host language conformance.
When modules from outside the SMIL 3.0 namespace are integrated in thelanguage profile, it must be specified how the elements from those non-SMILmodules fit into the content model of the used SMIL modules (and vice versa).For example, with respect to the SMIL Structure module, the ProfilingEntities in the DTD should be overridden. This creates a so-calledhybriddocument type[XMOD]. In case of aso-calledcompound document type, the rules of XML namespaces mustbe satisfied[XML-NS].
This section is normative
3.5.1SMIL 3.0 Identity ModuleOverview
This module contains two attributes,version andbaseProfile, which are used toidentify which version of SMIL and for which Profile the document is writtenfor.
3.5.2Elements andattributes
Elementdefinition
The Identity Module does not contain any element definitions.
This section defines the attributes that make up the SMIL 3.0 IdentityModule.
- version
- value:version-number
version-number ::= "3.0"
- Theversion attribute identifies the SMIL version number. If theversion attribute value is different from the above value, the user agent should specify an error. See alsoHandling syntax errors.
- baseProfile
- value:profile-name
profile-name ::= "Language" | "UnifiedMobile" | "Daisy" | "Tiny" | "smilText" | user-defined-profile-name
user-defined-profile-name ::= "x-" NMTOKEN
- ThebaseProfile attribute specifes the SMIL Profile used. If thebaseProfile attribute value is different from the above values, the user agent should specify an error. See alsoHandling syntax errors.
This section is informative
Example of version and baseProfile attribute use
<smil xml:id="root" xmlns="http://www.w3.org/ns/SMIL" version="3.0" baseProfile="Tiny" > <head xml:id="head"> ... </head> <body xml:id="body"> ... </body></smil>
It is the responsibility of the language profile to specify which elementssupport theversion andbaseProfile attributes. All profilesshould at least support these two attributes on the top-levelsmil element.