previous   next   contents  

Appendix A. SMIL 2.0 DTDs

A zip archive of all the SMIL 2.0 DTDs is also available


Table of contents

A.1 SMIL 2.0 Module DTDs:

A.1.1 The SMIL Animation Module

<!-- ======================================================================= -->
<!-- SMIL Animation Module  ================================================ -->
<!-- file: SMIL-anim.mod

     This is SMIL 2.0.
     Copyright 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.

        Author:     Patrick Schmitz, Ken Day, Jacco van Ossenbruggen
        Revision:   $Id: smil-DTD.html,v 1.1 2001/06/05 09:16:20 jigsaw Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Animation//EN"
     SYSTEM "SMIL-anim.mod"

     ======================================================================= -->


<!-- ============================= Dependencies ============================ -->
<!-- The integrating profile is expected to define the following entities,
     Unless the defaults provided are sufficient.
 -->

<!-- SplineAnimation.module entity:  Define as "INCLUDE" if the integrating
     profile includes the SMIL 2.0 SplineAnimation Module, "IGNORE" if not.
     The default is "IGNORE", i.e. by default SplineAnimation is not included
     in the integrating language profile.
 -->
<!ENTITY % SplineAnimation.module "IGNORE">

<!-- Animation depends on SMIL Timing, importing the attributes listed
     in the AnimationTime.attrib entity.  If the integrating profile does 
     include the MinMaxTiming.module, its default value includes the 
     attributes defined in BasicInlineTiming.attrib and MinMaxTiming.attrib.
     Otherwise, it is defaulted to BasicInlineTiming.attrib, which is the 
     minimum requirement.
     
     Note that the profile can override these defaults by redefining 
     AnimationTime.attrib.  The profile is also expected to define 
     Fill.attrib and FillDefault.attrib.
 -->
<!ENTITY % MinMaxTiming.module "IGNORE">
<![%MinMaxTiming.module;[
  <!ENTITY % AnimationTime.attrib "
	%BasicInlineTiming.attrib;
	%BasicInlineTiming-deprecated.attrib;
	%MinMaxTiming.attrib;
  ">
]]>
<!ENTITY % AnimationTime.attrib "%BasicInlineTiming.attrib;">
<!ENTITY % Fill.attrib "">

<!ENTITY % animTimingAttrs "
  %AnimationTime.attrib;             
  %Fill.attrib;            
  %FillDefault.attrib;            
">

<!-- Language Designer chooses to integrate targetElement or xlink attributes.
     To integrate the targetElement attribute, define the entity
     animation-targetElement as "INCLUDE"; to integrate the XLink attributes,
     define animation-XLinkTarget as "INCLUDE".
     
     One or the other MUST be defined.  It is strongly recommended that only one
     of the two be defined.
-->

<!ENTITY % animation-targetElement "IGNORE">
<![%animation-targetElement;[
  <!ENTITY % animTargetElementAttr
   "targetElement  IDREF  #IMPLIED"
  >
]]>
<!ENTITY % animTargetElementAttr "">

<!ENTITY % animation-XLinkTarget "IGNORE">
<![%animation-XLinkTarget;[
  <!ENTITY % animTargetElementXLink "
    actuate        (onRequest|onLoad)                  'onLoad' 
    href           %URI;                               #IMPLIED
    show           (new | embed | replace)             #FIXED 'embed'
    type           (simple | extended | locator | arc) #FIXED 'simple'
">
]]>
<!ENTITY % animTargetElementXLink "">


<!-- ========================== Attribute Groups =========================== -->

<!-- All animation elements include these attributes -->
<!ENTITY % animAttrsCommon
 "%Core.attrib;
  %I18n.attrib;
  %Test.attrib;
  %animTimingAttrs;
  %animTargetElementAttr;
  %animTargetElementXLink;"
>

<!-- All except animateMotion need an identified target attribute -->
<!ENTITY % animAttrsNamedTarget
 "%animAttrsCommon;
  attributeName  CDATA  #REQUIRED
  attributeType  CDATA  #IMPLIED"
>

<!-- All except set support the full animation-function specification,
     additive and cumulative animation.
     SplineAnimation adds the attributes keyTimes, keySplines and path,
	 and the calcMode value "spline", to those of BasicAnimation.
 -->
<![%SplineAnimation.module;[
  <!ENTITY % splineAnimCalcModeValues "| spline">
  <!ENTITY % splineAnimValueAttrs
   "keyTimes CDATA #IMPLIED
    keySplines CDATA #IMPLIED"
  >
  <!ENTITY % splineAnimPathAttr
   "path CDATA #IMPLIED"
  >
]]>
<!ENTITY % splineAnimCalcModeValues "">
<!ENTITY % splineAnimValueAttrs "">
<!ENTITY % splineAnimPathAttr "">

<!ENTITY % animValueAttrs "
  %BasicAnimation.attrib;
  calcMode   (discrete|linear|paced %splineAnimCalcModeValues;) 'linear'
  %splineAnimValueAttrs;
  additive   (replace | sum) 'replace'
  accumulate (none | sum) 'none'"
>


<!-- ========================== Animation Elements ========================= -->

<!ENTITY % animate.attrib  "">
<!ENTITY % animate.content "EMPTY">
<!ENTITY % animate.qname   "animate">
<!ELEMENT %animate.qname; %animate.content;>
<!ATTLIST %animate.qname; %animate.attrib;
  %animAttrsNamedTarget;
  %animValueAttrs;
>

<!ENTITY % set.attrib  "">
<!ENTITY % set.content "EMPTY">
<!ENTITY % set.qname   "set">
<!ELEMENT %set.qname; %set.content;>
<!ATTLIST %set.qname; %set.attrib;
  %animAttrsNamedTarget;
  to  CDATA  #IMPLIED
>

<!ENTITY % animateMotion.attrib  "">
<!ENTITY % animateMotion.content "EMPTY">
<!ENTITY % animateMotion.qname   "animateMotion">
<!ELEMENT %animateMotion.qname; %animateMotion.content;>
<!ATTLIST %animateMotion.qname; %animateMotion.attrib;
  %animAttrsCommon;
  %animValueAttrs;
  %splineAnimPathAttr;
  origin  (default)  "default"
>


<!ENTITY % animateColor.attrib  "">
<!ENTITY % animateColor.content "EMPTY">
<!ENTITY % animateColor.qname   "animateColor">
<!ELEMENT %animateColor.qname; %animateColor.content;>
<!ATTLIST %animateColor.qname; %animateColor.attrib;
  %animAttrsNamedTarget;
  %animValueAttrs;
>

<!-- ========================== End Animation ============================= -->
<!-- end of SMIL-anim.mod -->

A.1.2 The SMIL Content Control Module

<!-- ================================================================= -->
<!-- SMIL Content Control Module  ==================================== -->
<!-- file: SMIL-control.mod

     This is SMIL 2.0.
     Copyright 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.

     Author:     Jacco van Ossenbruggen, Aaron Cohen
     Revision:   $Id: smil-DTD.html,v 1.1 2001/06/05 09:16:20 jigsaw Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Content Control//EN"
     SYSTEM "SMIL-control.mod"

     ================================================================= -->

<!ENTITY %  BasicContentControl.module "INCLUDE">
<![%BasicContentControl.module;[
  <!ENTITY % switch.attrib "">
  <!ENTITY % switch.content "EMPTY">
  <!ENTITY % switch.qname "switch">
  
  <!ELEMENT %switch.qname; %switch.content;>
  <!ATTLIST %switch.qname; %switch.attrib;
        %Core.attrib;
        %I18n.attrib;
  >
]]>

<!-- ========================= CustomTest Elements ========================= -->
<!ENTITY %  CustomTestAttributes.module "IGNORE">
<![%CustomTestAttributes.module;[

  <!ENTITY % customTest.attrib "">
  <!ENTITY % customTest.qname "customTest">
  <!ENTITY % customTest.content "EMPTY">
  <!ELEMENT %customTest.qname; %customTest.content;>
  <!ATTLIST %customTest.qname; %customTest.attrib;
	defaultState (true|false)                   'false'
	override     (visible|hidden) 		    'hidden'
	uid          %URI.datatype;                 #IMPLIED
        %Core.attrib;
        %I18n.attrib;
  >
  <!ENTITY % customAttributes.attrib "">
  <!ENTITY % customAttributes.qname "customAttributes">
  <!ENTITY % customAttributes.content "(customTest+)">
  <!ELEMENT %customAttributes.qname; %customAttributes.content;>
  <!ATTLIST %customAttributes.qname; %customAttributes.attrib;
        %Core.attrib;
        %I18n.attrib;
  >

]]> <!-- end of CustomTestAttributes -->

