This Section defines the SMIL structure module. The Structure Module provides the base elements for structuring SMIL content. These elements act as the root in the content model of all document types in the SMIL language profile family. The Structure Module is a mandatory module in a language profile building a member of the SMIL language profile family. The Structure Module is isomorphic with the XHTML Structure Module [XMOD].
The SMIL Structure Module is composed out of the smil, head, and body element, and is compatible with SMIL 1.0 [SMIL10]. The corresponding SMIL 1.0 elements form a subset of the Structure Module, both in syntax and semantics, as their attributes and content model is also exposed by the Structure Module. Thus, the Structure Module is backwards compatible with SMIL 1.0.
This section is Normative on the Semantics, and Informative on the Syntax. (The DTD is normative on the syntax.)
This section defines the elements and attributes that make up the SMIL Structure Level 0 module.
The smil element acts as the root element for all Document Types of the SMIL Language profile family.
The smil element can have the following attributes:
The smil element can contain the following elements:
The head element contains information that is not related to the temporal behavior of the presentation. Three types of information may be contained by head. These are meta information, layout information, and author-defined content control. @@ Add hyperlinks to respective sections in spec.
The head element can have the following attributes:
@@ Revisit profile. We need a way to identify the used language profile. When using DTDs, the FPI serves that purpose. Further, in its use as specfied by HTML, the attribute should move to the Metainformation Module (with text on Integration).
@@ Is skip-content/skipContent an attribute of head?
The head element can contain the following elements:
The head element contains other elements depending on the modules included in the language profile.
The body element contains information that is related to the temporal and linking behavior of the document. It acts as the root element to span the timing tree.
The body element has the timing semantics of a time container equal to that of the seq element [Timing Level0 Module]. @@ Insert correct hyperlinks. Note, that in other language profiles, where a body element from another (Structure) Module is in use, that body element may have different timing semantics. For example, in the HTML+SMIL language profile, the body element takes the semantics of the par element.
The body element can have the following attributes:
The timing attributes are part of the body element so far as the corresponding Timing Modules are part of the language profile. For example, syncMaster is only part of the body element if the Timing Level 2 module is included.
@@ Is skip-content/skipContent an attribute of body?
The body element can contain the following elements:
The body element contains other elements depending on the modules included in the language profile.
This section is Normative.
When this module is used the id, and title attributes are added to all other modules used, including other module families of, non-SMIL origin.
The SMIL Structure Module is the starting module when building any language profile in the SMIL language profile family [SMIL Modules]. The Structure Module cannot be used for building other, non SMIL language profile family, language profiles. To be called a member of the SMIL language profile family the language profile should at least include the following modules [SMIL Modules]:
This implies that the SMIL Structure Module must at least be accompanied
with the above two other modules. (Those modules themselves can still be
used in other, non SMIL language profile family, language profiles.) In
particular, this implies that the corresponding attributes from the Timing
Level 0 Module are supported by the
@@ A consequence is that
body> also has the attribute
When building a language profile in the SMIL language profile family the SMIL Structure Module must be integrated with the other SMIL modules conform the descriptions in the SMIL-Boston language profile. This means that the set of modules shared between any language profiles in the SMIL language profile family comply to the same content model and behavior. This obviously concern the integration requirements specified by the corresponding modules, but in particular includes the additional requirements specified in the SMIL-Boston language profile. Do we have such additional requirements?
When non-SMIL modules are integrated in the language profile, it must be specified how the elements from those non-SMIL modules fit into the content model of the used SMIL modules (and vice versa). With respect to the SMIL Structure module, the Profiling Entities in the DTD need to be overridden. This realizes a so-called hybrid document type [XMOD]. In case of a so-called compound document type, the rules of XML-namespaces must be satisfied [XML-NS].
This section is Normative.
This section specifies the DTD of the SMIL Structure Module.
@@ The xml:base attribute needs to be added, awaiting XLink resolutions. This also requires adaptation in the meta Module. Note, that XHTML knows a separate Base Module.
<!-- ====================================================================== --> <!-- SMIL Structure Module =============================================== --> <!-- file: SMIL-struct.mod This is Smil-Boston. Copyright 2000 W3C (MIT, INRIA, Keio), All Rights Reserved. This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ELEMENTS SMIL-Boston Document Structure//EN" SYSTEM "SMIL-struct.mod" Author: Warner ten Kate Revision: $Id: structure.html,v 1.2 2000/06/22 17:42:00 hugo Exp $ ===================================================================== --> <!-- ================== SMIL Document Root =============================== --> <!ENTITY % smil.content "EMPTY" > <!ENTITY % smil.attrib "" > <!ENTITY % smil.qname "smil" > <!ELEMENT %smil.qname; %smil.content;> <!ATTLIST %smil.qname; %smil.attrib; xmlns %URI; #FIXED %SMIL.ns; > <!-- ================== The Document Head ================================ --> <!ENTITY % head.content "EMPTY" > <!ENTITY % head.attrib "" > <!ENTITY % head.qname "head" > <!ELEMENT %head.qname; %head.content;> <!ATTLIST %head.qname; %head.attr; profile %URI; #FIXED %SMIL.profile; > <!--=================== The Document Body - Timing Root ================== --> <!ENTITY % body.content "EMPTY" > <!ENTITY % body.attrib "" > <!ENTITY % body.qname "body" > <!ELEMENT %body.qname; %body.content;> <!ATTLIST %body.qname; %body.attrib;> <!-- end of SMIL-struct.mod -->
This section is Informative.
This section specifies the Schema of the SMIL Structure Module.