| 1 |
<!-- |
|---|
| 2 |
|
|---|
| 3 |
Continuous Media Markup Language CMML version 3.1 DTD |
|---|
| 4 |
Authoring language for ANNODEX(TM) media. |
|---|
| 5 |
|
|---|
| 6 |
Namespace = http://www.annodex.net/cmml |
|---|
| 7 |
|
|---|
| 8 |
Copyright (c) 2001- |
|---|
| 9 |
Commonwealth Scientific and Industrial Research Organisation |
|---|
| 10 |
(CSIRO), Australia. |
|---|
| 11 |
All Rights Reserved. |
|---|
| 12 |
|
|---|
| 13 |
This DTD module is identified by the PUBLIC and SYSTEM identifiers: |
|---|
| 14 |
|
|---|
| 15 |
PUBLIC "-//CSIRO//DTD CMML 3.1//EN" |
|---|
| 16 |
SYSTEM "http://www.annodex.net/DTD/cmml_3_1.dtd" |
|---|
| 17 |
|
|---|
| 18 |
$Revision: 3.1 $ |
|---|
| 19 |
$Date: 2007/11/19 24:00:00 $ |
|---|
| 20 |
--> |
|---|
| 21 |
|
|---|
| 22 |
<!-- **************************** --> |
|---|
| 23 |
<!-- Definition of Imported Names --> |
|---|
| 24 |
<!-- **************************** --> |
|---|
| 25 |
|
|---|
| 26 |
<!-- media type, as per [RFC2045] --> |
|---|
| 27 |
<!ENTITY % ContentType "CDATA"> |
|---|
| 28 |
|
|---|
| 29 |
<!-- space-separated list of link types --> |
|---|
| 30 |
<!ENTITY % LinkTypes "CDATA"> |
|---|
| 31 |
|
|---|
| 32 |
<!-- single or comma-separated list of media descriptors --> |
|---|
| 33 |
<!ENTITY % MediaDesc "CDATA"> |
|---|
| 34 |
|
|---|
| 35 |
<!-- used for titles etc. --> |
|---|
| 36 |
<!ENTITY % Text "CDATA"> |
|---|
| 37 |
|
|---|
| 38 |
<!-- a Uniform Resource Identifier, see [RFC2396] --> |
|---|
| 39 |
<!ENTITY % URI "CDATA"> |
|---|
| 40 |
|
|---|
| 41 |
<!-- a language code, as per [RFC1766] --> |
|---|
| 42 |
<!ENTITY % LanguageCode "NMTOKEN"> |
|---|
| 43 |
|
|---|
| 44 |
<!-- timestamps similar to [RFC2326] |
|---|
| 45 |
"smpte-24:" SMPTE time with a 24 fps basis |
|---|
| 46 |
"smpte-24-drop:" SMPTE time with a 24/1.001 fps basis |
|---|
| 47 |
"smpte-25:" SMPTE time with a 25 fps basis |
|---|
| 48 |
"smpte-30:" SMPTE time with a 30 fps basis |
|---|
| 49 |
"smpte-30-drop:" SMPTE time with a 30/1.001 fps basis |
|---|
| 50 |
"smpte-50:" SMPTE time with a 50 fps basis |
|---|
| 51 |
"smpte-60:" SMPTE time with a 60 fps basis |
|---|
| 52 |
"smpte-60-drop:" SMPTE time with a 60/1.001 fps basis |
|---|
| 53 |
"npt:" npt-time |
|---|
| 54 |
"clock:" utc-time |
|---|
| 55 |
|
|---|
| 56 |
Playbacktime is specified as a smpte-time |
|---|
| 57 |
or npt-time only. |
|---|
| 58 |
|
|---|
| 59 |
UTCtime is specified as in [RFC2326], but |
|---|
| 60 |
without the "clock" identifier |
|---|
| 61 |
--> |
|---|
| 62 |
<!ENTITY % Timestamp "CDATA"> |
|---|
| 63 |
<!ENTITY % Playbacktime "CDATA"> |
|---|
| 64 |
<!ENTITY % UTCtime "CDATA"> |
|---|
| 65 |
|
|---|
| 66 |
|
|---|
| 67 |
<!-- ******************************** --> |
|---|
| 68 |
<!-- Definition of Generic Attributes --> |
|---|
| 69 |
<!-- ******************************** --> |
|---|
| 70 |
|
|---|
| 71 |
<!-- core attributes common to most displayable elements |
|---|
| 72 |
id document-wide unique id |
|---|
| 73 |
class space separated list of classes |
|---|
| 74 |
title advisory title/amplification |
|---|
| 75 |
--> |
|---|
| 76 |
<!ENTITY % coreattrs |
|---|
| 77 |
"id ID #IMPLIED |
|---|
| 78 |
class CDATA #IMPLIED |
|---|
| 79 |
title %Text; #IMPLIED" |
|---|
| 80 |
> |
|---|
| 81 |
|
|---|
| 82 |
<!-- internationalization attributes |
|---|
| 83 |
xml:lang language code (as per XML 1.0 spec) |
|---|
| 84 |
dir direction for weak/neutral text |
|---|
| 85 |
--> |
|---|
| 86 |
<!ENTITY % i18n |
|---|
| 87 |
"lang %LanguageCode; #IMPLIED |
|---|
| 88 |
dir (ltr|rtl) #IMPLIED" |
|---|
| 89 |
> |
|---|
| 90 |
|
|---|
| 91 |
<!ENTITY % attrs "%coreattrs; %i18n;"> |
|---|
| 92 |
|
|---|
| 93 |
|
|---|
| 94 |
<!-- **************************** --> |
|---|
| 95 |
<!-- Document Structure --> |
|---|
| 96 |
<!-- **************************** --> |
|---|
| 97 |
|
|---|
| 98 |
<!-- ROOT ELEMENT: --> |
|---|
| 99 |
<!-- cmml tag containing sequence of head and a tags --> |
|---|
| 100 |
<!-- =============================================== --> |
|---|
| 101 |
<!-- i18n = the default language for the whole document including |
|---|
| 102 |
the id tag of the cmml element --> |
|---|
| 103 |
<!-- xmlns = namespace of the cmml tags --> |
|---|
| 104 |
<!-- granulerate = the base temporal resolution to be used for the |
|---|
| 105 |
cmml bitstream --> |
|---|
| 106 |
|
|---|
| 107 |
<!ELEMENT cmml (stream?, head, clip*)> |
|---|
| 108 |
<!ATTLIST cmml |
|---|
| 109 |
%i18n; |
|---|
| 110 |
id ID #IMPLIED |
|---|
| 111 |
xmlns %URI; #FIXED 'http://www.annodex.net/cmml' |
|---|
| 112 |
granulerate CDATA #IMPLIED |
|---|
| 113 |
> |
|---|
| 114 |
|
|---|
| 115 |
|
|---|
| 116 |
<!-- **************************** --> |
|---|
| 117 |
<!-- Definition of stream element --> |
|---|
| 118 |
<!-- **************************** --> |
|---|
| 119 |
|
|---|
| 120 |
<!-- STREAM tag providing timing information for the ANNODEX file --> |
|---|
| 121 |
<!-- (will be stored in the binary headers of the ANX bitstreams) --> |
|---|
| 122 |
<!-- ============================================================ --> |
|---|
| 123 |
<!-- (has no text attributes and thus no i18n; id tag follows default |
|---|
| 124 |
language specified in cmml tag) --> |
|---|
| 125 |
<!-- basetime = base time associated with the first frame of the media |
|---|
| 126 |
document from which subsequent time references (such as |
|---|
| 127 |
in clip tags) will be taken relative to --> |
|---|
| 128 |
<!-- utc = a mapping of the first frame to clock time; |
|---|
| 129 |
specifications of utc time offsets into the document as |
|---|
| 130 |
in a URI will be taken relative to this --> |
|---|
| 131 |
<!ELEMENT stream (import*)> |
|---|
| 132 |
<!ATTLIST stream |
|---|
| 133 |
id ID #IMPLIED |
|---|
| 134 |
basetime %Playbacktime; "0" |
|---|
| 135 |
utc %UTCtime; #IMPLIED |
|---|
| 136 |
> |
|---|
| 137 |
|
|---|
| 138 |
<!-- IMPORT tag giving descriptions on an input bitstream (empty content) --> |
|---|
| 139 |
<!-- ==================================================================== --> |
|---|
| 140 |
<!-- The title element is not considered part of the presentation. |
|---|
| 141 |
It should be displayed, for example in a dialog window when |
|---|
| 142 |
accepting input bitstreams. |
|---|
| 143 |
--> |
|---|
| 144 |
<!-- i18n = the language of the import tag's and the contained param |
|---|
| 145 |
tags' attribute values --> |
|---|
| 146 |
<!-- title = human readable comment on the import bitstream --> |
|---|
| 147 |
<!-- granulerate = the base temporal resolution of the bitstream (e.g. |
|---|
| 148 |
its framerate for video or samplerate for audio) --> |
|---|
| 149 |
<!-- contenttype = encoding format of the input document (a MIME type and |
|---|
| 150 |
a character encoding separated by semicolon) --> |
|---|
| 151 |
<!-- src = URI to the media document --> |
|---|
| 152 |
<!-- start = the start time of the media bitstream specified |
|---|
| 153 |
in src --> |
|---|
| 154 |
<!-- end = the end time of the media bitstream specified |
|---|
| 155 |
in src --> |
|---|
| 156 |
<!ELEMENT import (param*)> |
|---|
| 157 |
<!ATTLIST import |
|---|
| 158 |
%i18n; |
|---|
| 159 |
id ID #IMPLIED |
|---|
| 160 |
title %Text; #IMPLIED |
|---|
| 161 |
granulerate CDATA #IMPLIED |
|---|
| 162 |
contenttype %ContentType; #IMPLIED |
|---|
| 163 |
src %URI; #REQUIRED |
|---|
| 164 |
start %Timestamp; "0" |
|---|
| 165 |
end %Timestamp; #IMPLIED |
|---|
| 166 |
> |
|---|
| 167 |
|
|---|
| 168 |
<!-- PARAM description tags of an input bitstream (empty content) --> |
|---|
| 169 |
<!-- (name-value pairs e.g. comments on recording quality or so) --> |
|---|
| 170 |
<!-- ============================================================== --> |
|---|
| 171 |
<!-- (internationalisation inherited from the parent import tag) --> |
|---|
| 172 |
<!-- name = identifies a property name; does not list legal values for this |
|---|
| 173 |
attribute --> |
|---|
| 174 |
<!-- value = specifies a property's value; does not list legal values for |
|---|
| 175 |
this attribute --> |
|---|
| 176 |
<!ELEMENT param EMPTY> |
|---|
| 177 |
<!ATTLIST param |
|---|
| 178 |
id ID #IMPLIED |
|---|
| 179 |
name CDATA #REQUIRED |
|---|
| 180 |
value CDATA #REQUIRED |
|---|
| 181 |
> |
|---|
| 182 |
|
|---|
| 183 |
|
|---|
| 184 |
<!-- **************************** --> |
|---|
| 185 |
<!-- Definition of document head --> |
|---|
| 186 |
<!-- **************************** --> |
|---|
| 187 |
|
|---|
| 188 |
<!-- head tag containing description of a specific media document --> |
|---|
| 189 |
<!-- ============================================================ --> |
|---|
| 190 |
<!-- i18n = the base language of the head's attribute values and text |
|---|
| 191 |
content --> |
|---|
| 192 |
<!-- profile = space-separated list of URIs to locate meta tag schemes --> |
|---|
| 193 |
|
|---|
| 194 |
<!-- content model is %head.misc; combined with a single |
|---|
| 195 |
title and an optional base element in any order --> |
|---|
| 196 |
<!ENTITY % head.misc "(style|meta|link)*"> |
|---|
| 197 |
|
|---|
| 198 |
<!ELEMENT head (%head.misc;, |
|---|
| 199 |
((title, %head.misc;, (base, %head.misc;)?) | |
|---|
| 200 |
(base, %head.misc;, (title, %head.misc;))))> |
|---|
| 201 |
<!ATTLIST head |
|---|
| 202 |
%i18n; |
|---|
| 203 |
id ID #IMPLIED |
|---|
| 204 |
profile %URI; #IMPLIED |
|---|
| 205 |
> |
|---|
| 206 |
|
|---|
| 207 |
<!-- TITLE tag giving descriptive title of the media document --> |
|---|
| 208 |
<!-- ========================================================= --> |
|---|
| 209 |
<!-- The title element is not considered part of the presentation. |
|---|
| 210 |
It should be displayed, for example as the page header or |
|---|
| 211 |
window title. Exactly one title is required per document. |
|---|
| 212 |
--> |
|---|
| 213 |
<!-- i18n = the language of the title text --> |
|---|
| 214 |
<!ELEMENT title (#PCDATA)> |
|---|
| 215 |
<!ATTLIST title |
|---|
| 216 |
%i18n; |
|---|
| 217 |
id ID #IMPLIED |
|---|
| 218 |
> |
|---|
| 219 |
|
|---|
| 220 |
<!-- BASE URI of the document (empty content) --> |
|---|
| 221 |
<!-- ======================================== --> |
|---|
| 222 |
<!-- (internationalisation inherited from the parent head tag) --> |
|---|
| 223 |
<!-- href = URI associated with the document; all relative URI references |
|---|
| 224 |
get interpreted relative to this base --> |
|---|
| 225 |
<!ELEMENT base EMPTY> |
|---|
| 226 |
<!ATTLIST base |
|---|
| 227 |
id ID #IMPLIED |
|---|
| 228 |
href %URI; #REQUIRED |
|---|
| 229 |
> |
|---|
| 230 |
|
|---|
| 231 |
<!-- META description tags of the document (empty content) --> |
|---|
| 232 |
<!-- ===================================================== --> |
|---|
| 233 |
<!-- i18n = the language of the meta attributes --> |
|---|
| 234 |
<!-- name = identifies a property name; does not list legal values for this |
|---|
| 235 |
attribute --> |
|---|
| 236 |
<!-- content = specifies a property's value; does not list legal values for |
|---|
| 237 |
this attribute --> |
|---|
| 238 |
<!-- scheme = names a scheme to be used to interpret the property's value |
|---|
| 239 |
(see the profiles tag in the head element for locating these) --> |
|---|
| 240 |
<!ELEMENT meta EMPTY> |
|---|
| 241 |
<!ATTLIST meta |
|---|
| 242 |
%i18n; |
|---|
| 243 |
id ID #IMPLIED |
|---|
| 244 |
name NMTOKEN #IMPLIED |
|---|
| 245 |
content CDATA #REQUIRED |
|---|
| 246 |
scheme CDATA #IMPLIED |
|---|
| 247 |
> |
|---|
| 248 |
|
|---|
| 249 |
<!-- LINK tag to specify relationship values (empty content) --> |
|---|
| 250 |
<!-- ======================================================= --> |
|---|
| 251 |
<!-- Relationship values can be used in principle: |
|---|
| 252 |
a) for document specific toolbars/menus when used |
|---|
| 253 |
with the link element in document head e.g. |
|---|
| 254 |
start, contents, previous, next, index, end, help |
|---|
| 255 |
b) to link to a separate style sheet (rel="stylesheet") |
|---|
| 256 |
As charsets are given in the xml directive of cmml documents, |
|---|
| 257 |
this attribute of html is not required for cmml. |
|---|
| 258 |
--> |
|---|
| 259 |
<!-- attrs = the language of the title text; a short description of the |
|---|
| 260 |
relationship through title, and the stylesheet class --> |
|---|
| 261 |
<!-- href = reference to a related document --> |
|---|
| 262 |
<!-- type = type of the document referenced, e.g. "text/css" --> |
|---|
| 263 |
<!-- rel = type of relationship to forward linked document --> |
|---|
| 264 |
<!-- rev = type of relationship to reverse linked document --> |
|---|
| 265 |
<!-- media = type or medium/media to be rendered on, default "screen" --> |
|---|
| 266 |
|
|---|
| 267 |
<!ELEMENT link EMPTY> |
|---|
| 268 |
<!ATTLIST link |
|---|
| 269 |
%attrs; |
|---|
| 270 |
href %URI; #IMPLIED |
|---|
| 271 |
type %ContentType; #IMPLIED |
|---|
| 272 |
rel %LinkTypes; #IMPLIED |
|---|
| 273 |
rev %LinkTypes; #IMPLIED |
|---|
| 274 |
media %MediaDesc; #IMPLIED |
|---|
| 275 |
> |
|---|
| 276 |
|
|---|
| 277 |
<!-- STYLE tag to specify presentation styles --> |
|---|
| 278 |
<!-- ======================================== --> |
|---|
| 279 |
<!-- The content of the "style" element is a style sheet. |
|---|
| 280 |
--> |
|---|
| 281 |
<!-- i18n = the language of the style's title attribute --> |
|---|
| 282 |
<!-- title = short description of the style --> |
|---|
| 283 |
<!-- type = type of the document referenced, e.g. "text/css" --> |
|---|
| 284 |
<!-- media = type or medium/media to be rendered on, default "screen" --> |
|---|
| 285 |
<!-- xml:space = fixed to preserve whitespace characters in content --> |
|---|
| 286 |
<!ELEMENT style (#PCDATA)> |
|---|
| 287 |
<!ATTLIST style |
|---|
| 288 |
%i18n; |
|---|
| 289 |
id ID #IMPLIED |
|---|
| 290 |
title %Text; #IMPLIED |
|---|
| 291 |
type %ContentType; #REQUIRED |
|---|
| 292 |
media %MediaDesc; #IMPLIED |
|---|
| 293 |
xml:space (preserve) #FIXED 'preserve' |
|---|
| 294 |
> |
|---|
| 295 |
|
|---|
| 296 |
|
|---|
| 297 |
<!-- ************************** --> |
|---|
| 298 |
<!-- Definition of clip tags --> |
|---|
| 299 |
<!-- ************************** --> |
|---|
| 300 |
|
|---|
| 301 |
<!-- Clip tag containing information for a specific fragment --> |
|---|
| 302 |
<!-- ======================================================= --> |
|---|
| 303 |
<!-- through meta, style, a, img and desc are given in specific order |
|---|
| 304 |
here, their order is acutally random --> |
|---|
| 305 |
<!-- attrs = the base language of the clip's attribute values and |
|---|
| 306 |
of its content elements; the stylesheet class attribute; |
|---|
| 307 |
a short title representing the clip (e.g. in tooltips) --> |
|---|
| 308 |
<!-- track = defines different sets of clip tags; clip tags of same |
|---|
| 309 |
type cannot overlap temporally--> |
|---|
| 310 |
<!-- start = specifies the start time of the clip; specified in |
|---|
| 311 |
time relative to the basetime of the header |
|---|
| 312 |
[NOT INCLUDED IN ANNODEXED DOCUMENT] --> |
|---|
| 313 |
<!-- end = specifies the end time of the clip; specified in |
|---|
| 314 |
time relative to the basetime of the header |
|---|
| 315 |
[NOT INCLUDED IN ANNODEXED DOCUMENT] --> |
|---|
| 316 |
|
|---|
| 317 |
<!ELEMENT clip (meta* |style* | a? | img? | desc? | caption?)> |
|---|
| 318 |
<!ATTLIST clip |
|---|
| 319 |
%attrs; |
|---|
| 320 |
track CDATA "default" |
|---|
| 321 |
start %Timestamp; #REQUIRED |
|---|
| 322 |
end %Timestamp; #IMPLIED |
|---|
| 323 |
> |
|---|
| 324 |
|
|---|
| 325 |
<!-- A tag containing information for a specific clip --> |
|---|
| 326 |
<!-- ================================================ --> |
|---|
| 327 |
<!-- a tag contains anchor text being a textual description of the link |
|---|
| 328 |
between the current element (the source anchor) and the destination |
|---|
| 329 |
anchor given by the href attribute --> |
|---|
| 330 |
<!-- attrs = the base language of the clip's attribute values and |
|---|
| 331 |
of its content elements; the stylesheet class attribute; |
|---|
| 332 |
a short title representing the anchor (e.g. in tooltips) --> |
|---|
| 333 |
<!-- href = specifies the location of a Web resource, thus defining a |
|---|
| 334 |
link between the current element (the source anchor) and the |
|---|
| 335 |
destination anchor given by this attribute --> |
|---|
| 336 |
<!ELEMENT a (#PCDATA)> |
|---|
| 337 |
<!ATTLIST a |
|---|
| 338 |
%attrs; |
|---|
| 339 |
href %URI; #REQUIRED |
|---|
| 340 |
> |
|---|
| 341 |
|
|---|
| 342 |
<!-- IMG tag to include a representative image for the clip --> |
|---|
| 343 |
<!-- ====================================================== --> |
|---|
| 344 |
<!-- attrs = the language of the image's attribute values; |
|---|
| 345 |
the stylesheet class attribute; a short title |
|---|
| 346 |
representing the image (e.g. in tooltips) --> |
|---|
| 347 |
<!-- src = reference to the image --> |
|---|
| 348 |
<!-- alt = alternative text for the image (accessibility) --> |
|---|
| 349 |
<!ELEMENT img EMPTY> |
|---|
| 350 |
<!ATTLIST img |
|---|
| 351 |
%attrs; |
|---|
| 352 |
src %URI; #REQUIRED |
|---|
| 353 |
alt CDATA #IMPLIED |
|---|
| 354 |
> |
|---|
| 355 |
|
|---|
| 356 |
<!-- DESC human-readable, textual description of the clip (annotation) --> |
|---|
| 357 |
<!-- ================================================================= --> |
|---|
| 358 |
<!-- attrs = the base language of the data in the description; |
|---|
| 359 |
the class & style attributes; |
|---|
| 360 |
a short title representing the desc (e.g. in tooltips) --> |
|---|
| 361 |
<!ELEMENT desc (#PCDATA)> |
|---|
| 362 |
<!ATTLIST desc |
|---|
| 363 |
%attrs; |
|---|
| 364 |
> |
|---|
| 365 |
|
|---|
| 366 |
<!-- CAPTION container to contain one or more textual content units --> |
|---|
| 367 |
<!-- ============================================================== --> |
|---|
| 368 |
<!-- attrs = the base language of the data in the description; |
|---|
| 369 |
the class & style attributes; |
|---|
| 370 |
a short title representing the caption (e.g. in tooltips) --> |
|---|
| 371 |
<!ELEMENT caption (p*)> |
|---|
| 372 |
<!ATTLIST caption |
|---|
| 373 |
%attrs; |
|---|
| 374 |
> |
|---|
| 375 |
|
|---|
| 376 |
<!-- P human readable piece of text (e.g. transcription, caption, sub-title) |
|---|
| 377 |
<!-- ======================================================================= --> |
|---|
| 378 |
<!-- attrs = the base language of the data in the description; |
|---|
| 379 |
the class & style attributes; |
|---|
| 380 |
a short title representing the p (e.g. in tooltips) --> |
|---|
| 381 |
<!ELEMENT p (span*| br*| #PCDATA)> |
|---|
| 382 |
<!ATTLIST p |
|---|
| 383 |
%attrs; |
|---|
| 384 |
start %Timestamp; #REQUIRED |
|---|
| 385 |
end %Timestamp; #IMPLIED |
|---|
| 386 |
> |
|---|
| 387 |
|
|---|
| 388 |
<!-- SPAN structuring element for a subpart of a 'p' element |
|---|
| 389 |
<!-- ======================================================= --> |
|---|
| 390 |
<!-- attrs = the base language of the data in the description; |
|---|
| 391 |
the class & style attributes; |
|---|
| 392 |
a short title representing the span (e.g. in tooltips) --> |
|---|
| 393 |
<!ELEMENT span (#PCDATA)> |
|---|
| 394 |
<!ATTLIST span |
|---|
| 395 |
%attrs; |
|---|
| 396 |
> |
|---|
| 397 |
|
|---|
| 398 |
<!-- BR denotes an explicit line break |
|---|
| 399 |
<!-- ================================= --> |
|---|
| 400 |
<!-- attrs = the base language of the data in the description; |
|---|
| 401 |
the class & style attributes; |
|---|
| 402 |
a short title representing the br (e.g. in tooltips) --> |
|---|
| 403 |
<!ELEMENT br EMPTY> |
|---|
| 404 |
<!ATTLIST br |
|---|
| 405 |
%attrs; |
|---|
| 406 |
> |
|---|