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

Revision 3277, 102.2 kB (checked in by silvia, 1 year ago)

Added text versions of the I-Ds for readability. DO NOT EDIT THESE, but stick with the XML files!!

Line 
1
2 Network Working Group                                        S. Pfeiffer
3 Internet-Draft                                                 C. Parker
4 Intended status: Informational                                   A. Pang
5 Expires: September 2, 2005                                         CSIRO
6                                                               March 2005
7
8
9         The Continuous Media Markup Language (CMML), Version 3.1
10                          draft-pfeiffer-cmml-xx
11
12 Status of this Memo
13
14    This document is an Internet-Draft and is subject to all provisions
15    of Section 3 of RFC 3667.  By submitting this Internet-Draft, each
16    author represents that any applicable patent or other IPR claims of
17    which he or she is aware have been or will be disclosed, and any of
18    which he or she become aware will be disclosed, in accordance with
19    RFC 3668.
20
21    Internet-Drafts are working documents of the Internet Engineering
22    Task Force (IETF), its areas, and its working groups.  Note that
23    other groups may also distribute working documents as Internet-
24    Drafts.
25
26    Internet-Drafts are draft documents valid for a maximum of six months
27    and may be updated, replaced, or obsoleted by other documents at any
28    time.  It is inappropriate to use Internet-Drafts as reference
29    material or to cite them other than as "work in progress."
30
31    The list of current Internet-Drafts can be accessed at
32    http://www.ietf.org/ietf/1id-abstracts.txt.
33
34    The list of Internet-Draft Shadow Directories can be accessed at
35    http://www.ietf.org/shadow.html.
36
37    This Internet-Draft will expire on September 2, 2005.
38
39 Copyright Notice
40
41    Copyright (C) The IETF Trust (2005).
42
43
44
45
46
47
48
49
50
51
52
53 Pfeiffer, et al.        Expires September 2, 2005               [Page 1]
54
55 Internet-Draft                    CMML                        March 2005
56
57
58 Abstract
59
60    This specification defines the Continuous Media Markup Language
61    (CMML), version 3.1, an XML-based [XML] markup language for time-
62    continuous data.  It is a sister document to the specification of the
63    Annodex [ANX] annotation, indexing and hyperlinking format for time-
64    continuous data.  A CMML file is essentially a textual representation
65    of an Annodex file.
66
67    The tags of a CMML file provide for the creation of structured and
68    unstructured annotations as well as hyperlinks and addressable named
69    anchor points for clips of time-continuous data.  Through its import
70    tag, the CMML is also an authoring language for Annodex [ANX]
71    streams.  The tag names in use in CMML are similar to the ones in
72    XHTML [XHTML].
73
74    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
75    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
76    document are to be interpreted as described in RFC 2119 [KEYWORDS].
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109 Pfeiffer, et al.        Expires September 2, 2005               [Page 2]
110
111 Internet-Draft                    CMML                        March 2005
112
113
114 Table of Contents
115
116    1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  5
117    2.  The CMML data types  . . . . . . . . . . . . . . . . . . . . .  7
118      2.1.  ContentType  . . . . . . . . . . . . . . . . . . . . . . .  7
119      2.2.  LinkTypes  . . . . . . . . . . . . . . . . . . . . . . . .  7
120      2.3.  MediaDesc  . . . . . . . . . . . . . . . . . . . . . . . .  8
121      2.4.  Text . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
122      2.5.  URI  . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
123      2.6.  LanguageCode . . . . . . . . . . . . . . . . . . . . . . .  9
124      2.7.  Internationalisation support . . . . . . . . . . . . . . .  9
125      2.8.  Time specifications  . . . . . . . . . . . . . . . . . . . 10
126      2.9.  Core Attributes  . . . . . . . . . . . . . . . . . . . . . 10
127    3.  The preamble and the 'cmml' root element . . . . . . . . . . . 11
128    4.  The cmml 'stream' tag  . . . . . . . . . . . . . . . . . . . . 12
129      4.1.  The 'import' tag . . . . . . . . . . . . . . . . . . . . . 13
130      4.2.  The 'param' tag  . . . . . . . . . . . . . . . . . . . . . 14
131    5.  The cmml 'head' element  . . . . . . . . . . . . . . . . . . . 16
132      5.1.  The 'title' element  . . . . . . . . . . . . . . . . . . . 16
133      5.2.  The 'base' element . . . . . . . . . . . . . . . . . . . . 17
134      5.3.  The 'meta' element . . . . . . . . . . . . . . . . . . . . 17
135      5.4.  The 'link' element . . . . . . . . . . . . . . . . . . . . 18
136      5.5.  The 'style' element  . . . . . . . . . . . . . . . . . . . 18
137    6.  The cmml 'clip' tag  . . . . . . . . . . . . . . . . . . . . . 20
138      6.1.  The 'meta' element . . . . . . . . . . . . . . . . . . . . 21
139      6.2.  The 'style' element  . . . . . . . . . . . . . . . . . . . 21
140      6.3.  The 'a' element  . . . . . . . . . . . . . . . . . . . . . 21
141      6.4.  The 'img' element  . . . . . . . . . . . . . . . . . . . . 22
142      6.5.  The 'desc' element . . . . . . . . . . . . . . . . . . . . 22
143      6.6.  The 'caption' element  . . . . . . . . . . . . . . . . . . 23
144      6.7.  The 'p' element  . . . . . . . . . . . . . . . . . . . . . 23
145      6.8.  The 'span' element . . . . . . . . . . . . . . . . . . . . 23
146      6.9.  The 'br' element . . . . . . . . . . . . . . . . . . . . . 23
147    7.  Serialising CMML . . . . . . . . . . . . . . . . . . . . . . . 25
148      7.1.  The format of the CMML ident header packet . . . . . . . . 25
149      7.2.  The format of the CMML secondary headers . . . . . . . . . 26
150      7.3.  The format of the CMML data packets  . . . . . . . . . . . 27
151    8.  Mapping CMML into Ogg and Annodex  . . . . . . . . . . . . . . 29
152      8.1.  Media mapping for a CMML logical bitstream inside Ogg  . . 29
153      8.2.  Using CMML to author Annodex bitstreams  . . . . . . . . . 30
154        8.2.1.  Creating the skeleton ident packet . . . . . . . . . . 31
155        8.2.2.  Creating the skeleton fisbone packets  . . . . . . . . 31
156        8.2.3.  The CMML fisbone packet fields . . . . . . . . . . . . 32
157        8.2.4.  Usage of the 'stream' tag  . . . . . . . . . . . . . . 33
158    9.  Extracting CMML from Annodex bitstreams  . . . . . . . . . . . 35
159      9.1.  Extracting the preamble, 'head' and 'clip' tags  . . . . . 35
160      9.2.  Creating a 'stream' tag  . . . . . . . . . . . . . . . . . 35
161    10. MIME media type registration for 'text/cmml' . . . . . . . . . 37
162
163
164
165 Pfeiffer, et al.        Expires September 2, 2005               [Page 3]
166
167 Internet-Draft                    CMML                        March 2005
168
169
170      10.1. URI addressing into CMML files . . . . . . . . . . . . . . 37
171        10.1.1. Query parameters for use with the http protocol
172                server-side  . . . . . . . . . . . . . . . . . . . . . 38
173        10.1.2. Fragment identifiers for use with the http
174                protocol client-side . . . . . . . . . . . . . . . . . 39
175    11. Security considerations  . . . . . . . . . . . . . . . . . . . 40
176    12. ChangeLog  . . . . . . . . . . . . . . . . . . . . . . . . . . 41
177    13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 42
178    Appendix A.  CMML DTD  . . . . . . . . . . . . . . . . . . . . . . 44
179    Appendix B.  An example CMML document  . . . . . . . . . . . . . . 45
180    Appendix C.  Definitions of terms and abbreviations  . . . . . . . 47
181    Appendix D.  Glossary of acronyms  . . . . . . . . . . . . . . . . 48
182    Appendix E.  Acknowledgements  . . . . . . . . . . . . . . . . . . 49
183    Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 50
184    Intellectual Property and Copyright Statements . . . . . . . . . . 51
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221 Pfeiffer, et al.        Expires September 2, 2005               [Page 4]
222
223 Internet-Draft                    CMML                        March 2005
224
225
226 1.  Introduction
227
228    The Continuous Media Markup Language (CMML) specifies XML based
229    markup for time-continuous data to allow it to become an integral
230    part of the World Wide Web analogously to how HTML allowed text
231    documents to become part of the Web. Therefore, format of the CMML
232    derives much from XHTML.
233
234    CMML allows the attachment of free-text annotations, metadata,
235    captions and other textual information to clips of time-continuous
236    data.  This provides a timed, textual representation of the data that
237    can be indexed by Web search engines.
238
239    CMML also allows the attachment of a hyperlink to each clip of time-
240    continuous data, enabling Web search engines to crawl the content.
241    This also allows users to surf seamlessly between time-continuous
242    data and other Web resources, integrating clips of media into the
243    browsing history of a Web browser.
244
245    CMML also provides a way of referencing a representative image for
246    each clip of time-continuous data, providing a visual representation
247    of the clip in conjunction with the textual representation.  The
248    expected usage scenario for this is in the presentation of search
249    results or in a table of clips.
250
251    CMML provides a "head" element to store information that concerns the
252    complete time-continous resource, and a set of "clip" elements that
253    each store information for a temporal subpart of the resource.
254
255    The practical use of a CMML file is in conjunction with the Annodex
256    exchange format [ANX].  CMML markup can be interleaved inside an
257    Annodex file or stream to allow a synchronised delivery of marked-up
258    time-continuous data in a single stream between a Web server and a
259    user agent.
260
261    CMML has also been designed as an authoring language for Annodex
262    bitstreams.  It allows the description of time-continuous data
263    bitstream(s) that need to be multiplexed together to create an
264    Annodex bitstream.  This information is stored in the "stream"
265    element of a CMML document.  Such a document can be used to control
266    the multiplexing process that creates an Annodex file.
267
268    The following picture illustrates the multiplexing activity
269    schematically; in reality, the stream tag is not preserved in its
270    original form and some attribute values are also encoded in the
271    binary data.  Details of how CMML markup is encoded in an Annodex
272    bitstream are given later in this document.
273
274
275
276
277 Pfeiffer, et al.        Expires September 2, 2005               [Page 5]
278
279 Internet-Draft                    CMML                        March 2005
280
281
282      ----------
283      |stream  | CMML
284      ---------- instance
285      | head   | document
286      ----------
287      | clip_1 |     ----------------------------------------------------
288      ----------     | data bitstream in packets                        |
289      | ...    |     ----------------------------------------------------
290      ----------          |
291      | clip_n |          |
292      ----------          |
293          |               |
294          ------->-<-------
295                  |          Multiplexing
296                  |
297                  v
298   ---------------------------------------------------------------------
299   |stream|head|clip_1|  data packets         |clip_2| data packets  ...
300   ---------------------------------------------------------------------
301
302    The CMML is technically fully specified through its DTD as given in
303    the Appendix.  The semantic meaning of each of the tags, their
304    content and their attributes is specified in the following sections.
305    The Appendix also contains an example of a CMML (instance) document.
306
307    The file extension of CMML files is ".cmml".  This document also
308    applies for registration of the mime-type "text/cmml" for CMML files
309    with IANA.  In the meantime, "text/x-cmml" will be used.
310
311    Please note that this document assumes that the reader has a fluent
312    working knowledge of Extensible Markup Language (XML) [XML],
313    Hypertext Markup Language (HTML) [HTML], XHTML [XHTML], Cascading
314    Style Sheets (CSS) [CSS] and the World Wide Web. Basic knowledge
315    about the Annodex [ANX] format is also assumed.
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333 Pfeiffer, et al.        Expires September 2, 2005               [Page 6]
334
335 Internet-Draft                    CMML                        March 2005
336
337
338 2.  The CMML data types
339
340    At the beginning of the CMML DTD, several parameter entities are
341    defined that are used throughout the DTD as data types.  This section
342    gives a brief overview of them and refers to the relevant standards
343    in which they are defined.
344
345 2.1.  ContentType
346
347    A "ContentType" specifies the media type and subtype of a document as
348    defined in RFC 2045 [ContentType].  It is used to specify the type of
349    content that one input time-continuous bitstream contains.  Examples
350    are "application/annodex", "audio/x-speex", "video/x-theora", or
351    "video/mpeg".
352
353 2.2.  LinkTypes
354
355    "LinkTypes" specifies a space-separated list of the types of
356    relationships a linked, i.e. related, document has to the current
357    one.  As in XHTML, user agents, search engines, etc. may interpret
358    these link types in a variety of ways.  For example, user agents may
359    provide access to linked documents through a navigation bar.  Authors
360    may use the following recognized link types which are a superset of
361    the ones used for XHTML/HTML:
362
363    o  edit: Refers to a document that allows editing the resource.  This
364       enables a document author to allow others to edit the CMML which
365       is the basis for an Annodex resource.
366
367    o  alternate: Designates substitute versions for the document in
368       which the link occurs.  When used together with the media
369       attribute, it implies a version designed for a different medium
370       (or media).
371
372    o  stylesheet: Refers to an external style sheet.
373
374    o  start: Refers to the first document in a collection of documents.
375       This link type tells search engines which document is considered
376       by the author to be the starting point of the collection.
377
378    o  next: Refers to the next document in a linear sequence of
379       documents.  User agents may choose to pre-load the "next"
380       document, to reduce the perceived load time.
381
382    o  prev: Refers to the previous document in an ordered series of
383       documents.
384
385
386
387
388
389 Pfeiffer, et al.        Expires September 2, 2005               [Page 7]
390
391 Internet-Draft                    CMML                        March 2005
392
393
394    o  contents: Refers to a document serving as a table of contents.
395       Although this may seem strange in a CMML file, it makes sense in
396       an Annodex file and may simply refer back to the CMML file or to a
397       HTML page that provides similar information.
398
399    o  index: Refers to a document providing an index for the current
400       document.
401
402    o  glossary: Refers to a document providing a glossary of terms that
403       pertain to the current document.
404
405    o  copyright: Refers to a copyright statement for the current
406       document.  While this could also be given in the meta tags, this
407       could refer to a formatted, legal document.
408
409    o  chapter: Refers to a document serving as a chapter in a collection
410       of documents.
411
412    o  section: Refers to a document serving as a section in a collection
413       of documents.
414
415    o  subsection: Refers to a document serving as a subsection in a
416       collection of documents.
417
418    o  appendix: Refers to a document serving as an appendix in a
419       collection of documents.
420
421    o  help: Refers to a document offering help (more information, links
422       to other sources information, etc.)
423
424    o  bookmark: Refers to a bookmark.  A bookmark is a link to a key
425       entry point within an extended document.  The title attribute may
426       be used, for example, to label the bookmark.  Note that several
427       bookmarks may be defined in each document.
428
429 2.3.  MediaDesc
430
431    A "MediaDesc" describes one or several types of devices for which the
432    given style is appropriate.  It is given as a list of comma-separated
433    media descriptors.  Which devices are supported will need to be
434    specified in a separate style sheet specification.  The following set
435    of device types, adapted from XHTML/HTML in CSS1, are recognized:
436
437    o  all: suitable for all devices.
438
439    o  aural: suitable for speech synthesizers.
440
441
442
443
444
445 Pfeiffer, et al.        Expires September 2, 2005               [Page 8]
446
447 Internet-Draft                    CMML                        March 2005
448
449
450    o  braille: intended for braille tactile feedback devices.
451
452    o  embossed: intended for paged braille printers.
453
454    o  handheld: intended for handheld devices (characterized by a small,
455       monochrome or colour display and limited bandwidth).
456
457    o  print: intended for paged output to a printer or print preview on
458       a screen.
459
460    o  projection: intended for projected presentations (projectors or
461       print to transparencies).
462
463    o  screen: intended for non-paged, colour computer screens.
464
465    o  tty: intended for fixed-pitch character grid displays (such as the
466       teletypes or terminals).
467
468    o  tv: for television-type devices with low resolution and limited
469       scrollability.
470
471 2.4.  Text
472
473    A "Text" describes a short, free form text being used for the "title"
474    attribute.
475
476 2.5.  URI
477
478    A "URI" is a character string that conforms to the specification of
479    the Uniform Resource Identifier as defined in RFC 3986 [URI].  A URI
480    generally points to a Web resource.  The URI time interval
481    specification [timedURI] is supported for CMML and Annodex files.
482    Also, direct addressing of clips as specified in the MIME type
483    application part of this document is supported for CMML and Anndex
484    files.
485
486 2.6.  LanguageCode
487
488    The "LanguageCode" defines a collection of constant strings that each
489    identify a specific language as defined in RFC 1766 [LANG].  Examples
490    are: en-au, de, x-klingon.  Language codes are used to provide
491    internationalisation support.
492
493 2.7.  Internationalisation support
494
495    To provide international language support, the i18n entity draws
496    together a language given by a "LanguageCode" in "lang" with the
497    directionality of that language in "dir" given either as ltr (left-
498
499
500
501 Pfeiffer, et al.        Expires September 2, 2005               [Page 9]
502
503 Internet-Draft                    CMML                        March 2005
504
505
506    to-right) or rtl (right-to-left). "ltr" is the default.
507
508 2.8.  Time specifications
509
510    There are three different time specifications in use in CMML:
511    "Timestamp", "Playbacktime" and "UTCtime".
512
513    A "Timestamp" is generally a name-value pair which defines a time
514    point.  The time point value is interpreted according to the time
515    scheme given in the name.  If the name is ommitted, it defaults to
516    "npt:".  Valid time schemes are the ones defined in the temporal URI
517    specification [timedURI].
518
519    The "Playbacktime" entity is a data type that just specifies a SMPTE
520    or a NPT time.  It is therefore equal to the Timestamp entity without
521    the UTC specification.
522
523    The "UTCtime" entity is a data type that just specifies a UTC time
524    without an identifier.  UTC time is specified as in the Timestamp
525    entity, but without the "clock:" identifier.
526
527 2.9.  Core Attributes
528
529    To cluster together the attributes that are common to most
530    displayable elements, the "attrs" entity draws them together.  As
531    "i18n" is already a cluster, a "coreattrs" entity is defined, which
532    groups together the other commonly used attributes for displayable
533    elements, namely the unique identifier given in "id", the "class"
534    attribute which provides a space-separated list of style sheet
535    classes that the element belongs to, and the "title" attribute, which
536    provides a short tooltip-like description for an element.
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557 Pfeiffer, et al.        Expires September 2, 2005              [Page 10]
558
559 Internet-Draft                    CMML                        March 2005
560
561
562 3.  The preamble and the 'cmml' root element
563
564    A CMML file is an XML instance document of the CMML DTD.  An example
565    is given in the Appendix.  It starts with the usual xml directive and
566    the DTD specification (see
567    http://www.w3.org/TR/REC-xml#sec-prolog-dtd).  The following is an
568    example preamble:
569
570    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
571    <!DOCTYPE cmml SYSTEM "cmml.dtd">
572
573    After the preamble, the CMML tag follows.  A CMML file has a "cmml"
574    tag as the root element.  It embraces all the other tags.
575
576    <!ELEMENT cmml (stream?, head, clip*)>
577    <!ATTLIST cmml
578      %i18n;
579      id          ID             #IMPLIED
580      xmlns       %URI;          #FIXED 'http://www.annodex.net/cmml'
581      granulerate CDATA          #IMPLIED
582      >
583
584    The "cmml" tag encloses at most one "stream" element, exactly one
585    "head" element, and as many "clip" elements as the document author
586    requires.  A "clip" element describes a section of the related
587    Annodex bitstream.
588
589    Attributes of the "cmml" element are the usual xml root tag
590    attributes: the internationalisation attributes "lang" and "dir", an
591    identifier "id", a fixed namespace "xmlns", and the "granulerate".
592
593    The internationalisation attributes specify the default language
594    (language and directionality) of the complete CMML document.  If not
595    given, the language default adheres to the same rules as HTML, where
596    the setting of the HTTP "Content-Language" header may specify the
597    default language of a HTML document received over HTTP, or ultimately
598    the user agent defaults and user preferences set the language. (see
599    http://www.w3.org/TR/REC-html40/struct/dirlang.html)
600
601    Every element has an "id" attribute.  The value of the "id" attribute
602    MUST be unique within the document.  It allows to uniquely identify
603    an instance of an element and address it.
604
605    The "granulerate" attribute may provide a base temporal resolution
606    for the CMML bitstream.  This is in particular used for creation of
607    Annodex files from a given CMML instance document.
608
609
610
611
612
613 Pfeiffer, et al.        Expires September 2, 2005              [Page 11]
614
615 Internet-Draft                    CMML                        March 2005
616
617
618 4.  The cmml 'stream' tag
619
620    The "stream" element contains information that is used for authoring
621    Annodex [ANX] bitstreams from existing time-continuous data.  The
622    Annodex bistream is created by multiplexing the bitstreams given in
623    the "src" attributes of the "import" tags of the "stream" element
624    together with the CMML annotations in a time-synchronous manner.
625
626    The "stream" element describes in the "import" tags the input time-
627    continuous bitstreams that are to be multiplexed together on
628    authoring the Annodex bitstream.  Its attributes describe other
629    features of the Annodex bitstream such as the time mappings for the
630    start of the file.
631
632    <!ELEMENT stream (import*)>
633    <!ATTLIST stream
634      id          ID             #IMPLIED
635      basetime    %Playbacktime; "0"
636      utc         %UTCtime;      #IMPLIED
637      >
638
639    The "stream" element has no text attributes and thus
640    internationalisation attributes are not required.  The "id" attribute
641    follows the default language specified in the "cmml" element.
642
643    The "basetime" attribute contains a playback time in seconds
644    associated with the first data packet of the Annodex bitstream.  All
645    other times in the CMML file MUST be calculated relative to this
646    basetime.  For example, a basetime of 300 seconds npt for a video
647    file implies that the first frame is related to a play time of 300
648    seconds, and a clip with a start time of 350 seconds is to be
649    included 50 seconds into the Annodex bitstream.  If no basetime (or
650    no stream tag) is given, the basetime defaults to 0 npt.  The
651    basetime can be given as a SMPTE or NPT time, or as a rational number
652    as in 5/1300, but not as a utc time.
653
654    The "utc" attribute associates a calendar date and a wall-clock time
655    with the basetime.  It therefore provides a mapping of the basetime
656    to a real-world clock time and is given as a UTC time.  If it is
657    omitted, the start attribute in the import tag, and the start and end
658    attributes in clip tags MUST NOT be specified as UTC times.
659
660    The content model of the "stream" tag then proposes an arbitrary
661    number of input bitstreams.  These are described one by one in the
662    "import" element.
663
664
665
666
667
668
669 Pfeiffer, et al.        Expires September 2, 2005              [Page 12]
670
671 Internet-Draft                    CMML                        March 2005
672
673
674 4.1.  The 'import' tag
675
676    A "import" tag contains information on one of the input bitstreams
677    for the multiplexing process.  It may also contain additional
678    parameters to set up the Annodex encoder for each import bitstream.
679
680    <!ELEMENT import (param*)>
681    <!ATTLIST import
682      %i18n;
683      id          ID             #IMPLIED
684      granulerate CDATA          #IMPLIED
685      contenttype %ContentType;  #IMPLIED
686      src         %URI;          #REQUIRED
687      start       %Timestamp;    "0"
688      end         %Timestamp;    #IMPLIED
689      title       CDATA          #IMPLIED
690      >
691
692    The relevant bitstream (fragment) is referenced through the "src"
693    attribute.  The src is a URI and may thus also contain a time
694    interval specification in URIs which narrows down the input file to
695    that given subpart.  That resource is multiplexed into the Annodex
696    bitstream starting at the time given in the "start" attribute and
697    ending at the latest at the time given in the "end" attribute.  The
698    "start" and "end" attributes are interpreted relative to the timeline
699    of the Annodex bitstream.
700
701    The internationalisation attributes provide the language of the
702    import element's and the contained param tags' attribute values, such
703    as the "id" attributes and the "title" attribute.
704
705    The "granulerate" attribute contains the base temporal resolution in
706    Hz of the input bitstream referred in the "src" attribute.  It
707    depends on the encoding format of the input bitstream and typically
708    contains the framerate for video (e.g. 25 frames/sec) and the
709    samplerate for audio (e.g. 44100 samples/sec), but may contain any
710    rational number given with an integer denominator larger than 1 sec
711    (e.g. 25 frames on 2 seconds).  Each bitstream has its own
712    granulerate dependent on its specific encoding.  This attribute is
713    implied as it can be determined automatically during the multiplexing
714    process from the headers of the encoded media bitstream.  For
715    bitstreams without header, such as uncompressed audio, the author of
716    the CMML file can provide the granulerate to the multiplexer in this
717    attribute.
718
719    The "contenttype" attribute specifies the media type [ContentType] of
720    the input bitstream referred in the "src" attribute.  It is optional
721    as the media type can often be derived from the file name or file
722
723
724
725 Pfeiffer, et al.        Expires September 2, 2005              [Page 13]
726
727 Internet-Draft                    CMML                        March 2005
728
729
730    header of the media source during multiplexing.
731
732    The "src" attribute specifies a URI to the input bitstream.  Commonly
733    used URI schemes are "file" and "http".  For specifying temporal
734    subsets of the input bitstream, use the time interval specification
735    for URIs [timedURI].
736
737    The "start" attribute specifies a time in the output Annodex
738    bitstream at which the media bitstream will be inserted.  This time
739    is specified with respect to the "basetime" attribute given in the
740    "stream" element.
741
742    The "end" attribute specifies a time in the output Annodex bitstream
743    at which the media bitstream will stop at the latest.  This time is
744    also specified with respect to the "basetime" attribute given in the
745    "stream" element.  This attribute is not required when the full
746    bitstream is used.
747
748    The optional "title" attribute provides a chance to jot down a human
749    readable comment on the source bitstream.  This may e.g. be used in
750    authoring applications for a more human readable display than the
751    "id" tag which is really a key for identifying elements uniquely.
752
753    The content model of the "import" tag then allows an arbitrary number
754    of "param" tags to add as many descriptive parameter values to the
755    mulitplexing activity as necessary.
756
757 4.2.  The 'param' tag
758
759    A "param" tag is empty, but its attributes contain a name-value pair
760    for describing the input bitstream in the parent "import" element.
761    It inherits its internationalisation from that element, too, to avoid
762    overhead.  The "param" element is declared as follows:
763
764    <!ELEMENT param EMPTY>
765    <!ATTLIST param
766      id          ID             #IMPLIED
767      name        CDATA          #REQUIRED
768      value       CDATA          #REQUIRED
769      >
770
771    The "name" attribute identifies a property name.  It does not list
772    legal values for this attribute.
773
774    The "value" attribute specifies a property's value.  It does not list
775    legal values for this attribute.
776
777    An example parametrisation is the provision of machine-processable
778
779
780
781 Pfeiffer, et al.        Expires September 2, 2005              [Page 14]
782
783 Internet-Draft                    CMML                        March 2005
784
785
786    low level meta information about the import bitstream such as a
787    video's image height and width and framerate.
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837 Pfeiffer, et al.        Expires September 2, 2005              [Page 15]
838
839 Internet-Draft                    CMML                        March 2005
840
841
842 5.  The cmml 'head' element
843
844    The CMML "head" element contains annotation information on the
845    complete Annodex bitstream, for whose creation the CMML file is used.
846    It therefore contains header-type information such as a title, style
847    information, related documents and meta information describing the
848    bitstream.
849
850    The "head" element is declared as the following:
851
852    <!ENTITY % head.misc "(style|meta|link)*">
853
854    <!ELEMENT head (%head.misc;,
855                    ((title, %head.misc;, (base, %head.misc;)?) |
856                    (base, %head.misc;, (title, %head.misc;))))>
857    <!ATTLIST head
858      %i18n;
859      id          ID             #IMPLIED
860      profile     %URI;          #IMPLIED
861      >
862
863    The "head" tag must contain a "title" tag.  It may contain one "base"
864    tag before or after the "title" tag and any number of "style",
865    "meta", or "link" tags at any position.
866
867    The "%i18n;" attribute specifies the base language of the "head"
868    tag's attribute values.
869
870    The value of the "profile" attribute is a space-separated list of
871    base URIs specifying locations of "meta" tag schemes such as the
872    Dublin Core (see http://dublincore.org/).  These schemes may be used
873    in the "meta" elements of the "head" or the "clip" tags.
874
875 5.1.  The 'title' element
876
877    The "title" tag gives a descriptive title for the complete Annodex
878    bitstream.  It is not considered to be part of the presentation and
879    should be displayed, e.g. as the title of the window that the Annodex
880    bitstream is being displayed in.  Exactly one title is required per
881    document.  The "title" element is declared as the following:
882
883    <!ELEMENT title (#PCDATA)>
884    <!ATTLIST title
885      %i18n;
886      id          ID       #IMPLIED
887    >
888
889    The "%i18n;" attribute specifies the base language of the "title"
890
891
892
893 Pfeiffer, et al.        Expires September 2, 2005              [Page 16]
894
895 Internet-Draft                    CMML                        March 2005
896
897
898    text.
899
900 5.2.  The 'base' element
901
902    The "base" element defines the base URI of the Annodex bitstream.
903    All relative URIs of the bitstream get interpreted relative to this
904    base.  The "base" element is empty, but its attributes contain the
905    base URI.  It is declared as follows:
906
907    <!ELEMENT base EMPTY>
908    <!ATTLIST base
909      id      ID       #IMPLIED
910      href    %URI;    #REQUIRED
911    >
912
913    The "href" attribute contains the base URI.  If the "base" element is
914    omitted, the base URI of the Annodex bitstream is derived from the
915    address through which the Annodex bitstream is accessed.
916
917 5.3.  The 'meta' element
918
919    The "meta" element in the "head" element defines structured
920    annotations for the complete Annodex bitstream.  A "meta" element is
921    empty, but its attributes contain the name-value pairs of a
922    structured annotation.  The "meta" element is declared as follows:
923
924    <!ELEMENT meta EMPTY>
925    <!ATTLIST meta
926      %i18n;
927      id       ID       #IMPLIED
928      name     NMTOKEN  #IMPLIED
929      content  CDATA    #REQUIRED
930      scheme   CDATA    #IMPLIED
931    >
932
933    The "%i18n;" attribute specifies the language of the meta attribute
934    and content texts.
935
936    The "name" attribute identifies a property name.  It does not list
937    legal values for this attribute.
938
939    The "content" attribute specifies a property's value.  It does not
940    list legal values for this attribute.
941
942    The "scheme" attribute names a scheme to be used to interprete the
943    property's value.  The scheme can be located via the "profile"
944    attribute in the "head" element.
945
946
947
948
949 Pfeiffer, et al.        Expires September 2, 2005              [Page 17]
950
951 Internet-Draft                    CMML                        March 2005
952
953
954 5.4.  The 'link' element
955
956    The "link" element in the "head" element defines links to a related
957    external resource.  These resources are often used to augment the
958    user agent's ability to process the current document.  The "link"
959    element is declared as follows:
960
961    <!ELEMENT link EMPTY>
962    <!ATTLIST link
963      %attrs;
964      href        %URI;          #IMPLIED
965      type        %ContentType;  #IMPLIED
966      rel         %LinkTypes;    #IMPLIED
967      rev         %LinkTypes;    #IMPLIED
968      media       %MediaDesc;    #IMPLIED
969      >
970
971    The "attrs;" attribute covers the specification of the language of
972    the title attribute, a unique identifing name, a reference to a style
973    sheet specification, and a title attribute to provide a short
974    description of the relationship between the current document and the
975    one referred to in the "href" attributed.
976
977    The "href" attribute contains a URI reference to a related external
978    resource.  These resources are often used to augment the user agent's
979    ability to process the current document.
980
981    The "type" attribute contains a media type specification for the
982    linked document as per RFC 2045 [ContentType], e.g. "text/
983    x-css-cmml".
984
985    The "rel" attribute describes the relationship from the current
986    document to the resource specified by the href attribute.  The value
987    of this attribute is a space-separated list of link types.
988
989    The "rev" attribute describes a reverse link from the resource
990    specified by the href attribute to the current document.  The value
991    of this attribute is a space-separated list of link types.
992
993    The "media" attribute specifies the intended destination device for
994    style information, if the href points to an external style sheet.  It
995    may be a single media descriptor or a comma-separated list.  The
996    default value for this attribute is "screen".
997
998 5.5.  The 'style' element
999
1000    The "style" element in the "head" element contains an internally
1001    defined style sheet.  The "style" element is declared as follows:
1002
1003
1004
1005 Pfeiffer, et al.        Expires September 2, 2005              [Page 18]
1006
1007 Internet-Draft                    CMML                        March 2005
1008
1009
1010    <!ELEMENT style (#PCDATA)>
1011    <!ATTLIST style
1012      %i18n;
1013      id          ID             #IMPLIED
1014      title       %Text;         #IMPLIED
1015      type        %ContentType;  #REQUIRED
1016      media       %MediaDesc;    #IMPLIED
1017      xml:space   (preserve)     #FIXED 'preserve'
1018      >
1019
1020    The "i18n;" attribute containt the language of the title attribute.
1021
1022    The "title" attribute contains a short description of the style in
1023    human readable form.
1024
1025    The "type" attribute contains a media type specification for the
1026    linked document as per RFC 2045 [ContentType], e.g. "text/
1027    x-css-cmml".
1028
1029    The "media" attribute specifies the intended destination device for
1030    the style information.  It may be a single media descriptor or a
1031    comma-separated list.  The default value for this attribute is
1032    "screen".
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061 Pfeiffer, et al.        Expires September 2, 2005              [Page 19]
1062
1063 Internet-Draft                    CMML                        March 2005
1064
1065
1066 6.  The cmml 'clip' tag
1067
1068    A CMML file typically contains a number of sections given through
1069    "clip" tags.  The CMML "clip" tag contains information about a
1070    section of the Annodex bitstream.  This is expressed in a number of
1071    elements and attributes annotating, indexing, and hyperlinking the
1072    section.  The "start" and "end" attributes are used to give the
1073    insertion time for the clip into the Annodex bitstream.
1074
1075    <!ELEMENT clip ((meta|style)*, a?, img?, desc?, caption?)>
1076    <!ATTLIST clip
1077      %attrs;
1078      track       CDATA          "default"
1079      start       %Timestamp;    #REQUIRED
1080      end         %Timestamp;    #IMPLIED
1081      >
1082
1083    Any number of "meta" or "style" elements may appear in a clip, and at
1084    most one "a" element, one "img" element, and one "desc" element.
1085    Though "meta", "style", "a", "img", and "desc" tag are given in a
1086    specific order in the DTD, their order is actually random.
1087
1088    The "%i18n;" attributes part of the "%attrs;" attributes specify the
1089    base language for all the clip's attribute values and content
1090    elements.  Also, a unique identifying name is specified for the clip
1091    in the "id" attribute.  This name can be used in URIs that point
1092    either to the CMML file or the Annodex bitstream created from it, and
1093    allows to point straight at the clip.  This may either be done as a
1094    URI fragment or URI query specification.  The "class" attribute
1095    provides a space-separated list of style sheet classes, and the
1096    "title" attribute a short tooltip-like clip description.
1097
1098    The "track" attribute specifies the track that this clip belongs to.
1099    An annotation track is a set of clips that belong together from a
1100    semantic point of view.  Clips in the same track must not overlap
1101    temporally.  A default track must be available always.  This track is
1102    the one a client (such as a Web browser plugin) will display by
1103    default.  Other annotation tracks may be created by the document
1104    author to describe a more specific content.  An example use are
1105    different annotation tracks for each speaker in an audio recording of
1106    a meeting or tracks of different languages.
1107
1108    The "start" and "end" attributes specify the time range during which
1109    the clip element is defined.  This time range is specified with
1110    respect to the "basetime" and "utc" attributes given in the "stream"
1111    tag.  If the "stream" tag does not contain a "utc" specification,
1112    "start" and "end" times are not allowed to be given in UTC time.
1113    "start" is a required attribute because a clip without a start time
1114
1115
1116
1117 Pfeiffer, et al.        Expires September 2, 2005              [Page 20]
1118
1119 Internet-Draft                    CMML                        March 2005
1120
1121
1122    is useless. "end" is optional and only required where clips cannot
1123    continue on to the following clip.
1124
1125 6.1.  The 'meta' element
1126
1127    The "meta" element is specified above in the "head" section.  While a
1128    "meta" element in the "head" tag provides meta information for the
1129    complete Annodex bitstream, the "meta" elements in a "clip" tag only
1130    provide meta information for the clip.
1131
1132 6.2.  The 'style' element
1133
1134    The "style" element is specified above in the "head" section.  While
1135    a "style" element in the "head" tag provides style sheet information
1136    for the complete Annodex bitstream, the "style" elements in a "clip"
1137    tag only provide style sheet information for the clip.
1138
1139 6.3.  The 'a' element
1140
1141    The "a" element specifies a link to a related Web resource together
1142    with some information on that related resource.  The "a" element
1143    definition is very closely related to the xhtml "a" element
1144    definition with a reduced number of attributes as they make sense for
1145    time-continuous data.
1146
1147    <!ELEMENT a (#PCDATA)>
1148    <!ATTLIST a
1149      %attrs;
1150      href        %URI;          #REQUIRED
1151      >
1152
1153    The "attrs" attributes specify internationalisation of the anchor's