<!-- ========================= PrefetchControl Elements ==================== -->
<!ENTITY % PrefetchControl.module "IGNORE">
<![%PrefetchControl.module;[
  <!ENTITY % prefetch.attrib "">
  <!ENTITY % prefetch.qname "prefetch">
  <!ENTITY % prefetch.content "EMPTY">
  <!ELEMENT %prefetch.qname; %prefetch.content;>
  <!ATTLIST %prefetch.qname; %prefetch.attrib;
	src           %URI.datatype;    #IMPLIED
	mediaSize     CDATA		#IMPLIED
	mediaTime     CDATA		#IMPLIED
	bandwidth     CDATA		#IMPLIED
        %Core.attrib;
        %I18n.attrib;
  >
]]>



   

A.1.3 The SMIL Layout Module

   
<!-- ======================================================================= -->
<!-- SMIL 2.0 Layout Modules =============================================== -->
<!-- file: SMIL-layout.mod

        This is SMIL 2.0.
        Copyright 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.

        Authors:  Jacco van Ossenbruggen, Aaron Cohen
        Revision: $Id: smil-DTD.html,v 1.1 2001/06/05 09:16:20 jigsaw Exp $

        This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Layout//EN"
        SYSTEM "SMIL-layout.mod"

        ==================================================================== -->

<!-- ================== BasicLayout ======================================== -->
<!-- ================== BasicLayout Profiling Entities ===================== -->
<!ENTITY % layout.attrib       "">
<!ENTITY % region.attrib       "">
<!ENTITY % rootlayout.attrib   "">
<!ENTITY % layout.content     "EMPTY">
<!ENTITY % region.content     "EMPTY">
<!ENTITY % rootlayout.content "EMPTY">

<!-- ================== BasicLayout Entities =============================== -->
<!ENTITY % common-layout-attrs "
        height              CDATA    'auto'
        width               CDATA    'auto'
        %BackgroundColor.attrib;
">

<!ENTITY % region-attrs "
        bottom              CDATA    'auto'
        left                CDATA    'auto'
        right               CDATA    'auto'
        top                 CDATA    'auto'
        z-index             CDATA    #IMPLIED
	showBackground      (always|whenActive) 'always'
	%Fit.attrib;
">

<!-- ================== BasicLayout Elements =============================== -->
<!--
     Layout contains the region and root-layout elements defined by
     smil-basic-layout or other elements defined an external layout
     mechanism.
-->

<!ENTITY % layout.qname "layout">
<!ELEMENT %layout.qname; %layout.content;>
<!ATTLIST %layout.qname; %layout.attrib;
	%Core.attrib;
	%I18n.attrib;
        type CDATA 'text/smil-basic-layout'
>

<!-- ================== Region Element ======================================-->
<!ENTITY % region.qname "region">
<!ELEMENT %region.qname; %region.content;>
<!ATTLIST %region.qname; %region.attrib;
	%Core.attrib;
	%I18n.attrib;
        %BackgroundColor-deprecated.attrib;
        %common-layout-attrs;
        %region-attrs;
        regionName CDATA #IMPLIED
>

<!-- ================== Root-layout Element =================================-->
<!ENTITY % root-layout.qname "root-layout">
<!ELEMENT %root-layout.qname; %rootlayout.content; >
<!ATTLIST %root-layout.qname; %rootlayout.attrib;
	%Core.attrib;
	%I18n.attrib;
        %BackgroundColor-deprecated.attrib;
        %common-layout-attrs;
>


<!-- ================== AudioLayout ======================================== -->
<!ENTITY % AudioLayout.module "IGNORE">
<![%AudioLayout.module;[
  <!-- ================== AudioLayout Entities ============================= -->
  <!ENTITY % audio-attrs "
        soundLevel                        CDATA    '100&#37;'
  ">

  <!-- ================ AudioLayout Elements =============================== -->
  <!-- ================ Add soundLevel to region element =================== -->
  <!ATTLIST %region.qname; %audio-attrs;>
]]> <!-- end AudioLayout.module -->


<!-- ================ MultiWindowLayout ==================================== -->
<!ENTITY % MultiWindowLayout.module "IGNORE">
<![%MultiWindowLayout.module;[
  <!-- ============== MultiWindowLayout Profiling Entities ================= -->
  <!ENTITY % topLayout.attrib    "">
  <!ENTITY % topLayout.content   "EMPTY">
  
  <!-- ============== MultiWindowLayout Elements =========================== -->
  <!--================= topLayout element ================================== -->
  <!ENTITY % topLayout.qname "topLayout">
  <!ELEMENT %topLayout.qname; %topLayout.content;>
  <!ATTLIST %topLayout.qname; %topLayout.attrib;
	%Core.attrib;
	%I18n.attrib;
        %common-layout-attrs;
	close               (onRequest|whenNotActive) 'onRequest'
	open                (onStart|whenActive)      'onStart'
  >
]]> <!-- end MultiWindowLayout.module -->


<!-- ====================== HierarchicalLayout ============================= -->
<!ENTITY % HierarchicalLayout.module "IGNORE">
<![%HierarchicalLayout.module;[
  <!-- ========== HierarchicalLayout Profiling Entities ==================== -->
  <!ENTITY % regPoint.attrib     "">
  <!ENTITY % regPoint.content   "EMPTY">

  <!-- ============ HierarchicalLayout Elements ============================ -->
  <!ENTITY % regPoint.qname "regPoint">
  <!ELEMENT %regPoint.qname; %regPoint.content;>
  <!ATTLIST %regPoint.qname; %regPoint.attrib;
	%Core.attrib;
	%I18n.attrib;
        %RegAlign.attrib;
        bottom              CDATA    'auto'
        left                CDATA    'auto'
        right               CDATA    'auto'
        top                 CDATA    'auto'
  >
]]> <!-- end HierarchicalLayout.module -->


<!-- end of SMIL-layout.mod -->



 

A.1.4 The SMIL Linking Module

<!-- ======================================================================= -->
<!-- SMIL Linking Module  ================================================== -->
<!-- file: SMIL-link.mod

     This is SMIL 2.0.
     Copyright 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.

        Author:     Jacco van Ossenbruggen, Lloyd Rutledge, Aaron Cohen
        Revision:   $Id: smil-DTD.html,v 1.1 2001/06/05 09:16:20 jigsaw Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Linking//EN"
     SYSTEM "SMIL-link.mod"

     ======================================================================= -->

<!-- ======================== LinkingAttributes Entities =================== -->
<!ENTITY % linking-attrs "
	sourceLevel             CDATA               '100&#37;'
	destinationLevel        CDATA               '100&#37;'
	sourcePlaystate         (play|pause|stop)   #IMPLIED
	destinationPlaystate    (play|pause|stop)   'play'
	show                    (new|pause|replace) 'replace'
	accesskey               %Character.datatype; #IMPLIED
	target                  CDATA                #IMPLIED
	external                (true|false)        'false'
	actuate                 (onRequest|onLoad)  'onRequest'
	%Tabindex.attrib;
">



<!-- ========================= BasicLinking Elements ======================= -->
<!ENTITY % BasicLinking.module "IGNORE">
<![%BasicLinking.module;[

  <!-- ======================= BasicLinking Entities ======================= -->
  <!ENTITY % Shape "(rect|circle|poly|default)">
  <!ENTITY % Coords "CDATA">
    <!-- comma separated list of lengths -->

  <!ENTITY % a.attrib  "">
  <!ENTITY % a.content "EMPTY">
  <!ENTITY % a.qname   "a">
  <!ELEMENT %a.qname; %a.content;>
  <!ATTLIST %a.qname; %a.attrib;
    %linking-attrs;
    href                      %URI.datatype;      #IMPLIED
    %Core.attrib;
    %I18n.attrib;
  >

  <!ENTITY % area.attrib  "">
  <!ENTITY % area.content "EMPTY">
  <!ENTITY % area.qname   "area">
  <!ELEMENT %area.qname; %area.content;>
  <!ATTLIST %area.qname; %area.attrib;
    %linking-attrs;
    shape                     %Shape;             'rect'
    coords                    %Coords;            #IMPLIED
    href                      %URI.datatype;      #IMPLIED
    nohref                    (nohref)            #IMPLIED
    %Core.attrib;
    %I18n.attrib;
  >

  <!ENTITY % anchor.attrib  "">
  <!ENTITY % anchor.content "EMPTY">
  <!ENTITY % anchor.qname  "anchor">
  <!ELEMENT %anchor.qname; %anchor.content;>
  <!ATTLIST %anchor.qname; %anchor.attrib;
    %linking-attrs;
    shape                     %Shape;             'rect'
    coords                    %Coords;            #IMPLIED
    href                      %URI.datatype;               #IMPLIED
    nohref                    (nohref)            #IMPLIED
    %Core.attrib;
    %I18n.attrib;
  >
]]> <!-- end of BasicLinking -->

