3     This is the XML document type definition (DTD) for SMIL 1.0.
\r 
   5     Date: 1998/06/15 08:56:30
\r 
   8         Jacco van Ossenbruggen <jrvosse@cwi.nl> 
\r 
   9         Sjoerd Mullender       <sjoerd@cwi.nl>
\r 
  11     Further information about SMIL is available at:
\r 
  13           http://www.w3.org/AudioVideo/
\r 
  17 <!-- Generally useful entities -->
\r 
  18 <!ENTITY % id-attr "id ID #IMPLIED">
\r 
  19 <!ENTITY % title-attr "title CDATA #IMPLIED">
\r 
  20 <!ENTITY % skip-attr "skip-content (true|false) 'true'">
\r 
  21 <!ENTITY % desc-attr "
\r 
  23         abstract        CDATA   #IMPLIED
\r 
  24         author          CDATA   #IMPLIED
\r 
  25         copyright       CDATA   #IMPLIED
\r 
  28 <!--=================== SMIL Document =====================================-->
\r 
  30      The root element SMIL contains all other elements.
\r 
  32 <!ELEMENT smil (head?,body?)>
\r 
  37 <!--=================== The Document Head =================================-->
\r 
  38 <!ENTITY % layout-section "layout|switch">
\r 
  40 <!ENTITY % head-element "(meta*,((%layout-section;), meta*))?">
\r 
  42 <!ELEMENT head %head-element;>
\r 
  43 <!ATTLIST head %id-attr;>
\r 
  46 <!--=================== Layout Element ====================================-->
\r 
  48      Layout contains the region and root-layout elements defined by
\r 
  49      smil-basic-layout or other elements defined an external layout 
\r 
  52 <!ELEMENT layout ANY>
\r 
  55         type CDATA      "text/smil-basic-layout"
\r 
  59 <!--=================== Region Element ===================================-->
\r 
  60 <!ENTITY % viewport-attrs "
\r 
  61         height              CDATA    #IMPLIED
\r 
  62         width               CDATA    #IMPLIED
\r 
  63         background-color    CDATA    #IMPLIED
\r 
  66 <!ELEMENT region EMPTY>
\r 
  74         fit                 (hidden|fill|meet|scroll|slice)    "hidden"
\r 
  78 <!--=================== Root-layout Element ================================-->
\r 
  79 <!ELEMENT root-layout EMPTY>
\r 
  80 <!ATTLIST root-layout
\r 
  88 <!--=================== Meta Element=======================================-->
\r 
  89 <!ELEMENT meta EMPTY>
\r 
  91         name    NMTOKEN #REQUIRED
\r 
  92         content CDATA   #REQUIRED
\r 
  96 <!--=================== The Document Body =================================-->
\r 
  97 <!ENTITY % media-object "audio|video|text|img|animation|textstream|ref">
\r 
  98 <!ENTITY % schedule "par|seq|(%media-object;)">
\r 
  99 <!ENTITY % inline-link "a">
\r 
 100 <!ENTITY % assoc-link "anchor">
\r 
 101 <!ENTITY % link "%inline-link;">
\r 
 102 <!ENTITY % container-content "(%schedule;)|switch|(%link;)">
\r 
 103 <!ENTITY % body-content "(%container-content;)">
\r 
 105 <!ELEMENT body (%body-content;)*>
\r 
 106 <!ATTLIST body %id-attr;>
\r 
 108 <!--=================== Synchronization Attributes ========================-->
\r 
 109 <!ENTITY % sync-attributes "
\r 
 110         begin   CDATA   #IMPLIED
\r 
 114 <!--=================== Switch Parameter Attributes =======================-->
\r 
 115 <!ENTITY % system-attribute "
\r 
 116         system-bitrate             CDATA                #IMPLIED
\r 
 117         system-language            CDATA                #IMPLIED
\r 
 118         system-required            NMTOKEN              #IMPLIED
\r 
 119         system-screen-size         CDATA                #IMPLIED
