<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes" ?>
<!-- <rfc ipr="full2026" number="XXXX" category="info"> -->
<rfc ipr="noDerivativeWorks2026">
  <front>
    <title abbrev="CMML">Specification of the Continuous Media Markup Language (CMML), Version 1.0</title>

    <author initials="S.P." surname="Pfeiffer" fullname="Silvia Pfeiffer">
        <organization abbrev="CSIRO">Commonwealth Scientific and
        Industrial Research Organisation CSIRO,
        Australia</organization>
        <address>
           <postal>
              <street>Locked Bag 17</street>
              <city>North Ryde</city>
              <region>NSW</region>
              <code>2113</code>
              <country>Australia</country>
           </postal>
           <phone>+61 2 9325 3141</phone>
           <email>Silvia.Pfeiffer@csiro.au</email>
           <uri>http://www.cmis.csiro.au/Silvia.Pfeiffer/</uri>
        </address>
    </author>

    <author initials="C.D.P." surname="Parker" fullname="Conrad D. Parker">
        <organization abbrev="CSIRO">Commonwealth Scientific and
        Industrial Research Organisation CSIRO,
        Australia</organization>
        <address>
           <postal>
              <street>Locked Bag 17</street>
              <city>North Ryde</city>
              <region>NSW</region>
              <code>2113</code>
              <country>Australia</country>
           </postal>
           <phone>+61 2 9325 3133</phone>
           <email>Conrad.Parker@csiro.au</email>
           <uri>http://www.cmis.csiro.au/Conrad.Parker/</uri>
        </address>
    </author>
    <date month="June" year="2003"/>

    <abstract>
      <t>This specification defines the Continuous Media Markup
      Language (CMML), version 1.0, an <xref
      target="XML">XML-based</xref> markup language for
      time-continuous data. It is a sister document to the
      specification of the <xref target="ANX">ANNODEX(TM)</xref>
      annotation and indexing format for time-continuous data. The
      CMML is an authoring language for annotating, indexing and
      hyperlinking time-continuous data in the <xref
      target="ANX">ANNODEX(TM)</xref> format. Its tags provide for the
      creation of structured and unstructured annotations as well as
      hyperlinks and addressable named anchor points for fragments of
      time-continuous data. The tag names in use in CMML are similar
      to the ones in <xref target="XHTML">XHTML</xref>.
      </t>

      <t>At this point in time, the right to produce derivative works
      is not granted to the IETF as the authors are uncertain about
      the necessity to create a working group. The specification is
      not encumbered by patents. The ANNODEX(TM) format is protected
      by a trademark to prevent the use of the term "annodex" for any
      related but non-conformant and therefore non-interoperable
      technology.
      </t>

    </abstract>
  </front>
  
  <middle>
    
    <!--**************-->
    <!-- INTRODUCTION -->
    <!--**************-->
    <section title="Introduction">

      <t>Please note that this document assumes that the reader has a
      fluent working knowledge of <xref target="XML">XML</xref>, <xref
      target="HTML">HTML</xref>, <xref target="XHTML">XHTML</xref> and
      the World Wide Web. Knowledge about the <xref
      target="ANX">ANNODEX(TM)</xref> sister document is also
      presumed.
      </t>

      <t>Time-continuous data in the ANNODEX(TM) format contains
      XML-based annotations and hyperlinking information that enables
      it to be browsed by client applications, and crawled and indexed
      by search engines. The Continuous Media Markup Language CMML is
      a simple markup language for authoring the XML data to be
      multiplexed with the time-continuous data given in binary
      bitstreams. This process eventually creates ANNODEX(TM) format
      bitstreams. The CMML has much in common with XHTML.
      </t>

      <t>The CMML can describe one or several time-continuous media
      bitstreams. It is used to create all the tags required for
      authoring the annotation information for the ANNODEX(TM)
      format. It therefore basically contains the same tags as the
      annotation bitstream in ANNODEX(TM) format bitstreams, but also
      has some additional tags required for identifying and
      synchronising one or several time-continuous bitstreams that
      will be multiplexed together for the creation of one conherent
      ANNODEX(TM) format bitstream.
      </t>

      <t>The following picture illustrates the multiplexing
      activity:
      </t>
      <figure>
        <artwork><![CDATA[
   ----------
   |stream  | CMML
   ---------- instance
   | head   | document
   ----------
   |anchor_1|     ----------------------------------------------------
   ----------     | media bitstream in packets                       |
   | ...    |     ----------------------------------------------------
   ----------          |
   |anchor_n|          |
   ----------          |
       |               |
       ------->-<-------
               |
          Multiplexing
               |
               v
   ----------------------------------------------------------------------
   |stream|head|anchor_1|  media packets  |anchor_2| media packets  ...
   ----------------------------------------------------------------------
	    ]]></artwork>
        </figure>


      <t>The file extension of CMML files is ".cmml". This document
      also applies for registration of the mime-type "text/cmml" for
      CMML files.
      </t>

      <t>The CMML is technically fully specified through its DTD as
      given in the Appendix. The semantic meaning of each of the tags,
      their content and their attributes is specified in the following
      sections. The Appendix also contains an example of a CMML
      (instance) document.
      </t>

    </section>

    <!--************-->
    <!-- CMML types -->
    <!--************-->
    <section title="The CMML data types">

      <t>At the beginning of the CMML DTD, several parameter entities
      are defined that are used throughout the DTD as data types. This
      section gives a brief overview of them and refers to the
      relevant standards in which they are defined.
      </t>

      <section title="URIs">
        <t>A "URI" is a character string that conforms to the
        specification of the Uniform Resource Identifier as defined in
        <xref target="URI">RFC 2396</xref>. The currently proposed
        <xref target="timedURI">temporal URI fragment identifier
        specification</xref> is supported, too. A URI generally points
        to a Web resource.
        </t>
      </section>

      <section title="Internationalisation support">
        <t>The "LanguageCode" defines a collection of constant strings
        that each identify a specific language as defined in <xref
        target="LANG">RFC 1766</xref>. It is used to provide
        internationalisation support. To that end, the i18n entity
        draws together a language given by a "LanguageCode" with the
        directionality of that language in "dir" given either as ltr
        (left-to-right) or rtl (right-to-left).
        </t>
      </section>

      <section title="Time specifications">
	<t>There are three different time specifications in use in
	CMML: "Timestamp", "Playbacktime" and "UTCtime".
	</t>

        <t>A "Timestamp" is generally a name-value pair which defines
        a time point. The time point value is interpreted according to
        the time scheme given in the name. If the name is ommitted, it
        defaults to "npt=". The available time specifications stem
        from different sources:
	  <list style="symbols">

	    <t>"npt" is "normal playback time" as used in the <xref
	    target="RTSP">RTSP standard</xref>.
	    </t>

	    <t>"smpte" are several frame-based time labels as defined
	    by the <xref target="SMPTE">Society of Motion Pictures and
	    Television Engineers</xref>. As fractional frames are
	    meaningless for video and ambiguous for audio in the
	    drop-frame situations, they are not used. The drop-frame
	    algorithms for calculating the exact times can be found in
	    the mentioned SMPTE standard.
	    </t>

	    <t>"utc" is the "universal time code" as specified in the
	    <xref target="ISO8601">ISO 8601 standard</xref>.
	    </t>

	  </list>
        </t>

        <t>Thus, the available time schemes are:
          <list style="empty">

	  <t>"npt=" NPT time with a second or subsecond basis</t>
	  <t>Specification as BNF:</t>
      <artwork><![CDATA[
npt-spec    =  "npt=" npt-time
npt-time    =  npt-sec | npt-hhmmss
npt-sec     =   1*DIGIT [ "." *DIGIT ]
npt-hhmmss  =   npt-hh ":" npt-mm ":" npt-ss [ "." *DIGIT ]
npt-hh      =   1*DIGIT
npt-mm      =   1*2DIGIT
npt-ss      =   1*2DIGIT
        ]]></artwork>

          <t> "smpte-24=" SMPTE time with a 24 fps basis</t>
          <t> "smpte-24-drop=" SMPTE time with a 24/1.001 fps basis</t>
          <t> "smpte-25=" SMPTE time with a 25 fps basis</t>
          <t> "smpte-30=" SMPTE time with a 30 fps basis</t>
          <t> "smpte-30-drop=" SMPTE time with a 30/1.001 fps basis</t>
          <t> "smpte-50=" SMPTE time with a 50 fps basis</t>
          <t> "smpte-60=" SMPTE time with a 60 fps basis</t>
          <t> "smpte-60-drop=" SMPTE time with a 60/1.001 fps basis</t>
	  <t>Specification as BNF:</t>
      <artwork><![CDATA[
smpte-spec  = smpte-type "=" smpte-time
smpte-type  = "smpte-24" | "smpte-24-drop" | "smpte-25" |
              "smpte-30" | "smpte-30-drop" | "smpte-50" |
              "smpte-60" | "smpte-60-drop"
smpte-time  =  1*2DIGIT ":" 1*2DIGIT ":" 1*2DIGIT [ ":" 1*2DIGIT ]
        ]]></artwork>

	  <t>"clock=" UTC time with a second or subsecond basis</t>
	  <t>Specification as BNF:</t>
      <artwork><![CDATA[
utc-spec    = "clock=" utc-time
utc-time    =   utc-date "T" utc-hhmmss "Z"
utc-date    =   8DIGIT
utc-hhmmss  =   6DIGIT [ "." *DIGIT ]
        ]]></artwork>

          </list>
	</t>

	<t>The "Playbacktime" entity is a data type that just
	specifies a SMPTE or a NPT time. It is therefore equal to the
	Timestamp entity without the UTC specification.
	</t>

	<t>The "UTCtime" entity is a data type that just specifies a
	UTC time without an identifier. UTC time is specified as in
	the Timestamp entity, but without the "clock=" identifier.
        </t>

      </section>

    </section>

    <!--**************-->
    <!-- Root element -->
    <!--**************-->
    <section title="The preamble and the 'cmml' root element">

      <t>A CMML file is an XML instance document of the CMML DTD. An
      example is given in the Appendix. It starts with the usual xml
      directive and the DTD specification (see
      http://www.w3.org/TR/REC-xml#sec-prolog-dtd). This is an example
      preamble:
      </t>

      <figure>
        <artwork><![CDATA[
<?xml version="1.0"encoding="UTF-8"?>
<!DOCTYPE cmml SYSTEM "cmml.dtd">
	    ]]></artwork>
        </figure>

      <t>After the preamble, the CMML tags follow. A CMML file has a
      "cmml" tag as the root element. It embraces all the other tags.
      </t>
      
      <figure>
        <artwork><![CDATA[
<!ELEMENT cmml (stream?, head, a*)>
<!ATTLIST cmml
  id          ID             #IMPLIED
  xmlns       %URI;          #FIXED 'http://www.annodex.net/cmml'
  >
	    ]]></artwork>
        </figure>

	<t>The "cmml" tag encloses at most one "stream" element,
	exactly one "head" element, and as many "a" elements as the
	document author requires. An "a" element describes a fragment
	of the to be created ANNODEX(TM) bitstream. The ANNODEX(TM)
	bistream is created by multiplexing the bitstreams given in
	the "location" attributes of the "media" tags of the "stream"
	element together with the CMML annotations in a
	time-synchronous manner, as specified in the <xref
	target="ANX">ANNODEX(TM) format</xref>.
	</t>

	<t>Attributes of the "cmml" element are the usual xml root tag
	attributes: an identifier "id" and a namespace "xmlns".
	</t>

      </section>


    <!--****************-->
    <!-- Stream element -->
    <!--****************-->
    <section title="The cmml 'stream' tag">

      <t>The "stream" element contains information about the input
      time-continuous bitstreams that are to be multiplexed together
      on authoring the ANNODEX(TM) format bitstreams.
      </t>

        <figure>
          <artwork><![CDATA[
<!ELEMENT stream (media*)>
<!ATTLIST stream
  id          ID             #IMPLIED
  timebase    %Playbacktime; "npt=0"
  utc         %UTCtime;      #IMPLIED
  >
	    ]]></artwork>
        </figure>

        <t>The "timebase" attribute contains a playback time in
        seconds associated with that first data packet. All other
        times in the CMML file MUST be calculated relative to this
        timebase. For example, a timebase of 300 seconds npt for a
        video file implies that the first frame is related to a play
        time of 300 seconds, and an anchor with a start time of 350
        seconds is to be included 50 seconds into the ANNODEX(TM)
        bitstream.  If no timebase is given, the timebase defaults to
        0 npt. The timebase can be given as a SMPTE or NPT time, not
        as a utc time.
	</t>

	<t>The "utc" attribute associates a calendar date and a
	wall-clock time with the timebase. It therefore provides a
	mapping of the timebase to a real-world clock time and is
	given as a UTC time. If it is omitted, the start attribute in
	the media tag, and the start and end attributes in anchor tags
	MUST NOT be specified as UTC times.
	</t>

	<t>The content model of the "stream" tag then proposes an
	arbitrary number of input bitstreams. These are described one
	by one in the "media" element.
	</t>

	<!--***************-->
	<!-- Media element -->
	<!--***************-->
	<section title="The 'media' tag">        

	<t>A "media" tag contains information on one of the input
	bitstreams for the multiplexing process. The relevant
	bitstream (fragment) is referenced through the "location"
	attribute. The location is a URI and may thus also contain a
	temporal URI fragment specification which narrows down the
	input file to that given subpart. That resource is multiplexed
	into the ANNODEX(TM) format bitstream starting at the time
	given in the "start" attribute and ending at the latest at the
	time given in the "end" attribute. The "start" and "end"
	attributes are interpreted relative to the timeline of the
	ANNODEX(TM) format bitstream.
	</t>
        
        <figure>
          <artwork><![CDATA[
<!ELEMENT media EMPTY>
<!ATTLIST media 
  id          ID             #IMPLIED
  granulerate CDATA          #IMPLIED
  mimetype    CDATA          #IMPLIED
  location    %URI;          #REQUIRED
  start       %Timestamp;    "npt=0"
  end         %Timestamp;    #IMPLIED
>
	    ]]></artwork>
        </figure>

	<t>The "granulerate" attribute contains the base temporal
	resolution in Hz of the input bitstream refered in the
	"location" attribute. It depends on the encoding format of the
	input bitstream and typically contains the framerate for video
	(e.g. 25 frames/sec) and the samplerate for audio (e.g. 44100
	samples/sec), but may contain any rational number given with
	an integer denominator larger than 1 sec (e.g. 25 frames on 2
	seconds). Each bitstream has its own granulerate dependent on
	its specific encoding. This attribute is implied as it can be
	determined automatically during the multiplexing process when
	the headers of the encoded media bitstream contain this
	information. For bitstreams without header, such as
	uncompressed audio, the author of the CMML file can provide
	the granulerate to the multiplexer in this attribute.
	</t>

        <t>The "mimetype" attribute specifies the <xref
        target="MIME">MIME type</xref> of the input bitstream refered
        in the "location" attribute. It is optional as the MIME type
        can often be derived easily from the file name or file header
        of the media source during multiplexing.
        </t>

	<t>The "location" attribute specifies a URI to the input
	bitstream. Commonly used URI schemes are "file" and "http".
	For specifying temporal subsets of the input bitstream, use
	the <xref target="timedURI">temporal URI fragment</xref>
	specification.
	</t>

	<t>The "start" attribute specifies a time in the output
	ANNODEX(TM) bitstream at which the media bitstream will be
	inserted. This time is specified with respect to the
	"timebase" attribute given in the "stream" element.
	</t>

	<t>The "end" attribute specifies a time in the output
	ANNODEX(TM) bitstream at which the media bitstream stop at the
	latest. This time is also specified with respect to the
	"timebase" attribute given in the "stream" element. This
	attribute is not required when the full bitstream is used.
	</t>

      </section>

    </section>


    <!--**************-->
    <!-- Head element -->
    <!--**************-->
    <section title="The cmml 'head' element">

      <t>The CMML "head" element contains annotation information on
      the complete ANNODEX(TM) bitstream, which the CMML file is used
      to create. It therefore contains header-type information such as
      a title for the bitstream, and meta information describing the
      bitstream.
      </t>

      <t>The "head" element is declared as the following:
      </t>
        <figure>
          <artwork><![CDATA[
<!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
  >
	    ]]></artwork>
        </figure>
	
      <t>The "head" tag must contain a "title" tag. It may contain one
      "base" tag before or after the "title" tag and any number of
      "meta" tags at any position.
      </t>

      <t>The "%i18n;" attribute specifies the base language of the
      "head" tag's attribute values.
      </t>

      <t>The "defltlang" and "defltdir" attributes specify the default
      language (language and directionality) of the anchor tags.
      </t>

      <t>The value of the "profile" attribute is a space-separated
      list of base URIs specifying locations of "meta" tag
      schemes. These schemes may be used in the "meta" elements of the
      "head" or the "a" tags.
      </t>
	
      <!--***************-->
      <!-- Title element -->
      <!--***************-->
      <section title="The 'title' element">
	
        <t>The "title" tag gives a descriptive title for the
        ANNODEX(TM) bitstream.  The "title" element is declared as the
        following:
	</t>
        <figure>
          <artwork><![CDATA[
<!ELEMENT title (#PCDATA)>
<!ATTLIST title
  id          ID       #IMPLIED
  %i18n;
>
	    ]]></artwork>
        </figure>

	<t>The "%i18n;" attribute specifies the base language of the
	"title" text.
	</t>
 
      </section>

    <!--**************-->
    <!-- Base element -->
    <!--**************-->
      <section title="The 'base' element">
	
	<t>The "base" element defines the base URI of the ANNODEX(TM)
	bitstream. All relative URIs of the bitstream get interpreted
	relative to this base.  The "base" element is empty, but its
	attributes contain the base URI.  It is declared as follows:
	</t>
        <figure>
          <artwork><![CDATA[
<!ELEMENT base EMPTY>
<!ATTLIST base
  id      ID       #IMPLIED
  href    %URI;    #REQUIRED
>
	    ]]></artwork>
        </figure>

	<t>The "href" attribute contains the base URI.
	</t>
	
      </section>
      
      
      <!--**************-->
      <!-- Meta element -->
      <!--**************-->
      <section title="The 'meta' element">
	
	<t>The "meta" element defines structured annotations for the
	complete ANNODEX(TM) bitstream. A "meta" element is
	empty, but its attributes contain the name-value pairs of a
	structured annotation. The "meta" element is declared as
	follows:
	</t>
        <figure>
          <artwork><![CDATA[
<!ELEMENT meta EMPTY>
<!ATTLIST meta
  id       ID       #IMPLIED
  %i18n;
  name     NMTOKEN  #IMPLIED
  content  CDATA    #REQUIRED
  scheme   CDATA    #IMPLIED
>
	    ]]></artwork>
        </figure>

	<t>The "%i18n;" attribute specifies the default language of
	the meta attribute and content texts.
	</t>

	<t>The "name" attribute identifies a property name. It does
	not list legal values for this attribute.
	</t>

	<t>The "content" attribute specifies a property's value. It
	does not list legal values for this attribute.
	</t>

	<t>The "scheme" attribute names a scheme to be used to
	interprete the property's value. The scheme can be located via
	the "profile" attribute in the "head" element.
	</t>

      </section>

    </section>      

    <!--****************-->
    <!-- Anchor element -->
    <!--****************-->
    <section title="The cmml 'a' tag">

      <t>A CMML file typically contains a number of anchors given in
      "a" tags. The CMML "a" tag contains information about a fragment
      of the ANNODEX(TM) bitstream. This is expressed in a number of
      elements and attributes annotating, indexing, and hyperlinking
      the fragment. The "start" and "end" attributes are used to give
      the insertion time for the anchor into the ANNODEX(TM)
      bitstream.
      </t>

        <figure>
          <artwork><![CDATA[
<!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
>
	    ]]></artwork>
        </figure>

      <t>Any number of "meta" and "desc" elements may appear in an
      anchor page, but the "meta" elements must all appear first and
      en bloc, while the "desc" elements must all appear last and also
      en bloc.
      </t>
	
      <t>An "a" element defines a name for the fragment in the "id"
      attribute. This name can be used in URIs that point either to
      the CMML file or the ANNODEX(TM) bitstream created from it. It
      will be used as a fragment identifier and point straight to the
      fragment defined by the "a" tag.
      </t>
	
      <t>The "%i18n;" attribute specifies the default language used by
      all the "desc" elements of the "a" tag.
      </t>

      <t>The "track" attribute specifies the track that this anchor
      belongs to.  An annotation track is a set of "a" pages that
      belong together from a semantic point of view. Anchors in the
      same track must not overlap temporally. A default track must be
      available always. This track is the one a client (such as a Web
      browser plugin) will display by default. Other annotation tracks
      may be created by the document author to describe a more
      specific content. An example use are different annotation tracks
      for each speaker in an audio recording of a meeting.
      </t>

      <t>The "href" attribute specifies the location of a Web resource
      given by a URI. It thus defines a link between the current
      fragment and a resource which the author believes to be
      connected closely to this fragment's content.  This might be a
      html page or another ANNODEX(TM) bitstream fragment or an image
      etc.
      </t>

      <t>The "hrefdesc" attribute gives a short textual description of
      the link specified through the "href" attribute. It explains why
      the connection between the current fragment and the destination
      URI is made. It may e.g. encourage the viewer to follow the link
      to "Get more information on blah". This attribute value can be
      specified only if the "href" attribute has been specified.
      </t>

      <t>The "image" attribute specifies the location of an image on
      the Web given by a URI. This image should be quite small as it
      is the representative image (known as "keyframe") for the
      current fragment. This image may be used to visually summarise
      the content of the fragment when a link to it is displayed,
      e.g. by a search engine or in a table of contents.
      </t>

      <t>The "start" and "end" attributes specify the time range
      during which the anchor element is defined. This time range is
      specified with respect to the "timebase" and "utc" attributes
      given in the "stream" tag. If the "stream" tag does not contain
      a "utc" specification, "start" and "end" times are not allowed
      to be given in UTC time. "start" is a required attribute because
      an achor without a start time is useless. "end" is optional and
      only required where anchors cannot continue on to the following
      anchor.
      </t>

      <!--**************-->
      <!-- Meta element -->
      <!--**************-->
      <section title="The 'meta' element">
	
        <t>The "meta" element is specified above in the "head"
        section. While a "meta" element in the "head" tag provides
        meta information for the complete ANNODEX(TM) bitstream, the
        "meta" elements in an "a" tag only provide meta information
        for the anchor.
	</t>

      </section>
	
      <!--**************-->
      <!-- Desc element -->
      <!--**************-->
      <section title="The 'desc' element">
	
        <t>The "desc" tag contains a human readable, textual
        description (or annotation) of the content of the
        fragment. The "desc" element is declared as the following:
	</t>
        <figure>
          <artwork><![CDATA[
<!ELEMENT desc  (#PCDATA)>
<!ATTLIST desc
  id          ID       #IMPLIED
  %i18n;
>
	    ]]></artwork>
        </figure>

	<t>For extracting a short text from the "desc" element as
	needs to be displayed in a table of contents or as caption,
	the first few characters of the description will be taken. It
	therefore is recommended to place a short meaningful summary
	sentence at the beginning of the description when authoring
	annotations.
	</t>

	<t>The "%i18n;" attribute specifies the actual language of the
	text in the description. So, if it is required to give a mixed
	language description, the default language will be given in
	the "%i18n;" attribute of the "a" tag and the actually used
	language in a specific "desc" tag is given there.
	</t>
	
      </section>
      
    </section>

    <!--*************************-->
    <!-- Mapping CMML to ANNODEX -->
    <!--*************************-->
    <section title="The mapping of CMML to ANNODEX(TM) format bitstreams">

      <t>As CMML is an authoring format for ANNODEX(TM) format
      bitstreams, there is a simple way to map the annotations and
      meta information contained in a CMML instance document to the
      annotation bitstreams and header fields of an ANNODEX(TM) format
      bitstream.
      </t>

      <t>There is a direct mapping between a CMML "head" element and
      an ANNODEX(TM) "head" page as they both contain the same
      elements and the same attributes. The additional namespace
      attribute "xmlns" in the "head" page of an ANNODEX(TM) format
      bitstream will be filled from the "xmlns" attribute of the
      "cmml" tag of the CMML file and defaults to the same namespace
      default.
      </t>

      <t>There is also a direct mapping between a CMML "a" element and
      an ANNODEX(TM) "a" page as they also both contain the same
      elements and the same attributes, except for the "start" and
      "end" attributes. The "start" attribute tells the multiplexer
      that creates the ANNODEX(TM) format bitstream at what time to
      insert the "a" page into the bitstream. The "end" attribute (if
      present) leads to the creation of an "empty" "a" page on the
      same track at the given time in the ANNODEX(TM) format bitstream
      unless another "a" page apears on the same track beforehand.
      The "empty" "a" page contains no attribute values for any of the
      implied attributes and no "meta" or "desc" elements, but has a
      copy of the "track" attribute.  Again, the "xmlns" attribute is
      filled from the "xmlns" attribute of the "cmml" tag of the CMML
      file and defaults to the same namespace default.
      </t>

      <t>The information contained in a CMML "stream" element is
      partly relevant to authoring only and partly required in
      different binary header fields of an ANNODEX(TM) format
      bitstream. The "stream" attributes "timebase" and "utc" are
      stored in the bos page of the ANNODEX(TM) media mapping
      bitstream. Each of the encapsulated media bitstreams is
      described by one of the "media" tags in the CMML. Their "id",
      "granulerate" and "mimetype" attributes are stored in the bos
      page of the respective bitstreams. The other attributes of the
      "media" tag are used for authoring only and therefore not mapped
      to a field in the ANNODEX(TM) format bitstream.
      </t>

    </section>


    <!--***********************-->
    <!-- MIME type application -->
    <!--***********************-->
    <section title="MIME media type registration for 'text/cmml'">

      <t>This section contains the registration information for the
      'text/cmml' media type. While this media type is not approved by
      the IANA, 'text/x-cmml' may be used to identify CMML instance
      documents.
      </t>

      <t>To: ietf-types@iana.org
      </t>
      
      <t>Subject: Registration of MIME media type 'text/cmml'
      </t>

      <t>MIME media type name: text
      </t>
      
      <t>MIME subtype name: cmml
      </t>

      <t>Required parameters: none
      </t>
      
      <t>Optional parameters: charset (as in the <xref
      target="text/xml">text/xml media type</xref>).
      </t>
      
      <t>Encoding Considerations: as appropriate for the charset and
      the transport mechanism (see <xref target="text/xml">text/xml
      media type</xref>).
      </t>
      
      <t>Security considerations: see next section.
      </t>

      <t>Interoperability considerations: CMML is a free specification
      that is independent of any media encoding format. It is designed
      to provide interoperability with existing XML tools and
      systems. Its specification is not patented and can be
      implemented by third parties without patent considerations.
      </t>

      <t>Additional information:</t>
      <list style="none">
	<t>Magic numbers: none. However, CMML files start with the XML
	preamble as any <xref target="text/xml">XML document</xref>)
	and will also have the string <![CDATA['<cmml']]> near the
	beginning of the file.</t>

	<t>File extension: .cmml</t>

	<t>Macintosh File Type Code: "TEXT"</t>

	<t>Intended usage: COMMON</t>
      </list>

      <t>Fragment identifiers: Any named element, i.e. element that
      contains an "id" attribute, may be referenced through a fragment
      identifier of a URI. However, the values of the id attribute of
      the anchor tags are the most important ones used for addressing
      media fragments. Also, <xref target="timedURI">the generic
      temporal addressing scheme proposed for standardisation</xref>
      can be used as a fragment address and then relates to the last
      anchor whose start time is just before the given temporal
      offset.
      </t>

    </section>

    <!--**********-->
    <!-- Security -->
    <!--**********-->
    <section title="Security considerations">

      <t>As CMML is a markup language created by using XML, the same
      security considerations that apply to <xref
      target="text/xml">XML</xref>, apply to CMML.
      </t>

      <t>As the CMML is an authoring language for ANNODEX(TM) format
      bitstreams, there is no executable code attached to this
      language. The implementation of a multiplexer to actually create
      an ANNODEX(TM) bitstream must be careful when handling input
      bitstreams, which are binary data.
      </t>

    </section>
    
  </middle>
  
  <back>
    
    <!--************-->
    <!-- References -->
    <!--************-->
    <references>
      
      <reference anchor="XML" target="http://www.w3.org/TR/2000/REC-xml-20001006">
        <front>
	  <title>Extensible Markup Language (XML) 1.0</title>
	  <author>
	    <organization abbrev="W3C">World Wide Web Consortium</organization>
	    <address>
	      <postal>
		<street>MIT Laboratory for Computer Science</street>
		<street>545 Technology Square</street>
		<city>Cambridge</city> <region>MA</region> <code>02139</code>
		<country>US</country>
	      </postal>
	      <phone>+ 1 617 253 2613</phone>
	      <facsimile>+ 1 617 258 5999</facsimile>
	      <email>timbl@w3.org</email>
	      <uri>http://www.w3c.org</uri>
	    </address>
	  </author>
	  <date month="October" year="2000" />
	</front>
	<seriesInfo name="W3C" value="XML" />
      </reference>
      
      <reference anchor="HTML" target="http://www.w3.org/TR/html4/">
        <front>
	  <title>HTML 4.01 Specification</title>
	  <author>
	    <organization abbrev="W3C">World Wide Web Consortium</organization>
	    <address>
	      <postal>
		<street>MIT Laboratory for Computer Science</street>
		<street>545 Technology Square</street>
		<city>Cambridge</city> <region>MA</region> <code>02139</code>
		<country>US</country>
	      </postal>
	      <phone>+ 1 617 253 2613</phone>
	      <facsimile>+ 1 617 258 5999</facsimile>
	      <email>timbl@w3.org</email>
	      <uri>http://www.w3c.org</uri>
	    </address>
	  </author>
	  <date month="December" year="1999" />
	</front>
	<seriesInfo name="W3C" value="HTML" />
      </reference>

      <reference anchor="XHTML" target="http://www.w3.org/TR/xhtml1/">
        <front>
	  <title>XHTML(TM) 1.0 The Extensible Hyper Text Markup Language</title>
	  <author>
	    <organization abbrev="W3C">World Wide Web Consortium</organization>
	    <address>
	      <postal>
		<street>MIT Laboratory for Computer Science</street>
		<street>545 Technology Square</street>
		<city>Cambridge</city> <region>MA</region> <code>02139</code>
		<country>US</country>
	      </postal>
	      <phone>+ 1 617 253 2613</phone>
	      <facsimile>+ 1 617 258 5999</facsimile>
	      <email>timbl@w3.org</email>
	      <uri>http://www.w3c.org</uri>
	    </address>
	  </author>
	  <date month="January" year="2000" />
	</front>
	<seriesInfo name="W3C" value="XHTML" />
      </reference>

      <reference anchor="URI" target="http://www.ietf.org/rfc/rfc2396.txt">
	<front>
	  <title>Uniform Resource Identifiers (URI): Generic Syntax</title>
	  <author initials="T." surname="Berners-Lee" fullname="Tim Berners-Lee">
	    <organization abbrev="W3C">World Wide Web Consortium</organization>
	    <address>
	      <postal>
		<street>MIT Laboratory for Computer Science</street>
		<street>545 Technology Square</street>
		<city>Cambridge</city> <region>MA</region> <code>02139</code>
		<country>US</country>
	      </postal>
	      <phone>+1 617 253 5702</phone>
	      <facsimile>+1 617 258 8682</facsimile>
	      <email>timbl@w3.org</email>
	    </address>
	  </author>
	  <author initials="R.T." surname="Fielding" fullname="Roy T. Fielding">
	    <organization abbrev="UCI">University of California, Irvine</organization>
	    <address>
	      <postal>
		<street>Department of Information and Computer Science</street>
		<street>University of California, Irvine</street>
		<city>Irvine</city> <region>CA</region> <code>92697-3425</code>
		<country>US</country>
	      </postal>
	      <phone>+1 949 824 7403</phone>
	      <facsimile>+1 949 824 1715</facsimile>
	      <email>fielding@ics.uci.edu</email>
	    </address>
	  </author>
	  <author initials="L." surname="Masinter" fullname="Larry Masinter">
	    <organization>Xerox PARC</organization>
	    <address>
	      <postal>
		<street>3333 Coyote Hill Road</street>
		<city>Palo Alto</city> <region>CA</region> <code>94304</code>
		<country>US</country>
	      </postal>
	      <phone>+1 650 812 4365</phone>
	      <facsimile>+1 650 812 4333</facsimile>
	      <email>masinter@parc.xerox.com</email>
	    </address>
	  </author>
	  <date month="August" year="1998" />
	</front>
	<seriesInfo name="RFC" value="2396" />
      </reference>
      
      <reference anchor="RTSP" target="Http://www.ietf.org/rfc/rfc2326.txt">
	<front>
	  <title>Real Time Streaming Protocol (RTSP)</title>
	  <author initials="H." surname="Schulzrinne" fullname="Henning Schulzrinne">
	    <organization abbrev="ColU">Columbia University</organization>
	    <address>
	      <postal>
		<street>Dept. of Computer Science</street>
		<street>1214 Amsterdam Avenue</street>
		<city>New York</city> <region>NY</region> <code>10027</code>
		<country>US</country>
	      </postal>
	      <email>schulzrinne@cs.columbia.edu</email>
	    </address>
	  </author>
	  <author initials="A." surname="Rao" fullname="Anup Rao">
	    <organization abbrev="NS">Netscape Communications Corp.</organization>
	    <address>
	      <postal>
		<street>501 E. Middlefield Road</street>
		<city>Mountain View</city> <region>CA</region> <code>94043</code>
		<country>US</country>
	      </postal>
	      <email>anup@netscape.com</email>
	    </address>
	  </author>
	  <author initials="R." surname="Lanphier" fullname="Robert Lanphier">
	    <organization>RealNetworks</organization>
	    <address>
	      <postal>
		<street>1111 Third Avenue Suite 2900</street>
		<city>Seattle</city> <region>WA</region> <code>98101</code>
		<country>US</country>
	      </postal>
	      <email>robla@real.com</email>
	    </address>
	  </author>
	  <date month="April" year="1998" />
	</front>
	<seriesInfo name="RFC" value="2326" />
      </reference>
      
      <reference anchor="LANG" target="http://www.ietf.org/rfc/rfc1766.txt">
	<front>
	  <title>Tags for the Identification of Languages</title>
	  <author initials="H." surname="Alvestrand" fullname="Harald Tveit Alvestrand">
	    <organization abbrev="UNINETT">UNINETT</organization>
	    <address>
	      <postal>
		<street>Pb. 6883 Elgeseter</street>
		<city>Trondheim</city> <code>7002</code>
		<country>Norway</country>
	      </postal>
	      <email>Harald.T.Alvestrand@uninett.no</email>
	    </address>
	  </author>
	  <date month="March" year="1995" />
	</front>
	<seriesInfo name="RFC" value="1766" />
      </reference>

      <reference anchor="MIME" target="http://www.ietf.org/rfc/rfc2046.txt">
	<front>
	  <title>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</title>
	  <author initials="N." surname="Freed" fullname="Ned Freed">
	    <organization abbrev="Innosoft">Innosoft Internationl, Inc.</organization>
	    <address>
	      <postal>
		<street>1050 East Garvey Avenue South</street>
		<city>West Covina</city> <region>CA</region> <code>91790</code>
		<country>USA</country>
	      </postal>
	      <email>ned@innosoft.com</email>
	    </address>
	  </author>
	  <author initials="N." surname="Borenstein" fullname="Nathaniel S. Borenstein">
	    <organization abbrev="First Virtual">First Virtual Holdings</organization>
	    <address>
	      <postal>
		<street>25 Washington Avenue</street>
		<city>Morristown</city> <region>NJ</region> <code>07960</code>
		<country>USA</country>
	      </postal>
	      <email>nsb@nsb.fv.com</email>
	    </address>
	  </author>
	  <date month="November" year="1996" />
	</front>
	<seriesInfo name="RFC" value="2046" />
      </reference>

      <reference anchor="text/xml" target="http://www.ietf.org/rfc/rfc2376.txt">
	<front>
	  <title>XML Media Types</title>
	  <author initials="E." surname="Whitehead" fullname="E. James Whitehead, Jr.">
	    <organization abbrev="UC Irvine">University of California, Irvine</organization>
	    <address>
	      <postal>
		<street>Department of Information and Computer Science</street>
		<city>Irvine</city> <region>CA</region> <code>92697-3425</code>
		<country>USA</country>
	      </postal>
	      <email>ejw@ics.uci.edu</email>
	    </address>
	  </author>
	  <author initials="M." surname="Murata" fullname="Murata Makoto (Family Given)">
	    <organization abbrev="Fuji Xerox">Fuji Xerox Information Systems</organization>
	    <address>
	      <postal>
		<street>KSP 9A7, 2-1, Sakado 3-chome, Takatsu-ku</street>
		<city>Kawasaki-shi</city> <region>Kanagawa-ken</region> <code>213</code>
		<country>Japan</country>
	      </postal>
	      <email>murata@fxis.fujixerox.co.jp</email>
	    </address>
	  </author>
	  <date month="July" year="1998" />
	</front>
	<seriesInfo name="RFC" value="2376" />
      </reference>

      <reference anchor="SMPTE">
	<front>
	  <title>SMPTE STANDARD for Television, Audio and Film - Time and Control Code</title>
	  <author>
	    <organization abbrev="SMPTE"> The Society of Motion Picture and Television Engineers</organization>
	    <address>
	      <postal>
		<street>595 W. Hartsdale Ave.</street>
		<city>White Plains</city> <region>NY</region> <code>10607</code>
		<country>USA</country>
	      </postal>
	      <email>smpte@smpte.org</email>
	    </address>
	  </author>
	  <date month="September" year="1999" />
	</front>
	<seriesInfo name="ANSI" value="12M-1999" />
      </reference>


      <reference anchor="ISO8601">
	<front>
	  <title>Data elements and interchange formats -- Information interchange -- Representation of dates and times</title>
	  <author initials="TC154" surname="ISO" fullname="ISO - Technical Committee TC 154">
	    <organization abbrev="ISO"> International Organization for Standardization</organization>
	    <address>
	      <postal>
		<street>1 rue de Varembre</street>
		<street>Case Postale 56</street>
		<city>Geneva</city> <region>20</region> <code>1211</code>
		<country>CH</country>
	      </postal>
	      <email>central@iso.org</email>
	    </address>
	  </author>
	  <date month="" year="2000" />
	</front>
	<seriesInfo name="ISO" value="8601" />
      </reference>

      <reference anchor="timedURI" target="http://www.ietf.org/internet-drafts/draft-pfeiffer-temporal-fragments-01.txt">
        <front>
	  <title>Syntax of temporal URI fragment specifications (work in progress)</title>
	  <author initials="S." surname="Pfeiffer" fullname="Silvia Pfeiffer">
	    <organization abbrev="CSIRO">Commonwealth Scientific and Industrial Research Organisation</organization>
	    <address>
	      <postal>
		<street>Locked Bag 17</street>
		<city>North Ryde</city> <region>NSW</region> <code>2113</code>
		<country>Australia</country>
	      </postal>
	      <phone>+ 61 2 9325 3100</phone>
	      <facsimile>+ 61 2 9325 3200</facsimile>
	      <email>Silvia.Pfeiffer@csiro.au</email>
	      <uri>http://www.annodex.net</uri>
	    </address>
	  </author>
	  <author initials="C." surname="Parker" fullname="Conrad Parker">
	    <organization abbrev="CSIRO">Commonwealth Scientific and Industrial Research Organisation</organization>
	    <address>
	      <postal>
		<street>Locked Bag 17</street>
		<city>North Ryde</city> <region>NSW</region> <code>2113</code>
		<country>Australia</country>
	      </postal>
	      <phone>+ 61 2 9325 3100</phone>
	      <facsimile>+ 61 2 9325 3200</facsimile>
	      <email>Conrad.Parker@csiro.au</email>
	      <uri>http://www.annodex.net</uri>
	    </address>
	  </author>
	  <date month="Feburary" year="2003" />
	</front>
	<seriesInfo name="I-D" value="draft-pfeiffer-temporal-fragments-01.txt" />
      </reference>

      <reference anchor="ANX" target="http://www.annodex.net/TR/annodex.txt">
        <front>
	  <title>Specification of the ANNODEX(TM) annotation and indexing format for time-continuous data files, Version 1.0 (work in progress)</title>
	  <author initials="S." surname="Pfeiffer" fullname="Silvia Pfeiffer">
	    <organization abbrev="CSIRO">Commonwealth Scientific and Industrial Research Organisation</organization>
	    <address>
	      <postal>
		<street>Locked Bag 17</street>
		<city>North Ryde</city> <region>NSW</region> <code>2113</code>
		<country>Australia</country>
	      </postal>
	      <phone>+ 61 2 9325 3100</phone>
	      <facsimile>+ 61 2 9325 3200</facsimile>
	      <email>Silvia.Pfeiffer@csiro.au</email>
	      <uri>http://www.annodex.net</uri>
	    </address>
	  </author>
	  <author initials="C." surname="Parker" fullname="Conrad Parker">
	    <organization abbrev="CSIRO">Commonwealth Scientific and Industrial Research Organisation</organization>
	    <address>
	      <postal>
		<street>Locked Bag 17</street>
		<city>North Ryde</city> <region>NSW</region> <code>2113</code>
		<country>Australia</country>
	      </postal>
	      <phone>+ 61 2 9325 3100</phone>
	      <facsimile>+ 61 2 9325 3200</facsimile>
	      <email>Conrad.Parker@csiro.au</email>
	      <uri>http://www.annodex.net</uri>
	    </address>
	  </author>
	  <date month="June" year="2003" />
	</front>
	<seriesInfo name="I-D" value="draft-pfeiffer-annodex-00.txt" />
      </reference>

    </references>
    
    <!--**********-->
    <!-- CMML DTD -->
    <!--**********-->
    <section title="CMML DTD">
      
      <figure>
        <artwork><![CDATA[
<?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 specified
                   in location  -->
<!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;
  >
	  ]]></artwork>
      </figure>

    </section>
    
    <!--*****************-->
    <!-- Sample document -->
    <!--*****************-->
    <section title="An example CMML document">

      <figure>
	<artwork><![CDATA[
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE cmml SYSTEM "cmml_1_0.dtd">
<cmml>
<stream timebase="npt=0" utc="19911222T210000.00Z"/>
  <media location="matrix.mpg" mimetype = "video/mpeg" 
         granulerate="25/1" start="npt=0"/>
</stream>
<head lang="en" defltlang="de">
  <title lang="en">The Matrix</title>
  <base href="http://www.foo.bar/"/>
  <meta name="Movie"     content="The Matrix"/>
  <meta name="Producer"  content="Joel Silver"/>
  <meta name="Director"  content="Larry Wachowski"/>
  <meta name="Director"  content="Andy Wachowski"/>
  <meta name="Writer"    content="The Wachowski Brothers"/>
</head>
<a id="no_spoon" 
   lang="en"
   href="http://www.blah.au/spoons.anx#@bent"
   hrefdesc="More images of the bent spoon"
   image="no_spoon.jpg"
   start="npt=46:5.9"
   end="npt=51:3.4">
  <meta name="Actor"       content="Keanu Reeves"/>
  <meta name="Actor"       content="Rowan Witt"/>
  <meta name="Cast.Reeves" content="Thomas A. Anderson/Neo"/>
  <meta name="Cast.Witt"   content="Spoon boy"/>
  <meta name="Scene"       content="Oracle"/>
  <desc>There is no spoon: Neo is waiting to see the Oracle in a room
  full of children doing seemingly impossible things. One is making
  spoons bend through telekenesis. Neo tries to do it himself, but
  fails. Spoon boy: "Do not try and bend the spoon that's impossible,
  instead only try to realize the truth." Neo: "What truth?" Spoon
  boy: "There is no spoon." Neo: "There is no spoon?" Spoon boy: "Then
  you'll see that it is not the spoon that bends, it is only
  yourself." Neo tries again...
  </desc>
  <desc lang="de">Den L&ouml;ffel gibt es nicht: Neo entdeckt beim Besuch
  des Orakels wie unwirklich seine Welt ist. Beim Versuch, einen
  L&ouml;ffel durch Telekinese zu verbiegen, bekommt er von dem Kind den
  Rat: "Den L&ouml;ffel gibt es nicht."
  </desc>
</a>
</cmml>
	    ]]></artwork>
	</figure>

    </section>

    <!--*************************-->
    <!-- Terms and abbreviations -->
    <!--*************************-->
    <section title="Definitions of terms and abbreviations">
      <t>
        <list style="hanging">
	  
          <t hangText="Anchor:">A subpart of a resource covering some
          temporal interval.</t>
	  
          <t hangText="Mark-up:">XML tags and their content used to
          describe a media document.</t>
	  
          <t hangText="Annotating:">the task of giving textual
          descriptions to fragments of media documents.</t>
	  
          <t hangText="Indexing:">the task of identifying index points
          for media documents or fragments thereof.</t>
	  
          <t hangText="Hyperlinking:">the task of linking from one Web
          resource to another. If a link has a fragment offset into
          the resource, this is sometimes called deep
          hyperlinking.</t>
	  
          <t hangText="Track:">a set of Anchor pages representing
          semantically correlated annotations of a time-continuous
          resource.</t>
	  
	  <t hangText="ANNODEX(TM) bitstream:">A specific file format
	  for storing annotation, hyperlinking, and indexing
	  information multiplexed together with the time-continuous
	  data bitstreams they describe.</t>

          <t hangText="Bitstream:">a sequence of data containing
          samples of time-continous data.</t>
	  
        </list>
      </t>
    </section>
    
    
    <!--**********-->
    <!-- Acronyms -->
    <!--**********-->
    <section title="Glossary of acronyms">
      <t>
        <list style="hanging">
	  
	  <t hangText="ANNODEX(TM):">Annotated and indexed bitstream format.</t>

          <t hangText="CMML:">Continuous Media Markup Language.</t>

          <t hangText="DTD:">Document Type Declaration.</t>
	  
          <t hangText="XML:">eXtensible Markup Language.</t>
	  
          <t hangText="Web:">World Wide Web.</t>
	  
          <t hangText="URI:">Unified Resource Identifier.</t>
	  
        </list>
      </t>
    </section>
    
    <!--******************-->
    <!-- Acknowledgements -->
    <!--******************-->
    <section title="Acknowledgements">
      <t>The authors greatly acknowledge the contributions of Andre
      Pang, Andrew Nesbit, and Simon Lai in developing this standard.
      </t>
    </section>
    
    
  </back>
</rfc>