<!-- ======================== ObjectLinking ================================ -->
<!ENTITY % ObjectLinking.module "IGNORE">
<![%ObjectLinking.module;[

  <!ENTITY % Fragment "
    fragment                  CDATA               #IMPLIED
  ">

  <!-- ====================== ObjectLinking Elements ======================= -->
  <!-- add fragment attribute to area, and anchor elements -->
  <!ATTLIST %area.qname;
      %Fragment;
  >

  <!ATTLIST %anchor.qname;
      %Fragment;
  >
]]>
<!-- ======================== End ObjectLinking ============================ -->

<!-- end of SMIL-link.mod -->



  

A.1.5 The SMIL Media Object Module

<!-- ======================================================================= -->
<!-- SMIL 2.0 Media Objects Modules ======================================== -->
<!-- file: SMIL-media.mod

     This is SMIL 2.0.
     Copyright 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.

     Author:     Rob Lanphier, Jacco van Ossenbruggen
     Revision:   $Id: smil-DTD.html,v 1.1 2001/06/05 09:16:20 jigsaw Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Media Objects//EN"
     SYSTEM "SMIL-media.mod"

     ======================================================================= -->

<!-- ================== Profiling Entities ================================= -->

<!ENTITY % MediaClipping.module "IGNORE">
<![%MediaClipping.module;[
  <!ENTITY % mo-attributes-MediaClipping "
	%MediaClip.attrib;
  ">
]]>
<!ENTITY % mo-attributes-MediaClipping "">

<!ENTITY % MediaClipping.deprecated.module "IGNORE">
<![%MediaClipping.module;[
  <!ENTITY % mo-attributes-MediaClipping-deprecated "
	%MediaClip.attrib.deprecated;
  ">
  ]]>
<!ENTITY % mo-attributes-MediaClipping-deprecated "">

<!ENTITY % MediaParam.module "IGNORE">
<![%MediaParam.module;[
  <!ENTITY % mo-attributes-MediaParam "
        erase        (whenDone|never)	'whenDone'
        mediaRepeat  (preserve|strip)	'preserve'
  ">
  <!ENTITY % param.qname "param">
  <!ELEMENT %param.qname; EMPTY>

  <!ATTLIST %param.qname; %param.attrib;
    %Core.attrib;
    %I18n.attrib;
    name        CDATA          #IMPLIED
    value       CDATA          #IMPLIED
    valuetype   (data|ref|object) "data"
    type        %ContentType.datatype;  #IMPLIED
  >
]]>
<!ENTITY % mo-attributes-MediaParam "">

<!ENTITY % MediaAccessibility.module "IGNORE">
<![%MediaAccessibility.module;[
  <!ENTITY % mo-attributes-MediaAccessibility "
        readIndex    CDATA           #IMPLIED
  ">
]]>
<!ENTITY % mo-attributes-MediaAccessibility "">

<!ENTITY % BasicMedia.module "INCLUDE">
<![%BasicMedia.module;[
  <!ENTITY % media-object.content "EMPTY">
  <!ENTITY % media-object.attrib "">

  <!-- ================ Media Objects Entities ============================= -->

  <!ENTITY % mo-attributes-BasicMedia "
        src             CDATA   #IMPLIED
        type            CDATA   #IMPLIED
  ">

  <!ENTITY % mo-attributes "
        %Core.attrib;
        %I18n.attrib;
        %Description.attrib;
        %mo-attributes-BasicMedia;
        %mo-attributes-MediaParam;
        %mo-attributes-MediaAccessibility;
        %media-object.attrib;
  ">

  <!--
     Most info is in the attributes, media objects are empty or
     have children defined at the language integration level:
  -->

  <!ENTITY % mo-content "%media-object.content;">

  <!-- ================ Media Objects Elements ============================= -->
  <!ENTITY % ref.qname        "ref">
  <!ENTITY % audio.qname      "audio">
  <!ENTITY % img.qname        "img">
  <!ENTITY % video.qname      "video">
  <!ENTITY % text.qname       "text">
  <!ENTITY % textstream.qname "textstream">
  <!ENTITY % animation.qname  "animation">

  <!ENTITY % ref.content        "%mo-content;">
  <!ENTITY % audio.content      "%mo-content;">
  <!ENTITY % img.content        "%mo-content;">
  <!ENTITY % video.content      "%mo-content;">
  <!ENTITY % text.content       "%mo-content;">
  <!ENTITY % textstream.content "%mo-content;">
  <!ENTITY % animation.content  "%mo-content;">

  <!ELEMENT %ref.qname;           %ref.content;>
  <!ELEMENT %audio.qname;         %audio.content;>
  <!ELEMENT %img.qname;           %img.content;>
  <!ELEMENT %video.qname;         %video.content;>
  <!ELEMENT %text.qname;          %text.content;>
  <!ELEMENT %textstream.qname;    %textstream.content;>
  <!ELEMENT %animation.qname;     %animation.content;>

  <!ATTLIST %img.qname;           
	  %mo-attributes;
  >
  <!ATTLIST %text.qname;          
	  %mo-attributes;
  >
  <!ATTLIST %ref.qname;           
          %mo-attributes-MediaClipping;
          %mo-attributes-MediaClipping-deprecated;
	  %mo-attributes;
  >
  <!ATTLIST %audio.qname;         
          %mo-attributes-MediaClipping;
          %mo-attributes-MediaClipping-deprecated;
	  %mo-attributes;
  >
  <!ATTLIST %video.qname;         
          %mo-attributes-MediaClipping;
          %mo-attributes-MediaClipping-deprecated;
	  %mo-attributes;
  >
  <!ATTLIST %textstream.qname;    
          %mo-attributes-MediaClipping;
          %mo-attributes-MediaClipping-deprecated;
	  %mo-attributes;
  >
  <!ATTLIST %animation.qname;     
          %mo-attributes-MediaClipping;
          %mo-attributes-MediaClipping-deprecated;
	  %mo-attributes;
  >
]]>
<!ENTITY % mo-attributes-BasicMedia "">

<!-- BrushMedia -->
<!ENTITY % BrushMedia.module "IGNORE">
<![%BrushMedia.module;[
  <!ENTITY % brush.attrib "">
  <!ENTITY % brush.content "%mo-content;">
  <!ENTITY % brush.qname "brush">
  <!ELEMENT %brush.qname; %brush.content;>
  <!ATTLIST %brush.qname; %brush.attrib; 
        %Core.attrib;
        %I18n.attrib;
        %Description.attrib;
        %mo-attributes-MediaAccessibility;
        %mo-attributes-MediaParam;
        %media-object.attrib;
        color        CDATA            #IMPLIED
  >
]]>

<!-- end of SMIL-media.mod -->



  

A.1.6 The SMIL Metainformation Module

<!-- ================================================================ -->
<!-- SMIL Metainformation Module  =================================== -->
<!-- file: SMIL-metainformation.mod

     This is SMIL 2.0.
     Copyright 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.

     This module declares the meta and metadata elements types and 
     its attributes, used to provide declarative document metainformation.

     Author: Thierry Michel, Jacco van Ossenbruggen
     Revision: $Id: smil-DTD.html,v 1.1 2001/06/05 09:16:20 jigsaw Exp $
   
     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Document Metadata//EN"
     SYSTEM "SMIL-metainformation.mod"

     ================================================================ -->


<!-- ================== Profiling Entities ========================== -->

<!ENTITY % meta.content     "EMPTY">
<!ENTITY % meta.attrib      "">
<!ENTITY % meta.qname       "meta">

<!ENTITY % metadata.content "EMPTY">
<!ENTITY % metadata.attrib  "">
<!ENTITY % metadata.qname   "metadata">

<!-- ================== meta element ================================ -->

<!ELEMENT %meta.qname; %meta.content;>
<!ATTLIST %meta.qname; %meta.attrib;
  %Core.attrib;
  %I18n.attrib;
  content CDATA #IMPLIED
  name CDATA #REQUIRED        
  >

<!-- ================== metadata element ============================ -->

<!ELEMENT %metadata.qname; %metadata.content;>
<!ATTLIST %metadata.qname; %metadata.attrib;
  %Core.attrib;
  %I18n.attrib;
>

<!-- end of SMIL-metadata.mod -->

A.1.7 The SMIL Structure Module

<!-- ====================================================================== -->
<!-- SMIL Structure Module  =============================================== -->
<!-- file: SMIL-struct.mod

     This is SMIL 2.0.
     Copyright 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Document Structure//EN"
     SYSTEM "SMIL-struct.mod"

     Author: Warner ten Kate, Jacco van Ossenbruggen
     Revision: $Id: smil-DTD.html,v 1.1 2001/06/05 09:16:20 jigsaw Exp $

     ===================================================================== -->

<!-- ================== SMIL Document Root =============================== -->
<!ENTITY % smil.attrib  "" >
<!ENTITY % smil.content "EMPTY" >
<!ENTITY % smil.qname   "smil" >

<!ELEMENT %smil.qname; %smil.content;>
<!ATTLIST %smil.qname; %smil.attrib;
        %Core.attrib;
        %I18n.attrib;
        xmlns %URI.datatype; #REQUIRED 
