cmml.dtd

The DTD for CMML is quite short and produces flat hierarchies. It follows an intention to create the minimal necessary markup and although tags were copied from HTML, attributes and elements were selected carefully. The inclusion of further tags is possible, but only when there is a proven need for it. Incompatible changes will result in a change of the major version number of CMML, while compatible changes, such as optional extensions, only change the minor version number.

To get a better understanding of the components in libcmml it is recommended to read the DTD:

00001 <!--
00002 
00003    Continuous Media Markup Language CMML version 2.0 DTD
00004    Authoring language for ANNODEX(TM) media.
00005 
00006    Namespace = http://www.annodex.net/cmml
00007 
00008    Copyright (c) 2001 
00009    Commonwealth Scientific and Industrial Research Organisation
00010    (CSIRO), Australia.
00011    All Rights Reserved. 
00012 
00013    This DTD module is identified by the PUBLIC and SYSTEM identifiers:
00014 
00015    PUBLIC "-//CSIRO//DTD CMML 2.0//EN"
00016    SYSTEM "http://www.annodex.net/DTD/cmml_2_0.dtd"
00017 
00018    $Revision: 1.2 $
00019    $Date: 2004/01/01 05:25:33 $
00020 -->
00021 
00022 <!-- **************************** -->
00023 <!-- Definition of Imported Names -->
00024 <!-- **************************** -->
00025 
00026 <!-- media type, as per [RFC2045] -->
00027 <!ENTITY % ContentType "CDATA">
00028  
00029 <!-- a Uniform Resource Identifier, see [RFC2396] -->
00030 <!ENTITY % URI "CDATA">
00031 
00032 <!-- a language code, as per [RFC1766] -->
00033 <!ENTITY % LanguageCode "NMTOKEN">
00034 
00035 <!-- internationalization attributes
00036   xml:lang    language code (as per XML 1.0 spec)
00037   dir          direction for weak/neutral text
00038 -->
00039 <!ENTITY % i18n
00040  "lang        %LanguageCode; #IMPLIED
00041   dir         (ltr|rtl)      #IMPLIED"
00042   >
00043 
00044 <!-- timestamps similar to [RFC2326] 
00045  "smpte-24:" SMPTE time with a 24 fps basis
00046  "smpte-24-drop:" SMPTE time with a 24/1.001 fps basis
00047  "smpte-25:" SMPTE time with a 25 fps basis
00048  "smpte-30:" SMPTE time with a 30 fps basis
00049  "smpte-30-drop:" SMPTE time with a 30/1.001 fps basis
00050  "smpte-50:" SMPTE time with a 50 fps basis
00051  "smpte-60:" SMPTE time with a 60 fps basis
00052  "smpte-60-drop:" SMPTE time with a 60/1.001 fps basis
00053  "npt:" npt-time
00054  "clock:" utc-time
00055 
00056  Playbacktime is specified as a smpte-time 
00057  or npt-time only.
00058 
00059  UTCtime is specified as in [RFC2326], but
00060  without the "clock" identifier
00061 -->
00062 <!ENTITY % Timestamp    "CDATA">
00063 <!ENTITY % Playbacktime "CDATA">
00064 <!ENTITY % UTCtime      "CDATA">
00065 
00066 
00067 <!-- **************************** -->
00068 <!-- Document Structure           -->
00069 <!-- **************************** -->
00070 
00071 <!-- ROOT ELEMENT: -->
00072 <!-- cmml tag containing sequence of head and a tags -->
00073 <!-- =============================================== -->
00074 <!-- i18n  = the default language for the whole document including
00075              the id tag of the cmml element -->
00076 <!-- xmlns = namespace of the cmml tags -->
00077 <!ELEMENT cmml (stream?, head, clip*)>
00078 <!ATTLIST cmml
00079   %i18n;
00080   id          ID             #IMPLIED
00081   xmlns       %URI;          #FIXED 'http://www.annodex.net/cmml'
00082   >
00083 
00084 
00085 <!-- **************************** -->
00086 <!-- Definition of stream element -->
00087 <!-- **************************** -->
00088 
00089 <!-- STREAM tag providing timing information for the ANNODEX file -->
00090 <!-- (will be stored in the binary headers of the ANX bitstreams) -->
00091 <!-- ============================================================ -->
00092 <!-- (has no text attributes and thus no i18n; id tag follows default 
00093       language specified in cmml tag) -->
00094 <!-- timebase   = base time associated with the first frame of the media 
00095                   document from which subsequent time references (such as 
00096                   in clip tags) will be taken relative to -->
00097 <!-- utc        = a mapping of the first frame to clock time; 
00098                   specifications of utc time offsets into the document as
00099                   in a URI will be taken relative to this -->
00100 <!ELEMENT stream (import*)>
00101 <!ATTLIST stream
00102   id          ID             #IMPLIED
00103   timebase    %Playbacktime; "0"
00104   utc         %UTCtime;      #IMPLIED
00105   >
00106 
00107 <!-- IMPORT tag giving descriptions on an input bitstream (empty content) -->
00108 <!-- ==================================================================== -->
00109 <!-- i18n        = the language of the import tag's and the contained param
00110                    tags' attribute values -->
00111 <!-- granulerate = the base temporal resolution of the bitstream (e.g.
00112                    its framerate for video or samplerate for audio) -->
00113 <!-- contenttype = encoding format of the input document (a MIME type and
00114                    a character encoding separated by semicolon) -->
00115 <!-- src         = URI to the media document -->
00116 <!-- start       = the start time of the media bitstream specified
00117                    in src -->
00118 <!-- end         = the end time of the media bitstream specified
00119                    in src -->
00120 <!-- title       = human readable comment on the import bitstream -->
00121 <!ELEMENT import (param*)>
00122 <!ATTLIST import 
00123   %i18n;
00124   id          ID             #IMPLIED
00125   granulerate CDATA          #IMPLIED
00126   contenttype %ContentType;  #IMPLIED
00127   src         %URI;          #REQUIRED
00128   start       %Timestamp;    "0"
00129   end         %Timestamp;    #IMPLIED
00130   title       CDATA          #IMPLIED
00131   >
00132 
00133 <!-- PARAM description tags of an input bitstream (empty content)   -->
00134 <!-- (name-value pairs e.g. comments on recording quality or so)    -->
00135 <!-- ============================================================== -->
00136 <!-- (internationalisation inherited from the parent import tag)    -->
00137 <!-- name  = identifies a property name; does not list legal values for this 
00138              attribute --> 
00139 <!-- value = specifies a property's value; does not list legal values for 
00140                this attribute -->
00141 <!ELEMENT param EMPTY>
00142 <!ATTLIST param
00143   id          ID             #IMPLIED
00144   name        CDATA          #REQUIRED
00145   value       CDATA          #REQUIRED
00146   >
00147 
00148 
00149 <!-- **************************** -->
00150 <!-- Definition of document head  -->
00151 <!-- **************************** -->
00152 
00153 <!-- head tag containing description of a specific media document -->
00154 <!-- ============================================================ -->
00155 <!-- i18n    = the base language of the head's attribute values and text 
00156                content -->
00157 <!-- profile = space-separated list of URIs to locate meta tag schemes -->
00158 <!ELEMENT head (meta*,
00159                 ((title, meta*, (base, meta*)?) |
00160                  (base, meta*, (title, meta*)?)))>
00161 <!ATTLIST head
00162   %i18n;
00163   id          ID             #IMPLIED
00164   profile     %URI;          #IMPLIED
00165   >
00166 
00167 <!-- TITLE tag giving descriptive title of the media document  -->
00168 <!-- ========================================================= -->
00169 <!-- i18n  = the language of the title text -->
00170 <!ELEMENT title (#PCDATA)>
00171 <!ATTLIST title 
00172   %i18n;
00173   id          ID             #IMPLIED
00174   >
00175 
00176 <!-- BASE URI of the document (empty content) --> 
00177 <!-- ======================================== -->
00178 <!-- (internationalisation inherited from the parent head tag) -->
00179 <!-- href = URI associated with the document; all relative URI references
00180             get interpreted relative to this base -->
00181 <!ELEMENT base EMPTY>
00182 <!ATTLIST base
00183   id          ID             #IMPLIED
00184   href        %URI;          #REQUIRED
00185   >
00186 
00187 <!-- META description tags of the document (empty content) -->
00188 <!-- ===================================================== -->
00189 <!-- i18n    = the language of the meta attributes -->
00190 <!-- name    = identifies a property name; does not list legal values for this 
00191                attribute --> 
00192 <!-- content = specifies a property's value; does not list legal values for 
00193                this attribute -->
00194 <!-- scheme  = names a scheme to be used to interpret the property's value 
00195                (see the profiles tag in the head element for locating these) -->
00196 <!ELEMENT meta EMPTY>
00197 <!ATTLIST meta
00198   %i18n;
00199   id          ID             #IMPLIED
00200   name        NMTOKEN        #IMPLIED
00201   content     CDATA          #REQUIRED
00202   scheme      CDATA          #IMPLIED
00203   >
00204 
00205 <!-- ************************** -->
00206 <!-- Definition of clip tags    -->
00207 <!-- ************************** -->
00208 
00209 <!-- Clip tag containing information for a specific fragment -->
00210 <!-- ======================================================= -->
00211 <!-- though meta, a, img and desc are given in specific order
00212      here, their order is acutally random -->
00213 <!-- i18n     = the base language of the clip's attribute values and 
00214                 of its content elements -->
00215 <!-- id       = name of the clip used in URI clip references -->
00216 <!-- track    = defines different sets of clip tags; clip tags of same 
00217                 type cannot overlap temporally -->
00218 <!-- start    = specifies the start time of the clip; specified in 
00219                 time relative to the timebase of the header 
00220                 [NOT INCLUDED IN ANNODEX DOCUMENT] -->
00221 <!-- end      = specifies the end time of the clip; specified in 
00222                 time relative to the timebase of the header 
00223                 [NOT INCLUDED IN ANNODEX DOCUMENT] -->
00224 <!ELEMENT clip (meta*, a?, img?, desc?)>
00225 <!ATTLIST clip
00226   %i18n;
00227   id          ID             #IMPLIED
00228   track       CDATA          "default"
00229   start       %Timestamp;    #REQUIRED
00230   end         %Timestamp;    #IMPLIED
00231   >
00232 
00233 <!-- A tag containing information for a specific clip -->
00234 <!-- ================================================ -->
00235 <!-- a tag contains anchor text being a textual description of the link 
00236      between the current element (the source anchor) and the destination
00237      anchor given by the href attribute -->
00238 <!-- i18n     = language of the anchor's attribute values and anchor text -->
00239 <!-- class    = overriding style sheet defaults for this instance -->
00240 <!-- href     = specifies the location of a Web resource, thus defining a 
00241                 link between the current element (the source anchor) and the 
00242                 destination anchor given by this attribute -->
00243 <!ELEMENT a (#PCDATA)>
00244 <!ATTLIST a
00245   %i18n;
00246   id          ID             #IMPLIED
00247   class       CDATA          #IMPLIED
00248   href        %URI;          #REQUIRED
00249   >
00250 
00251 <!-- IMG tag to include a representative image for the clip -->
00252 <!-- ====================================================== -->
00253 <!-- i18n = language of the image's attribute values        -->
00254 <!-- src  = reference to the image                          -->
00255 <!-- alt  = alternative text for the image (accessibility)  -->
00256 <!ELEMENT img EMPTY>
00257 <!ATTLIST img
00258   %i18n;
00259   id          ID             #IMPLIED
00260   src         %URI;          #REQUIRED
00261   alt         CDATA          #IMPLIED
00262   >
00263 
00264 <!-- DESC human-readable, textual description of the clip (annotation) -->
00265 <!-- ================================================================= -->
00266 <!-- i18n = language of the data in the description -->
00267 <!ELEMENT desc (#PCDATA)>
00268 <!ATTLIST desc
00269   %i18n;
00270   id          ID             #IMPLIED
00271   >

Generated on Tue Feb 7 17:45:43 2006 for libcmml by  doxygen 1.4.6