SMIL Boston Language Profile

This version
http://www.w3.org/AudioVideo/Group/smil-boston-profile-20000208.html
Latest version
http://www.w3.org/AudioVideo/Group/smil-boston-profile
Previous version
http://www.w3.org/AudioVideo/Group/smil-boston-profile-20000201.html
Editors:
Nabil Layaida (Nabil.Layaida@inrialpes.fr), INRIA
Jacco.van.Ossenbruggen (Jacco.van.Ossenbruggen@cwi.nl), CWI


Open issues

Should we remove the current profile definitions from the SMIL modules draft, or should we integrate the SMIL language profile into SMIL modules?

Should the profile define a minimal list/recommended of media types?
see http://www.w3.org/AudioVideo/Group/Media/Codecs.html
http://www.w3.org/AudioVideo/Group/Media/baseline_formats.htm

Should we allow subsetting/splitting of modules (basic/Boston layout module)

Does the profile require support for some or all features of SMIL Boston? If it requires some, what features are not required If it requires all, is it realistic to expect that someone will really implement the full Boston Language Profile in the near future (including DOM, transitions, animation)

Should we define:

See in-line for more remarks

SMIL Boston Profile

This section is informative.

The SMIL profile is a subset of the SMIL Boston specification. It contains many all? of the SMIL Boston features including animation, content control, layout, linking, media object, meta-information, structure, timing and transition effects modules. It is designed for Web clients that support basic SMIL Boston markup such as standalone multimedia players.

The document type definition or Schema is implemented using SMIL modules as defined in "Modularization of SMIL" [[SMILMOD]]

SMIL Boston Profile design requirements

  1. Ensure that the profile is completely backward compatible with SMIL 1.0. check this
  2. Ensure that all the modules' semantics maintain compatibility with SMIL semantics (this includes content and timing).
  3. Adopt new W3C recommendations when appropriate and not in conflict with other requirements. check against both Schemas and CC/PP, align with XHTML
  4. Specify how the modules support the document object model. Define specific level of DOM support

Normative Definition of SMIL Boston

This section is normative.

Document Conformance

A conforming SMIL Boston document is a document that requires only the facilities described as mandatory in this specification. Such a document must meet all of the following criteria:

  1. It must validate against the DTD Schema found in Appendix B
  2. The root element of the document must be <smil>.
  3. The name of the default namespace on the root element must be the SMIL Boston namespace name, (TBD) http://www.w3.org/2000/smil
  4. There must be a DOCTYPE declaration in the document prior to the root element. If present, the public identifier included in the DOCTYPE declaration must reference the DTD found in Appendix B using its Formal Public Identifier. The system identifier may be modified appropriately.
    <!DOCTYPE html PUBLIC "-//W3C//DTD SMIL Boston //EN" 
    	  "smil-boston.dtd">
    	
    

User Agent Conformance

The user agent must conform to the following user agent rules :

@fill in here requirements.

SMIL-Boston Profile

The SMIL-Boston Profile supports the timeline-centric multimedia features found in SMIL language. This profile includes the following SMIL modules:

Is it realistic to expect that someone will really implement this in the near future (including full transitions, animation, dom)? Check this with implementers. Aaron:yes, we should require what people will actually implement. If the group wants to make certain features option, that is up for discussion.

Animation Module

The Animation Module provides a framework for incorporating animation onto a timeline (a timing model) and a mechanism for composing the effects of multiple animations (a composition model). The Animation Module defines semantics for the animate, set, animateMotion, and animateColor elements:

Elements Attributes Minimal Content Model
animate TBD TBD
set TBD TBD
animateMotion TBD TBD
animateColor TBD TBD

This module adds the animate, set, animateMotion, and animateColor elements to the content model of the par, seq, and excl elements of the Timing and Synchronization Module. It also adds these elements to the content model of the body element of the Structure Module.

Aaron: we need to think about how animation applies to SMIL. It should be possible to animate regions, and so animation will apply to the elements of layout. Animating the time containers is interesting, but likely beyond what we want to do here. What properties of media elements are interesting to animate? How about the URL's of media objects? There is much up for discussion here.

Content Control Module

The Content Control Module provides a framework for selecting content based on a set of test attributes. The Content Control Module defines semantics for the switch element.

Elements Attributes Minimal Content Model
switch TBD TBD

This module adds the switch, element to the content model of the par, seq, and excl elements of the Timing and Synchronization Module. It also adds this element to the content model of the body element of the Structure Module. It also adds this element to the content model of the a element of the Linking Module. It also adds this element to the content model of the head element of the Structure Module.

Aaron: also want to include the test-attributes, which can be on elements within or outside of a switch, the usergroups, and the prefetch element

Layout Module

Split up in Basic/Boston?

The Layout Module provides a framework for spatial layout of visual components. The Layout Module defines semantics for the layout, root-layout, and region elements.

Aaron:we may want to split this up, but this will not be done for this draft. This shouldn't affect this profile, since all of the layout will likely be included.

Elements Attributes Minimal Content Model
layout TBD TBD
root-layout TBD TBD
region TBD TBD