>

<!-- ================== The Document Head ================================ -->
<!ENTITY % head.content "EMPTY" >
<!ENTITY % head.attrib  "" >
<!ENTITY % head.qname   "head" >

<!ELEMENT %head.qname; %head.content;>
<!ATTLIST %head.qname; %head.attrib;
        %Core.attrib;
        %I18n.attrib;
>

<!--=================== 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;
        %Core.attrib;
        %I18n.attrib;
>
<!-- end of SMIL-struct.mod -->



 

A.1.8 The SMIL Timing Module

<!-- ================================================================= -->
<!-- SMIL Timing and Synchronization Modules ========================= -->
<!-- file: SMIL-timing.mod

     This is SMIL 2.0.
     Copyright 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.

     Author:     Jacco van Ossenbruggen.
     Revision:   $Id: smil-DTD.html,v 1.1 2001/06/05 09:16:20 jigsaw Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Timing//EN"
     SYSTEM "SMIL-timing.mod"

     ================================================================= -->


<!-- ================== Timing Elements ============================== -->

<!ENTITY % BasicTimeContainers.module "IGNORE">
<![%BasicTimeContainers.module;[
  <!ENTITY % par.content "EMPTY">
  <!ENTITY % seq.content "EMPTY">
  <!ENTITY % par.attrib  "">
  <!ENTITY % seq.attrib  "">
  <!ENTITY % seq.qname   "seq">
  <!ENTITY % par.qname   "par">

  <!ELEMENT %seq.qname; %seq.content;>
  <!ATTLIST %seq.qname; %seq.attrib;
   %Core.attrib;
   %I18n.attrib;
   %Description.attrib;
  >

  <!ELEMENT %par.qname; %par.content;>
  <!ATTLIST %par.qname; %par.attrib;
   %Core.attrib;
   %I18n.attrib;
   %Description.attrib;
  >
]]>  <!-- End of BasicTimeContainers.module -->


<!ENTITY % ExclTimeContainers.module "IGNORE">
<![%ExclTimeContainers.module;[
  <!ENTITY % excl.content          "EMPTY">
  <!ENTITY % priorityClass.content "EMPTY">
  <!ENTITY % excl.attrib           "">
  <!ENTITY % priorityClass.attrib  "">
  <!ENTITY % excl.qname            "excl">
  <!ENTITY % priorityClass.qname   "priorityClass">

  <!ELEMENT %excl.qname; %excl.content;>
  <!ATTLIST %excl.qname; %excl.attrib;
   %Core.attrib;
   %I18n.attrib;
   %Description.attrib;
  >

  <!ELEMENT %priorityClass.qname; %priorityClass.content;>
  <!ATTLIST %priorityClass.qname; %priorityClass.attrib;
    peers	(stop|pause|defer|never) "stop"
    higher      (stop|pause)             "pause" 
    lower       (defer|never)            "defer"
    pauseDisplay (disable|hide|show )    "show"
    %Description.attrib;
    %Core.attrib;
    %I18n.attrib;
  >
]]>  <!-- End of ExclTimeContainers.module -->

<!-- end of SMIL-timing.mod -->



 
 

A.1.9 The SMIL Transition Module

<!-- ====================================================================== -->
<!-- SMIL Transition Module  ============================================== -->
<!-- file: SMIL-transition.mod

     This is SMIL 2.0
     Copyright 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.

     Revision:   $Id: smil-DTD.html,v 1.1 2001/06/05 09:16:20 jigsaw Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Transition//EN"
     SYSTEM "SMIL-transition.mod"

     ====================================================================== -->

<!ENTITY % TransitionModifiers.module "IGNORE">
<![%TransitionModifiers.module;[
 <!ENTITY % transition-modifiers-attrs '
    horzRepeat   CDATA                  "0"
    vertRepeat   CDATA                  "0"
    borderWidth  CDATA                  "0"
    borderColor  CDATA                  "black"
 '>
]]> <!-- End of TransitionModifiers.module -->
<!ENTITY % transition-modifiers-attrs "">

<!ENTITY %  BasicTransitions.module "INCLUDE">
<![%BasicTransitions.module;[

 <!ENTITY % transition-types "(barWipe|boxWipe|fourBoxWipe|barnDoorWipe|
  diagonalWipe|bowTieWipe|miscDiagonalWipe|veeWipe|barnVeeWipe|zigZagWipe|
  barnZigZagWipe|irisWipe|triangleWipe|arrowHeadWipe|pentagonWipe|
  hexagonWipe|ellipseWipe|eyeWipe|roundRectWipe|starWipe|miscShapeWipe|clockWipe|
  pinWheelWipe|singleSweepWipe|fanWipe|doubleFanWipe|doubleSweepWipe|
  saloonDoorWipe|windshieldWipe|snakeWipe|spiralWipe|parallelSnakesWipe|
  boxSnakesWipe|waterfallWipe|pushWipe|slideWipe|fade)"
 >

 <!ENTITY % transition-subtypes "(bottom
  |bottomCenter|bottomLeft|bottomLeftClockwise|bottomLeftCounterClockwise|
  bottomLeftDiagonal|bottomRight|bottomRightClockwise|
  bottomRightCounterClockwise|bottomRightDiagonal|centerRight|centerTop|
  circle|clockwiseBottom|clockwiseBottomRight|clockwiseLeft|clockwiseNine|
  clockwiseRight|clockwiseSix|clockwiseThree|clockwiseTop|clockwiseTopLeft|
  clockwiseTwelve|cornersIn|cornersOut|counterClockwiseBottomLeft|
  counterClockwiseTopRight|crossfade|diagonalBottomLeft|
  diagonalBottomLeftOpposite|diagonalTopLeft|diagonalTopLeftOpposite|
  diamond|doubleBarnDoor|doubleDiamond|down|fadeFromColor|fadeToColor|
  fanInHorizontal|fanInVertical|fanOutHorizontal|fanOutVertical|fivePoint|
  fourBlade|fourBoxHorizontal|fourBoxVertical|fourPoint|fromBottom|fromLeft|
  fromRight|fromTop|heart|horizontal|horizontalLeft|horizontalLeftSame|
  horizontalRight|horizontalRightSame|horizontalTopLeftOpposite|
  horizontalTopRightOpposite|keyhole|left|leftCenter|leftToRight|
  oppositeHorizontal|oppositeVertical|parallelDiagonal|
  parallelDiagonalBottomLeft|parallelDiagonalTopLeft|
  parallelVertical|rectangle|right|rightCenter|sixPoint|top|topCenter|
  topLeft|topLeftClockwise|topLeftCounterClockwise|topLeftDiagonal|
  topLeftHorizontal|topLeftVertical|topRight|topRightClockwise|
  topRightCounterClockwise|topRightDiagonal|topToBottom|twoBladeHorizontal|
  twoBladeVertical|twoBoxBottom|twoBoxLeft|twoBoxRight|twoBoxTop|up|
  vertical|verticalBottomLeftOpposite|verticalBottomSame|verticalLeft|
  verticalRight|verticalTopLeftOpposite|verticalTopSame)"
 >

 <!ENTITY  % transition-attrs '
    type         %transition-types;     #IMPLIED
    subtype      %transition-subtypes;  #IMPLIED
    fadeColor	 CDATA		        "black"
    %transition-modifiers-attrs;
 '>

 <!ENTITY % transition.attrib  "">
 <!ENTITY % transition.content "EMPTY">
 <!ENTITY % transition.qname   "transition">
 <!ELEMENT %transition.qname; %transition.content;>
 <!ATTLIST %transition.qname; %transition.attrib;
    %Core.attrib;
    %I18n.attrib;
    %transition-attrs;
    dur           %TimeValue.datatype; #IMPLIED
    startProgress CDATA              "0.0"
    endProgress   CDATA              "1.0"
    direction     (forward|reverse)  "forward"
 >
]]> <!-- End of BasicTransitions.module -->

<!ENTITY %  InlineTransitions.module "IGNORE">
<![%InlineTransitions.module;[

 <!ENTITY % transitionFilter.attrib  "">
 <!ENTITY % transitionFilter.content "EMPTY">
 <!ENTITY % transitionFilter.qname   "transitionFilter">
 <!ELEMENT %transitionFilter.qname; %transitionFilter.content;>
 <!ATTLIST %transitionFilter.qname; %transitionFilter.attrib;
    %Core.attrib;
    %I18n.attrib;
    %transition-attrs;
    %BasicInlineTiming.attrib;
    %BasicAnimation.attrib;
    calcMode   (discrete|linear|paced) 'linear'
 >
]]> <!-- End of InlineTransitions.module -->

<!-- end of SMIL-transition.mod -->



 

A.2 SMIL 2.0 Language Profile:

A.2.1 SMIL 2.0 Language Profile document model

