Continuous Media Markup Language CMML version 1.0 DTD. See "CSIRO Publishes IETF Internet Draft for Continuous Media Markup Language (CMML)."
Date: 2003-06-13. From: http://www.annodex.net/DTD/cmml_1_0.dtd
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Continuous Media Markup Language CMML version 1.0 DTD Authoring language for ANNODEX(TM) media.
Namespace = http://www.annodex.net/cmml
Copyright (c) 2001 Commonwealth Scientific and Industrial Research Organisation (CSIRO), Australia. All Rights Reserved.
This DTD module is identified by the PUBLIC and SYSTEM identifiers:
PUBLIC "-//CSIRO//DTD CMML 1.0//EN" SYSTEM "http://www.annodex.net/DTD/cmml_1_0.dtd"
$Revision: 1.0 $ $Date: 2003/06/01 24:00:00 $ -->
<!-- **************************** --> <!-- Definition of Imported Names --> <!-- **************************** -->
<!-- a Uniform Resource Identifier, see [RFC2396] --> <!ENTITY % URI "CDATA">
<!-- a language code, as per [RFC1766] --> <!ENTITY % LanguageCode "NMTOKEN">
<!-- internationalization attributes xml:lang language code (as per XML 1.0 spec) dir direction for weak/neutral text --> <!ENTITY % i18n "lang %LanguageCode; #IMPLIED dir (ltr|rtl) #IMPLIED" >
<!-- timestamps similar to [RFC2326] "smpte-24=" SMPTE time with a 24 fps basis "smpte-24-drop=" SMPTE time with a 24/1.001 fps basis "smpte-25=" SMPTE time with a 25 fps basis "smpte-30=" SMPTE time with a 30 fps basis "smpte-30-drop=" SMPTE time with a 30/1.001 fps basis "smpte-50=" SMPTE time with a 50 fps basis "smpte-60=" SMPTE time with a 60 fps basis "smpte-60-drop=" SMPTE time with a 60/1.001 fps basis "npt=" npt-time "clock=" utc-time
Playbacktime is specified as a smpte-time or npt-time only.
UTCtime is specified as in [RFC2326], but without the "clock" identifier --> <!ENTITY % Timestamp "CDATA"> <!ENTITY % Playbacktime "CDATA"> <!ENTITY % UTCtime "CDATA">
<!-- **************************** --> <!-- Document Structure --> <!-- **************************** -->
<!-- ROOT ELEMENT: --> <!-- cmml tag containing sequence of head and a tags --> <!-- =============================================== --> <!-- xmlns = namespace of the cmml tags --> <!-- (language of this is covered by the default language given in the head element) --> <!ELEMENT cmml (stream?, head, a*)> <!ATTLIST cmml id ID #IMPLIED xmlns %URI; #FIXED 'http://www.annodex.net/cmml' >
<!-- **************************** --> <!-- Definition of stream element --> <!-- **************************** -->
<!-- STREAM tag providing timing information for the ANNODEX file --> <!-- (will be stored in the binary headers of the ANX bitstreams) --> <!-- ============================================================ --> <!-- timebase = base time associated with the first frame of the media document from which subsequent time references (such as in anchor tags) will be taken relative to --> <!-- utc = a mapping of the first frame to clock time; specifications of utc time offsets into the document as in a URI will be taken relative to this --> <!ELEMENT stream (media*)> <!ATTLIST stream id ID #IMPLIED timebase %Playbacktime; "npt=0" utc %UTCtime; #IMPLIED >
<!-- MEDIA tag giving descriptions on a media bitstream (empty content) --> <!-- ================================================================== --> <!-- granulerate = the base temporal resolution of the bitstream (.e.g. its framerate for video or samplerate for audio) --> <!-- mimetype = encoding format of the media document (a MIME type) --> <!-- location = URI to the media document --> <!-- start = the start time of the media bitstream starting at the seekoffset --> <!-- seekoffset = the time offset from which the media document will be considered --> <!ELEMENT media EMPTY> <!ATTLIST media id ID #IMPLIED granulerate CDATA #IMPLIED mimetype CDATA #IMPLIED location %URI; #REQUIRED start %Timestamp; "npt=0" end %Timestamp; #IMPLIED >
<!-- **************************** --> <!-- Definition of document head --> <!-- **************************** -->
<!-- head tag containing description of a specific media document --> <!-- ============================================================ --> <!-- profile = space-separated list of URIs to locate meta tag schemes --> <!-- i18n = the base language of the head's attribute values and text content --> <!-- defltlang & defltdir = the default language for the whole document --> <!ELEMENT head (meta*, ((title, meta*, (base, meta*)?) | (base, meta*, (title, meta*)?)))> <!ATTLIST head id ID #IMPLIED %i18n; defltlang %LanguageCode; #IMPLIED defltdir (ltr|rtl) #IMPLIED profile %URI; #IMPLIED >
<!-- TITLE tag giving descriptive title of the media document --> <!-- ========================================================= --> <!-- i18n = the base language of the title --> <!ELEMENT title (#PCDATA)> <!ATTLIST title id ID #IMPLIED %i18n; >
<!-- BASE URI of the document (empty content) --> <!-- ======================================== --> <!-- href = URI associated with the document; all relative URI references get interpreted relative to this base --> <!ELEMENT base EMPTY> <!ATTLIST base id ID #IMPLIED href %URI; #REQUIRED >
<!-- META description tags of the document (empty content) --> <!-- ===================================================== --> <!-- i18n = the default language for the meta attribute and content text --> <!-- name = identifies a property name; does not list legal values for this attribute --> <!-- content = specifies a property's value; does not list legal values for this attribute --> <!-- scheme = names a scheme to be used to interpret the property's value (see the profiles tag in the head element for locating these) --> <!ELEMENT meta EMPTY> <!ATTLIST meta id ID #IMPLIED %i18n; name NMTOKEN #IMPLIED content CDATA #REQUIRED scheme CDATA #IMPLIED >
<!-- **************************** --> <!-- Definition of anchor tags --> <!-- **************************** -->
<!-- A tag containing information for a specific fragment --> <!-- ==================================================== --> <!-- i18n = default language for all the desc tags in the anchor --> <!-- track = defines different sets of anchor tags; anchor tags of same type cannot overlap temporally--> <!-- href = specifies the location of a Web resource, thus defining a link between the current element (the source anchor) and the destination anchor given by this attribute --> <!-- hrefdesc = textual description of the link between the current element (the source anchor) and the destination anchor given by the href attribute --> <!-- image = link to an image that is representative for this fragment --> <!-- start = specifies the start time of the fragment; specified in time relative to the timebase of the header [NOT INCLUDED IN ANNODEXED DOCUMENT] --> <!-- end = specifies the end time of the fragment; specified in time relative to the timebase of the header [NOT INCLUDED IN ANNODEXED DOCUMENT] --> <!ELEMENT a (meta*, desc*)> <!ATTLIST a id ID #IMPLIED %i18n; track CDATA "default" href %URI; #IMPLIED hrefdesc CDATA #IMPLIED image %URI; #IMPLIED start %Timestamp; #REQUIRED end %Timestamp; #IMPLIED >
<!-- DESC human-readable, textual description of the anchor (annotation) --> <!-- =================================================================== --> <!-- i18n = language of the data in the description, as per [RFC1766] --> <!ELEMENT desc (#PCDATA)> <!ATTLIST desc id ID #IMPLIED %i18n; >