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