This module adds the layout element to the content model of the head element of the Structure Module. It also adds this element to the content model of the switch element of the Content Control Module.

Aaron:probably need more explanation how modules add to each other through the integration profile. Any suggestions for a good format? Maybe define in both sections: briefly note in the section adding functionality, and fully describe inthe section having functionality added.

Linking Module

The Linking Module provides a framework for relating documents to content, documents and document fragments. The Linking Module defines semantics for the a and area elements.

Both the a and area elements have an href attribute, whose value should be a valid URI. Support for URIs using http:// and file:/ access protocols is required, support for other protocols is optional.

Make support for RT(S)P required? Aaron:Hmm. How about if RTP/RTSP is supported by the implementation, then the markup must be supported. If not, then the rtsp attributes/elements are ignored. This is the kind of thing that the profile has to nail down).

Support for URIs with XPointer fragment identifier syntax is not required.
Elements Attributes Minimal Content Model
a TBD TBD
area TBD TBD

This module adds the area and a elements to the content model of the par, seq, and excl elements of the Timing and Synchronization Module. It also adds these elements to the content model of the body element of the Structure Module.

Aaron: need to define what "adding to the content model" means. This does fully descriptive, since the time containers can be children of media elements, etc.

Media Object Module

The Media Object Module provides a framework for declaring media. The Media Object Module defines semantics for the ref, animation, audio, img, video, text, and textstream elements.

Should the profile define a minimal list/recommended of media types?
see http://www.w3.org/AudioVideo/Group/Media/Codecs.html and http://www.w3.org/AudioVideo/Group/Media/baseline_formats.htm

In the SMIL Boston Language Profile, media object elements can have the following attributes, in addition to the attributes defined in the SMIL Media Object Module:

dur
Defined in the SMIL Timing Module
end
Defined in the SMIL Timing Module
fill
For a definition of the semantics of this attribute, see SMIL Timing Module. The attribute can have the values "remove" and "freeze".
id
This attribute uniquely identifies an element within a document. Its value is an XML identifier.
region
This attribute specifies an abstract rendering surface (either visual or acoustic) defined within the layout section of the document. Its value must be an XML identifier. If no rendering surface with this id is defined in the layout section, the values of the formatting properties of this element are determined by the default layout.

In the SMIL Boston Language Profile, media object elements can contain the following elements:

anchor
Defined in Linking Module
area
Defined in Linking Module
par
Defined in Timing Module
seq
Defined in Timing Module
excl
Defined in Timing Module
animate
Defined in Animation Module
set
Defined in Animation Module
animateColor
Defined in Animation Module
animateMotion
Defined in Animation Module
rtpmap
Defined in the Media Object Module
param
defined in the Media Object Module

Can this be moved to an appendix?

Changes from SMIL 1.0

SMIL 1.0 only allowed "anchor" as a child element of a media element. In addition to "anchor", the following elements are now allowed as children of a SMIL media object:

area, anchor
Defined in Linking Module
par, seq, excl
Defined in Timing Module
param, rtpmap
Defined in Media Object Module
animate, set, animateColor, animateMotion
Defined in Animation Module

Elements Attributes Minimal Content Model
ref TBD TBD
img, text TBD TBD
audio, video, animation, textstream TBD TBD

This module adds the ref, animation, audio, img, video, text, and textstream elements to the content model of the par, seq, and excl elements of the Timing and Synchronization Module. It also adds these elements to the content model of the body element of the Structure Module. It also adds these elements to the content model of the a element of the Linking Module.

Metainformation Module

The Metainformation Module provides a framework for describing a document, either to inform the human user or to assist in automation. The Metainformation Module defines semantics for the meta element.

Elements Attributes Minimal Content Model
meta TBD TBD

This module adds the meta element to the content model of the head element of the Structure Module.

Structure Module

The Structure Module provides a framework for structuring a SMIL document. The Structure Module defines semantics for the smil, head, and body elements.
Elements Attributes Minimal Content Model
smil TBD TBD
head TBD TBD
body TBD TBD

This module is a mandatory part in any profile family labeled "SMIL".

Timing and Synchronization Module

The Timing and Synchronization Module provides a framework for describing timing structure, timing control properties, and temporal relationships between elements. The Timing and Synchronization Module defines semantics for par, seq, and excl elements. In addition, this module defines semantics for attributes including begin, dur, end, repeatCount, repeatDur, et al.

Elements Attributes Minimal Content Model
par, seq, excl TBD TBD
begin, end, dur, repeatCount, repeatDur, TBD TBD

This module is mandatory in any profile incorporating SMIL modules.

Transition Effects Module

The Transition Effects Module defines a taxonomy of transition effects as well as semantics and syntax for integrating these effects into XML documents

Elements Attributes Minimal Content Model
TBD TBD TBD

This module is used, it adds the TBD element to the content model of the layout element of the Layout Module.

3. Document Type Definition

This section is normative.

The SMIL Boston document type is defined as a set of SMIL Boston modules. All SMIL Boston modules are defined in the "Modularization of SMIL Boston" specification [[SMILMOD]].

4. References