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: 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
        	See http://www.w3.org/Consortium/Legal/.

    	Author:     Jacco van Ossenbruggen
            Revision:   2001/07/31  Thierry Michel

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

         PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Animation//EN"
         SYSTEM "http://www.w3.org/2001/SMIL20/SMIL-anim.mod"

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

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

    <!-- SMIL.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 % SMIL.SplineAnimation.module "IGNORE">

    <!-- Animation depends on SMIL Timing, importing the attributes listed
         in the SMIL.AnimationTime.attrib entity.  If the integrating profile does
         include the SMIL.MinMaxTiming.module, its default value includes the
         attributes defined in SMIL.BasicInlineTiming.attrib and
    	 SMIL.MinMaxTiming.attrib.  Otherwise, it is defaulted to
    	 SMIL.BasicInlineTiming.attrib, which is the minimum requirement.

         Note that the profile can override these defaults by redefining
         SMIL.AnimationTime.attrib.  The profile is also expected to define
         SMIL.fill.attrib and SMIL.fillDefault.attrib.
     -->
    <!ENTITY % SMIL.MinMaxTiming.module "IGNORE">
    <![%SMIL.MinMaxTiming.module;[
      <!ENTITY % SMIL.AnimationTime.attrib "
    	%SMIL.BasicInlineTiming.attrib;
    	%SMIL.BasicInlineTiming-deprecated.attrib;
    	%SMIL.MinMaxTiming.attrib;
      ">
    ]]>
    <!ENTITY % SMIL.AnimationTime.attrib "%SMIL.BasicInlineTiming.attrib;">
    <!ENTITY % SMIL.fill.attrib "">

    <!ENTITY % SMIL.animTimingAttrs "
      %SMIL.AnimationTime.attrib;
      %SMIL.fill.attrib;
      %SMIL.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 % SMIL.animation-targetElement "IGNORE">
    <![%SMIL.animation-targetElement;[
      <!ENTITY % SMIL.animTargetElementAttr
       "targetElement  IDREF  #IMPLIED"
      >
    ]]>
    <!ENTITY % SMIL.animTargetElementAttr "">

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

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

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

    <!-- All except animateMotion need an identified target attribute -->
    <!ENTITY % SMIL.animAttrsNamedTarget
     "%SMIL.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.
     -->
    <![%SMIL.SplineAnimation.module;[
      <!ENTITY % SMIL.splineAnimCalcModeValues "| spline">
      <!ENTITY % SMIL.splineAnimValueAttrs
       "keyTimes CDATA #IMPLIED
        keySplines CDATA #IMPLIED"
      >
      <!ENTITY % SMIL.splineAnimPathAttr
       "path CDATA #IMPLIED"
      >
    ]]>
    <!ENTITY % SMIL.splineAnimCalcModeValues "">
    <!ENTITY % SMIL.splineAnimValueAttrs "">
    <!ENTITY % SMIL.splineAnimPathAttr "">

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

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

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

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

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

    <!ENTITY % SMIL.animateColor.attrib  "">
    <!ENTITY % SMIL.animateColor.content "EMPTY">
    <!ENTITY % SMIL.animateColor.qname   "animateColor">
    <!ELEMENT %SMIL.animateColor.qname; %SMIL.animateColor.content;>
    <!ATTLIST %SMIL.animateColor.qname; %SMIL.animateColor.attrib;
      %SMIL.animAttrsNamedTarget;
      %SMIL.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: 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
        	See http://www.w3.org/Consortium/Legal/.

    	Author:     Jacco van Ossenbruggen, Aaron Cohen
            Revision:   2001/07/31  Thierry Michel

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

         PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Content Control//EN"
         SYSTEM "http://www.w3.org/2001/SMIL20/SMIL-control.mod"

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

    <!ENTITY % SMIL.BasicContentControl.module "INCLUDE">
    <![%SMIL.BasicContentControl.module;[
      <!ENTITY % SMIL.switch.attrib "">
      <!ENTITY % SMIL.switch.content "EMPTY">
      <!ENTITY % SMIL.switch.qname "switch">

      <!ELEMENT %SMIL.switch.qname; %SMIL.switch.content;>
      <!ATTLIST %SMIL.switch.qname; %SMIL.switch.attrib;
            %Core.attrib;
            %I18n.attrib;
      >
    ]]>

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

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

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

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

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

