change all file offsets from long to gint64 so we can - theoretically - handle files...
[obnox/wireshark/wip.git] / dtds / smil.dtd
1 <? wireshark:protocol
2         proto_name="smil"
3         media="application/smil"
4         description="Synchronized Multimedia Integration Language"
5         ?>
6 <!--
7 $Id:$
8 -->
9
10 <!--
11
12     This is the XML document type definition (DTD) for SMIL 1.0.
13
14     Date: 1998/06/15 08:56:30
15
16     Authors: 
17         Jacco van Ossenbruggen <jrvosse@cwi.nl> 
18         Sjoerd Mullender       <sjoerd@cwi.nl>
19         
20     Further information about SMIL is available at:
21
22           http://www.w3.org/AudioVideo/
23
24 -->
25
26
27 <!-- Generally useful entities -->
28 <!ENTITY % id-attr "id ID #IMPLIED">
29 <!ENTITY % title-attr "title CDATA #IMPLIED">
30 <!ENTITY % skip-attr "skip-content (true|false) 'true'">
31 <!ENTITY % desc-attr "
32         %title-attr;
33         abstract        CDATA   #IMPLIED
34         author          CDATA   #IMPLIED
35         copyright       CDATA   #IMPLIED
36 ">
37
38 <!--=================== SMIL Document =====================================-->
39 <!--
40      The root element SMIL contains all other elements.
41 -->
42 <!ELEMENT smil (head?,body?)>
43 <!ATTLIST smil
44         %id-attr;
45 >
46
47 <!--=================== The Document Head =================================-->
48 <!ENTITY % layout-section "layout|switch">
49
50 <!ENTITY % head-element "(meta*,((%layout-section;), meta*))?">
51
52 <!ELEMENT head %head-element;>
53 <!ATTLIST head %id-attr;>
54
55
56 <!--=================== Layout Element ====================================-->
57 <!--
58      Layout contains the region and root-layout elements defined by
59      smil-basic-layout or other elements defined an external layout 
60      mechanism.
61 -->
62 <!ELEMENT layout (region|root-layout)>
63 <!ATTLIST layout
64         %id-attr;
65         type CDATA      "text/smil-basic-layout"
66 >
67
68
69 <!--=================== Region Element ===================================-->
70 <!ENTITY % viewport-attrs "
71         height              CDATA    #IMPLIED
72         width               CDATA    #IMPLIED
73         background-color    CDATA    #IMPLIED
74 ">
75
76 <!ELEMENT region EMPTY>
77 <!ATTLIST region
78         %id-attr;
79         %title-attr;
80         %viewport-attrs;
81         left                CDATA    "0"
82         top                 CDATA    "0"
83         z-index             CDATA    "0"
84         fit                 (hidden|fill|meet|scroll|slice)    "hidden"
85         %skip-attr;
86 >
87
88 <!--=================== Root-layout Element ================================-->
89 <!ELEMENT root-layout EMPTY>
90 <!ATTLIST root-layout
91         %id-attr;
92         %title-attr;
93         %viewport-attrs;
94         %skip-attr;
95 >
96
97
98 <!--=================== Meta Element=======================================-->
99 <!ELEMENT meta EMPTY>
100 <!ATTLIST meta
101         name    NMTOKEN #REQUIRED
102         content CDATA   #REQUIRED
103         %skip-attr;
104 >
105
106 <!--=================== The Document Body =================================-->
107 <!ENTITY % media-object "audio|video|text|img|animation|textstream|ref">
108 <!ENTITY % schedule "par|seq|(%media-object;)">
109 <!ENTITY % inline-link "a">
110 <!ENTITY % assoc-link "anchor">
111 <!ENTITY % link "%inline-link;">
112 <!ENTITY % container-content "(%schedule;)|switch|(%link;)">
113 <!ENTITY % body-content "(%container-content;)">
114
115 <!ELEMENT body (%body-content;)*>
116 <!ATTLIST body %id-attr;>
117
118 <!--=================== Synchronization Attributes ========================-->
119 <!ENTITY % sync-attributes "
120         begin   CDATA   #IMPLIED
121         end     CDATA   #IMPLIED
122 ">
123
124 <!--=================== Switch Parameter Attributes =======================-->
125 <!ENTITY % system-attribute "
126         system-bitrate             CDATA                #IMPLIED
127         system-language            CDATA                #IMPLIED
128         system-required            NMTOKEN              #IMPLIED
129         system-screen-size         CDATA                #IMPLIED
130         system-screen-depth        CDATA                #IMPLIED
131         system-captions            (on|off)             #IMPLIED
132         system-overdub-or-caption  (caption|overdub)    #IMPLIED
133 ">
134
135 <!--=================== Fill Attribute ====================================-->
136 <!ENTITY % fill-attribute "
137         fill    (remove|freeze)    'remove'
138 ">
139
140
141 <!--=================== The Parallel Element ==============================-->
142 <!ENTITY % par-content "%container-content;">
143 <!ELEMENT par    (%par-content;)*>
144 <!ATTLIST par
145         %id-attr;
146         %desc-attr;
147         endsync CDATA           "last"
148         dur     CDATA           #IMPLIED
149         repeat  CDATA           "1"
150         region  IDREF           #IMPLIED
151         %sync-attributes;
152         %system-attribute;
153 >
154
155 <!--=================== The Sequential Element ============================-->
156 <!ENTITY % seq-content "%container-content;">
157 <!ELEMENT seq    (%seq-content;)*>
158 <!ATTLIST seq
159         %id-attr;
160         %desc-attr;
161         dur     CDATA           #IMPLIED
162         repeat  CDATA           "1"
163         region  IDREF           #IMPLIED
164         %sync-attributes;
165         %system-attribute;
166 >
167
168 <!--=================== The Switch Element ================================-->
169 <!-- In the head, a switch may contain only layout elements,
170      in the body, only container elements. However, this
171      constraint cannot be expressed in the DTD (?), so
172      we allow both:
173 -->
174 <!ENTITY % switch-content "layout|(%container-content;)">
175 <!ELEMENT switch (%switch-content;)*>
176 <!ATTLIST switch
177         %id-attr;
178         %title-attr;
179 >
180
181 <!--=================== Media Object Elements =============================-->
182 <!-- SMIL only defines the structure. The real media data is
183      referenced by the src attribute of the media objects.
184 -->
185
186 <!-- Furthermore, they have the following attributes as defined
187      in the SMIL specification:
188 -->
189 <!ENTITY % mo-attributes "
190         %id-attr;
191         %desc-attr;
192         region     IDREF           #IMPLIED
193         alt        CDATA           #IMPLIED
194         longdesc   CDATA           #IMPLIED
195         src        CDATA           #IMPLIED
196         type       CDATA           #IMPLIED
197         dur        CDATA           #IMPLIED
198         repeat     CDATA           '1'
199         %fill-attribute;
200         %sync-attributes;
201         %system-attribute;
202 ">
203
204 <!--
205      Most info is in the attributes, media objects are empty or
206      contain associated link elements:
207 -->
208 <!ENTITY % mo-content "(%assoc-link;)*">
209 <!ENTITY % clip-attrs "
210         clip-begin      CDATA   #IMPLIED
211         clip-end        CDATA   #IMPLIED
212 ">
213
214 <!ELEMENT ref           %mo-content;>
215 <!ELEMENT audio         %mo-content;>
216 <!ELEMENT img           %mo-content;>
217 <!ELEMENT video         %mo-content;>
218 <!ELEMENT text          %mo-content;>
219 <!ELEMENT textstream    %mo-content;>
220 <!ELEMENT animation     %mo-content;>
221
222 <!ATTLIST ref           %mo-attributes; %clip-attrs;>
223 <!ATTLIST audio         %mo-attributes; %clip-attrs;>
224 <!ATTLIST video         %mo-attributes; %clip-attrs;>
225 <!ATTLIST animation     %mo-attributes; %clip-attrs;>
226 <!ATTLIST textstream    %mo-attributes; %clip-attrs;>
227 <!ATTLIST text          %mo-attributes;>
228 <!ATTLIST img           %mo-attributes;>
229
230 <!--=================== Link Elements =====================================-->
231
232 <!ENTITY % smil-link-attributes "
233         %id-attr;
234         %title-attr;
235         href            CDATA                   #REQUIRED
236         show            (replace|new|pause)     'replace'
237 ">
238
239
240 <!--=================== Inline Link Element ===============================-->
241 <!ELEMENT a (%schedule;|switch)*>
242 <!ATTLIST a
243         %smil-link-attributes;
244 >
245
246
247 <!--=================== Associated Link Element ===========================-->
248 <!ELEMENT anchor EMPTY>
249 <!ATTLIST anchor
250         %skip-attr;
251         %smil-link-attributes;
252         %sync-attributes;
253         coords          CDATA                   #IMPLIED
254 >
255