\r 
 120         system-screen-depth        CDATA                #IMPLIED
\r 
 121         system-captions            (on|off)             #IMPLIED
\r 
 122         system-overdub-or-caption  (caption|overdub)    #IMPLIED
\r 
 125 <!--=================== Fill Attribute ====================================-->
\r 
 126 <!ENTITY % fill-attribute "
\r 
 127         fill    (remove|freeze)    'remove'
\r 
 131 <!--=================== The Parallel Element ==============================-->
\r 
 132 <!ENTITY % par-content "%container-content;">
\r 
 133 <!ELEMENT par    (%par-content;)*>
\r 
 137         endsync CDATA           "last"
\r 
 140         region  IDREF           #IMPLIED
\r 
 145 <!--=================== The Sequential Element ============================-->
\r 
 146 <!ENTITY % seq-content "%container-content;">
\r 
 147 <!ELEMENT seq    (%seq-content;)*>
\r 
 153         region  IDREF           #IMPLIED
\r 
 158 <!--=================== The Switch Element ================================-->
\r 
 159 <!-- In the head, a switch may contain only layout elements,
\r 
 160      in the body, only container elements. However, this
\r 
 161      constraint cannot be expressed in the DTD (?), so
\r 
 164 <!ENTITY % switch-content "layout|(%container-content;)">
\r 
 165 <!ELEMENT switch (%switch-content;)*>
\r 
 171 <!--=================== Media Object Elements =============================-->
\r 
 172 <!-- SMIL only defines the structure. The real media data is
\r 
 173      referenced by the src attribute of the media objects.
\r 
 176 <!-- Furthermore, they have the following attributes as defined
\r 
 177      in the SMIL specification:
\r 
 179 <!ENTITY % mo-attributes "
\r 
 182         region     IDREF           #IMPLIED
\r 
 184         longdesc   CDATA           #IMPLIED
\r 
 186         type       CDATA           #IMPLIED
\r 
 195      Most info is in the attributes, media objects are empty or
\r 
 196      contain associated link elements:
\r 
 198 <!ENTITY % mo-content "(%assoc-link;)*">
\r 
 199 <!ENTITY % clip-attrs "
\r 
 200         clip-begin      CDATA   #IMPLIED
\r 
 201         clip-end        CDATA   #IMPLIED
\r 
 204 <!ELEMENT ref           %mo-content;>
\r 
 205 <!ELEMENT audio         %mo-content;>
\r 
 206 <!ELEMENT img           %mo-content;>
\r 
 207 <!ELEMENT video         %mo-content;>
\r 
 208 <!ELEMENT text          %mo-content;>
\r 
 209 <!ELEMENT textstream    %mo-content;>
\r 
 210 <!ELEMENT animation     %mo-content;>
\r 
 212 <!ATTLIST ref           %mo-attributes; %clip-attrs;>
\r 
 213 <!ATTLIST audio         %mo-attributes; %clip-attrs;>
\r 
 214 <!ATTLIST video         %mo-attributes; %clip-attrs;>
\r 
 215 <!ATTLIST animation     %mo-attributes; %clip-attrs;>
\r 
 216 <!ATTLIST textstream    %mo-attributes; %clip-attrs;>
\r 
 217 <!ATTLIST text          %mo-attributes;>
\r 
 218 <!ATTLIST img           %mo-attributes;>
\r 
 220 <!--=================== Link Elements =====================================-->
\r 
 222 <!ENTITY % smil-link-attributes "
\r 
 225         href            CDATA                   #REQUIRED
\r 
 226         show            (replace|new|pause)     'replace'
\r 
 230 <!--=================== Inline Link Element ===============================-->
\r 
 231 <!ELEMENT a (%schedule;|switch)*>
\r 
 233         %smil-link-attributes;
\r 
 237 <!--=================== Associated Link Element ===========================-->
\r 
 238 <!ELEMENT anchor EMPTY>
\r 
 241         %smil-link-attributes;
\r 
 243         coords          CDATA                   #IMPLIED
\r