<!-- ======================================================================  -->
<!-- SMIL 2.0 Document Model Module =======================================  -->
<!-- file: smil-model-1.mod

     This is SMIL 2.0.
     Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ENTITIES SMIL 2.0 Document Model 1.0//EN"
     SYSTEM "smil-model-1.mod"

     Author: Warner ten Kate, Jacco van Ossenbruggen, Aaron Cohen
     Revision: $Id: smil-DTD.html,v 1.1 2001/06/05 09:16:20 jigsaw Exp $
     ======================================================================= -->

<!--
        This file defines the SMIL 2.0 Language Document Model.
        All attributes and content models are defined in the second
        half of this file.  We first start with some utility definitions.
        These are mainly used to simplify the use of Modules in the
        second part of the file.

-->

<!-- ================== Util: Head ========================================= -->
<!ENTITY % head-meta.content       "metadata">
<!ENTITY % head-layout.content     "layout|switch">
<!ENTITY % head-control.content    "customAttributes">
<!ENTITY % head-transition.content "transition+">

<!--=================== Util: Body - Content Control ======================= -->
<!ENTITY % content-control "switch|prefetch">
<!ENTITY % content-control-attrs "%Test.attrib; %CustomTest.attrib; %SkipContent.attrib;">

<!--=================== Util: Body - Animation ========================= -->
<!ENTITY % animation.elements "animate|set|animateMotion|animateColor">

<!--=================== Util: Body - Media ========================= -->

<!ENTITY % media-object "audio|video|animation|text|img|textstream|ref|brush
                               |%animation.elements;">

<!--=================== Util: Body - Timing ================================ -->
<!ENTITY % BasicTimeContainers.class "par|seq">
<!ENTITY % ExclTimeContainers.class "excl">
<!ENTITY % timecontainer.class
 "%BasicTimeContainers.class;|%ExclTimeContainers.class;">
<!ENTITY % timecontainer.content
 "%timecontainer.class;|%media-object;|%content-control;|a">

<!ENTITY % smil-basictime.attrib "
 %BasicInlineTiming.attrib;
 %BasicInlineTiming-deprecated.attrib;
 %MinMaxTiming.attrib;
">

<!ENTITY % timecontainer.attrib "
 %BasicInlineTiming.attrib;
 %BasicInlineTiming-deprecated.attrib;
 %MinMaxTiming.attrib;
 %RestartTiming.attrib;
 %RestartDefaultTiming.attrib;
 %SyncBehavior.attrib;
 %SyncBehaviorDefault.attrib;
 %FillDefault.attrib;
">

<!-- ====================================================================== -->
<!-- ====================================================================== -->
<!-- ====================================================================== -->

<!-- 
     The actual content model and attribute definitions for each module 
     sections follow below.
-->

<!-- ================== Content Control =================================== -->
<!ENTITY % BasicContentControl.module  "INCLUDE">
<!ENTITY % CustomTestAttributes.module "INCLUDE">
<!ENTITY % PrefetchControl.module      "INCLUDE">
<!ENTITY % SkipContentControl.module   "INCLUDE">

<!ENTITY % switch.content "((%timecontainer.class;|%media-object;|
		           %content-control;|a|area|anchor)*|layout*)">

<!ENTITY % switch.attrib            "%Test.attrib; %CustomTest.attrib;">
<!ENTITY % prefetch.attrib "
 %timecontainer.attrib; 
 %MediaClip.attrib; 
 %MediaClip.attrib.deprecated; 
 %Test.attrib; 
 %CustomTest.attrib; 
 %SkipContent.attrib; 
">

<!ENTITY % customAttributes.attrib  "%Test.attrib; %SkipContent.attrib;">
<!ENTITY % customTest.attrib        "%SkipContent.attrib;">

<!-- ================== Animation ========================================= -->
<!ENTITY % BasicAnimation.module "INCLUDE">

<!-- choose targetElement or XLink: -->
<!ENTITY % animation-targetElement "INCLUDE">
<!ENTITY % animation-XLinkTarget   "IGNORE">

<!ENTITY % animate.content "EMPTY">
<!ENTITY % animateColor.content "EMPTY">
<!ENTITY % animateMotion.content "EMPTY">
<!ENTITY % set.content "EMPTY">

<!ENTITY % animate.attrib        "%SkipContent.attrib; %CustomTest.attrib;">
<!ENTITY % animateColor.attrib   "%SkipContent.attrib; %CustomTest.attrib;">
<!ENTITY % animateMotion.attrib  "%SkipContent.attrib; %CustomTest.attrib;">
<!ENTITY % set.attrib            "%SkipContent.attrib; %CustomTest.attrib;">

<!-- ================== Layout ============================================ -->
<!ENTITY % BasicLayout.module        "INCLUDE">
<!ENTITY % AudioLayout.module        "INCLUDE">
<!ENTITY % MultiWindowLayout.module  "INCLUDE">
<!ENTITY % HierarchicalLayout.module "INCLUDE">

<!ENTITY % layout.content "(region|topLayout|root-layout|regPoint)*">
<!ENTITY % region.content "(region)*">
<!ENTITY % topLayout.content "(region)*">
<!ENTITY % rootlayout.content "EMPTY">
<!ENTITY % regPoint.content "EMPTY">

<!ENTITY % layout.attrib          "%Test.attrib; %CustomTest.attrib;">
<!ENTITY % rootlayout.attrib      "%content-control-attrs;">
<!ENTITY % topLayout.attrib       "%content-control-attrs;">
<!ENTITY % region.attrib          "%content-control-attrs;">
<!ENTITY % regPoint.attrib        "%content-control-attrs;">

<!-- ================== Linking =========================================== -->
<!ENTITY % LinkingAttributes.module "INCLUDE">
<!ENTITY % BasicLinking.module      "INCLUDE">
<!ENTITY % ObjectLinking.module   "INCLUDE">

<!ENTITY % a.content      "(%timecontainer.class;|%media-object;|
                            %content-control;)*">
<!ENTITY % area.content	  "(animate|set)*">
<!ENTITY % anchor.content "(animate|set)*">

<!ENTITY % a.attrib      "%smil-basictime.attrib; %Test.attrib; %CustomTest.attrib;">
<!ENTITY % area.attrib   "%smil-basictime.attrib; %content-control-attrs;"> 
<!ENTITY % anchor.attrib "%smil-basictime.attrib; %content-control-attrs;"> 

<!-- ================== Media  ============================================ -->
<!ENTITY % BasicMedia.module                     "INCLUDE">
<!ENTITY % MediaClipping.module                  "INCLUDE">
<!ENTITY % MediaClipping.deprecated.module       "INCLUDE">
<!ENTITY % MediaClipMarkers.module               "INCLUDE">
<!ENTITY % MediaParam.module                     "INCLUDE">
<!ENTITY % BrushMedia.module                     "INCLUDE">
<!ENTITY % MediaAccessibility.module             "INCLUDE">

<!ENTITY % media-object.content "(%animation.elements;|switch|anchor|area
                                  |param)*">
<!ENTITY % media-object.attrib "
  %BasicInlineTiming.attrib;
  %BasicInlineTiming-deprecated.attrib;
  %MinMaxTiming.attrib;
  %RestartTiming.attrib;
  %RestartDefaultTiming.attrib;
  %SyncBehavior.attrib;
  %SyncBehaviorDefault.attrib;
  %Endsync.media.attrib;
  %Fill.attrib;
  %FillDefault.attrib;
  %Test.attrib;
  %CustomTest.attrib;
  %Region.attrib;
  %Transition.attrib;
  %BackgroundColor.attrib;
  %BackgroundColor-deprecated.attrib;
  %Sub-region.attrib;
  %RegistrationPoint.attrib;
  %Fit.attrib;
  %Tabindex.attrib;
">

<!ENTITY % brush.attrib        "%SkipContent.attrib;">
<!ENTITY % param.attrib        "%content-control-attrs;">

<!-- ================== Metadata ========================================== -->
<!ENTITY % meta.content     "EMPTY">
<!ENTITY % meta.attrib      "%SkipContent.attrib;">

<!ENTITY % metadata.content "EMPTY">
<!ENTITY % metadata.attrib  "%SkipContent.attrib;">

<!-- ================== Structure ========================================= -->
<!ENTITY % Structure.module "INCLUDE">
<!ENTITY % smil.content "(head?,body?)">
<!ENTITY % head.content "(
	 meta*,
	 ((%head-control.content;),   meta*)?,
	 ((%head-meta.content;),      meta*)?,
	 ((%head-layout.content;),    meta*)?,
	 ((%head-transition.content;),meta*)?
)">
<!ENTITY % body.content "(%timecontainer.class;|%media-object;|
                          %content-control;|a)*">

<!ENTITY % smil.attrib "%Test.attrib;">
<!ENTITY % body.attrib "
	%timecontainer.attrib; 
	%Description.attrib;
	%Fill.attrib;
">

<!-- ================== Transitions ======================================= -->
<!ENTITY % BasicTransitions.module        "INCLUDE">
<!ENTITY % TransitionModifiers.module     "INCLUDE">
<!ENTITY % InlineTransitions.module       "IGNORE">

