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