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.1 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.1//EN"
00016   SYSTEM "http://www.annodex.net/DTD/cmml_2_1.dtd"
00017 
00018   $Revision: 2.1 $
00019   $Date: 2006/03/04 24:00:00 $
00020 -->
00021 
00022 <!-- **************************** -->
00023 <!-- Definition of Imported Names -->
00024 <!-- **************************** -->
00025 
00026 <!-- media type, as per [RFC2045] -->
00027 <!ENTITY % ContentType "CDATA">
00028  
00029 <!-- space-separated list of link types -->
00030 <!ENTITY % LinkTypes "CDATA">
00031 
00032 <!-- single or comma-separated list of media descriptors -->
00033 <!ENTITY % MediaDesc "CDATA">
00034 
00035 <!-- used for titles etc. -->
00036 <!ENTITY % Text "CDATA">
00037 
00038 <!-- a Uniform Resource Identifier, see [RFC2396] -->
00039 <!ENTITY % URI "CDATA">
00040 
00041 <!-- a language code, as per [RFC1766] -->
00042 <!ENTITY % LanguageCode "NMTOKEN">
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 <!-- Definition of Generic Attributes -->
00069 <!-- ******************************** -->
00070 
00071 <!-- core attributes common to most displayable elements
00072   id       document-wide unique id
00073   class    space separated list of classes
00074   title    advisory title/amplification
00075 -->
00076 <!ENTITY % coreattrs
00077  "id          ID                #IMPLIED
00078   class       CDATA             #IMPLIED
00079   title       %Text;            #IMPLIED"
00080   >
00081 
00082 <!-- internationalization attributes
00083   xml:lang    language code (as per XML 1.0 spec)
00084   dir         direction for weak/neutral text
00085 -->
00086 <!ENTITY % i18n
00087  "lang        %LanguageCode; #IMPLIED
00088   dir         (ltr|rtl)      #IMPLIED"
00089   >
00090 
00091 <!ENTITY % attrs "%coreattrs; %i18n;">
00092 
00093 
00094 <!-- **************************** -->
00095 <!-- Document Structure           -->
00096 <!-- **************************** -->
00097 
00098 <!-- ROOT ELEMENT: -->
00099 <!-- cmml tag containing sequence of head and a tags -->
00100 <!-- =============================================== -->
00101 <!-- i18n  = the default language for the whole document including
00102              the id tag of the cmml element -->
00103 <!-- xmlns = namespace of the cmml tags -->
00104 <!-- granulerate = the base temporal resolution to be used for the
00105                    cmml bitstream -->
00106 <!ELEMENT cmml (stream?, head, clip*)>
00107 <!ATTLIST cmml
00108   %i18n;
00109   id          ID             #IMPLIED
00110   xmlns       %URI;          #FIXED 'http://www.annodex.net/cmml'
00111   granulerate CDATA          #IMPLIED
00112   >
00113 
00114 
00115 <!-- **************************** -->
00116 <!-- Definition of stream element -->
00117 <!-- **************************** -->
00118 
00119 <!-- STREAM tag providing timing information for the ANNODEX file -->
00120 <!-- (will be stored in the binary headers of the ANX bitstreams) -->
00121 <!-- ============================================================ -->
00122 <!-- (has no text attributes and thus no i18n; id tag follows default 
00123       language specified in cmml tag) -->
00124 <!-- basetime  = base time associated with the first frame of the
00125                  media document from which subsequent time references
00126                  (such as in clip tags) will be taken relative to -->
00127 <!-- timebase  = same as basetime; kept for backwards compatibility;
00128                  deprecated and will not be used in versions>=3.0 -->
00129 <!-- utc       = a mapping of the first frame to clock time; 
00130                  specifications of utc time offsets into the document
00131                  as in a URI will be taken relative to this -->
00132 <!ELEMENT stream (import*)>
00133 <!ATTLIST stream
00134   id          ID             #IMPLIED
00135   basetime    %Playbacktime; "0"
00136   timebase    %Playbacktime; "0"
00137   utc         %UTCtime;      #IMPLIED
00138   >
00139 
00140 <!-- IMPORT tag giving descriptions on an input bitstream
00141      (empty content)                                              -->
00142 <!-- ============================================================ -->
00143 <!-- i18n        = the language of the import tag's and the contained
00144                    param tags' attribute values -->
00145 <!-- title       = human readable comment on the import bitstream -->
00146 <!-- granulerate = the base temporal resolution of the bitstream
00147                    (e.g. its framerate for video or samplerate for
00148                    audio) -->
00149 <!-- contenttype = encoding format of the input document (a MIME type
00150                    and a character encoding separated by semicolon)
00151                    -->
00152 <!-- src         = URI to the media document -->
00153 <!-- start       = the start time of the media bitstream specified
00154                    in src -->
00155 <!-- end         = the end time of the media bitstream specified
00156                    in src -->
00157 <!ELEMENT import (param*)>
00158 <!ATTLIST import 
00159   %i18n;
00160   id          ID             #IMPLIED
00161   title       %Text;         #IMPLIED
00162   granulerate CDATA          #IMPLIED
00163   contenttype %ContentType;  #IMPLIED
00164   src         %URI;          #REQUIRED
00165   start       %Timestamp;    "0"
00166   end         %Timestamp;    #IMPLIED
00167   >
00168 
00169 <!-- PARAM description tags of an input bitstream (empty content) -->
00170 <!-- (name-value pairs e.g. comments on recording quality or so)  -->
00171 <!-- ============================================================ -->
00172 <!-- (internationalisation inherited from the parent import tag)  -->
00173 <!-- name  = identifies a property name; does not list legal values
00174              for this attribute --> 
00175 <!-- value = specifies a property's value; does not list legal values
00176              for this attribute -->
00177 <!ELEMENT param EMPTY>
00178 <!ATTLIST param
00179   id          ID             #IMPLIED
00180   name        CDATA          #REQUIRED
00181   value       CDATA          #REQUIRED
00182   >
00183 
00184 
00185 <!-- **************************** -->
00186 <!-- Definition of document head  -->
00187 <!-- **************************** -->
00188 
00189 <!-- head tag containing description of a specific media stream -->
00190 <!-- ========================================================== -->
00191 <!-- i18n    = the base language of the head's attribute values
00192                and text content -->
00193 <!-- profile = space-separated list of URIs to locate meta tag
00194                schemes -->
00195 
00196 <!-- content model is %head.misc; combined with a single
00197      title and an optional base element in any order -->
00198 <!ENTITY % head.misc "(meta|link)*">
00199 <!ELEMENT head (%head.misc;,
00200                 ((title, %head.misc;, (base, %head.misc;)?) |
00201                  (base, %head.misc;, (title, %head.misc;))))>
00202 <!ATTLIST head
00203   %i18n;
00204   id          ID             #IMPLIED
00205   profile     %URI;          #IMPLIED
00206   >
00207 
00208 <!-- TITLE tag giving descriptive title of the media document  -->
00209 <!-- ========================================================= -->
00210 <!-- i18n  = the language of the title text -->
00211 <!ELEMENT title (#PCDATA)>
00212 <!ATTLIST title 
00213   %i18n;
00214   id          ID             #IMPLIED
00215   >
00216 
00217 
00218 <!-- BASE URI of the document (empty content) --> 
00219 <!-- ======================================== -->
00220 <!-- (internationalisation inherited from the parent head tag) -->
00221 <!-- href = URI associated with the document; all relative URI
00222             references get interpreted relative to this base -->
00223 <!ELEMENT base EMPTY>
00224 <!ATTLIST base
00225   id          ID             #IMPLIED
00226   href        %URI;          #REQUIRED
00227   >
00228 
00229 <!-- META description tags of the document (empty content) -->
00230 <!-- ===================================================== -->
00231 <!-- i18n    = the language of the meta attributes -->
00232 <!-- name    = identifies a property name; does not list legal
00233                values for this attribute --> 
00234 <!-- content = specifies a property's value; does not list legal
00235                values for this attribute -->
00236 <!-- scheme  = names a scheme to be used to interpret the property's
00237                value (see the profiles tag in the head element for
00238                locating these) -->
00239 <!ELEMENT meta EMPTY>
00240 <!ATTLIST meta
00241   %i18n;
00242   id          ID             #IMPLIED
00243   name        NMTOKEN        #IMPLIED
00244   content     CDATA          #REQUIRED
00245   scheme      CDATA          #IMPLIED
00246   >
00247 
00248 <!-- LINK tag to specify relationship values (empty content) --> 
00249 <!-- ======================================================= -->
00250 <!-- Relationship values can be used in principle:
00251      a) for document specific toolbars/menus when used
00252         with the link element in document head e.g.
00253         start, contents, previous, next, index, end, help
00254      b) to link to a separate style sheet (rel="stylesheet")
00255      As charsets are given in the xml directive of cmml documents,
00256      this attribute of html is not required for cmml.
00257   -->
00258 <!-- attrs = the language of the title text; a short description of
00259              the relationship through title, and the stylesheet class
00260              -->
00261 <!-- href  = reference to a related document -->
00262 <!-- type  = type of the document referenced, e.g. "text/css" -->
00263 <!-- rel   = type of relationship to forward linked document -->
00264 <!-- rev   = type of relationship to reverse linked document -->
00265 <!-- media = type or medium/media to be rendered on, default "screen"
00266              -->
00267 
00268 <!ELEMENT link EMPTY>
00269 <!ATTLIST link
00270   %attrs;
00271   href        %URI;          #IMPLIED
00272   type        %ContentType;  #IMPLIED
00273   rel         %LinkTypes;    #IMPLIED
00274   rev         %LinkTypes;    #IMPLIED
00275   media       %MediaDesc;    #IMPLIED
00276   >
00277 
00278 
00279 <!-- ************************** -->
00280 <!-- Definition of clip tags    -->
00281 <!-- ************************** -->
00282 
00283 <!-- Clip tag containing information for a specific fragment -->
00284 <!-- ======================================================= -->
00285 <!-- through meta, a, img and desc are given in specific order
00286      here, their order is acutally random -->
00287 <!-- attrs    = the base language of the clip's attribute values and 
00288                 of its content elements; a short title representing
00289                 the anchor (e.g. in tooltips) -->
00290 <!-- track    = defines different sets of clip tags; clip tags of
00291                 same type cannot overlap temporally -->
00292 <!-- start    = specifies the start time of the clip; specified in 
00293                time relative to the basetime of the header 
00294                 [NOT INCLUDED IN ANNODEXED DOCUMENT] -->
00295 <!-- end      = specifies the end time of the clip; specified in 
00296                 time relative to the basetime of the header 
00297                 [NOT INCLUDED IN ANNODEXED DOCUMENT] -->
00298 
00299 <!ELEMENT clip (meta*, a?, img?, desc?)>
00300 <!ATTLIST clip
00301   %attrs;
00302   track       CDATA          "default"
00303   start       %Timestamp;    #REQUIRED
00304   end         %Timestamp;    #IMPLIED
00305   >
00306 
00307 <!-- A tag containing information for a specific clip -->
00308 <!-- ================================================ -->
00309 <!-- a tag contains anchor text being a textual description of the
00310      link between the current element (the source anchor) and the
00311      destination anchor given by the href attribute -->
00312 <!-- attrs    = the base language of the clip's attribute values
00313                 and of its content elements; the stylesheet class
00314                 attribute; a short title representing the anchor
00315                 (e.g. in tooltips) -->
00316 <!-- href     = specifies the location of a Web resource, thus
00317                 defining a link between the current element (the
00318                 source anchor) and the destination anchor given by
00319                 this attribute -->
00320 <!ELEMENT a (#PCDATA)>
00321 <!ATTLIST a
00322   %attrs;
00323   href        %URI;          #REQUIRED
00324   >
00325 
00326 <!-- IMG tag to include a representative image for the clip -->
00327 <!-- ====================================================== -->
00328 <!-- attrs = the language of the image's attribute values;
00329              the stylesheet class attribute; a short title
00330              representing the image (e.g. in tooltips) -->
00331 <!-- src   = reference to the image                          -->
00332 <!-- alt   = alternative text for the image (accessibility)  -->
00333 <!ELEMENT img EMPTY>
00334 <!ATTLIST img
00335   %attrs;
00336   src         %URI;          #REQUIRED
00337   alt         CDATA          #IMPLIED
00338   >
00339 
00340 <!-- DESC human-readable, textual description of the clip
00341      (annotation)                                            -->
00342 <!-- ======================================================= -->
00343 <!-- attrs    = the base language of the data in the
00344                 description; the class & style attributes;
00345                 a short title representing the desc (e.g. in
00346                 tooltips) -->
00347 <!ELEMENT desc (#PCDATA)>
00348 <!ATTLIST desc
00349   %attrs;
00350   >

Generated on Thu Aug 10 15:31:25 2006 for libcmml by  doxygen 1.4.7