<!ENTITY % transition.content "EMPTY">
<!ENTITY % transition.attrib "%content-control-attrs;">

<!-- ================== Timing ============================================ -->
<!ENTITY % BasicInlineTiming.module      "INCLUDE">
<!ENTITY % SyncbaseTiming.module         "INCLUDE">
<!ENTITY % EventTiming.module            "INCLUDE">
<!ENTITY % WallclockTiming.module        "INCLUDE">
<!ENTITY % MultiSyncArcTiming.module     "INCLUDE">
<!ENTITY % MediaMarkerTiming.module      "INCLUDE">
<!ENTITY % MinMaxTiming.module           "INCLUDE">
<!ENTITY % BasicTimeContainers.module    "INCLUDE">
<!ENTITY % ExclTimeContainers.module     "INCLUDE">
<!ENTITY % PrevTiming.module             "INCLUDE">
<!ENTITY % RestartTiming.module          "INCLUDE">
<!ENTITY % SyncBehavior.module           "INCLUDE">
<!ENTITY % SyncBehaviorDefault.module    "INCLUDE">
<!ENTITY % RestartDefault.module         "INCLUDE">
<!ENTITY % FillDefault.module            "INCLUDE">

<!ENTITY % par.attrib "
	%Endsync.attrib; 
        %Fill.attrib;
	%timecontainer.attrib; 
	%Test.attrib; 
	%CustomTest.attrib; 
	%Region.attrib;
">
<!ENTITY % seq.attrib "
        %Fill.attrib;
	%timecontainer.attrib; 
	%Test.attrib; 
	%CustomTest.attrib; 
	%Region.attrib;
">
<!ENTITY % excl.attrib "
	%Endsync.attrib; 
        %Fill.attrib;
	%timecontainer.attrib; 
	%Test.attrib; 
	%CustomTest.attrib; 
	%Region.attrib; 
        %SkipContent.attrib;
">
<!ENTITY %  par.content "(%timecontainer.content;)*">
<!ENTITY %  seq.content "(%timecontainer.content;)*">
<!ENTITY % excl.content "((%timecontainer.content;)*|priorityClass+)">

<!ENTITY % priorityClass.attrib  "%content-control-attrs;">
<!ENTITY % priorityClass.content "(%timecontainer.content;)*">



    

A.2.2 SMIL 2.0 Language Profile DTD driver

                                                      
<!-- ....................................................................... -->
<!-- SMIL 2.0 DTD  ......................................................... -->
<!-- file: SMIL20.dtd                                                         
-->
<!-- SMIL 2.0 DTD

     This is SMIL 2.0.

     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 2.0 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-DTD.html,v 1.1 2001/06/05 09:16:20 jigsaw Exp $

-->
<!-- This is the driver file for the SMIL 2.0 DTD.

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//DTD SMIL 2.0//EN"
     SYSTEM "http://www.w3.org/2001/SMIL20/PR/SMIL20.dtd"
-->

<!ENTITY % NS.prefixed "IGNORE" >
<!ENTITY % SMIL.prefix "" >

<!-- Define the Content Model -->
<!ENTITY % smil-model.mod
    PUBLIC "-//W3C//ENTITIES SMIL 2.0 Document Model 1.0//EN"
           "smil-model-1.mod" >

<!-- Modular Framework Module  ................................... -->
<!ENTITY % smil-framework.module "INCLUDE" >
<![%smil-framework.module;[
<!ENTITY % smil-framework.mod
     PUBLIC "-//W3C//ENTITIES SMIL 2.0 Modular Framework 1.0//EN"
            "smil-framework-1.mod" >
%smil-framework.mod;]]>

<!-- The SMIL 2.0 Profile includes the following sections:
             C. The SMIL Animation Module 
             D. The SMIL Content Control Module 
             G. The SMIL Layout Module 
             H. The SMIL Linking Module 
             I. The SMIL Media Object Module 
             J. The SMIL Metainformation Module 
             K. The SMIL Structure Module 
             L. The SMIL Timing and Synchronization Module 
             M. Integrating SMIL Timing into other XML-Based Languages 
             P. The SMIL Transition effects Module 

             The SMIL Streaming Media Object Module is optional.
-->

<!ENTITY % streamingmedia.model "IGNORE">
<![%streamingmedia.model;[
  <!ENTITY % streaming-mod  
    PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Streaming Media Objects//EN" 
    "SMIL-streamingmedia.mod">
  %streaming-mod;
]]>

<!ENTITY % anim-mod   
  PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Animation//EN"  
  "SMIL-anim.mod">
<!ENTITY % control-mod 
  PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Content Control//EN" 
  "SMIL-control.mod">
<!ENTITY % layout-mod 
  PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Layout//EN"  
  "SMIL-layout.mod">
<!ENTITY % link-mod   
  PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Linking//EN"  
  "SMIL-link.mod">
<!ENTITY % media-mod  
  PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Media Objects//EN" 
  "SMIL-media.mod">
<!ENTITY % meta-mod   
  PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Document Metainformation//EN" 
  "SMIL-metainformation.mod">
<!ENTITY % struct-mod 
  PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Document Structure//EN" 
  "SMIL-struct.mod">
<!ENTITY % timing-mod 
  PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Timing//EN" 
  "SMIL-timing.mod">
<!ENTITY % transition-mod 
  PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Transition//EN"
  "SMIL-transition.mod">

%struct-mod;
%anim-mod;
%control-mod;
%meta-mod;
%layout-mod;
%link-mod;
%media-mod;
%timing-mod;
%transition-mod;

A.3 General modularization framework:

A.3.1 SMIL 2.0 common datatypes

<!-- ...................................................................... -->
<!-- SMIL 2.0 Datatypes Module  ........................................... -->
<!-- file: smil-datatypes-1.mod

     This is SMIL 2.0.
     Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: smil-DTD.html,v 1.1 2001/06/05 09:16:20 jigsaw Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ENTITIES SMIL 2.0 Datatypes 1.0//EN"
     SYSTEM "smil-datatypes-1.mod"

     ....................................................................... -->

<!-- Datatypes

     defines containers for the following datatypes, many of
     these imported from other specifications and standards.
-->

<!ENTITY % Character.datatype "CDATA">
    <!-- a single character from [ISO10646] -->
<!ENTITY % ContentType.datatype "CDATA">
    <!-- media type, as per [RFC2045] -->
<!ENTITY % LanguageCode.datatype "NMTOKEN">
    <!-- a language code, as per [RFC1766] -->
<!ENTITY % LanguageCodes.datatype "CDATA">
    <!-- comma-separated list of language codes, as per [RFC1766] -->
<!ENTITY % Number.datatype "CDATA">
    <!-- one or more digits -->
<!ENTITY % Script.datatype "CDATA">
    <!-- script expression -->
<!ENTITY % Text.datatype "CDATA">
    <!-- used for titles etc. -->
<!ENTITY % TimeValue.datatype "CDATA">
    <!-- a Number, possibly with its dimension, or a reserved 
         word like 'indefinite' -->
<!ENTITY % URI.datatype "CDATA" >
    <!-- used for URI references -->



    

A.3.2 SMIL 2.0 common attributes

<!-- ...................................................................... -->
<!-- SMIL 2.0 Common Attributes Module  ................................... -->
<!-- file: smil-attribs-1.mod

     This is SMIL 2.0.
     Copyright 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: smil-DTD.html,v 1.1 2001/06/05 09:16:20 jigsaw Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ENTITIES SMIL 2.0 Common Attributes 1.0//EN"
     SYSTEM "smil-attribs-1.mod"

     ...................................................................... -->

<!-- Common Attributes

     This module declares the common attributes for the SMIL DTD Modules.
-->

<!ENTITY % SMIL.pfx "">

<!ENTITY % Id.attrib
 "%SMIL.pfx;id           ID                       #IMPLIED"
>

<!ENTITY % Class.attrib
 "%SMIL.pfx;class        CDATA                    #IMPLIED"
>

<!ENTITY % Title.attrib
 "%SMIL.pfx;title        %Text.datatype;                   #IMPLIED"
>

<!ENTITY % Longdesc.attrib
 "%SMIL.pfx;longdesc     %URI.datatype;                    #IMPLIED"
>

<!ENTITY % Alt.attrib
 "%SMIL.pfx;alt          %Text.datatype;                   #IMPLIED"
>

<!ENTITY % Accessibility.attrib "
 %Longdesc.attrib;
 %Alt.attrib;
">

<!ENTITY % Core.extra.attrib "" >
<!ENTITY % Core.attrib "
  xml:base %URI.datatype; #IMPLIED
  %Id.attrib;
  %Class.attrib;
  %Title.attrib;
  %Accessibility.attrib;
  %Core.extra.attrib;
">

