root/standards/draft-pfeiffer-cmml-current.xml

Revision 3276, 105.3 kB (checked in by silvia, 1 year ago)

I didn't intend using a "div" element in the example, but only a "span".

  • Property svn:executable set to *
Line 
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE rfc SYSTEM "rfc2629.dtd">
3
4 <!-- Todos: -->
5 <!-- * move to XML schema -->
6 <!-- * sort out how to combine with other XML modules -->
7 <!-- * sort out style sheets -->
8
9
10 <?rfc toc="yes"?>
11 <?rfc sortrefs="yes"?>
12
13 <rfc category="info" ipr="full3667" docName="draft-pfeiffer-cmml-xx">
14
15   <front>
16     <title abbrev="CMML">The Continuous Media Markup Language (CMML), Version 3.1</title>
17
18     <author initials="S.P." surname="Pfeiffer" fullname="Silvia Pfeiffer">
19         <organization abbrev="CSIRO">Commonwealth Scientific and
20         Industrial Research Organisation CSIRO,
21         Australia</organization>
22         <address>
23            <postal>
24               <street>PO Box 76</street>
25               <city>Epping</city>
26               <region>NSW</region>
27               <code>1710</code>
28               <country>Australia</country>
29            </postal>
30            <phone>+61 2 9372 4180</phone>
31            <email>Silvia.Pfeiffer@csiro.au</email>
32            <uri>http://www.ict.csiro.au/</uri>
33         </address>
34     </author>
35
36     <author initials="C.D." surname="Parker" fullname="Conrad D. Parker">
37         <organization abbrev="CSIRO">Commonwealth Scientific and
38         Industrial Research Organisation CSIRO,
39         Australia</organization>
40         <address>
41            <postal>
42               <street>PO Box 76</street>
43               <city>Epping</city>
44               <region>NSW</region>
45               <code>1710</code>
46               <country>Australia</country>
47            </postal>
48            <phone>+61 2 9372 4222</phone>
49            <email>Conrad.Parker@csiro.au</email>
50            <uri>http://www.ict.csiro.au/</uri>
51         </address>
52     </author>
53
54     <author initials="A.T." surname="Pang" fullname="Andre T. Pang">
55         <organization abbrev="CSIRO">Commonwealth Scientific and
56         Industrial Research Organisation CSIRO,
57         Australia</organization>
58         <address>
59            <postal>
60               <street>PO Box 76</street>
61               <city>Epping</city>
62               <region>NSW</region>
63               <code>1710</code>
64               <country>Australia</country>
65            </postal>
66            <phone>+61 2 9372 4222</phone>
67            <email>Andre.Pang@csiro.au</email>
68            <uri>http://www.ict.csiro.au/</uri>
69         </address>
70     </author>
71
72     <date month="March" year="2005"/>
73
74     <abstract>
75       <t>This specification defines the Continuous Media Markup
76       Language (CMML), version 3.1, an <xref
77       target="XML">XML-based</xref> markup language for
78       time-continuous data. It is a sister document to the
79       specification of the <xref target="ANX">Annodex</xref>
80       annotation, indexing and hyperlinking format for time-continuous
81       data. A CMML file is essentially a textual representation of an
82       Annodex file.
83       </t>
84
85       <t>The tags of a CMML file provide for the creation of structured and
86       unstructured annotations as well as hyperlinks and addressable
87       named anchor points for clips of time-continuous data. Through
88       its import tag, the CMML is also an authoring language for <xref
89       target="ANX">Annodex</xref> streams. The tag names in use in
90       CMML are similar to the ones in <xref target="XHTML">XHTML</xref>.
91       </t>
92
93       <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
94       NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
95       "OPTIONAL" in this document are to be interpreted as described
96       in <xref target="KEYWORDS">RFC 2119</xref>.
97       </t>
98
99     </abstract>
100   </front>
101  
102   <middle>
103    
104     <!--**************-->
105     <!-- Introduction -->
106     <!--**************-->
107     <section title="Introduction">
108
109       <t>The Continuous Media Markup Language (CMML) specifies XML
110       based markup for time-continuous data to allow it to become
111       an integral part of the World Wide Web analogously
112       to how HTML allowed text documents to become part of the Web.
113       Therefore, format of the CMML derives much from XHTML.
114       </t>
115
116       <t>CMML allows the attachment of free-text annotations, metadata,
117       captions and other textual information to clips of time-continuous
118       data. This provides a timed, textual representation of the data that
119       can be indexed by Web search engines.
120       </t>
121
122       <t>CMML also allows the attachment of a hyperlink to each clip of
123       time-continuous data, enabling Web search engines to crawl the
124       content. This also allows users to surf seamlessly between
125       time-continuous data and other Web resources, integrating clips
126       of media into the browsing history of a Web browser.
127       </t>
128
129       <t>CMML also provides a way of referencing a representative image
130       for each clip of time-continuous data, providing a visual representation
131       of the clip in conjunction with the textual representation. The
132       expected usage scenario for this is in the presentation of search
133       results or in a table of clips.
134       </t>
135
136       <t>CMML provides a "head" element to store information that
137       concerns the complete time-continous resource, and a set of "clip"
138       elements that each store information for a temporal subpart of the
139       resource.
140       </t>
141
142       <t>The practical use of a CMML file is in conjunction with the
143       <xref target="ANX">Annodex exchange format</xref>. CMML markup
144       can be interleaved inside an Annodex file or stream to allow
145       a synchronised delivery of marked-up time-continuous data
146       in a single stream between a Web server and a user agent.
147       </t>
148      
149       <t>CMML has also been designed as an authoring language for
150       Annodex bitstreams. It allows the description of time-continuous
151       data bitstream(s) that need to be multiplexed together to create
152       an Annodex bitstream. This information is stored in the "stream"
153       element of a CMML document. Such a document can be used to control
154       the multiplexing process that creates an Annodex file.
155       </t>
156
157       <t>The following picture illustrates the multiplexing activity
158       schematically; in reality, the stream tag is not preserved in its
159       original form and some attribute values are also encoded in the binary
160       data. Details of how CMML markup is encoded in an
161       Annodex bitstream are given later in this document.
162       </t>
163       <figure>
164         <artwork><![CDATA[
165    ----------
166    |stream  | CMML
167    ---------- instance
168    | head   | document
169    ----------
170    | clip_1 |     ----------------------------------------------------
171    ----------     | data bitstream in packets                        |
172    | ...    |     ----------------------------------------------------
173    ----------          |
174    | clip_n |          |
175    ----------          |
176        |               |
177        ------->-<-------
178                |          Multiplexing
179                |
180                v
181 ---------------------------------------------------------------------
182 |stream|head|clip_1|  data packets         |clip_2| data packets  ...
183 ---------------------------------------------------------------------
184           ]]></artwork>
185       </figure>
186      
187       <t>The CMML is technically fully specified through its DTD as
188       given in the Appendix. The semantic meaning of each of the tags,
189       their content and their attributes is specified in the following
190       sections. The Appendix also contains an example of a CMML
191       (instance) document.
192       </t>
193
194       <t>The file extension of CMML files is ".cmml". This document
195       also applies for registration of the mime-type "text/cmml" for
196       CMML files with IANA. In the meantime, "text/x-cmml" will be
197       used.
198       </t>
199
200       <t>Please note that this document assumes that the reader has a
201       fluent working knowledge of <xref target="XML">Extensible Markup
202       Language (XML)</xref>, <xref target="HTML">Hypertext Markup
203       Language (HTML)</xref>, <xref target="XHTML">XHTML</xref>,
204       <xref target="CSS">Cascading Style Sheets (CSS)</xref> and
205       the World Wide Web. Basic knowledge about the <xref
206       target="ANX">Annodex</xref> format is also assumed.
207       </t>
208
209     </section>
210
211     <!--************-->
212     <!-- CMML types -->
213     <!--************-->
214     <section title="The CMML data types">
215
216       <t>At the beginning of the CMML DTD, several parameter entities
217       are defined that are used throughout the DTD as data types. This
218       section gives a brief overview of them and refers to the
219       relevant standards in which they are defined.
220       </t>
221
222       <section title="ContentType">
223         <t>A "ContentType" specifies the media type and subtype of a
224         document as defined in <xref target="ContentType">RFC
225         2045</xref>. It is used to specify the type of content that
226         one input time-continuous bitstream contains. Examples are
227         "application/annodex", "audio/x-speex", "video/x-theora", or
228         "video/mpeg".
229         </t>
230       </section>
231
232       <section title="LinkTypes">
233         <t>"LinkTypes" specifies a space-separated list of the types of
234         relationships a linked, i.e. related, document has to the current
235         one. As in XHTML, user agents, search engines, etc. may interpret
236         these link types in a variety of ways. For example, user agents
237         may provide access to linked documents through a navigation bar.
238         Authors may use the following recognized link types which are a
239         superset of the ones used for XHTML/HTML:
240           <list style="symbols">
241             <t>edit: Refers to a document that allows editing the resource.
242                This enables a document author to allow others to edit
243                the CMML which is the basis for an Annodex resource.
244             </t>
245             <t>alternate: Designates substitute versions for the document
246                in which the link occurs. When used together with the media
247                attribute, it implies a version designed for a different
248                medium (or media).
249             </t>
250             <t>stylesheet: Refers to an external style sheet.
251             </t>
252             <t>start: Refers to the first document in a collection of
253                documents. This link type tells search engines which document
254                is considered by the author to be the starting point of the
255                collection.
256             </t>
257             <t>next: Refers to the next document in a linear sequence of
258                documents. User agents may choose to pre-load the "next"
259                document, to reduce the perceived load time.
260             </t>
261             <t>prev: Refers to the previous document in an ordered series of
262                documents.
263             </t>               
264             <t>contents: Refers to a document serving as a table of contents.
265                Although this may seem strange in a CMML file, it makes sense
266                in an Annodex file and may simply refer back to the CMML file
267                or to a HTML page that provides similar information.
268             </t>
269             <t>index: Refers to a document providing an index for the current
270                document.
271             </t>
272             <t>glossary: Refers to a document providing a glossary of terms
273                that pertain to the current document.
274             </t>
275             <t>copyright: Refers to a copyright statement for the current
276                document. While this could also be given in the meta tags,
277                this could refer to a formatted, legal document.
278             </t>
279             <t>chapter: Refers to a document serving as a chapter in a
280                collection of documents.
281             </t>
282             <t>section: Refers to a document serving as a section in a
283                collection of documents.
284             </t>
285             <t>subsection: Refers to a document serving as a subsection in a
286                collection of documents.
287             </t>
288             <t>appendix: Refers to a document serving as an appendix in a
289                collection of documents.
290             </t>
291             <t>help: Refers to a document offering help (more information,
292                links to other sources information, etc.)
293             </t>
294             <t>bookmark: Refers to a bookmark. A bookmark is a link to a key
295                entry point within an extended document. The title attribute may
296                be used, for example, to label the bookmark. Note that several
297                bookmarks may be defined in each document.
298             </t>
299           </list>
300         </t>
301       </section>
302
303 <!-- IS DISCOURAGED IN XHTML, SO LET'S NOT START BAD STYLE
304       <section title="StyleProperties">
305         <t>A "StyleProperties" specifies style properties to be used for
306            this element. This is used for the style attribute, which
307            specifieds style information for the current element.
308            In XHMTL the use of the style attribute is strongly discouraged
309            in favor of the style element and external style sheets. Small
310            devices don't generally support these in-line styles.
311         </t>
312       </section>
313 -->
314
315       <section title="MediaDesc">
316         <t>A "MediaDesc" describes one or several types of devices for
317         which the given style is appropriate. It is given as a list of
318         comma-separated media descriptors. Which devices are supported
319         will need to be specified in a separate style sheet specification.
320         The following set of device types, adapted from XHTML/HTML
321         in CSS1, are recognized:
322           <list style="symbols">
323             <t>all: suitable for all devices.
324             </t>
325             <t>aural: suitable for speech synthesizers.
326             </t>
327             <t>braille: intended for braille tactile feedback devices.
328             </t>
329             <t>embossed: intended for paged braille printers.
330             </t>
331             <t>handheld: intended for handheld devices (characterized
332             by a small, monochrome or colour display and limited bandwidth).
333             </t>
334             <t>print: intended for paged output to a printer or print
335             preview on a screen.
336             </t>
337             <t>projection: intended for projected presentations (projectors
338             or print to transparencies).
339             </t>
340             <t>screen: intended for non-paged, colour computer screens.
341             </t>
342             <t>tty: intended for fixed-pitch character grid displays (such
343             as the teletypes or terminals).
344             </t>
345             <t>tv: for television-type devices with low resolution and
346             limited scrollability.
347             </t>
348           </list>
349         </t>
350       </section>
351
352       <section title="Text">
353         <t>A "Text" describes a short, free form text being used for
354         the "title" attribute.
355         </t>
356       </section>
357
358       <section title="URI">
359         <t>A "URI" is a character string that conforms to the
360         specification of the Uniform Resource Identifier as defined in
361         <xref target="URI">RFC 3986</xref>. A URI generally points to
362         a Web resource.  The <xref target="timedURI">URI time interval
363         specification</xref> is supported for CMML and Annodex
364         files. Also, direct addressing of clips as specified in the
365         MIME type application part of this document is supported for
366         CMML and Anndex files.
367         </t>
368       </section>
369
370       <section title="LanguageCode">
371         <t>The "LanguageCode" defines a collection of constant strings
372         that each identify a specific language as defined in <xref
373         target="LANG">RFC 1766</xref>. Examples are: en-au, de, x-klingon.
374         Language codes are used to provide internationalisation support.
375         </t>
376       </section>
377
378       <section title="Internationalisation support">
379         <t>To provide international language support, the i18n entity
380         draws together a language given by a "LanguageCode" in "lang"
381         with the directionality of that language in "dir" given either
382         as ltr (left-to-right) or rtl (right-to-left).  "ltr" is the
383         default.
384         </t>
385       </section>
386
387       <section title="Time specifications">
388         <t>There are three different time specifications in use in
389         CMML: "Timestamp", "Playbacktime" and "UTCtime".
390         </t>
391
392         <t>A "Timestamp" is generally a name-value pair which defines
393         a time point. The time point value is interpreted according to
394         the time scheme given in the name. If the name is ommitted, it
395         defaults to "npt:". Valid time schemes are the ones defined in
396         the <xref target="timedURI">temporal URI specification</xref>.
397         </t>
398
399         <t>The "Playbacktime" entity is a data type that just
400         specifies a SMPTE or a NPT time. It is therefore equal to the
401         Timestamp entity without the UTC specification.
402         </t>
403
404         <t>The "UTCtime" entity is a data type that just specifies a
405         UTC time without an identifier. UTC time is specified as in
406         the Timestamp entity, but without the "clock:" identifier.
407         </t>
408        
409       </section>
410      
411       <section title="Core Attributes">
412         <t>To cluster together the attributes that are common to
413         most displayable elements, the "attrs" entity draws them together.
414         As "i18n" is already a cluster, a "coreattrs" entity is defined,
415         which groups together the other commonly used attributes for
416         displayable elements, namely the unique identifier given in "id",
417         the "class" attribute which provides a space-separated list of
418         style sheet classes that the element belongs to, and the "title"
419         attribute, which provides a short tooltip-like description
420         for an element.
421         </t>
422       </section>
423
424     </section>
425
426    
427     <!--**************-->
428     <!-- Root element -->
429     <!--**************-->
430     <section title="The preamble and the 'cmml' root element">
431      
432       <t>A CMML file is an XML instance document of the CMML DTD. An
433       example is given in the Appendix. It starts with the usual xml
434       directive and the DTD specification (see
435       http://www.w3.org/TR/REC-xml#sec-prolog-dtd). The following is
436       an example preamble:
437       </t>
438
439       <figure>
440         <artwork><![CDATA[
441 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
442 <!DOCTYPE cmml SYSTEM "cmml.dtd">
443             ]]></artwork>
444       </figure>
445
446       <t>After the preamble, the CMML tag follows. A CMML file has a
447       "cmml" tag as the root element. It embraces all the other tags.
448       </t>
449      
450       <figure>
451         <artwork><![CDATA[
452 <!ELEMENT cmml (stream?, head, clip*)>
453 <!ATTLIST cmml
454   %i18n;
455   id          ID             #IMPLIED
456   xmlns       %URI;          #FIXED 'http://www.annodex.net/cmml'
457   granulerate CDATA          #IMPLIED
458   >
459             ]]></artwork>
460       </figure>
461
462       <t>The "cmml" tag encloses at most one "stream" element, exactly
463       one "head" element, and as many "clip" elements as the document
464       author requires. A "clip" element describes a section of the
465       related Annodex bitstream.
466       </t>
467
468       <t>Attributes of the "cmml" element are the usual xml root tag
469       attributes: the internationalisation attributes "lang" and
470       "dir", an identifier "id", a fixed namespace "xmlns", and the
471       "granulerate".
472       </t>
473
474       <t>The internationalisation attributes specify the default
475       language (language and directionality) of the complete CMML
476       document. If not given, the language default adheres to the same
477       rules as HTML, where the setting of the HTTP "Content-Language"
478       header may specify the default language of a HTML document
479       received over HTTP, or ultimately the user agent defaults and
480       user preferences set the language. (see
481       http://www.w3.org/TR/REC-html40/struct/dirlang.html)
482       </t>
483
484       <t>Every element has an "id" attribute. The value of the "id"
485       attribute MUST be unique within the document. It allows to
486       uniquely identify an instance of an element and address it.
487       </t>
488
489       <t>The "granulerate" attribute may provide a base temporal resolution for
490       the CMML bitstream. This is in particular used for creation of Annodex
491       files from a given CMML instance document.
492       </t>
493
494     </section>
495    
496    
497     <!--****************-->
498     <!-- Stream element -->
499     <!--****************-->
500     <section title="The cmml 'stream' tag">
501
502       <t>The "stream" element contains information that is used for
503       authoring <xref target="ANX">Annodex</xref> bitstreams
504       from existing time-continuous data. The Annodex bistream is
505       created by multiplexing the bitstreams given in the "src"
506       attributes of the "import" tags of the "stream" element together
507       with the CMML annotations in a time-synchronous manner.
508       </t>
509
510       <t>The "stream" element describes in the "import" tags the input
511       time-continuous bitstreams that are to be multiplexed together on
512       authoring the Annodex bitstream. Its attributes
513       describe other features of the Annodex bitstream such as the
514       time mappings for the start of the file.
515       </t>
516
517       <figure>
518           <artwork><![CDATA[
519 <!ELEMENT stream (import*)>
520 <!ATTLIST stream
521   id          ID             #IMPLIED
522   basetime    %Playbacktime; "0"
523   utc         %UTCtime;      #IMPLIED
524   >
525             ]]></artwork>
526       </figure>
527
528       <t>The "stream" element has no text attributes and thus
529       internationalisation attributes are not required. The "id"
530       attribute follows the default language specified in the "cmml"
531       element.
532       </t>
533
534       <t>The "basetime" attribute contains a playback time in seconds
535       associated with the first data packet of the Annodex
536       bitstream. All other times in the CMML file MUST be calculated
537       relative to this basetime. For example, a basetime of 300
538       seconds npt for a video file implies that the first frame is
539       related to a play time of 300 seconds, and a clip with a start
540       time of 350 seconds is to be included 50 seconds into the
541       Annodex bitstream.  If no basetime (or no stream tag) is given,
542       the basetime defaults to 0 npt. The basetime can be given as a
543       SMPTE or NPT time, or as a rational number as in 5/1300, but
544       not as a utc time.
545       </t>
546
547       <t>The "utc" attribute associates a calendar date and a
548       wall-clock time with the basetime. It therefore provides a
549       mapping of the basetime to a real-world clock time and is given
550       as a UTC time. If it is omitted, the start attribute in the
551       import tag, and the start and end attributes in clip tags MUST
552       NOT be specified as UTC times.
553       </t>
554
555       <t>The content model of the "stream" tag then proposes an
556       arbitrary number of input bitstreams. These are described one by
557       one in the "import" element.
558       </t>
559
560       <!--****************-->
561       <!-- Import element -->
562       <!--****************-->
563       <section title="The 'import' tag">       
564
565         <t>A "import" tag contains information on one of the input
566         bitstreams for the multiplexing process. It may also contain
567         additional parameters to set up the Annodex encoder for each
568         import bitstream.
569         </t>
570
571         <figure>
572           <artwork><![CDATA[
573 <!ELEMENT import (param*)>
574 <!ATTLIST import
575   %i18n;
576   id          ID             #IMPLIED
577   granulerate CDATA          #IMPLIED
578   contenttype %ContentType;  #IMPLIED
579   src         %URI;          #REQUIRED
580   start       %Timestamp;    "0"
581   end         %Timestamp;    #IMPLIED
582   title       CDATA          #IMPLIED
583   >
584             ]]></artwork>
585         </figure>
586
587         <t>The relevant bitstream (fragment) is referenced through the
588         "src" attribute. The src is a URI and may thus also contain a
589         time interval specification in URIs which narrows down the
590         input file to that given subpart. That resource is multiplexed
591         into the Annodex bitstream starting at the time given
592         in the "start" attribute and ending at the latest at the time
593         given in the "end" attribute. The "start" and "end" attributes
594         are interpreted relative to the timeline of the Annodex bitstream.
595         </t>
596        
597         <t>The internationalisation attributes provide the language of
598         the import element's and the contained param tags' attribute
599         values, such as the "id" attributes and the "title" attribute.
600         </t>
601
602         <t>The "granulerate" attribute contains the base temporal
603         resolution in Hz of the input bitstream referred in the "src"
604         attribute. It depends on the encoding format of the input
605         bitstream and typically contains the framerate for video
606         (e.g. 25 frames/sec) and the samplerate for audio (e.g. 44100
607         samples/sec), but may contain any rational number given with
608         an integer denominator larger than 1 sec (e.g. 25 frames on 2
609         seconds). Each bitstream has its own granulerate dependent on
610         its specific encoding. This attribute is implied as it can be
611         determined automatically during the multiplexing process from
612         the headers of the encoded media bitstream. For bitstreams
613         without header, such as uncompressed audio, the author of the
614         CMML file can provide the granulerate to the multiplexer in
615         this attribute.
616         </t>
617
618         <t>The "contenttype" attribute specifies the <xref
619         target="ContentType">media type</xref> of the input bitstream
620         referred in the "src" attribute. It is optional as the media
621         type can often be derived from the file name or file header of
622         the media source during multiplexing.
623         </t>
624
625         <t>The "src" attribute specifies a URI to the input
626         bitstream. Commonly used URI schemes are "file" and "http".
627         For specifying temporal subsets of the input bitstream, use
628         the <xref target="timedURI">time interval specification for
629         URIs</xref>.
630         </t>
631
632         <t>The "start" attribute specifies a time in the output
633         Annodex bitstream at which the media bitstream will be
634         inserted. This time is specified with respect to the
635         "basetime" attribute given in the "stream" element.
636         </t>
637
638         <t>The "end" attribute specifies a time in the output Annodex
639         bitstream at which the media bitstream will stop at the
640         latest. This time is also specified with respect to the
641         "basetime" attribute given in the "stream" element. This
642         attribute is not required when the full bitstream is used.
643         </t>
644
645         <t>The optional "title" attribute provides a chance to jot
646         down a human readable comment on the source bitstream. This
647         may e.g. be used in authoring applications for a more human
648         readable display than the "id" tag which is really a key for
649         identifying elements uniquely.
650         </t>
651
652         <t>The content model of the "import" tag then allows an
653         arbitrary number of "param" tags to add as many descriptive
654         parameter values to the mulitplexing activity as necessary.
655         </t>
656
657       </section> <!--import-->
658      
659       <!--****************-->
660       <!-- Param element -->
661       <!--****************-->
662       <section title="The 'param' tag">       
663          
664         <t>A "param" tag is empty, but its attributes contain a
665         name-value pair for describing the input bitstream in the
666         parent "import" element. It inherits its internationalisation
667         from that element, too, to avoid overhead. The "param" element
668         is declared as follows:
669         </t>
670          
671         <figure>
672             <artwork><![CDATA[
673 <!ELEMENT param EMPTY>
674 <!ATTLIST param
675   id          ID             #IMPLIED
676   name        CDATA          #REQUIRED
677   value       CDATA          #REQUIRED
678   >
679             ]]></artwork>
680         </figure>
681
682         <t>The "name" attribute identifies a property name. It does
683         not list legal values for this attribute.
684         </t>
685        
686         <t>The "value" attribute specifies a property's value. It does
687         not list legal values for this attribute.
688         </t>
689          
690         <t>An example parametrisation is the provision of
691         machine-processable low level meta information about the import
692         bitstream such as a video's image height and width and framerate.
693         </t>
694          
695       </section> <!--param-->
696      
697     </section> <!--stream-->
698    
699    
700     <!--**************-->
701     <!-- Head element -->
702     <!--**************-->
703     <section title="The cmml 'head' element">
704
705       <t>The CMML "head" element contains annotation information on
706       the complete Annodex bitstream, for whose creation the CMML file
707       is used. It therefore contains header-type information such as a
708       title, style information, related documents and meta information
709       describing the bitstream.
710       </t>
711
712       <t>The "head" element is declared as the following:
713       </t>
714         <figure>
715           <artwork><![CDATA[
716 <!ENTITY % head.misc "(style|meta|link)*">
717
718 <!ELEMENT head (%head.misc;,
719                 ((title, %head.misc;, (base, %head.misc;)?) |
720                 (base, %head.misc;, (title, %head.misc;))))>
721 <!ATTLIST head
722   %i18n;
723   id          ID             #IMPLIED
724   profile     %URI;          #IMPLIED
725   >
726             ]]></artwork>
727         </figure>
728        
729       <t>The "head" tag must contain a "title" tag. It may contain one
730       "base" tag before or after the "title" tag and any number of
731       "style", "meta", or "link" tags at any position.
732       </t>
733
734       <t>The "%i18n;" attribute specifies the base language of the
735       "head" tag's attribute values.
736       </t>
737
738       <t>The value of the "profile" attribute is a space-separated
739       list of base URIs specifying locations of "meta" tag schemes
740       such as the Dublin Core (see http://dublincore.org/). These
741       schemes may be used in the "meta" elements of the "head" or the
742       "clip" tags.
743       </t>
744        
745       <!--***************-->
746       <!-- Title element -->
747       <!--***************-->
748       <section title="The 'title' element">
749        
750         <t>The "title" tag gives a descriptive title for the complete
751         Annodex bitstream. It is not considered to be part of the
752         presentation and should be displayed, e.g. as the title of the
753         window that the Annodex bitstream is being displayed in.
754         Exactly one title is required per document.
755         The "title" element is declared as the
756         following:
757         </t>
758         <figure>
759           <artwork><![CDATA[
760 <!ELEMENT title (#PCDATA)>
761 <!ATTLIST title
762   %i18n;
763   id          ID       #IMPLIED
764 >
765             ]]></artwork>
766         </figure>
767
768         <t>The "%i18n;" attribute specifies the base language of the
769         "title" text.
770         </t>
771  
772       </section>
773
774       <!--**************-->
775       <!-- Base element -->
776       <!--**************-->
777       <section title="The 'base' element">
778        
779         <t>The "base" element defines the base URI of the Annodex
780         bitstream. All relative URIs of the bitstream get interpreted
781         relative to this base.  The "base" element is empty, but its
782         attributes contain the base URI.  It is declared as follows:
783         </t>
784
785         <figure>
786           <artwork><![CDATA[
787 <!ELEMENT base EMPTY>
788 <!ATTLIST base
789   id      ID       #IMPLIED
790   href    %URI;    #REQUIRED
791 >
792             ]]></artwork>
793         </figure>
794        
795         <t>The "href" attribute contains the base URI. If the "base"
796         element is omitted, the base URI of the Annodex bitstream is
797         derived from the address through which the Annodex bitstream
798         is accessed.
799         </t>
800        
801       </section>
802      
803      
804       <!--**************-->
805       <!-- Meta element -->
806       <!--**************-->
807       <section title="The 'meta' element">
808        
809         <t>The "meta" element in the "head" element defines structured
810         annotations for the complete Annodex bitstream. A "meta"
811         element is empty, but its attributes contain the name-value
812         pairs of a structured annotation. The "meta" element is
813         declared as follows:
814         </t>
815         <figure>
816           <artwork><![CDATA[
817 <!ELEMENT meta EMPTY>
818 <!ATTLIST meta
819   %i18n;
820   id       ID       #IMPLIED
821   name     NMTOKEN  #IMPLIED
822   content  CDATA    #REQUIRED
823   scheme   CDATA    #IMPLIED
824 >
825             ]]></artwork>
826         </figure>
827
828         <t>The "%i18n;" attribute specifies the language of the meta
829         attribute and content texts.
830         </t>
831
832         <t>The "name" attribute identifies a property name. It does
833         not list legal values for this attribute.
834         </t>
835