### A.1.3 The SMIL Layout Module

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

            This is SMIL 2.0.

        	Copyright: 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
        	See http://www.w3.org/Consortium/Legal/.

    	Author:     Jacco van Ossenbruggen, Aaron Cohen
            Revision:   2001/07/31  Thierry Michel

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

            PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Layout//EN"
            SYSTEM "http://www.w3.org/2001/SMIL20/SMIL-layout.mod"

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

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

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

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

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

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

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

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

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

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

    <!-- ================ MultiWindowLayout ==================================== -->
    <!ENTITY % SMIL.MultiWindowLayout.module "IGNORE">
    <![%SMIL.MultiWindowLayout.module;[
      <!-- ============== MultiWindowLayout Profiling Entities ================= -->
      <!ENTITY % SMIL.topLayout.attrib    "">
      <!ENTITY % SMIL.topLayout.content   "EMPTY">

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

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

      <!-- ============ HierarchicalLayout Elements ============================ -->
      <!ENTITY % SMIL.regPoint.qname "regPoint">
      <!ELEMENT %SMIL.regPoint.qname; %SMIL.regPoint.content;>
      <!ATTLIST %SMIL.regPoint.qname; %SMIL.regPoint.attrib;
    	%Core.attrib;
    	%I18n.attrib;
            %SMIL.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: 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
        	See http://www.w3.org/Consortium/Legal/.

    	Author:     Jacco van Ossenbruggen, Lloyd Rutledge, Aaron Cohen
            Revision:   2001/07/31  Thierry Michel

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

         PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Linking//EN"
         SYSTEM "http://www.w3.org/2001/SMIL20/SMIL-link.mod"

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

    <!-- ======================== LinkingAttributes Entities =================== -->
    <!ENTITY % SMIL.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'
    	%SMIL.tabindex.attrib;
    ">

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

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

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

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

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

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

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

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

      <!ATTLIST %SMIL.anchor.qname;
          %SMIL.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: 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
        	See http://www.w3.org/Consortium/Legal/.

    	Author:     Rob Lanphier, Jacco van Ossenbruggen
            Revision:   2001/07/31  Thierry Michel

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

         PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Media Objects//EN"
         SYSTEM "http://www.w3.org/2001/SMIL20/SMIL-media.mod"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    <!-- BrushMedia -->
    <!ENTITY % SMIL.BrushMedia.module "IGNORE">
    <![%SMIL.BrushMedia.module;[
      <!ENTITY % SMIL.brush.attrib "">
      <!ENTITY % SMIL.brush.content "%SMIL.mo-content;">
      <!ENTITY % SMIL.brush.qname "brush">
      <!ELEMENT %SMIL.brush.qname; %SMIL.brush.content;>
      <!ATTLIST %SMIL.brush.qname; %SMIL.brush.attrib;
            %Core.attrib;
            %I18n.attrib;
            %SMIL.Description.attrib;
            %SMIL.mo-attributes-MediaAccessibility;
            %SMIL.mo-attributes-MediaParam;
            %SMIL.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: 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
        	See http://www.w3.org/Consortium/Legal/.

    	Author: Thierry Michel, Jacco van Ossenbruggen
            Revision:   2001/07/31  Thierry Michel

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

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

         PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Document Metadata//EN"
         SYSTEM "http://www.w3.org/2001/SMIL20/SMIL-metainformation.mod"

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

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

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

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

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

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

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

    <!ELEMENT %SMIL.metadata.qname; %SMIL.metadata.content;>
    <!ATTLIST %SMIL.metadata.qname; %SMIL.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: 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
        	See http://www.w3.org/Consortium/Legal/.

    	Author: Warner ten Kate, Jacco van Ossenbruggen
            Revision:   2001/07/31  Thierry Michel

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

         PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Document Structure//EN"
         SYSTEM "http://www.w3.org/2001/SMIL20/SMIL-struct.mod"

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

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

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

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

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

    <!--=================== The Document Body - Timing Root ================== -->
    <!ENTITY % SMIL.body.content "EMPTY" >
    <!ENTITY % SMIL.body.attrib  "" >
    <!ENTITY % SMIL.body.qname   "body" >

    <!ELEMENT %SMIL.body.qname; %SMIL.body.content;>
    <!ATTLIST %SMIL.body.qname; %SMIL.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: 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
        	See http://www.w3.org/Consortium/Legal/.

    	Author:     Jacco van Ossenbruggen.
            Revision:   2001/07/31  Thierry Michel

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

         PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Timing//EN"
         SYSTEM "http://www.w3.org/2001/SMIL20/SMIL-timing.mod"

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

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

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

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

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

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

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

      <!ELEMENT %SMIL.priorityClass.qname; %SMIL.priorityClass.content;>
      <!ATTLIST %SMIL.priorityClass.qname; %SMIL.priorityClass.attrib;
        peers	(stop|pause|defer|never) "stop"
        higher      (stop|pause)             "pause"
        lower       (defer|never)            "defer"
        pauseDisplay (disable|hide|show )    "show"
        %SMIL.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: 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
        	See http://www.w3.org/Consortium/Legal/.

    	Author:     Jacco van Ossenbruggen.
            Revision:   2001/07/31  Thierry Michel

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

         PUBLIC "-//W3C//ELEMENTS SMIL 2.0 Transition//EN"
         SYSTEM "http://www.w3.org/2001/SMIL20/SMIL-transition.mod"

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

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

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

     <!ENTITY % SMIL.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 % SMIL.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  % SMIL.transition-attrs '
        type         %SMIL.transition-types;     #IMPLIED
        subtype      %SMIL.transition-subtypes;  #IMPLIED
        fadeColor	 CDATA		        "black"
        %SMIL.transition-modifiers-attrs;
     '>

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

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

     <!ENTITY % SMIL.transitionFilter.attrib  "">
     <!ENTITY % SMIL.transitionFilter.content "EMPTY">
     <!ENTITY % SMIL.transitionFilter.qname   "transitionFilter">
     <!ELEMENT %SMIL.transitionFilter.qname; %SMIL.transitionFilter.content;>
     <!ATTLIST %SMIL.transitionFilter.qname; %SMIL.transitionFilter.attrib;
        %Core.attrib;
        %I18n.attrib;
        %SMIL.transition-attrs;
        %SMIL.BasicInlineTiming.attrib;
        %SMIL.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-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
        	See http://www.w3.org/Consortium/Legal/.

    	Author: Warner ten Kate, Jacco van Ossenbruggen, Aaron Cohen
            Revision:   2001/07/31  Thierry Michel

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

         PUBLIC "-//W3C//ENTITIES SMIL 2.0 Document Model 1.0//EN"
         SYSTEM "http://www.w3.org/2001/SMIL20/smil-model-1.mod"

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

    <!--
            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 % SMIL.head-meta.content       "%SMIL.metadata.qname;">
    <!ENTITY % SMIL.head-layout.content     "%SMIL.layout.qname;
                                           | %SMIL.switch.qname;">
    <!ENTITY % SMIL.head-control.content    "%SMIL.customAttributes.qname;">
    <!ENTITY % SMIL.head-transition.content "%SMIL.transition.qname;+">

    <!--=================== Util: Body - Content Control ======================= -->
    <!ENTITY % SMIL.content-control "%SMIL.switch.qname; | %SMIL.prefetch.qname;">
    <!ENTITY % SMIL.content-control-attrs "%SMIL.Test.attrib;
                                           %SMIL.customTestAttr.attrib;
    				       %SMIL.skip-content.attrib;">

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

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

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

    <!--=================== Util: Body - Timing ================================ -->
    <!ENTITY % SMIL.BasicTimeContainers.class "%SMIL.par.qname;
                                             | %SMIL.seq.qname;">

    <!ENTITY % SMIL.ExclTimeContainers.class "%SMIL.excl.qname;">

    <!ENTITY % SMIL.timecontainer.class   "%SMIL.BasicTimeContainers.class;
                                           |%SMIL.ExclTimeContainers.class;">

    <!ENTITY % SMIL.timecontainer.content "%SMIL.timecontainer.class;
                                         | %SMIL.media-object;
                                         | %SMIL.content-control;
                                         | %SMIL.a.qname;">

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

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

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

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

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

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

    <!ENTITY % SMIL.switch.attrib "%SMIL.Test.attrib; %SMIL.customTestAttr.attrib;">
    <!ENTITY % SMIL.prefetch.attrib "
     %SMIL.timecontainer.attrib;
     %SMIL.MediaClip.attrib;
     %SMIL.MediaClip.attrib.deprecated;
     %SMIL.Test.attrib;
     %SMIL.customTestAttr.attrib;
     %SMIL.skip-content.attrib;
    ">

    <!ENTITY % SMIL.customAttributes.attrib  "%SMIL.Test.attrib; %SMIL.skip-content.attrib;">
    <!ENTITY % SMIL.customTest.attrib    "%SMIL.skip-content.attrib;">

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

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

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

    <!ENTITY % SMIL.animate.attrib        "%SMIL.skip-content.attrib; %SMIL.customTestAttr.attrib;">
    <!ENTITY % SMIL.animateColor.attrib   "%SMIL.skip-content.attrib; %SMIL.customTestAttr.attrib;">
    <!ENTITY % SMIL.animateMotion.attrib  "%SMIL.skip-content.attrib; %SMIL.customTestAttr.attrib;">
    <!ENTITY % SMIL.set.attrib            "%SMIL.skip-content.attrib; %SMIL.customTestAttr.attrib;">

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

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

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

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

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

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

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

    <!ENTITY % SMIL.media-object.content "(%SMIL.animation.elements;
                                         | %SMIL.switch.qname;
                                         | %SMIL.anchor.qname;
                                         | %SMIL.area.qname;
                                         | %SMIL.param.qname;)*">
    <!ENTITY % SMIL.media-object.attrib "
      %SMIL.BasicInlineTiming.attrib;
      %SMIL.BasicInlineTiming-deprecated.attrib;
      %SMIL.MinMaxTiming.attrib;
      %SMIL.RestartTiming.attrib;
      %SMIL.RestartDefaultTiming.attrib;
      %SMIL.SyncBehavior.attrib;
      %SMIL.SyncBehaviorDefault.attrib;
      %SMIL.endsync.media.attrib;
      %SMIL.fill.attrib;
      %SMIL.fillDefault.attrib;
      %SMIL.Test.attrib;
      %SMIL.customTestAttr.attrib;
      %SMIL.regionAttr.attrib;
      %SMIL.Transition.attrib;
      %SMIL.backgroundColor.attrib;
      %SMIL.backgroundColor-deprecated.attrib;
      %SMIL.Sub-region.attrib;
      %SMIL.RegistrationPoint.attrib;
      %SMIL.fit.attrib;
      %SMIL.tabindex.attrib;
    ">

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

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

    <!ENTITY % SMIL.metadata.content "EMPTY">
    <!ENTITY % SMIL.metadata.attrib  "%SMIL.skip-content.attrib;">

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

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

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

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

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

    <!ENTITY % SMIL.par.attrib "
    	%SMIL.endsync.attrib;
            %SMIL.fill.attrib;
    	%SMIL.timecontainer.attrib;
    	%SMIL.Test.attrib;
    	%SMIL.customTestAttr.attrib;
    	%SMIL.regionAttr.attrib;
    ">
    <!ENTITY % SMIL.seq.attrib "
            %SMIL.fill.attrib;
    	%SMIL.timecontainer.attrib;
    	%SMIL.Test.attrib;
    	%SMIL.customTestAttr.attrib;
    	%SMIL.regionAttr.attrib;
    ">
    <!ENTITY % SMIL.excl.attrib "
    	%SMIL.endsync.attrib;
            %SMIL.fill.attrib;
    	%SMIL.timecontainer.attrib;
    	%SMIL.Test.attrib;
    	%SMIL.customTestAttr.attrib;
    	%SMIL.regionAttr.attrib;
            %SMIL.skip-content.attrib;
    ">
    <!ENTITY % SMIL.par.content "(%SMIL.timecontainer.content;)*">
    <!ENTITY % SMIL.seq.content "(%SMIL.timecontainer.content;)*">
    <!ENTITY % SMIL.excl.content "((%SMIL.timecontainer.content;)*
                                  | %SMIL.priorityClass.qname;+)">

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

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

### 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-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
        	See http://www.w3.org/Consortium/Legal/.

    	Author:     Jacco van Ossenbruggen
            Revision:   2001/07/31  Thierry Michel

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

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

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

    <!-- end of SMIL20.dtd -->

## 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-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
        	See http://www.w3.org/Consortium/Legal/.

    	Author:     Jacco van Ossenbruggen
            Revision:   2001/07/31  Thierry Michel

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

         PUBLIC "-//W3C//ENTITIES SMIL 2.0 Datatypes 1.0//EN"
         SYSTEM "http://www.w3.org/2001/SMIL20/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 -->

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

### 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: 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
        	See http://www.w3.org/Consortium/Legal/.

    	Revision:   2001/07/31  Thierry Michel

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

         PUBLIC "-//W3C//ENTITIES SMIL 2.0 Common Attributes 1.0//EN"
         SYSTEM "http://www.w3.org/2001/SMIL20/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 % SMIL.Accessibility.attrib "
     %longdesc.attrib;
     %alt.attrib;
    ">

    <!ENTITY % Core.extra.attrib "" >
    <!ENTITY % Core.attrib "
      xml:base %URI.datatype; #IMPLIED
      %id.attrib;
      %class.attrib;
      %title.attrib;
      %SMIL.Accessibility.attrib;
      %Core.extra.attrib;
    ">

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

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

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

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

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

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

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

    <!ENTITY % SMIL.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 % SMIL.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 % SMIL.regPointAttr.attrib "
     %SMIL.pfx;regPoint  CDATA    #IMPLIED
    ">

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

    <!ENTITY % SMIL.RegistrationPoint.attrib "
     %SMIL.regPointAttr.attrib;
     %SMIL.regAlign.attrib;
    ">

    <!--=================== Content Control =======================-->
    <!-- customTest Attribute, do not confuse with customTest element! -->
    <!ENTITY % SMIL.customTestAttr.attrib "
            %SMIL.pfx;customTest              IDREF           #IMPLIED
    ">

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

    <!-- Content Control Test Attributes -->

    <!ENTITY % SMIL.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 % SMIL.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 % SMIL.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 % SMIL.MinMaxTiming.attrib "
      %SMIL.pfx;min                       %TimeValue.datatype; '0'
      %SMIL.pfx;max                       %TimeValue.datatype; 'indefinite'
    ">

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

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

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

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

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

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

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

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

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

    <!-- ================== Time Manipulations ================================= -->
    <!ENTITY % SMIL.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 % SMIL.MediaClip.attrib "
      %SMIL.pfx;clipBegin      CDATA   #IMPLIED
      %SMIL.pfx;clipEnd        CDATA   #IMPLIED
    ">
    <!ENTITY % SMIL.MediaClip.attrib.deprecated "
      %SMIL.pfx;clip-begin     CDATA   #IMPLIED
      %SMIL.pfx;clip-end       CDATA   #IMPLIED
    ">

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

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

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

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

### A.3.3 SMIL 2.0 qualified names module

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

         This is SMIL 2.0.

        	Copyright: 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
        	See http://www.w3.org/Consortium/Legal/.

            Revision:   2001/07/31  Thierry Michel

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

           PUBLIC "-//W3C//ENTITIES SMIL Qualified Names 1.0//EN"
           SYSTEM "http://www.w3.org/2001/SMIL20/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 (e.g., %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/" >

    <!-- 3. Declare parameter entities (e.g., %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 (e.g., %SMIL.pfx;) containing the
            colonized prefix(es) (e.g., '%SMIL.prefix;:') used when
            prefixing is active, an empty string when it is not.
    -->
    <![%SMIL.prefixed;[
    <!ENTITY % SMIL.pfx  "%SMIL.prefix;:" >
    <!ENTITY % SMIL.xmlns.extra.attrib
    	"xmlns:%SMIL.prefix;	%URI.datatype;	#FIXED	'%SMIL.xmlns;'" >

    ]]>
    <!ENTITY % SMIL.pfx  "" >
    <!ENTITY % SMIL.xmlns.extra.attrib "" >

    <!-- 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;.
    -->

    <!-- 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.
    -->
    <!ENTITY % XHTML.xmlns.extra.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 % SMIL.animate.qname "%SMIL.pfx;animate" >
    <!ENTITY % SMIL.set.qname "%SMIL.pfx;set" >
    <!ENTITY % SMIL.animateMotion.qname "%SMIL.pfx;animateMotion" >
    <!ENTITY % SMIL.animateColor.qname "%SMIL.pfx;animateColor" >

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

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

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

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

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

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

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

    <!ENTITY % SMIL.transition.qname "%SMIL.pfx;transition" >
    <!ENTITY % SMIL.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-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
        	See http://www.w3.org/Consortium/Legal/.

    	Author:     Jacco van Ossenbruggen
            Revision:   2001/07/31  Thierry Michel

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

         PUBLIC "-//W3C//ENTITIES SMIL 2.0 Modular Framework 1.0//EN"
         SYSTEM "http://www.w3.org/2001/SMIL20/smil-framework-1.mod"

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

    <!-- 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