<!ENTITY % I18n.extra.attrib "" >
<!ENTITY % I18n.attrib "
  xml:lang %LanguageCode.datatype; #IMPLIED
  %I18n.extra.attrib;"
>

<!ENTITY % Description.attrib "
 %SMIL.pfx;abstract        %Text.datatype;   #IMPLIED
 %SMIL.pfx;author          %Text.datatype;   #IMPLIED
 %SMIL.pfx;copyright       %Text.datatype;   #IMPLIED
">

<!ENTITY % Tabindex.attrib "
 %SMIL.pfx;tabindex        %Number.datatype;   #IMPLIED
">

<!-- ================== BasicLayout ======================================= -->
<!ENTITY % Region.attrib "
 %SMIL.pfx;region         CDATA #IMPLIED
">

<!ENTITY % Fill.attrib "
 %SMIL.pfx;fill (remove|freeze|hold|transition|auto|default) 'default'
">

<!ENTITY % FillDefault.attrib "
 %SMIL.pfx;fillDefault (remove|freeze|hold|transition|auto|inherit) 'inherit'
">

<!-- ================== HierarchicalLayout ================================ -->
<!ENTITY % BackgroundColor.attrib "
 %SMIL.pfx;backgroundColor     CDATA    #IMPLIED
">
<!ENTITY % BackgroundColor-deprecated.attrib "
 %SMIL.pfx;background-color     CDATA    #IMPLIED
">

<!ENTITY % Sub-region.attrib "
 %SMIL.pfx;top     CDATA    'auto'
 %SMIL.pfx;bottom  CDATA    'auto'
 %SMIL.pfx;left    CDATA    'auto'
 %SMIL.pfx;right   CDATA    'auto'
 %SMIL.pfx;height  CDATA    'auto'
 %SMIL.pfx;width   CDATA    'auto'
 %SMIL.pfx;z-index CDATA    #IMPLIED
">

<!ENTITY % Fit.attrib "
 %SMIL.pfx;fit            (hidden|fill|meet|scroll|slice)   #IMPLIED 
">

<!-- ================ Registration Point attribute for media elements ============ -->
<!-- integrating language using HierarchicalLayout must include regPoint   -->
<!-- attribute on media elements for regPoint elements to be useful        -->

<!ENTITY % RegPoint.attrib "
 %SMIL.pfx;regPoint  CDATA    #IMPLIED
">

<!ENTITY % RegAlign.attrib "
 %SMIL.pfx;regAlign  (topLeft|topMid|topRight|midLeft|center|
                     midRight|bottomLeft|bottomMid|bottomRight) #IMPLIED
">

<!ENTITY % RegistrationPoint.attrib "
 %RegPoint.attrib;
 %RegAlign.attrib;
">

<!--=================== Content Control =======================-->
<!-- customTest Attribute -->
<!ENTITY % CustomTest.attrib "
        %SMIL.pfx;customTest              IDREF           #IMPLIED
">

<!-- ========================= SkipContentControl Module ========================= -->
<!ENTITY % SkipContent.attrib "
	%SMIL.pfx;skip-content		(true|false)	'true'
">

<!-- Content Control Test Attributes --> 

<!ENTITY % Test.attrib "
        %SMIL.pfx;systemBitrate                	CDATA		#IMPLIED
	%SMIL.pfx;systemCaptions		(on|off)	#IMPLIED
	%SMIL.pfx;systemLanguage		CDATA		#IMPLIED
	%SMIL.pfx;systemOverdubOrSubtitle	(overdub|subtitle) #IMPLIED
	%SMIL.pfx;systemRequired		CDATA		#IMPLIED
	%SMIL.pfx;systemScreenSize		CDATA		#IMPLIED
	%SMIL.pfx;systemScreenDepth		CDATA		#IMPLIED
	%SMIL.pfx;systemAudioDesc		(on|off)	#IMPLIED
	%SMIL.pfx;systemOperatingSystem		NMTOKEN		#IMPLIED
	%SMIL.pfx;systemCPU			NMTOKEN		#IMPLIED
	%SMIL.pfx;systemComponent		CDATA		#IMPLIED

	%SMIL.pfx;system-bitrate		CDATA		#IMPLIED
	%SMIL.pfx;system-captions		(on|off)	#IMPLIED
	%SMIL.pfx;system-language		CDATA		#IMPLIED
	%SMIL.pfx;system-overdub-or-caption	(overdub|caption) #IMPLIED
	%SMIL.pfx;system-required		CDATA		#IMPLIED
	%SMIL.pfx;system-screen-size		CDATA		#IMPLIED
	%SMIL.pfx;system-screen-depth		CDATA		#IMPLIED
">

<!-- SMIL Animation Module  ================================================ -->
<!ENTITY % BasicAnimation.attrib "
  %SMIL.pfx;values     CDATA #IMPLIED
  %SMIL.pfx;from       CDATA #IMPLIED
  %SMIL.pfx;to         CDATA #IMPLIED
  %SMIL.pfx;by         CDATA #IMPLIED
">

<!-- SMIL Timing Module  =================================================== -->
<!ENTITY % BasicInlineTiming.attrib "
  %SMIL.pfx;dur                       %TimeValue.datatype; #IMPLIED
  %SMIL.pfx;repeatCount               %TimeValue.datatype; #IMPLIED
  %SMIL.pfx;repeatDur                 %TimeValue.datatype; #IMPLIED
  %SMIL.pfx;begin                     %TimeValue.datatype; #IMPLIED
  %SMIL.pfx;end                       %TimeValue.datatype; #IMPLIED
">

<!ENTITY % MinMaxTiming.attrib "
  %SMIL.pfx;min                       %TimeValue.datatype; '0'
  %SMIL.pfx;max                       %TimeValue.datatype; 'indefinite'
">

<!ENTITY % BasicInlineTiming-deprecated.attrib "
  %SMIL.pfx;repeat                   %TimeValue.datatype; #IMPLIED
">

<!ENTITY % Endsync.attrib "
  %SMIL.pfx;endsync               CDATA 'last'
">

<!-- endsync has a different default when applied to media elements -->
<!ENTITY % Endsync.media.attrib "
  %SMIL.pfx;endsync               CDATA 'media'
">

<!ENTITY % TimeContainerAttributes.attrib "
  %SMIL.pfx;timeAction            CDATA #IMPLIED
  %SMIL.pfx;timeContainer         CDATA #IMPLIED
">

<!ENTITY % RestartTiming.attrib "
  %SMIL.pfx;restart (always|whenNotActive|never|default) 'default'
">

<!ENTITY % RestartDefaultTiming.attrib "
  %SMIL.pfx;restartDefault (inherit|always|never|whenNotActive) 'inherit'
">

<!ENTITY % SyncBehavior.attrib "
  %SMIL.pfx;syncBehavior (canSlip|locked|independent|default) 'default'
  %SMIL.pfx;syncTolerance %TimeValue.datatype;                'default'
">

<!ENTITY % SyncBehaviorDefault.attrib "
  %SMIL.pfx;syncBehaviorDefault (canSlip|locked|independent|inherit) 'inherit'
  %SMIL.pfx;syncToleranceDefault  %TimeValue.datatype;               'inherit'
">

<!ENTITY % SyncMaster.attrib "
  %SMIL.pfx;syncMaster    (true|false)                 'false'
">

<!-- ================== Time Manipulations ================================= -->
<!ENTITY % TimeManipulations.attrib "
  %SMIL.pfx;accelerate		%Number.datatype; '0'
  %SMIL.pfx;decelerate		%Number.datatype; '0'
  %SMIL.pfx;speed		%Number.datatype; '1.0'
  %SMIL.pfx;autoReverse         (true|false)      'false'
">

<!-- ================== Media Objects ====================================== -->
<!ENTITY % MediaClip.attrib "
  %SMIL.pfx;clipBegin      CDATA   #IMPLIED
  %SMIL.pfx;clipEnd        CDATA   #IMPLIED
">
<!ENTITY % MediaClip.attrib.deprecated "
  %SMIL.pfx;clip-begin     CDATA   #IMPLIED
  %SMIL.pfx;clip-end       CDATA   #IMPLIED
">

<!-- ================== Streaming Media ==================================== -->
<!ENTITY % Streaming-media.attrib "
  %SMIL.pfx;port                  CDATA   #IMPLIED
  %SMIL.pfx;rtpformat             CDATA   #IMPLIED
  %SMIL.pfx;transport             CDATA   #IMPLIED
">

<!ENTITY % Streaming-timecontainer.attrib "
  %SMIL.pfx;control               CDATA   #IMPLIED
">

<!-- ================== Transitions Media ================================== -->
<!ENTITY % Transition.attrib "
 %SMIL.pfx;transIn                CDATA        #IMPLIED
 %SMIL.pfx;transOut               CDATA        #IMPLIED
">



  

A.3.3 SMIL 2.0 qualified names module

