The SMIL Basic Language Profile defines a profile which is a small subset of the SMIL Boston language profile specification, and is designed to be a profile that meets the needs of resource-constrained devices such as mobile phones and portable disc players. It contains a baseline set of the SMIL Boston features including basic layout, simple linking, basic media object, structure, and basic timing modules.
This section is informative.
The SMIL language [SMIL10] [SMIL-BOSTON] includes powerful functionality for multimedia services not only on desktops but also for information appliances.
SMIL content authors may wish their works to be available on a widespread variety of web clients, such as desktops, television sets, mobile phones, portable disc players, car navigation systems, and voice user agents. Each of these platforms has its specific capabilities and may require its own profile. The SMIL Modules [SMIL-MOD] provide a solution to create profiles and extensions of the full SMIL language profile, in addition to providing the means to integrate SMIL functionality into other languages.
The SMIL Basic profile consists of a reduced set of modules among the variety of SMIL modules in terms of semantics and syntax, and assures conformance to the larger SMIL Boston language specification. A profile for mobile and portable devices can be tailored based on the SMIL Basic profile with or without extensions to support application specific features.
The SMIL Basic profile does not propose to restrict extension, but aims at a baseline of conformance between the full SMIL language profile and one appropriate for mobile and portable services. Saying that a player is SMIL Basic conformant, means that it can play documents at least as complex as those allowed by the SMIL Basic profile. It may play significantly more complex documents. In particular, the full blown SMIL players will be automatically SMIL Basic compliant. Thus SMIL authoring for low power devices is easier since general tools can be used.
This section is informative.
SMIL Basic profile is a client profile which conforms to SMIL Boston and may be supported by wide variety of SMIL players, even those running on small mobile phones. Mobile and portable devices share some common characteristics:
The SMIL Basic Profile meets these requirements.
For references, see the document, "HTML4.0 Guidelines for Mobile Access" [MOBILE-GUIDE] issues guidelines for HTML content, and "XHTML Basic" [XHTML-BASIC] provides a minimum subset for portability and conformance.
Layout Module coordinates presentation of objects on the display device. Presentation on a small display has some difficulty in rendering objects. Layout of objects may not be adjusted flexibly comparing their specified regions, nor have scroll bars. So, the layout should be simple and effective. Therefore, the root-layout window may represent the full screen of the display. The SMIL Layout Level 0 module is used and the nesting of layout regions supported in the higher level SMIL layout modules is not supported.
On a SMIL player window, a user would handle arrow keys to move focus on objects and anchors, and select the target which activates playback or linking. A pointing cursor "mouse-like" device might not be supported. So "move focus and select" is a simple user interface for communication with the SMIL player. The "click" can be mapped to a "activate" action. While a user is handling the focus, the player may slow or pause its timeline.
SMIL Timing and Synchronization presents dynamic and interactive multimedia according to a timeline. The SMIL timing model is expressed in a structured language effectively. The timeline normally needs to be calculated with limited resources of memory and the processor. For example, recursive function calls, caused by nesting elements, or memory allocation, for example by additional timelines, at any moment should be restricted. For the SMIL Basic Profile, the timeline should be a simple and single sequence of media objects.
To achieve this, the SMIL Basic profile describes restrictions on use of the SMIL Timing. The restrictions are:
The Media Object Module provides reference to media which constitute the contents of the presentation, such as text, image, audio and video. Here it is assumed audio/visual multimedia presentation.
Some functionality of the Content Control module may be replaced with CC/PP[CC/PP] mechanism, which provides a way to notify device capabilities and user preferences to an origin server and/or intermediaries such as a gateway or proxy. This allows the generation or selection of device-tailored contents. Thus CC/PP can be used with transformation of available documents between client and server.
Content Control Level 0 Module is included in SMIL Basic Profile when an alternative to the CC/PP mechanism is necessary. So the player should analyze switch syntax correctly even if it cannot recognize the test attributes.
There are useful guidelines to handling accessibility issues that can be applied to the profile design for information appliances. The document, "Accessibility Features of SMIL" [WAI-SMIL-ACCESS], summarizes their points in SMIL1.0
SMIL Basic profile is designed to be appropriate for small information appliances like mobile phones and portable disc players. Its simple design is intended to serve as a baseline profile for application specific extensions. Similar to HTML+SMIL, another use of SMIL Basic may be to integrate SMIL basic timing and media functionality into the HTML mobile profile.
The SMIL Basic Profile does not restrict extension and inclusion of other levels and modules, for example, the Animation, Metainformation, or Transition Module.
This section is normative.
The SMIL Basic Profile supports the lightweight multimedia features defined in SMIL language. This profile includes the following SMIL modules:
(*) = required modules to be a member of the SMIL language profile family[SMIL-MOD].
Collections used in the tables below are defined as follows:
|Collection Name||Elements in Collection|
|MediaContent||text, img, audio, video, ref, animation, textstream|
|Collection Name||Attributes in Collection|
|Core||id, class, title|
|Timing||begin, dur, end, repeat(deprecated), repeatCount, repeatDur|
|Description||abstract, , copyright|
|Test||systemBitrate(system-bitrate), systemCaptions(system-captions), systemLanguage(system-language), , systemRequired(system-required), systemScreenSize(system-screen-size), systemScreenDepth(system-screen-depth), systemOverdubOrSubtitle, systemAudioDesc, , systemCPU, systemComponent|
The Layout Module provides a framework for spatial layout of visual components. The SMIL Basic profile adopts the SMIL Level 0 Layout module with layout type of text/smil-basic-layout.
|layout||Core, I18n, type||root-layout, region|
|region||Core, I18n, backgroundColor(background-color), , fit, height, left, right, top, width, z-index||EMPTY|
|root-layout||Core, I18n, backgroundColor(background-color), height, width||EMPTY|
The Linking Module describes the hyperlink relationships between content. The SMIL Basic profile adopts the SMIL Linking Level 0 and Level 1 Modules.
A SMIL Basic player may not be able to control links between the source and the destination object, for example, in applying sourceLevel and destinationLevel attributes to volume. Then, the attributes of target control, which are listed in the table below, are just ignored. In the SMIL Basic Profile, it can be assumed that the default value for show is replace and that for sourcePlaystate is pause, same as these are defined in the SMIL Linking Module.
The area(anchor) element may not be supported without appropriate user interface, then the SMIL Basic player should play the presentation without the area map.
|a||Core, I18n, Timing, href, show, sourcePlaystate, destinationPlaystate, sourceLevel, destinationLevel, accesskey, tabindex, target, external, actuate||MediaContent|
|area(anchor)||Core, I18n, Timing, alt, coords, href, show, sourcePlaystate, destinationPlaystate, sourceLevel, destinationLevel, accesskey, tabindex, target, external||EMPTY|
The Media Object Module provides a framework for declaring media which constitute the contents of a SMIL presentation. The SMIL Basic profile includes the SMIL Media Object Level 0 Module.
|text||Core, I18n, Description, Timing, Test, src, region, fill, alt, longdesc, type||EMPTY|
|img||Core, I18n, Description, Timing, Test, src, region, fill, alt, longdesc, type||area|
|audio||Core, I18n, Description, Timing, Test, src, region, alt, longdesc, abstract, type, clipBegin(clip-begin), clipEnd(clip-end)||EMPTY|
|video||Core, I18n, Description, Timing, Test, src, region, fill, alt, longdesc, type, clipBegin(clip-begin), clipEnd(clip-end)||area|
|ref, animation, textstream||Core, I18n, Description, Timing, Test, src, region, fill, alt, longdesc, type, clipBegin(clip-begin), clipEnd(clip-end)||EMPTY|
Elements of the Media Object module have attributes describing basic timing properties of contents. For timing, the begin and end attributes should have one value for determinate single timeline as specified in the SMIL Timing Level 0 Module.
If the player supports RTP (Real-time Transport Protocol) / RTSP (Real Time Streaming Protocol ), Streaming Media Object Module should be included.
The Structure Module describes the structure of the SMIL document. The SMIL Basic Profile adopts the SMIL Structure Level 0 Module.
The structure element body is implicitly defined to be a seq time container in SMIL1.0 and SMIL Boston language profile, and so it is in SMIL Basic Profile. However, SMIL Basic Profile adopts no nesting of time containers as mentioned in the section of Timing and Synchronization Module, and only allows a single level of explicit time container elements. To avoid this conflict, a SMIL-Basic document should have a par or seq time container as the first and only child of the body element.
|smil||Core, I18n||head, body|
The Timing and Synchronization Module provides a framework for describing timing structure, timing control properties, and temporal relationships between elements.
The SMIL Basic Profile includes the basic functionality of the SMIL Timing and Synchronization Module. It is based upon the SMIL Timing and Synchronization Level 0 Module (SMIL Timing Module) and includes a few constraints on its determinate timing. The constraints are single time container and single timing condition for the purpose of a simple scheduled timeline.
Time containers are defined in the SMIL Timing Module and they group elements with synchronization relationships. In a SMIL Basic document with single time container, par and seq time container elements contains media object elements and may not be nested. Therefore, these elements do not have begin and end attributes.
Attributes of the SMIL Timing Module apply to elements of the SMIL Media Object Module. Basics of timing are described in the SMIL Timing Module. Control of element start/end time is available with the begin, end, and dur attributes. For repeating elements, the repeat, repeatCount, and repeatDur attributes are available.
As mentioned in the SMIL Timing and Synchronization Level 0 Module, there is only one attribute value in begin and end attributes, not a semicolon-separated list in order to create determinate single timeline.
|par||Core, I18n, Timing, endsync||switch, MediaContent, a|
|seq||Core, I18n, Timing, endsync||switch, MediaContent, a|
The Content Control Module provides a framework for selecting content. The SMIL Basic profile adopts the SMIL Content Control Level 0 Module. Therewith the skipContent element applys elements not included in the SMIL Basic Profile, which default value is "true".
A SMIL Basic player may not support nesting of switch, nor runtime selection of contents. Even if a player cannot recoginize test attributes in media object elements, the player should ignore the element and evaluate the next element following the Content Control syntax.
|switch||Core, I18n||a, MediaContent|
A player of the SMIL Basic Profile should meet the following conformance criteria.
(*) Note that SMIL provides skipContent attributes.
This section is normative.
<!-- ....................................................................... --> <!-- SMIL Basic DTD ....................................................... --> <!-- file: smilbasic.dtd --> <!-- SMIL Basic DTD This is SMIL Basic, a proper subset of SMIL Boston. Copyright 1998-2000 World Wide Web Consortium (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. Permission to use, copy, modify and distribute the SMIL Basic DTD and its accompanying documentation for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies. The copyright holders make no representation about the suitability of the DTD for any purpose. It is provided "as is" without expressed or implied warranty. Author: Jacco van Ossenbruggen Revision: $Id: smil-basicprofile.html,v 1.2 2000/06/22 17:41:42 hugo Exp $ --> <!-- This is the driver file for the SMIL Basic DTD. Please use this formal public identifier to identify it: "-//W3C//DTD SMIL Basic//EN" --> <!ENTITY % SMIL.profile "'-//W3C//DTD SMIL Basic//EN'"> <!-- Define the Content Model --> <!ENTITY % smil-model.mod PUBLIC "-//W3C//ENTITIES SMIL-Basic Document Model 1.0//EN" "smilbasic-model-1.mod" > <!-- Modular Framework Module ................................... --> <!ENTITY % smil-framework.module "INCLUDE" > <![%smil-framework.module;[ <!ENTITY % smil-framework.mod PUBLIC "-//W3C//ENTITIES SMIL-Boston Modular Framework 1.0//EN" "smil-framework-1.mod" > %smil-framework.mod;]]> <!-- The SMIL Basic Profile supports the lightweight multimedia features defined in SMIL language. This profile includes the following SMIL modules: SMIL Level 0 Layout Module SMIL Linking Level 0 & Level 1 Module SMIL Media Object Level 0 Module SMIL Structure Level 0 Module SMIL Timing and Synchronization Level 0 Module (under restriction of single time container ) And the following SMIL modules can be included optionally: SMIL Content Control Level 0 Module --> <!-- Change this to in INCLUDE to enable the optional content control module --> <!ENTITY % smil-control.module "IGNORE"> <![%smil-control.module;[ <!ENTITY % control-mod PUBLIC "-//W3C//ELEMENTS SMIL-Boston Content Control//EN" "SMIL-control.mod"> %control-mod; ]]> <!-- These are all mandatory --> <!ENTITY % layout-mod PUBLIC "-//W3C//ELEMENTS SMIL-Boston Layout//EN" "SMIL-layout.mod"> <!ENTITY % link-mod PUBLIC "-//W3C//ELEMENTS SMIL-Boston Linking//EN" "SMIL-link.mod"> <!ENTITY % media-mod PUBLIC "-//W3C//ELEMENTS SMIL-Boston Media Objects//EN" "SMIL-media.mod"> <!ENTITY % struct-mod PUBLIC "-//W3C//ELEMENTS SMIL-Boston Document Structure//EN" "SMIL-struct.mod"> <!ENTITY % timing-mod PUBLIC "-//W3C//ELEMENTS SMIL-Boston Timing//EN" "SMIL-timing.mod"> %layout-mod; %link-mod; %media-mod; %struct-mod; %timing-mod;
TBD: XML Schema.