<!-- ....................................................................... -->
<!-- SMIL Qualified Names Module  .......................................... -->
<!-- file: smil-qname-1.mod

     This is SMIL.
     Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: smil-DTD.html,v 1.1 2001/06/05 09:16:20 jigsaw Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ENTITIES SMIL Qualified Names 1.0//EN"
       SYSTEM "smil-qname-1.mod"

     ....................................................................... -->

<!-- SMIL Qualified Names

     This module is contained in two parts, labeled Section 'A' and 'B':

       Section A declares parameter entities to support namespace-
       qualified names, namespace declarations, and name prefixing 
       for SMIL and extensions.
    
       Section B declares parameter entities used to provide
       namespace-qualified names for all SMIL element types:

         %animation.qname; the xmlns-qualified name for <animation>
         %video.qname;     the xmlns-qualified name for <video>
         ...

     SMIL extensions would create a module similar to this one, 
     using the '%smil-qname-extra.mod;' parameter entity to insert 
     it within Section A.  A template module suitable for this purpose 
     ('template-qname-1.mod') is included in the XHTML distribution.
-->

<!-- Section A: SMIL XML Namespace Framework :::::::::::::::::::: -->

<!-- 1. Declare the two parameter entities used to support XLink,
        first the parameter entity container for the URI used to
        identify the XLink namespace:
-->
<!ENTITY % XLINK.xmlns "http://www.w3.org/1999/xlink" >

<!-- This contains the XLink namespace declaration attribute.
-->
<!ENTITY % XLINK.xmlns.attrib
     "xmlns:xlink  %URI.datatype;           #FIXED '%XLINK.xmlns;'"
>

<!-- 2. Declare parameter entities (eg., %SMIL.xmlns;) containing 
        the namespace URI for the SMIL namespace, and any namespaces
        included by SMIL:
-->

<!ENTITY % SMIL.xmlns  "http://www.w3.org/2001/SMIL20/PR/" >

<!-- 3. Declare parameter entities (eg., %SMIL.prefix;) containing
        the default namespace prefix string(s) to use when prefixing 
        is enabled. This may be overridden in the DTD driver or the
        internal subset of a document instance.

     NOTE: As specified in [XMLNAMES], the namespace prefix serves 
     as a proxy for the URI reference, and is not in itself significant.
-->
<!ENTITY % SMIL.prefix  "" >

<!-- 4. Declare a %SMIL.prefixed; conditional section keyword, used
        to activate namespace prefixing. The default value should 
        inherit '%NS.prefixed;' from the DTD driver, so that unless 
        overridden, the default behaviour follows the overall DTD 
        prefixing scheme.
-->
<!ENTITY % NS.prefixed "IGNORE" >
<!ENTITY % SMIL.prefixed "%NS.prefixed;" >

<!-- 5. Declare parameter entities (eg., %SMIL.pfx;) containing the 
        colonized prefix(es) (eg., '%SMIL.prefix;:') used when 
        prefixing is active, an empty string when it is not.
-->
<![%SMIL.prefixed;[
<!ENTITY % SMIL.pfx  "%SMIL.prefix;:" >
]]>
<!ENTITY % SMIL.pfx  "" >


<!-- declare qualified name extensions here -->
<!ENTITY % smil-qname-extra.mod "" >
%smil-qname-extra.mod;

<!-- 6. The parameter entity %SMIL.xmlns.extra.attrib; may be
        redeclared to contain any non-SMIL namespace declaration 
        attributes for namespaces embedded in SMIL. The default 
        is an empty string.  XLink should be included here if used 
        in the DTD and not already included by a previously-declared 
        %*.xmlns.extra.attrib;.
-->
<!ENTITY % SMIL.xmlns.extra.attrib "" >

<!-- 7. The parameter entity %NS.prefixed.attrib; is defined to be
        the prefix for SMIL elements if any and whatever is in
		SMIL.xmlns.extra.attrib.
-->
<![%SMIL.prefixed;[
<!ENTITY % NS.prefixed.attrib
	"xmlns:%SMIL.prefix;	%URI.datatype;	#FIXED	'%SMIL.xmlns;'
	 %SMIL.xmlns.extra.attrib; " >
]]>
<!ENTITY % NS.prefixed.attrib "%SMIL.xmlns.extra.attrib;" >


<!-- Section B: SMIL Qualified Names ::::::::::::::::::::::::::::: -->

<!-- This section declares parameter entities used to provide
     namespace-qualified names for all SMIL element types.
-->

<!ENTITY % animate.qname "%SMIL.pfx;animate" >
<!ENTITY % set.qname "%SMIL.pfx;set" >
<!ENTITY % animateMotion.qname "%SMIL.pfx;animateMotion" >
<!ENTITY % animateColor.qname "%SMIL.pfx;animateColor" >

<!ENTITY % switch.qname "%SMIL.pfx;switch" >
<!ENTITY % customTest.qname "%SMIL.pfx;customTest" >
<!ENTITY % customAttributes.qname "%SMIL.pfx;customAttributes" >
<!ENTITY % prefetch.qname "%SMIL.pfx;prefetch" >

<!ENTITY % layout.qname "%SMIL.pfx;layout" >
<!ENTITY % region.qname "%SMIL.pfx;region" >
<!ENTITY % root-layout.qname "%SMIL.pfx;root-layout" >
<!ENTITY % topLayout.qname "%SMIL.pfx;topLayout" >
<!ENTITY % regPoint.qname "%SMIL.pfx;regPoint" >

<!ENTITY % a.qname "%SMIL.pfx;a" >
<!ENTITY % area.qname "%SMIL.pfx;area" >
<!ENTITY % anchor.qname "%SMIL.pfx;anchor" >

<!ENTITY % ref.qname "%SMIL.pfx;ref" >
<!ENTITY % audio.qname "%SMIL.pfx;audio" >
<!ENTITY % img.qname "%SMIL.pfx;img" >
<!ENTITY % video.qname "%SMIL.pfx;video" >
<!ENTITY % text.qname "%SMIL.pfx;text" >
<!ENTITY % textstream.qname "%SMIL.pfx;textstream" >
<!ENTITY % animation.qname "%SMIL.pfx;animation" >
<!ENTITY % param.qname "%SMIL.pfx;param" >
<!ENTITY % brush.qname "%SMIL.pfx;brush" >

<!ENTITY % meta.qname "%SMIL.pfx;meta" >
<!ENTITY % metadata.qname "%SMIL.pfx;metadata" >

<!ENTITY % smil.qname "%SMIL.pfx;smil" >
<!ENTITY % head.qname "%SMIL.pfx;head" >
<!ENTITY % body.qname "%SMIL.pfx;body" >

<!ENTITY % seq.qname "%SMIL.pfx;seq" >
<!ENTITY % par.qname "%SMIL.pfx;par" >
<!ENTITY % excl.qname "%SMIL.pfx;excl" >

<!ENTITY % transition.qname "%SMIL.pfx;transition" >
<!ENTITY % transitionFilter.qname "%SMIL.pfx;transitionFilter" >

<!-- end of smil-qname-1.mod -->



  

A.3.4 SMIL 2.0 framework module

<!-- ...................................................................... -->
<!-- SMIL 2.0 Modular Framework Module  ................................... -->
<!-- file: smil-framework-1.mod

     This is SMIL 2.0.
     Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ENTITIES SMIL 2.0 Modular Framework 1.0//EN"
     SYSTEM "smil-framework-1.mod"

     Revision: $Id: smil-DTD.html,v 1.1 2001/06/05 09:16:20 jigsaw Exp $
     ....................................................................... -->

<!-- Modular Framework

     This required module instantiates the modules needed
     to support the SMIL 2.0 modularization model, including:

        +  datatypes
        +  namespace-qualified names
        +  common attributes
        +  document model
-->

<!ENTITY % smil-datatypes.module "INCLUDE" >
<![%smil-datatypes.module;[
<!ENTITY % smil-datatypes.mod
     PUBLIC "-//W3C//ENTITIES SMIL 2.0 Datatypes 1.0//EN"
            "smil-datatypes-1.mod" >
%smil-datatypes.mod;]]>

<!ENTITY % smil-qname.module "INCLUDE" >
<![%smil-qname.module;[
<!ENTITY % smil-qname.mod
     PUBLIC "-//W3C//ENTITIES SMIL 2.0 Qualified Names 1.0//EN"
            "smil-qname-1.mod" >
%smil-qname.mod;]]>

<!ENTITY % smil-attribs.module "INCLUDE" >
<![%smil-attribs.module;[
<!ENTITY % smil-attribs.mod
     PUBLIC "-//W3C//ENTITIES SMIL 2.0 Common Attributes 1.0//EN"
            "smil-attribs-1.mod" >
%smil-attribs.mod;]]>

<!ENTITY % smil-model.module "INCLUDE" >
<![%smil-model.module;[
<!-- A content model MUST be defined by the driver file -->
%smil-model.mod;]]>

<!-- end of smil-framework-1.mod -->



  

previous   next   contents