You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3086 lines
156 KiB
3086 lines
156 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us">
|
|
<head>
|
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
|
<title>API for Media Resource 1.0</title>
|
|
<link rel="stylesheet" type="text/css" href="respec.css" />
|
|
<link rel="stylesheet" type="text/css"
|
|
href="http://www.w3.org/StyleSheets/TR/W3C-WD.css" />
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div class="head">
|
|
<p><a href="http://www.w3.org/"><img src="http://www.w3.org/Icons/w3c_home"
|
|
alt="W3C" height="48" width="72" /></a></p>
|
|
|
|
<h1><a name="d3e4" id="d3e4"></a>API for Media Resource 1.0</h1>
|
|
|
|
<h2><a name="w3c-doctype" id="w3c-doctype"></a><a name="w3c-doctype1"
|
|
id="w3c-doctype1"></a>W3C Working Draft 08 June 2010</h2>
|
|
<dl>
|
|
<dt>This version:</dt>
|
|
<dd><a
|
|
href="http://www.w3.org/TR/2010/WD-mediaont-api-1.0-20100608">http://www.w3.org/TR/2010/WD-mediaont-api-1.0-20100608</a></dd>
|
|
<dt>Latest version:</dt>
|
|
<dd><a
|
|
href="http://www.w3.org/TR/mediaont-api-1.0">http://www.w3.org/TR/mediaont-api-1.0</a></dd>
|
|
<dt>Previous version:</dt>
|
|
<dd><a
|
|
href="http://www.w3.org/TR/2010/WD-mediaont-api-1.0-20100309">http://www.w3.org/TR/2010/WD-mediaont-api-1.0-20100309</a></dd>
|
|
<dt>Editors:</dt>
|
|
<dd>이원석(WonSuk Lee), Electronics and Telecommunications Research
|
|
Institute (ETRI)</dd>
|
|
<dd>Florian Stegmaier, University of Passau</dd>
|
|
<dd>Chris Poppe, Ghent University</dd>
|
|
</dl>
|
|
|
|
<p class="copyright"><a
|
|
href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> ©
|
|
2010 <a href="http://www.w3.org/"><acronym
|
|
title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a
|
|
href="http://www.csail.mit.edu/"><acronym
|
|
title="Massachusetts Institute of Technology">MIT</acronym></a>, <a
|
|
href="http://www.ercim.org/"><acronym
|
|
title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>,
|
|
<a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a
|
|
href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
|
|
<a
|
|
href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
|
|
and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document
|
|
use</a> rules apply.</p>
|
|
</div>
|
|
<hr />
|
|
|
|
<div>
|
|
<h2><a name="abstract" id="abstract"></a>Abstract</h2>
|
|
This specification defines a client-side API to access metadata information
|
|
related to media resources on the Web. The overall purpose of the API is to
|
|
provide developers with a convenient access to metadata information stored in
|
|
different metadata formats. The API is described using the interface definition
|
|
language Web IDL. Thereby, the Media Ontology Core Properties will be used as a
|
|
pivot vocabulary in the API. </div>
|
|
|
|
<div>
|
|
<h2><a name="status" id="status"></a>Status of this Document</h2>
|
|
|
|
<p><em>This section describes the status of this document at the time of its
|
|
publication. Other documents may supersede this document. A list of current W3C
|
|
publications and the latest revision of this technical report can be found in
|
|
the <a href="http://www.w3.org/TR/">W3C technical reports index</a> at
|
|
http://www.w3.org/TR/.</em></p>
|
|
|
|
<p>This is the a Last Call Working Draft of the API for Media Resource 1.0
|
|
specification. It has been produced by the <a
|
|
href="http://www.w3.org/2008/WebVideo/Annotations/">Media Annotations Working
|
|
Group</a>, which is part of the <a href="http://www.w3.org/2008/WebVideo/">W3C
|
|
Video on the Web Activity</a>.</p>
|
|
|
|
<p>The W3C Membership and other interested parties are invited to review the
|
|
document and send comments through 11 July 2010. Comments must be sent to to <a
|
|
href="mailto:public-media-annotation@w3.org?subject=[LC Comment API]">public-media-annotation@w3.org</a>
|
|
mailing list (<a
|
|
href="http://lists.w3.org/Archives/Public/public-media-annotation/">public
|
|
archive</a>). Use "[LC Comment API]" in the subject line of your email.</p>
|
|
|
|
<p>Publication as a Working Draft does not imply endorsement by the W3C
|
|
Membership. This is a draft document and may be updated, replaced or obsoleted
|
|
by other documents at any time. It is inappropriate to cite this document as
|
|
other than work in progress. </p>
|
|
|
|
<p>This document was produced by a group operating under the <a
|
|
href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 W3C
|
|
Patent Policy</a>. W3C maintains a <a
|
|
href="http://www.w3.org/2004/01/pp-impl/42786/status">public list of any patent
|
|
disclosures</a> made in connection with the deliverables of the group; that
|
|
page also includes instructions for disclosing a patent. An individual who has
|
|
actual knowledge of a patent which the individual believes contains <a
|
|
href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
|
|
Claim(s)</a> must disclose the information in accordance with <a
|
|
href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
|
|
6 of the W3C Patent Policy</a>.</p>
|
|
|
|
<p></p>
|
|
</div>
|
|
|
|
<div class="section" id="toc">
|
|
<h2 id="table-of-contents" class="introductory">Table of Contents</h2>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref" href="#introduction"><span
|
|
class="secno">1. </span>Introduction</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref" href="#formats-in-scope"><span
|
|
class="secno">1.1 </span>Formats in scope</a></li>
|
|
<li class="tocline"><a class="tocxref" href="#formats-out-of-scope"><span
|
|
class="secno">1.2 </span>Formats out of scope</a></li>
|
|
<li class="tocline"><a class="tocxref" href="#terminology"><span
|
|
class="secno">1.3 </span>Terminology</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref" href="#design-consideration"><span
|
|
class="secno">2. </span>Design consideration</a></li>
|
|
<li class="tocline"><a class="tocxref" href="#api-description"><span
|
|
class="secno">3. </span>API Description</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#mediaresource-interface"><span class="secno">3.1
|
|
</span><code>MediaResource</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref" href="#methods"><span
|
|
class="secno">3.1.1 </span>Methods</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#metadatasource-interface"><span class="secno">3.2
|
|
</span><code>MetadataSource</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref" href="#attributes"><span
|
|
class="secno">3.2.1 </span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref" href="#language--interface"><span
|
|
class="secno">3.3 </span><code>Language </code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref" href="#attributes-1"><span
|
|
class="secno">3.3.1 </span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref" href="#maobject-interface"><span
|
|
class="secno">3.4 </span><code>MAObject</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref" href="#attributes-2"><span
|
|
class="secno">3.4.1 </span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#identification-interface"><span class="secno">3.5
|
|
</span>Identification Properties</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#identifier--interface"><span class="secno">3.5.1
|
|
</span><code>Identifier </code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref" href="#attributes-3"><span
|
|
class="secno">3.5.1.1 </span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref" href="#title--interface"><span
|
|
class="secno">3.5.2 </span><code>Title </code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref" href="#attributes-4"><span
|
|
class="secno">3.5.2.1 </span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#language--interface-1"><span class="secno">3.5.3
|
|
</span><code>Language </code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref" href="#attributes-5"><span
|
|
class="secno">3.5.3.1 </span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#locator--interface"><span class="secno">3.5.4
|
|
</span><code>Locator </code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref" href="#attributes-6"><span
|
|
class="secno">3.5.4.1 </span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref" href="#creation-properties"><span
|
|
class="secno">3.6 </span>Creation Properties</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#contributor--interface"><span class="secno">3.6.1
|
|
</span><code>Contributor </code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref" href="#attributes-7"><span
|
|
class="secno">3.6.1.1 </span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#creator--interface"><span class="secno">3.6.2
|
|
</span><code>Creator </code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref" href="#attributes-8"><span
|
|
class="secno">3.6.2.1 </span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#createdate--interface"><span class="secno">3.6.3
|
|
</span><code>CreateDate </code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref" href="#attributes-9"><span
|
|
class="secno">3.6.3.1 </span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#location--interface"><span class="secno">3.6.4
|
|
</span><code>Location </code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-10"><span class="secno">3.6.4.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref" href="#content-properties"><span
|
|
class="secno">3.7 </span>Content Properties</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#description--interface"><span class="secno">3.7.1
|
|
</span><code>Description </code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-11"><span class="secno">3.7.1.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#keyword-interface"><span class="secno">3.7.2
|
|
</span><code>Keyword</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-12"><span class="secno">3.7.2.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref" href="#genre-interface"><span
|
|
class="secno">3.7.3 </span><code>Genre</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-13"><span class="secno">3.7.3.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref" href="#rating-interface"><span
|
|
class="secno">3.7.4 </span><code>Rating</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-14"><span class="secno">3.7.4.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#relational-properties"><span class="secno">3.8 </span>Relational
|
|
Properties</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#relation-interface"><span class="secno">3.8.1
|
|
</span><code>Relation</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-15"><span class="secno">3.8.1.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#collection-interface"><span class="secno">3.8.2
|
|
</span><code>Collection</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-16"><span class="secno">3.8.2.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref" href="#rights-properties"><span
|
|
class="secno">3.9 </span>Rights Properties</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#copyright-interface"><span class="secno">3.9.1
|
|
</span><code>Copyright</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-17"><span class="secno">3.9.1.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref" href="#policy-interface"><span
|
|
class="secno">3.9.2 </span><code>Policy</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-18"><span class="secno">3.9.2.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#distribution-properties"><span class="secno">3.10
|
|
</span>Distribution Properties</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#publisher-interface"><span class="secno">3.10.1
|
|
</span><code>Publisher</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-19"><span class="secno">3.10.1.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#targetaudience-interface"><span class="secno">3.10.2
|
|
</span><code>TargetAudience</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-20"><span class="secno">3.10.2.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref" href="#fragments-properties"><span
|
|
class="secno">3.11 </span>Fragments Properties</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#fragments-interface"><span class="secno">3.11.1
|
|
</span><code>Fragments</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-21"><span class="secno">3.11.1.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#namedfragments-interface"><span class="secno">3.11.2
|
|
</span><code>NamedFragments</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-22"><span class="secno">3.11.2.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref" href="#technical-interface"><span
|
|
class="secno">3.12 </span>Technical Properties</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#framesize-interface"><span class="secno">3.12.1
|
|
</span><code>FrameSize</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-23"><span class="secno">3.12.1.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#compression-interface"><span class="secno">3.12.2
|
|
</span><code>Compression</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-24"><span class="secno">3.12.2.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#duration-interface"><span class="secno">3.12.3
|
|
</span><code>Duration</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-25"><span class="secno">3.12.3.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref" href="#format-interface"><span
|
|
class="secno">3.12.4 </span><code>Format</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-26"><span class="secno">3.12.4.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#samplingrate-interface"><span class="secno">3.12.5
|
|
</span><code>Samplingrate</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-27"><span class="secno">3.12.5.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#framerate-interface"><span class="secno">3.12.6
|
|
</span><code>Framerate</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-28"><span class="secno">3.12.6.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#averagebitrate-interface"><span class="secno">3.12.7
|
|
</span><code>AverageBitrate</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-29"><span class="secno">3.12.7.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#numtracks-interface"><span class="secno">3.12.8
|
|
</span><code>NumTracks</code> interface</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#attributes-30"><span class="secno">3.12.8.1
|
|
</span>Attributes</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="tocline"><a class="tocxref" href="#usage-examples"><span
|
|
class="secno">4. </span>Usage examples</a></li>
|
|
<li class="tocline"><a class="tocxref" href="#api-status-codes"><span
|
|
class="secno">5. </span>API Status Codes</a></li>
|
|
<li class="tocline"><a class="tocxref" href="#conformance"><span
|
|
class="secno">6. </span>Conformance</a></li>
|
|
<li class="tocline"><a class="tocxref" href="#security-considerations"><span
|
|
class="secno">7. </span>Security Considerations</a></li>
|
|
<li class="tocline"><a class="tocxref" href="#webidl-for-api"><span
|
|
class="secno">A. </span>Web IDL description for API</a></li>
|
|
<li class="tocline"><a class="tocxref" href="#acknowledgements"><span
|
|
class="secno">B. </span>Acknowledgements</a></li>
|
|
<li class="tocline"><a class="tocxref" href="#references"><span
|
|
class="secno">C. </span>References</a>
|
|
<ul class="toc">
|
|
<li class="tocline"><a class="tocxref" href="#normative-references"><span
|
|
class="secno">C.1 </span>Normative references</a></li>
|
|
<li class="tocline"><a class="tocxref"
|
|
href="#informative-references"><span class="secno">C.2
|
|
</span>Informative references</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div id="introduction" class="informative section">
|
|
<!--OddPage-->
|
|
|
|
<h2 id="x1.-introduction"><span class="secno">1. </span>Introduction</h2>
|
|
|
|
<p><em>This section is non-normative.</em></p>
|
|
|
|
<p>This specification defines a client-side API to access metadata information
|
|
related to media resources on the Web. The overall purpose of the API is to
|
|
provide developers with a convenient access to metadata information stored in
|
|
different metadata formats. Thereby, the <a
|
|
href="http://www.w3.org/TR/mediaont-10/#core-property-definitions">Media
|
|
Ontology Core Properties</a> will be used as a pivot vocabulary in the API. The
|
|
description of relations between these core properties and the metadata formats
|
|
in scope (<a href="http://www.w3.org/TR/mediaont-10/#formats-in-scope"><b>1.2
|
|
Formats in scope</b></a>) are stored in the Media Ontology in order to provide
|
|
cross-community data integration. The API is described using the interface
|
|
definition language [<a href="#bib-WEBIDL" rel="biblioentry"
|
|
class="bibref">WEBIDL</a>]. The decision to use Web IDL, which offers bindings
|
|
for ECMAScript and Java, can be based on the Use Cases and Requirements for
|
|
Ontology and API for Media Resource 1.0 [<a href="#bib-MEDIA-ANNOT-REQS"
|
|
rel="biblioentry" class="bibref">MEDIA-ANNOT-REQS</a>]. This document clearly
|
|
states that the focus for this API lies on multimedia services on the Web.</p>
|
|
|
|
<p>The API serves as a mediator between a developer and the underlying Ontology
|
|
for Media Resource 1.0 [<a href="#bib-MEDIA-ANNOT-ONTOLOGY" rel="biblioentry"
|
|
class="bibref">MEDIA-ANNOT-ONTOLOGY</a>] with the goal to support
|
|
interoperability between metadata formats. It offers operations to retrieve
|
|
particular metadata informations represented in a certain metadata format
|
|
related to media resources on the Web.</p>
|
|
|
|
<p>This document is being published with the aspiration to gather wide feedback
|
|
on the yet available API design.</p>
|
|
|
|
<div class="section" id="formats-in-scope">
|
|
<h3 id="x1.1-formats-in-scope"><span class="secno">1.1 </span>Formats in
|
|
scope</h3>
|
|
|
|
<p>Refers to the <a
|
|
href="http://www.w3.org/TR/mediaont-10/#formats-in-scope">formats in scope</a>
|
|
of <a href="http://www.w3.org/TR/mediaont-10/">Ontology for Media Resource
|
|
1.0</a>.</p>
|
|
</div>
|
|
|
|
<div class="section" id="formats-out-of-scope">
|
|
<h3 id="x1.2-formats-out-of-scope"><span class="secno">1.2 </span>Formats out
|
|
of scope</h3>
|
|
|
|
<p>Refers to the <a
|
|
href="http://www.w3.org/TR/mediaont-10/#formats-out-of-scope">Formats out of
|
|
scope</a> of <a href="http://www.w3.org/TR/mediaont-10/">Ontology for Media
|
|
Resource 1.0</a>.</p>
|
|
</div>
|
|
|
|
<div class="section" id="terminology">
|
|
<h3 id="x1.3-terminology"><span class="secno">1.3 </span>Terminology</h3>
|
|
|
|
<p>In this document the terms "Media Resource", "Property", "Mapping" and
|
|
"Property value type" are to be interpreted as defined in <a
|
|
href="http://www.w3.org/TR/mediaont-10/#Terminology">Section 2 of Ontology for
|
|
Media Resource 1.0</a>.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="section" id="design-consideration">
|
|
<!--OddPage-->
|
|
|
|
<h2 id="x2.-design-consideration"><span class="secno">2. </span>Design
|
|
consideration</h2>
|
|
|
|
<p>We consider two scenarios where the API could be implemented: either in a
|
|
user agent (scenario 1) or as a web service (scenario 2). The two scenarios are
|
|
shown in the figure.</p>
|
|
<dl>
|
|
<dt>Scenario 1: User agent</dt>
|
|
<dd>The API is implemented in a user agent (e.g., browser or browser
|
|
plugin) and exposed as a JavaScript API (using the WebIDL JavaScript
|
|
binding). The user agent includes the components for metadata access
|
|
(possibly extraction) and mappings for a supported set of formats. The
|
|
metadata sources (the media resource and/or metadata document(s)) must be
|
|
retrievable and access (establish connection, retrieval) of the metadata
|
|
sources is handled by the user agent. </dd>
|
|
<dt>Scenario 2: Web service</dt>
|
|
<dd>The API is implemented as a Web service. Such an implementation would
|
|
be typically used by a non-UI client, such as an agent harvesting
|
|
metadata. However, the API could be also accessed from a user agent, and
|
|
used the same way as described in scenario 1 by the help of a JavaScript
|
|
library for accessing the web service. At the back-end of the web
|
|
service, this scenario also allows supporting a media repository (e.g.
|
|
content provider's archive database, movie store) from which the user
|
|
agent could directly retrieve metadata sources and which might have a
|
|
custom metadata format not supported by a user agent. In contrast to an
|
|
integrated component (see scenario 1), an implementation of the API in a
|
|
web service could do more complex mappings on the fly as a component
|
|
integrated in a user agent, and can be more flexible (e.g., supporting
|
|
additional formats). </dd>
|
|
</dl>
|
|
|
|
<p align="center"><img src="API_options.png"
|
|
alt="Overview of different API options." /></p>
|
|
|
|
<p>In both scenarios, the access to the metadata properties needs the following
|
|
stack of components:</p>
|
|
<ul>
|
|
<li><p>An implementation of the API for Media Resource (as defined in this
|
|
document), which providers the actual getter methods for the properties.</p>
|
|
</li>
|
|
<li><p>An implementation of the mappings from a specific source format to the
|
|
properties of the media ontology (as defined in Ontology for Media Resource
|
|
1.0).</p>
|
|
</li>
|
|
<li><p>A format specific API to access the metadata. This can be an API for
|
|
accessing a metadata document describing a media resource (e.g. an XML
|
|
parser and a set of XPath statements) or an extractor to read metadata
|
|
embedded in the media resource (e.g. a library to read EXIF information
|
|
from JPEG images). In order to define the context on which the API for
|
|
Media Resource is working, it is assumed that there is at least a
|
|
unidirectional reference from the media resource to the metadata document
|
|
or vice versa. If this is not the case such a reference needs to be
|
|
provided by the web application (scenario 1), web service (scenario 2) or
|
|
media repository (scenario 2).</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="api-description">
|
|
<!--OddPage-->
|
|
|
|
<h2 id="x3.-api-description"><span class="secno">3. </span>API Description</h2>
|
|
<!--p class="note">There are many open issues about setting interfaces, meaning changing the value of properties, so these issues will be covered later.</p-->
|
|
|
|
<p class="note">The JavaScript examples in this document will only work if the
|
|
API is implemented by the browser.</p>
|
|
|
|
<p>The API exists of a number of interfaces, described using <cite><a
|
|
href="#webidl-for-api">Web IDL</a></cite>. Implementations of the API should
|
|
provide objects implementing the different interfaces. The entire description
|
|
can be found in <a href="#webidl-for-api">Appendix A</a>. The API is contained
|
|
within the <code>MediaResource</code> interface within the <code>mawg</code>
|
|
module. Objects implementing this interface provide the necessary methods to
|
|
access metadata properties of a Media Resource. The object holds methods to
|
|
identify the actual Media Resource and the metadata sources. All properties can
|
|
be accessed through a specific operation <code>getProperty</code>. When an
|
|
attempt to read a property fails, diagnostics information can be obtained using
|
|
a diagnosis operation. Subtypes in the API are relevant for those properties
|
|
mentioned in <a
|
|
href="http://www.w3.org/TR/mediaont-10/#core-property-lists">4.1.3 Core
|
|
properties</a> of <a href="http://www.w3.org/TR/mediaont-10/">Ontology for
|
|
Media Resource 1.0</a>. Lastly, methods are available that allow to iterate
|
|
through the available metadata. Next, the different interfaces and exposed
|
|
methods are discussed. Finally, examples of the usage of the API can be found
|
|
in <a href="#usage-examples">section 4</a>. </p>
|
|
|
|
<p></p>
|
|
|
|
<div class="section" id="mediaresource-interface">
|
|
<h3 id="x3.1-mediaresource-interface"><span class="secno">3.1
|
|
</span><code>MediaResource</code> interface</h3>
|
|
|
|
<p>The <code>MediaResource</code> interface offers a number of operations that
|
|
allow accessing the metadata of a Media Resource. </p>
|
|
|
|
<p>Example on how to introduce this in HTML5 by making the HTMLMediaElement
|
|
inherit from the <code>MediaResource</code> interface:</p>
|
|
<pre class="example sh_javascript sh_sourceCode"><span class="sh_keyword">interface</span> HTMLMediaElement <span class="sh_symbol">:</span> MediaResource<span class="sh_symbol">,</span> HTMLElement <span class="sh_cbracket">{</span><span class="sh_symbol">...</span><span class="sh_cbracket">}</span></pre>
|
|
|
|
<p>Example of usage in JavaScript:</p>
|
|
<pre class="example sh_javascript sh_sourceCode">mediaResource <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"video"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
<span class="sh_comment">//mediaResource implements the HTMLMediaElement interface and the MediaResource interface</span>
|
|
title <span class="sh_symbol">=</span> mediaResource<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"title"</span><span class="sh_symbol">);</span>
|
|
<span class="sh_symbol">...</span></pre>
|
|
|
|
<p>As shown, the <code>getElementsByTagName</code> returns a
|
|
<code>HTMLMediaElement</code> which inherits from the
|
|
<code>MediaResource</code> interface. The <code>getProperty</code> method is
|
|
part of this interface so the returned element has an implementation of this
|
|
method. By calling the <code>getProperty</code> method with the argument
|
|
"title" we can retrieve the title of the corresponding media resource.</p>
|
|
|
|
<p class="note">The JavaScript examples in this section all assume that
|
|
getElementsByTagName() returns an object implementing the MediaResource
|
|
interface.</p>
|
|
|
|
<p>Next, we give the Web IDL description of the <code>MediaResource</code>
|
|
interface and describe the different operations that are part of it.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-MediaResource">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">MediaResource</span> {
|
|
<span class="idlMethod"> <span class="idlMethType"><a>boolean</a></span> <span class="idlMethName"><a href="#widl-MediaResource-selectMAResource">selectMAResource</a></span> (<span class="idlParam">in <span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">mediaResource</span></span>, <span class="idlParam">in optional <span class="idlParamType"><a class="idlType" href="#idl-def-MetadataSource"><code>MetadataSource</code></a>[]</span> <span class="idlParamName">metadataSources</span></span>);</span>
|
|
<span class="idlMethod"> <span class="idlMethType"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a>[]</span> <span class="idlMethName"><a href="#widl-MediaResource-getProperty">getProperty</a></span> (<span class="idlParam">in <span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">propertyName</span></span>, <span class="idlParam">in optional <span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">fragment</span></span>, <span class="idlParam">in optional <span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">sourceFormat</span></span>, <span class="idlParam">in optional <span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">subtype</span></span>, <span class="idlParam">in optional <span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">language</span></span>);</span>
|
|
<span class="idlMethod"> <span class="idlMethType"><a>DOMString</a>[]</span> <span class="idlMethName"><a href="#widl-MediaResource-getPropertyNamesWithValues">getPropertyNamesWithValues</a></span> (<span class="idlParam">in optional <span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">sourceFormat</span></span>, <span class="idlParam">in optional <span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">language</span></span>, <span class="idlParam">in optional <span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">fragment</span></span>);</span>
|
|
<span class="idlMethod"> <span class="idlMethType"><a>DOMString</a>[]</span> <span class="idlMethName"><a href="#widl-MediaResource-getSourceFormatsWithValues">getSourceFormatsWithValues</a></span> (<span class="idlParam">in optional <span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">language</span></span>);</span>
|
|
<span class="idlMethod"> <span class="idlMethType"><a>DOMString</a></span> <span class="idlMethName"><a href="#widl-MediaResource-getDiagnosis">getDiagnosis</a></span> ();</span>
|
|
<span class="idlMethod"> <span class="idlMethType"><a>DOMString</a>[]</span> <span class="idlMethName"><a href="#widl-MediaResource-getOriginalData">getOriginalData</a></span> (<span class="idlParam">in <span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">sourceFormat</span></span>);</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="methods">
|
|
<h4 id="x3.1.1-methods"><span class="secno">3.1.1 </span>Methods</h4>
|
|
<dl class="methods">
|
|
<dt id="widl-MediaResource-getDiagnosis"><code>getDiagnosis</code></dt>
|
|
<dd><p>This operation allows to retrieve the status code(e.g., the
|
|
getProperty operation returning a null value). See <a
|
|
href="#api-status-codes">Section 4</a> for details. </p>
|
|
|
|
<div>
|
|
<em>No parameters.</em></div>
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
|
|
<div>
|
|
<em>Return type: </em><code><a>DOMString</a></code></div>
|
|
</dd>
|
|
<dt id="widl-MediaResource-getOriginalData"><code>getOriginalData</code></dt>
|
|
<dd>This operation allows to retrieve the original metadata according to
|
|
the specified source format.
|
|
|
|
<table class="parameters">
|
|
<tbody>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Type</th>
|
|
<th>Nullable</th>
|
|
<th>Optional</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
<tr>
|
|
<td class="prmName">sourceFormat</td>
|
|
<td class="prmType"><code><a>DOMString</a></code></td>
|
|
<td class="prmNullFalse">✘</td>
|
|
<td class="prmOptFalse">✘</td>
|
|
<td class="prmDesc">This argument identifies a specific metadata
|
|
format. If a metadata format is defined, only the metadata
|
|
available in the corresponding metadata format are retrieved.
|
|
This parameter is <em title="optional"
|
|
class="rfc2119">optional</em>.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
|
|
<div>
|
|
<em>Return type: </em><code><a>DOMString</a>[]</code></div>
|
|
</dd>
|
|
<dt id="widl-MediaResource-getProperty"><code>getProperty</code></dt>
|
|
<dd>This operation allows to retrieve the value of a certain property. The
|
|
specific property is passed as an argument and a list of objects is
|
|
returned that hold the values according to the requested property. These
|
|
objects implement the <code>MAObject</code> interface, described in (<a
|
|
href="#maobject-interface"><b>MAObject interface</b></a>). Depending on
|
|
the requested property, the returned objects implement a different
|
|
sub-interface (inheriting from the <code>MAObject</code> interface).
|
|
Requesting for the title gives back an array of MAObjects implementing
|
|
the <code>Title</code> interface, requesting the creator results in
|
|
MAObjects implementing the <code>Creator</code> interface and so on.
|
|
These interfaces are described in section <a
|
|
href="#identification-interface"><b>3.5</b></a> to <a
|
|
href="#technical-interface"><b>3.12</b></a>.
|
|
|
|
<table class="parameters">
|
|
<tbody>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Type</th>
|
|
<th>Nullable</th>
|
|
<th>Optional</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
<tr>
|
|
<td class="prmName">propertyName</td>
|
|
<td class="prmType"><code><a>DOMString</a></code></td>
|
|
<td class="prmNullFalse">✘</td>
|
|
<td class="prmOptFalse">✘</td>
|
|
<td class="prmDesc">This argument identifies the property for which
|
|
the values need to be retrieved. Optional arguments allow to
|
|
refine the request </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="prmName">fragment</td>
|
|
<td class="prmType"><code><a>DOMString</a></code></td>
|
|
<td class="prmNullFalse">✘</td>
|
|
<td class="prmOptTrue">✔</td>
|
|
<td class="prmDesc">This argument allows to identify the specific
|
|
media fragment for which the metadata is requested. This
|
|
parameter is <em title="optional"
|
|
class="rfc2119">optional</em>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="prmName">sourceFormat</td>
|
|
<td class="prmType"><code><a>DOMString</a></code></td>
|
|
<td class="prmNullFalse">✘</td>
|
|
<td class="prmOptTrue">✔</td>
|
|
<td class="prmDesc">This argument identifies a specific metadata
|
|
format. If a metadata format is defined, only the metadata
|
|
available in the corresponding metadata format are retrieved.
|
|
This parameter is <em title="optional"
|
|
class="rfc2119">optional</em>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="prmName">subtype</td>
|
|
<td class="prmType"><code><a>DOMString</a></code></td>
|
|
<td class="prmNullFalse">✘</td>
|
|
<td class="prmOptTrue">✔</td>
|
|
<td class="prmDesc">This argument identifies a subtype. Some
|
|
properties can be filtered on subtypes. This parameter is <em
|
|
title="optional" class="rfc2119">optional</em>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="prmName">language</td>
|
|
<td class="prmType"><code><a>DOMString</a></code></td>
|
|
<td class="prmNullFalse">✘</td>
|
|
<td class="prmOptTrue">✔</td>
|
|
<td class="prmDesc">This argument allows to identify the language
|
|
of the metadata. Only if the metadata is available in the
|
|
specified language, the values are returned. This parameter is
|
|
<em title="optional" class="rfc2119">optional</em>.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
|
|
<div>
|
|
<em>Return type: </em><code><a class="idlType"
|
|
href="#idl-def-MAObject"><code>MAObject</code></a>[]</code></div>
|
|
</dd>
|
|
<dt
|
|
id="widl-MediaResource-getPropertyNamesWithValues"><code>getPropertyNamesWithValues</code></dt>
|
|
<dd>This operation allows to retrieve all property names for which metadata
|
|
is available. If this operation returns a property name, this means that
|
|
a call to the <code>getProperty</code> operation with the corresponding
|
|
property name will return at least one object.
|
|
|
|
<table class="parameters">
|
|
<tbody>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Type</th>
|
|
<th>Nullable</th>
|
|
<th>Optional</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
<tr>
|
|
<td class="prmName">sourceFormat</td>
|
|
<td class="prmType"><code><a>DOMString</a></code></td>
|
|
<td class="prmNullFalse">✘</td>
|
|
<td class="prmOptTrue">✔</td>
|
|
<td class="prmDesc">This argument identifies a specific metadata
|
|
format. If a metadata format is defined, only the metadata
|
|
available in the corresponding metadata format are retrieved.
|
|
This parameter is <em title="optional"
|
|
class="rfc2119">optional</em>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="prmName">language</td>
|
|
<td class="prmType"><code><a>DOMString</a></code></td>
|
|
<td class="prmNullFalse">✘</td>
|
|
<td class="prmOptTrue">✔</td>
|
|
<td class="prmDesc">This argument allows to identify the language
|
|
of the metadata. Only if the metadata is available in the
|
|
specified language, the values are returned. This parameter is
|
|
<em title="optional" class="rfc2119">optional</em>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="prmName">fragment</td>
|
|
<td class="prmType"><code><a>DOMString</a></code></td>
|
|
<td class="prmNullFalse">✘</td>
|
|
<td class="prmOptTrue">✔</td>
|
|
<td class="prmDesc">This argument allows to identify the specific
|
|
media fragment for which the metadata is requested. This
|
|
parameter is <em title="optional"
|
|
class="rfc2119">optional</em>.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
|
|
<div>
|
|
<em>Return type: </em><code><a>DOMString</a>[]</code></div>
|
|
</dd>
|
|
<dt
|
|
id="widl-MediaResource-getSourceFormatsWithValues"><code>getSourceFormatsWithValues</code></dt>
|
|
<dd>This operation allows to retrieve all source formats for which metadata
|
|
is available. If this operation returns a source format, this means that
|
|
a call to the <code>getProperty</code> operation with the corresponding
|
|
source format will return at least one object.
|
|
|
|
<table class="parameters">
|
|
<tbody>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Type</th>
|
|
<th>Nullable</th>
|
|
<th>Optional</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
<tr>
|
|
<td class="prmName">language</td>
|
|
<td class="prmType"><code><a>DOMString</a></code></td>
|
|
<td class="prmNullFalse">✘</td>
|
|
<td class="prmOptTrue">✔</td>
|
|
<td class="prmDesc">This argument allows to identify the language
|
|
of the metadata. Only if the metadata is available in the
|
|
specified language, the values are returned. This parameter is
|
|
<em title="optional" class="rfc2119">optional</em>.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
|
|
<div>
|
|
<em>Return type: </em><code><a>DOMString</a>[]</code></div>
|
|
</dd>
|
|
<dt
|
|
id="widl-MediaResource-selectMAResource"><code>selectMAResource</code></dt>
|
|
<dd>This operation allows to set the specific Media Resource and metadata
|
|
sources for which the API applies.
|
|
|
|
<table class="parameters">
|
|
<tbody>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Type</th>
|
|
<th>Nullable</th>
|
|
<th>Optional</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
<tr>
|
|
<td class="prmName">mediaResource</td>
|
|
<td class="prmType"><code><a>DOMString</a></code></td>
|
|
<td class="prmNullFalse">✘</td>
|
|
<td class="prmOptFalse">✘</td>
|
|
<td class="prmDesc">The mediaResource argument identifies the Media
|
|
Resource. The implementation of the API should try to find
|
|
relevant metadata sources for this Media Resource </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="prmName">metadataSources</td>
|
|
<td class="prmType"><code><a class="idlType"
|
|
href="#idl-def-MetadataSource"><code>MetadataSource</code></a>[]</code></td>
|
|
<td class="prmNullFalse">✘</td>
|
|
<td class="prmOptTrue">✔</td>
|
|
<td class="prmDesc">This argument is an array of objects, each
|
|
implementing the MetadataSource interface. This interface holds
|
|
an uri identifying the metadata source (metadataSource) and the
|
|
name of the actual metadata format (sourceFormat). This parameter
|
|
is <em title="optional" class="rfc2119">optional</em>.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
|
|
<div>
|
|
<em>Return type: </em><code><a>boolean</a></code></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="section" id="metadatasource-interface">
|
|
<h3 id="x3.2-metadatasource-interface"><span class="secno">3.2
|
|
</span><code>MetadataSource</code> interface</h3>
|
|
|
|
<p><code>MetadataSource</code> interface is used to identify other metadata
|
|
sources.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-MetadataSource">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">MetadataSource</span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-MetadataSource-metadataSource">metadataSource</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-MetadataSource-sourceFormat">sourceFormat</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes">
|
|
<h4 id="x3.2.1-attributes"><span class="secno">3.2.1 </span>Attributes</h4>
|
|
<dl class="attributes">
|
|
<dt id="widl-MetadataSource-metadataSource"><code>metadataSource</code> of
|
|
type <span class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>An URI identifying the metadata source.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-MetadataSource-sourceFormat"><code>sourceFormat</code> of type
|
|
<span class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>The name of the actual metadata format.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="section" id="language--interface">
|
|
<h3 id="x3.3-language--interface"><span class="secno">3.3 </span><code>Language
|
|
</code> interface</h3>
|
|
|
|
<p><code>Language </code> interface is used to identify the language of the
|
|
metadata.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Language">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Language</span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Language-language">language</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-1">
|
|
<h4 id="x3.3.1-attributes"><span class="secno">3.3.1 </span>Attributes</h4>
|
|
<dl class="attributes">
|
|
<dt id="widl-Language-language"><code>language</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute holds the language of the metadata.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="section" id="maobject-interface">
|
|
<h3 id="x3.4-maobject-interface"><span class="secno">3.4
|
|
</span><code>MAObject</code> interface</h3>
|
|
|
|
<p><code>MAObject</code> interface is used as the return type of
|
|
<code>MediaResource.getProperty</code> method. This is used to hold the values
|
|
of the requested property. Depending on the requested property, these objects
|
|
implement a different interface. </p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-MAObject">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">MAObject</span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-MAObject-unstructuredValue">unstructuredValue</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-MAObject-uri">uri</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-MAObject-sourceFormat">sourceFormat</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-MAObject-fragmentIdentifier">fragmentIdentifier</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-MAObject-mappingType">mappingType</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-2">
|
|
<h4 id="x3.4.1-attributes"><span class="secno">3.4.1 </span>Attributes</h4>
|
|
<dl class="attributes">
|
|
<dt id="widl-MAObject-fragmentIdentifier"><code>fragmentIdentifier</code> of
|
|
type <span class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute determines the fragment for which the metadata is
|
|
relevant.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-MAObject-mappingType"><code>mappingType</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute specifies the kind of mapping as discussed in <a
|
|
href="http://www.w3.org/TR/mediaont-10/#semantic-level-mappings">the
|
|
semantic level mappings</a>.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-MAObject-sourceFormat"><code>sourceFormat</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute allows to specify the metadata source from which the
|
|
metadata was retrieved.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-MAObject-unstructuredValue"><code>unstructuredValue</code> of
|
|
type <span class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>If it is not clear how a certain value for a property should be
|
|
structured, this attribute allows to describe the value in plain text.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-MAObject-uri"><code>uri</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute is provided which should hold an URI. This can for
|
|
example be used to represent labels as URIs.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="section" id="identification-interface">
|
|
<h3 id="x3.5-identification-properties"><span class="secno">3.5
|
|
</span>Identification Properties</h3>
|
|
|
|
<div class="section" id="identifier--interface">
|
|
<h4 id="x3.5.1-identifier--interface"><span class="secno">3.5.1
|
|
</span><code>Identifier </code> interface</h4>
|
|
|
|
<p><code>Identifier </code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Identifier" as a value
|
|
of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Identifier">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Identifier</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Identifier-value">value</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Identifier-type">type</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-3">
|
|
<h5 id="x3.5.1.1-attributes"><span class="secno">3.5.1.1 </span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Identifier-type"><code>type</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute holds the type of the identifier, which can be filtered
|
|
on in the <code>getProperty</code> operation. Possible values are " UMID"
|
|
and "ISAN".
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-Identifier-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute should represent a URI identifying the resource.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
|
|
<p>Example in JavaScript is as below:</p>
|
|
<pre class="example sh_javascript sh_sourceCode">image <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"img"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
id <span class="sh_symbol">=</span> image<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"identifier"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">id[0].value = "</span><a href="http://www.w3.org/2008/WebVideo/Annotations/wiki/Image" class="sh_url">http://www.w3c.org/2008/WebVideo/Annotations/wiki/Image</a><span class="sh_comment">:MAWG-Stockholm-20090626.JPG"</span>
|
|
<span class="sh_comment">id[0].type = "URI"</span>
|
|
<span class="sh_comment">id[1].value= "ISAN 0000-3BAB-9352-0000-G-0000-0000-Q"</span>
|
|
<span class="sh_comment">id[1].type="ISAN"</span>
|
|
<span class="sh_comment">id[2].value= "urn:uuid:36a87260-1102-11df-8a39-0800200c9a66"</span>
|
|
<span class="sh_comment">id[2].type="UUID"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=identifier</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "identifier" : [ {"value" :
|
|
"http://www.w3c.org/2008/WebVideo/Annotations/wiki/Image:MAWG-Stockholm-20090626.JPG",
|
|
"type" : "URI" } , { "value" : "ISAN 0000-3BAB-9352-0000-G-0000-0000-Q",
|
|
"type" : "ISAN" }, { "value" :
|
|
"urn:uuid:36a87260-1102-11df-8a39-0800200c9a66", "type" : "UUID" } ] }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="title--interface">
|
|
<h4 id="x3.5.2-title--interface"><span class="secno">3.5.2 </span><code>Title
|
|
</code> interface</h4>
|
|
|
|
<p><code>Title </code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Title" as a value of
|
|
<code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Title">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Title</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span>, <span class="idlSuperclass"><a class="idlType" href="#idl-def-Language"><code>Language</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Title-value">value</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Title-type">type</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-4">
|
|
<h5 id="x3.5.2.1-attributes"><span class="secno">3.5.2.1 </span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Title-type"><code>type</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute contains the type of the title, which can be filtered on
|
|
in the <code>getProperty</code> operation.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-Title-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute should hold the title as a plain string.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
|
|
<p>Example in JavaScript is as below:</p>
|
|
<pre class="example sh_javascript sh_sourceCode">song <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"audio"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
title <span class="sh_symbol">=</span> song<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"title"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">title[0].value = "Artificial Horizon"</span>
|
|
<span class="sh_comment">title[0].type = "Album title"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=title</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "title" : { "value" : "Artificial Horizon" ,
|
|
"type" : "Album title" } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="language--interface-1">
|
|
<h4 id="x3.5.3-language--interface"><span class="secno">3.5.3
|
|
</span><code>Language </code> interface</h4>
|
|
|
|
<p><code>Language </code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Language" as a value
|
|
of <code>propertyName</code> parameter. Recommended best practice is to use BCP
|
|
47 [<a href="#bib-BCP-47" rel="biblioentry" class="bibref">BCP-47</a>]. </p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Language2">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Language</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Language-value">value</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-5">
|
|
<h5 id="x3.5.3.1-attributes"><span class="secno">3.5.3.1 </span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Language-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute should represent the language as a plain string.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
|
|
<p>Example in JavaScript is as below:</p>
|
|
<pre class="example sh_javascript sh_sourceCode">video <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"video"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
language <span class="sh_symbol">=</span> video<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"language"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">language[0].value = "en-us"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=language</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "language" : { "value" : "en-us" } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="locator--interface">
|
|
<h4 id="x3.5.4-locator--interface"><span class="secno">3.5.4
|
|
</span><code>Locator </code> interface</h4>
|
|
|
|
<p><code>Locator </code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Locator" as a value of
|
|
<code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Locator">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Locator</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Locator-value">value</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-6">
|
|
<h5 id="x3.5.4.1-attributes"><span class="secno">3.5.4.1 </span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Locator-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute should hold the URI.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
|
|
<p>Example in JavaScript is as below:</p>
|
|
<pre class="example sh_javascript sh_sourceCode">image <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"img"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
locator <span class="sh_symbol">=</span> image<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"locator"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">locator[0].value = "</span><a href="http://www.w3.org/2008/WebVideo/Annotations/wiki/images/9/93/MAWG-Stockholm-20090626.JPG" class="sh_url">http://www.w3.org/2008/WebVideo/Annotations/wiki/images/9/93/MAWG-Stockholm-20090626.JPG</a><span class="sh_comment">"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=locator</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "locator" : { "value" :
|
|
"http://www.w3.org/2008/WebVideo/Annotations/wiki/images/9/93/MAWG-Stockholm-20090626.JPG"
|
|
} }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="section" id="creation-properties">
|
|
<h3 id="x3.6-creation-properties"><span class="secno">3.6 </span>Creation
|
|
Properties</h3>
|
|
|
|
<div class="section" id="contributor--interface">
|
|
<h4 id="x3.6.1-contributor--interface"><span class="secno">3.6.1
|
|
</span><code>Contributor </code> interface</h4>
|
|
|
|
<p><code>Contributor </code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Contributor" as a
|
|
value of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Contributor">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Contributor</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Contributor-id">id</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Contributor-role">role</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-7">
|
|
<h5 id="x3.6.1.1-attributes"><span class="secno">3.6.1.1 </span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Contributor-id"><code>id</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute identifies the contributor.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-Contributor-role"><code>role</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute defines the role, which can be filtered on in the
|
|
<code>getProperty</code> operation. For the latter a number of suggested
|
|
terms are defined:
|
|
<ul>
|
|
<li><p>editor (EBU 11.1)</p>
|
|
</li>
|
|
<li><p>actor (EBU 25.9)</p>
|
|
</li>
|
|
<li><p>composer</p>
|
|
</li>
|
|
<li><p>featured_in</p>
|
|
</li>
|
|
<li><p>cinematographer</p>
|
|
</li>
|
|
<li><p>director</p>
|
|
</li>
|
|
<li><p>musicproducer</p>
|
|
</li>
|
|
<li><p>producer</p>
|
|
</li>
|
|
<li><p>screenplayer</p>
|
|
</li>
|
|
<li><p>writer</p>
|
|
</li>
|
|
<li><p>distributor (company)</p>
|
|
</li>
|
|
<li><p>production company</p>
|
|
</li>
|
|
</ul>
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
|
|
<p>Example in JavaScript is as below:</p>
|
|
<pre class="example sh_javascript sh_sourceCode">video <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"video"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
contributor <span class="sh_symbol">=</span> video<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"contributor"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">contributor[0].id = "</span><a href="http://individuals.example.com/Contributor1" class="sh_url">http://individuals.example.com/Contributor1</a><span class="sh_comment">"</span>
|
|
<span class="sh_comment">contributor[0].role = "editor"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request:
|
|
http://example.com/my-media-resource/?ma-query=contributors</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "contributors" : { "id" :
|
|
"http://individuals.example.com/Contributor1", "role" : "editor" } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="creator--interface">
|
|
<h4 id="x3.6.2-creator--interface"><span class="secno">3.6.2
|
|
</span><code>Creator </code> interface</h4>
|
|
|
|
<p><code>Creator </code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Creator" as a value of
|
|
<code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Creator">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Creator</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Creator-value">value</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-8">
|
|
<h5 id="x3.6.2.1-attributes"><span class="secno">3.6.2.1 </span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Creator-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute should hold an identifier for an author.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
|
|
<p>Example in JavaScript is as below:</p>
|
|
<pre class="example sh_javascript sh_sourceCode">video <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"video"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
creator <span class="sh_symbol">=</span> video<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"creator"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">creator[0].value = "</span><a href="http://individuals.example.com/Author1" class="sh_url">http://individuals.example.com/Author1</a><span class="sh_comment">"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=creator</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "creator" : { "value" :
|
|
"http://individuals.example.com/Author1" } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="createdate--interface">
|
|
<h4 id="x3.6.3-createdate--interface"><span class="secno">3.6.3
|
|
</span><code>CreateDate </code> interface</h4>
|
|
|
|
<p><code>CreateDate </code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "CreateDate" as a value
|
|
of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Date">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Date</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Date-date">date</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Date-type">type</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-9">
|
|
<h5 id="x3.6.3.1-attributes"><span class="secno">3.6.3.1 </span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Date-date"><code>date</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>The exact format of this attribute is currently undefined.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-Date-type"><code>type</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute define the particular category of creation date (e.g.
|
|
"release date", "date recorded" and "date edited".), which can be
|
|
filtered on in the <code>getProperty</code> operation.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
|
|
<p>Example in JavaScript is as below:</p>
|
|
<pre class="example sh_javascript sh_sourceCode">video <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"video"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
createdate <span class="sh_symbol">=</span> video<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"createdate"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">createdate[0].date = "2009-06-26T15:30:00"</span>
|
|
<span class="sh_comment">createdate[0].type = "date recorded"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=createDate</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "createDate" : { "date":
|
|
"2009-06-26T15:30:00", "type" : "date recorded" } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="location--interface">
|
|
<h4 id="x3.6.4-location--interface"><span class="secno">3.6.4
|
|
</span><code>Location </code> interface</h4>
|
|
|
|
<p><code>Location </code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Location" as a value
|
|
of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Location">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Location</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span>, <span class="idlSuperclass"><a class="idlType" href="#idl-def-Language"><code>Language</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Location-name">name</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>Float</a></span> <span class="idlAttrName"><a href="#widl-Location-longitude">longitude</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>Float</a></span> <span class="idlAttrName"><a href="#widl-Location-latitude">latitude</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>Float</a></span> <span class="idlAttrName"><a href="#widl-Location-altitude">altitude</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Location-system">system</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-10">
|
|
<h5 id="x3.6.4.1-attributes"><span class="secno">3.6.4.1 </span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Location-altitude"><code>altitude</code> of type <span
|
|
class="idlAttrType"><a>Float</a></span></dt>
|
|
<dd>This attribute holds the altitude value from system defined in
|
|
<code>system</code>.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-Location-latitude"><code>latitude</code> of type <span
|
|
class="idlAttrType"><a>Float</a></span></dt>
|
|
<dd>This attribute holds the latitude value from system defined in
|
|
<code>system</code>.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-Location-longitude"><code>longitude</code> of type <span
|
|
class="idlAttrType"><a>Float</a></span></dt>
|
|
<dd>This attribute holds the longitude value from system defined in
|
|
<code>system</code>.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-Location-name"><code>name</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute holds a free text name of the location.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-Location-system"><code>system</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute holds the name of location system.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
|
|
<p>Example in JavaScript is as below:</p>
|
|
<pre class="example sh_javascript sh_sourceCode">video <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"video"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
location <span class="sh_symbol">=</span> video<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"location"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">location[0].name = "San Jose"</span>
|
|
<span class="sh_comment">location[0].longitude = 37.33986481118008</span>
|
|
<span class="sh_comment">location[0].latitude = -121.88507080078125</span>
|
|
<span class="sh_comment">location[0].altitude = 0</span>
|
|
<span class="sh_comment">location[0].system = "GPS"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=location</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "location" : { "name" : "San Jose",
|
|
"longitude" : 37.33986481118008, "latitude" : -121.88507080078125,
|
|
"altitude" : 0, system : "GPS" } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="section" id="content-properties">
|
|
<h3 id="x3.7-content-properties"><span class="secno">3.7 </span>Content
|
|
Properties</h3>
|
|
|
|
<div class="section" id="description--interface">
|
|
<h4 id="x3.7.1-description--interface"><span class="secno">3.7.1
|
|
</span><code>Description </code> interface</h4>
|
|
|
|
<p><code>Description </code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Description" as a
|
|
value of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Description">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Description</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span>, <span class="idlSuperclass"><a class="idlType" href="#idl-def-Language"><code>Language</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Description-value">value</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-11">
|
|
<h5 id="x3.7.1.1-attributes"><span class="secno">3.7.1.1 </span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Description-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute should hold a description of the content of the media
|
|
resource.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">image <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"img"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
description <span class="sh_symbol">=</span> image<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"description"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">description[0].value = "Group picture of the </span><acronym title="World Wide Web Consortium"><span class="sh_comment">W3C</span></acronym><span class="sh_comment"> Media Annotations WG at the face-to-face meeting in Stockholm."</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=description</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "description" : { "value" : "Group picture
|
|
of the <acronym title="World Wide Web Consortium">W3C</acronym> Media
|
|
Annotations WG at the face-to-face meeting in Stockholm." } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="keyword-interface">
|
|
<h4 id="x3.7.2-keyword-interface"><span class="secno">3.7.2
|
|
</span><code>Keyword</code> interface</h4>
|
|
|
|
<p><code>Keyword</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Keyword" as a value of
|
|
<code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Keyword">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Keyword</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span>, <span class="idlSuperclass"><a class="idlType" href="#idl-def-Language"><code>Language</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Keyword-value">value</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-12">
|
|
<h5 id="x3.7.2.1-attributes"><span class="secno">3.7.2.1 </span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Keyword-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute should hold one keyword.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">image <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"img"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
keyword <span class="sh_symbol">=</span> image<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"keyword"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">keyword[0].value = "</span><acronym title="World Wide Web Consortium"><span class="sh_comment">W3C</span></acronym><span class="sh_comment"> Media Annotations WG"</span>
|
|
<span class="sh_comment">keyword[1].value = "meeting"</span>
|
|
<span class="sh_comment">keyword[2].value = "group picture"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=keyword</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "keyword" : [ { "value" : "<acronym
|
|
title="World Wide Web Consortium">W3C</acronym> Media Annotations WG" }, {
|
|
"value" : "meeting" }, { "value" : "group picture" } ] }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="genre-interface">
|
|
<h4 id="x3.7.3-genre-interface"><span class="secno">3.7.3
|
|
</span><code>Genre</code> interface</h4>
|
|
|
|
<p><code>Genre</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Genre" as a value of
|
|
<code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Genre">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Genre</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span>, <span class="idlSuperclass"><a class="idlType" href="#idl-def-Language"><code>Language</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Genre-value">value</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-13">
|
|
<h5 id="x3.7.3.1-attributes"><span class="secno">3.7.3.1 </span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Genre-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute should represent the genre of the media resource.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">image <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"img"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
genre <span class="sh_symbol">=</span> image<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"genre"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">genre[0].value = "Work"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=genre</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "genre" : { "value" : "Work" } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="rating-interface">
|
|
<h4 id="x3.7.4-rating-interface"><span class="secno">3.7.4
|
|
</span><code>Rating</code> interface</h4>
|
|
|
|
<p><code>Rating</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Rating" as a value of
|
|
<code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Rating">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Rating</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span>, <span class="idlSuperclass"><a class="idlType" href="#idl-def-Language"><code>Language</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Rating-issuer">issuer</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>short</a></span> <span class="idlAttrName"><a href="#widl-Rating-value">value</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>short</a></span> <span class="idlAttrName"><a href="#widl-Rating-minimum">minimum</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>short</a></span> <span class="idlAttrName"><a href="#widl-Rating-maximum">maximum</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Rating-type">type</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-14">
|
|
<h5 id="x3.7.4.1-attributes"><span class="secno">3.7.4.1 </span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Rating-issuer"><code>issuer</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute identifies the rating person or organization
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-Rating-maximum"><code>maximum</code> of type <span
|
|
class="idlAttrType"><a>short</a></span></dt>
|
|
<dd>This attribute specifies the maximum rating.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-Rating-minimum"><code>minimum</code> of type <span
|
|
class="idlAttrType"><a>short</a></span></dt>
|
|
<dd>This attribute specifies the minimum rating.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-Rating-type"><code>type</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute specifies the type of the rating, which can be filtered
|
|
on in the <code>getProperty</code> operation. Examples are "Review
|
|
Rating", "MPAA", "Personal Rating".
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-Rating-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>short</a></span></dt>
|
|
<dd>This attribute indicates the average rating.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">image <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"img"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
rating <span class="sh_symbol">=</span> image<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"rating"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">rating[0].issuer = "</span><a href="http://individuals.example.com/ChrisPoppe" class="sh_url">http://individuals.example.com/ChrisPoppe</a><span class="sh_comment">"</span>
|
|
<span class="sh_comment">rating[0].value = 10.0</span>
|
|
<span class="sh_comment">rating[0].minimum = 0</span>
|
|
<span class="sh_comment">rating[0].maximum = 10.0</span>
|
|
<span class="sh_comment">rating[0].type = "Personal Rating"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=rating</p>
|
|
</li>
|
|
<li><p>Response (JSON format): "rating" : { "rating" : { "issuer" :
|
|
"http://individuals.example.com/ChrisPoppe", "value" : 10.0, "minimum" : 0,
|
|
"maximum" : 10.0, "type" : "Personal Rating" } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="section" id="relational-properties">
|
|
<h3 id="x3.8-relational-properties"><span class="secno">3.8 </span>Relational
|
|
Properties</h3>
|
|
|
|
<div class="section" id="relation-interface">
|
|
<h4 id="x3.8.1-relation-interface"><span class="secno">3.8.1
|
|
</span><code>Relation</code> interface</h4>
|
|
|
|
<p><code>Relation</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Relation" as a value
|
|
of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Relation">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Relation</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Relation-id">id</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Relation-relationship">relationship</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-15">
|
|
<h5 id="x3.8.1.1-attributes"><span class="secno">3.8.1.1 </span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Relation-id"><code>id</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute identifies the entitiy.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-Relation-relationship"><code>relationship</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute specifies textual description of the relationship, which
|
|
can be filtered on in the <code>getProperty</code> operation. For the
|
|
latter a number of suggested terms are defined:
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">image <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"img"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
relation <span class="sh_symbol">=</span> image<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"relation"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">relation[0].id = "</span><a href="http://www.w3.org/2008/WebVideo/Annotations/wiki/Image" class="sh_url">http://www.w3.org/2008/WebVideo/Annotations/wiki/Image</a><span class="sh_comment">:MAWG-Stockholm-20090626_thumb.JPG"</span>
|
|
<span class="sh_comment">relation[0].relationship = "re-edit"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=relation</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "relation" : { "id" :
|
|
"http://www.w3.org/2008/WebVideo/Annotations/wiki/Image:MAWG-Stockholm-20090626_thumb.JPG"
|
|
, "relationship" : "re-edit" } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="collection-interface">
|
|
<h4 id="x3.8.2-collection-interface"><span class="secno">3.8.2
|
|
</span><code>Collection</code> interface</h4>
|
|
|
|
<p><code>Collection</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Collection" as a value
|
|
of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Collection">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Collection</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span>, <span class="idlSuperclass"><a class="idlType" href="#idl-def-Language"><code>Language</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Collection-value">value</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-16">
|
|
<h5 id="x3.8.2.1-attributes"><span class="secno">3.8.2.1 </span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Collection-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute should hold the name of the collection from which the
|
|
media resource originates.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">image <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"img"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
collection <span class="sh_symbol">=</span> image<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"collection"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">collection[0].value = "My Work Pictures"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=collection</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "collection" : { "value" : "My Work
|
|
Pictures" } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="section" id="rights-properties">
|
|
<h3 id="x3.9-rights-properties"><span class="secno">3.9 </span>Rights
|
|
Properties</h3>
|
|
|
|
<div class="section" id="copyright-interface">
|
|
<h4 id="x3.9.1-copyright-interface"><span class="secno">3.9.1
|
|
</span><code>Copyright</code> interface</h4>
|
|
|
|
<p><code>Copyright</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Copyright" as a value
|
|
of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Copyright">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Copyright</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span>, <span class="idlSuperclass"><a class="idlType" href="#idl-def-Language"><code>Language</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Copyright-statement">statement</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a>[]</span> <span class="idlAttrName"><a href="#widl-Copyright-holder">holder</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-17">
|
|
<h5 id="x3.9.1.1-attributes"><span class="secno">3.9.1.1 </span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Copyright-holder"><code>holder</code> of type array of <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute denotes the copyright holders.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-Copyright-statement"><code>statement</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute should holds the copyright statement.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">image <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"img"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
copyright <span class="sh_symbol">=</span> image<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"copyright"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">copyright[0].statement = "All images in the collection are copyrighted by John Doe"</span>
|
|
<span class="sh_comment">copyright[0].holder[0] = "</span><a href="http://individuals.example.com/JohnDoe" class="sh_url">http://individuals.example.com/JohnDoe</a><span class="sh_comment">"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request:
|
|
http://example.com/my-media-resource/?ma-query=rights-properties</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "rights-properties" : { "statement" : "All
|
|
images in the collection are copyrighted by John Doe", "holder" :
|
|
"http://individuals.example.com/JohnDoe" } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="policy-interface">
|
|
<h4 id="x3.9.2-policy-interface"><span class="secno">3.9.2
|
|
</span><code>Policy</code> interface</h4>
|
|
|
|
<p><code>Policy</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Policy" as a value of
|
|
<code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Policy">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Policy</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span>, <span class="idlSuperclass"><a class="idlType" href="#idl-def-Language"><code>Language</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Policy-value">value</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Policy-link">link</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Policy-organization">organization</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Policy-type">type</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-18">
|
|
<h5 id="x3.9.2.1-attributes"><span class="secno">3.9.2.1 </span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Policy-link"><code>link</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute holds a link to the license if it is externally
|
|
available.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-Policy-organization"><code>organization</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute identifies the organization that issued the license.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-Policy-type"><code>type</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute holds the actual type of the policy, which can be
|
|
filtered on in the <code>getProperty</code> operation. Examples are
|
|
"license", "access", and "privacy".
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-Policy-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute holds the description of the license.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">image <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"img"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
policy <span class="sh_symbol">=</span> image<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"policy"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">policy[0].value = "Attribution 2.5"</span>
|
|
<span class="sh_comment">policy[0].organization = "</span><a href="http://creativecommons.org/licenses/by/2.5" class="sh_url">http://creativecommons.org/licenses/by/2.5</a><span class="sh_comment">"</span>
|
|
<span class="sh_comment">policy[0].type = "license"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=policy</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "policy" : { "value": "Attribution 2.5 ",
|
|
"organization" : "http://creativecommons.org/licenses/by/2.5", "type":
|
|
"license" } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="section" id="distribution-properties">
|
|
<h3 id="x3.10-distribution-properties"><span class="secno">3.10
|
|
</span>Distribution Properties</h3>
|
|
|
|
<div class="section" id="publisher-interface">
|
|
<h4 id="x3.10.1-publisher-interface"><span class="secno">3.10.1
|
|
</span><code>Publisher</code> interface</h4>
|
|
|
|
<p><code>Publisher</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Publisher" as a value
|
|
of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Publisher">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Publisher</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Publisher-value">value</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-19">
|
|
<h5 id="x3.10.1.1-attributes"><span class="secno">3.10.1.1
|
|
</span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Publisher-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute should represent the name of the publisher.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">image <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"img"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
publisher <span class="sh_symbol">=</span> image<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"publisher"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">publisher[0].value = "</span><a href="http://individuals.example.com/JohnDoe" class="sh_url">http://individuals.example.com/JohnDoe</a><span class="sh_comment">"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=publisher</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "publisher" : { "value" :
|
|
"http://individuals.example.com/JohnDoe" } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="targetaudience-interface">
|
|
<h4 id="x3.10.2-targetaudience-interface"><span class="secno">3.10.2
|
|
</span><code>TargetAudience</code> interface</h4>
|
|
|
|
<p><code>TargetAudience</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "TargetAudience" as a
|
|
value of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-TargetAudience">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">TargetAudience</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span>, <span class="idlSuperclass"><a class="idlType" href="#idl-def-Language"><code>Language</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-TargetAudience-issuer">issuer</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-TargetAudience-classification">classification</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-TargetAudience-type">type</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-20">
|
|
<h5 id="x3.10.2.1-attributes"><span class="secno">3.10.2.1
|
|
</span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-TargetAudience-classification"><code>classification</code> of
|
|
type <span class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute defines the actual classification.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-TargetAudience-issuer"><code>issuer</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute identifies the issuer of the classification.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-TargetAudience-type"><code>type</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute specifies the type of the classification, which can be
|
|
filtered on in the <code>getProperty</code> operation. Examples are "Age
|
|
group" and "Geographical".
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">image <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"img"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
targetAudience <span class="sh_symbol">=</span> image<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"targetaudience"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">targetAudience[0].issuer = "</span><a href="http://www.fosi.org/icra" class="sh_url">http://www.fosi.org/icra</a><span class="sh_comment">"</span>
|
|
<span class="sh_comment">targetAudience[0].classification = "no nudity"</span>
|
|
<span class="sh_comment">targetAudience[0].type = "Age Group"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request:
|
|
http://example.com/my-media-resource/?ma-query=targetaudience</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "targetaudience" : { "issuer" :
|
|
"http://www.fosi.org/icra", "classification" : "no nudity", "type" : "Age
|
|
Group" } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="section" id="fragments-properties">
|
|
<h3 id="x3.11-fragments-properties"><span class="secno">3.11 </span>Fragments
|
|
Properties</h3>
|
|
|
|
<div class="section" id="fragments-interface">
|
|
<h4 id="x3.11.1-fragments-interface"><span class="secno">3.11.1
|
|
</span><code>Fragments</code> interface</h4>
|
|
|
|
<p><code>Fragments</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Fragments" as a value
|
|
of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Fragments">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Fragments</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Fragments-role">role</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Fragments-id">id</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-21">
|
|
<h5 id="x3.11.1.1-attributes"><span class="secno">3.11.1.1
|
|
</span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Fragments-id"><code>id</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute identifies the fragment.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-Fragments-role"><code>role</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute holds the role of the fragment, which can be filtered on
|
|
in the <code>getProperty</code> operation.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">movie <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"movie"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
fragments <span class="sh_symbol">=</span> movie<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"fragments"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">fragments[0].role = "Person"</span>
|
|
<span class="sh_comment">fragments[0].id = "</span><a href="http://www.example.com/movie.mov" class="sh_url">http://www.example.com/movie.mov</a><span class="sh_comment">#xywh=320,320,40,100"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=fragments</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "fragments" : { "role" : "Person",
|
|
"identifier" : "http://www.example.com/movie.mov#xywh=320,320,40,100" }
|
|
}</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="namedfragments-interface">
|
|
<h4 id="x3.11.2-namedfragments-interface"><span class="secno">3.11.2
|
|
</span><code>NamedFragments</code> interface</h4>
|
|
|
|
<p><code>NamedFragments</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "NamedFragments" as a
|
|
value of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-NamedFragments">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">NamedFragments</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-NamedFragments-name">name</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-NamedFragments-id">id</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-22">
|
|
<h5 id="x3.11.2.1-attributes"><span class="secno">3.11.2.1
|
|
</span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-NamedFragments-id"><code>id</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute identifies the fragment.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-NamedFragments-name"><code>name</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute specifies the name given to the fragment.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">image <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"img"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
namedFragments <span class="sh_symbol">=</span> image<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"NamedFragments"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">namedFragments[0].name = "Joakim Söderberg"</span>
|
|
<span class="sh_comment">namedFragments[0].id = "</span><a href="http://www.w3.org/2008/WebVideo/Annotations/wiki/Image" class="sh_url">http://www.w3.org/2008/WebVideo/Annotations/wiki/Image</a><span class="sh_comment">:MAWG-Stockholm-20090626.JPG#xywh=1600,550,80,150"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request:
|
|
http://example.com/my-media-resource/?ma-query=namedFragments</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "namedfragments" : { "name" : "Joakim
|
|
Söderberg", "identifier" :
|
|
"http://www.w3.org/2008/WebVideo/Annotations/wiki/Image:MAWG-Stockholm-20090626.JPG#xywh=1600,550,80,150"
|
|
} }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="section" id="technical-interface">
|
|
<h3 id="x3.12-technical-properties"><span class="secno">3.12 </span>Technical
|
|
Properties</h3>
|
|
|
|
<div class="section" id="framesize-interface">
|
|
<h4 id="x3.12.1-framesize-interface"><span class="secno">3.12.1
|
|
</span><code>FrameSize</code> interface</h4>
|
|
|
|
<p><code>FrameSize</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "FrameSize" as a value
|
|
of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-FrameSize">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">FrameSize</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>unsigned long</a></span> <span class="idlAttrName"><a href="#widl-FrameSize-width">width</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>unsigned long</a></span> <span class="idlAttrName"><a href="#widl-FrameSize-height">height</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-FrameSize-unit">unit</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-23">
|
|
<h5 id="x3.12.1.1-attributes"><span class="secno">3.12.1.1
|
|
</span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-FrameSize-height"><code>height</code> of type <span
|
|
class="idlAttrType"><a>unsigned long</a></span></dt>
|
|
<dd>This attribute represents the height of the frame.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-FrameSize-unit"><code>unit</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute represents the unit of the frame. The default value is
|
|
pixels.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-FrameSize-width"><code>width</code> of type <span
|
|
class="idlAttrType"><a>unsigned long</a></span></dt>
|
|
<dd>This attribute represents the width of the frame.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">image <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"img"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
frameSize <span class="sh_symbol">=</span> image<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"framesize"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">frameSize[0].width = 3.072</span>
|
|
<span class="sh_comment">frameSize[0].height = 2.304</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=frameSize</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "framesize" : { "width" : 3.072, "height" :
|
|
2.304 } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="compression-interface">
|
|
<h4 id="x3.12.2-compression-interface"><span class="secno">3.12.2
|
|
</span><code>Compression</code> interface</h4>
|
|
|
|
<p><code>Compression</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Compression" as a
|
|
value of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Compression">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Compression</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span>, <span class="idlSuperclass"><a class="idlType" href="#idl-def-Language"><code>Language</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Compression-value">value</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-24">
|
|
<h5 id="x3.12.2.1-attributes"><span class="secno">3.12.2.1
|
|
</span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Compression-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute specifies the compression type as a plain string.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">video <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"video"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
compression <span class="sh_symbol">=</span> video<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"compression"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">compression[0].value = "H.264/AVC"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=compression</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "compression" : { "value" : "H.264/AVC" }
|
|
}</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="duration-interface">
|
|
<h4 id="x3.12.3-duration-interface"><span class="secno">3.12.3
|
|
</span><code>Duration</code> interface</h4>
|
|
|
|
<p><code>Duration</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Duration" as a value
|
|
of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Duration">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Duration</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>unsigned long</a></span> <span class="idlAttrName"><a href="#widl-Duration-value">value</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-25">
|
|
<h5 id="x3.12.3.1-attributes"><span class="secno">3.12.3.1
|
|
</span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Duration-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>unsigned long</a></span></dt>
|
|
<dd>This attribute should represent the duration (in secs).
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">video <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"video"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
duration <span class="sh_symbol">=</span> video<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"duration"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">duration[0].value = 3600</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=duration</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "duration" : { "value" : 3600 } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="format-interface">
|
|
<h4 id="x3.12.4-format-interface"><span class="secno">3.12.4
|
|
</span><code>Format</code> interface</h4>
|
|
|
|
<p><code>Format</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Format" as a value of
|
|
<code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Format">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Format</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-Format-value">value</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-26">
|
|
<h5 id="x3.12.4.1-attributes"><span class="secno">3.12.4.1
|
|
</span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Format-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute specifies the MIME type as a plain string.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">image <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"img"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
format <span class="sh_symbol">=</span> image<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"format"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">format[0].value = "image/jpeg"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=format</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "format" : { "value" : "image/jpeg" } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="samplingrate-interface">
|
|
<h4 id="x3.12.5-samplingrate-interface"><span class="secno">3.12.5
|
|
</span><code>Samplingrate</code> interface</h4>
|
|
|
|
<p><code>Samplingrate</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Samplingrate" as a
|
|
value of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Samplingrate">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Samplingrate</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>unsigned long</a></span> <span class="idlAttrName"><a href="#widl-Samplingrate-value">value</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-27">
|
|
<h5 id="x3.12.5.1-attributes"><span class="secno">3.12.5.1
|
|
</span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Samplingrate-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>unsigned long</a></span></dt>
|
|
<dd>This attribute specifies the samplingrate (in Hz).
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">audio <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"audio"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
samplingrate <span class="sh_symbol">=</span> audio<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"samplingrate"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">samplingrate[0].value = 44100</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request:
|
|
http://example.com/my-media-resource/?ma-query=samplingrate</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "samplingrate" : { "value" : 44100 } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="framerate-interface">
|
|
<h4 id="x3.12.6-framerate-interface"><span class="secno">3.12.6
|
|
</span><code>Framerate</code> interface</h4>
|
|
|
|
<p><code>Framerate</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "Framerate" as a value
|
|
of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-Framerate">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">Framerate</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>float</a></span> <span class="idlAttrName"><a href="#widl-Framerate-value">value</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-28">
|
|
<h5 id="x3.12.6.1-attributes"><span class="secno">3.12.6.1
|
|
</span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-Framerate-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>float</a></span></dt>
|
|
<dd>This attribute specifies the framerate (in fps).
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">video <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"video"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
framerate <span class="sh_symbol">=</span> video<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"framerate"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">framerate[0].value = 30</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=framerate</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "framerate" : { "value" : 30 } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="averagebitrate-interface">
|
|
<h4 id="x3.12.7-averagebitrate-interface"><span class="secno">3.12.7
|
|
</span><code>AverageBitrate</code> interface</h4>
|
|
|
|
<p><code>AverageBitrate</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "AverageBitrate" as a
|
|
value of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-AverageBitrate">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">AverageBitrate</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>float</a></span> <span class="idlAttrName"><a href="#widl-AverageBitrate-value">value</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-29">
|
|
<h5 id="x3.12.7.1-attributes"><span class="secno">3.12.7.1
|
|
</span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-AverageBitrate-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>float</a></span></dt>
|
|
<dd>This attribute specifies the average bitrate (in kbps).
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
|
|
<p>Example is as below:</p>
|
|
<pre class="example sh_javascript sh_sourceCode">video <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"video"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
bitrate <span class="sh_symbol">=</span> video<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"averagebitrate"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">bitrate[0].value = 45.06</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request:
|
|
http://example.com/my-media-resource/?ma-query=averageBitrate</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "bitrate" : { "value" : 45.06 } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="section" id="numtracks-interface">
|
|
<h4 id="x3.12.8-numtracks-interface"><span class="secno">3.12.8
|
|
</span><code>NumTracks</code> interface</h4>
|
|
|
|
<p><code>NumTracks</code> interface is used as the specific return type of
|
|
<code>MediaResource.getProperty</code> method which has "NumTracks" as a value
|
|
of <code>propertyName</code> parameter.</p>
|
|
<pre class="idl"><span class="idlInterface" id="idl-def-NumTracks">[<span class="extAttr">NoInterfaceObject</span>]
|
|
interface <span class="idlInterfaceID">NumTracks</span> : <span class="idlSuperclass"><a class="idlType" href="#idl-def-MAObject"><code>MAObject</code></a></span> {
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>unsigned short</a></span> <span class="idlAttrName"><a href="#widl-NumTracks-value">value</a></span>;</span>
|
|
<span class="idlAttribute"> attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-NumTracks-type">type</a></span>;</span>
|
|
};</span></pre>
|
|
|
|
<div class="section" id="attributes-30">
|
|
<h5 id="x3.12.8.1-attributes"><span class="secno">3.12.8.1
|
|
</span>Attributes</h5>
|
|
<dl class="attributes">
|
|
<dt id="widl-NumTracks-type"><code>type</code> of type <span
|
|
class="idlAttrType"><a>DOMString</a></span></dt>
|
|
<dd>This attribute specifies the type of the tracks e.g., "Songs", "Data
|
|
streams".
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
<dt id="widl-NumTracks-value"><code>value</code> of type <span
|
|
class="idlAttrType"><a>unsigned short</a></span></dt>
|
|
<dd>This attribute specifies the number of tracks.
|
|
|
|
<div>
|
|
<em>No exceptions.</em></div>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<pre class="example sh_javascript sh_sourceCode">video <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"video"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">];</span>
|
|
numTracks <span class="sh_symbol">=</span> video<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"NumTracks"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in:</span>
|
|
<span class="sh_comment">numTracks[0].value = 2</span>
|
|
<span class="sh_comment">numTracks[0].type = "Data streams"</span>
|
|
<span class="sh_comment">*/</span></pre>
|
|
|
|
<p>Usage as a service:</p>
|
|
<ul>
|
|
<li><p>Request: http://example.com/my-media-resource/?ma-query=numtracks</p>
|
|
</li>
|
|
<li><p>Response (JSON format): { "numtracks" : { "value" : 2 } }</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="section" id="usage-examples">
|
|
<!--OddPage-->
|
|
|
|
<h2 id="x4.-usage-examples"><span class="secno">4. </span>Usage examples</h2>
|
|
|
|
<p>This part illustrates some examples to show how to use the API using
|
|
JavaScript in actual implementations. The examples assume that the methods
|
|
getElementsByTagName() and getElementsById() return an element that implements
|
|
the <code>MediaResource</code> interface. Moreover, in these examples it is
|
|
assumed that the implementation of the API knows where to find the metadata
|
|
that corresponds to a specific media resource (if necessary the location of the
|
|
metadata can be configured using the <code>selectMAResource</code> method). The
|
|
implementation should provide the mappings of different metadata formats to the
|
|
core properties. </p>
|
|
<dl>
|
|
<dt>Example 1: Return the name of the director of the movie "Apocalypse now".
|
|
</dt>
|
|
<dd><pre class="example sh_javascript sh_sourceCode"><span class="sh_comment">//assume that the video elements in HTML5 inherit from the MediaResource interface </span>
|
|
video <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementsByTagName</span><span class="sh_symbol">(</span><span class="sh_string">"video"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">//search the video's for the one with title "Apocalypse now" </span>
|
|
<span class="sh_keyword">for</span><span class="sh_symbol">(</span>i<span class="sh_symbol">=</span><span class="sh_number">0</span><span class="sh_symbol">;</span> i<span class="sh_symbol"><</span>video<span class="sh_symbol">.</span>length<span class="sh_symbol">;</span> i<span class="sh_symbol">++)</span>
|
|
<span class="sh_cbracket">{</span>
|
|
<span class="sh_comment">//request for the titles of the video </span>
|
|
titles <span class="sh_symbol">=</span> video<span class="sh_symbol">[</span>i<span class="sh_symbol">].</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"title"</span><span class="sh_symbol">);</span>
|
|
<span class="sh_keyword">for</span><span class="sh_symbol">(</span>j <span class="sh_symbol">=</span> <span class="sh_number">0</span><span class="sh_symbol">;</span> j<span class="sh_symbol"><</span>titles<span class="sh_symbol">.</span>length<span class="sh_symbol">;</span> j<span class="sh_symbol">++)</span>
|
|
<span class="sh_cbracket">{</span>
|
|
<span class="sh_comment">//check if the title matches </span>
|
|
<span class="sh_keyword">if</span><span class="sh_symbol">(</span>titles<span class="sh_symbol">[</span>j<span class="sh_symbol">].</span>value <span class="sh_symbol">==</span> <span class="sh_string">"Apocalypse Now"</span><span class="sh_symbol">)</span>
|
|
<span class="sh_cbracket">{</span>
|
|
<span class="sh_comment">//request for the director of the video </span>
|
|
director <span class="sh_symbol">=</span> video<span class="sh_symbol">[</span>i<span class="sh_symbol">].</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"contributor"</span><span class="sh_symbol">,</span><span class="sh_string">""</span><span class="sh_symbol">,</span><span class="sh_string">""</span><span class="sh_symbol">,</span><span class="sh_string">"director"</span><span class="sh_symbol">);</span>
|
|
<span class="sh_comment">/*Resulting in: </span>
|
|
<span class="sh_comment"> director[0].id = "Francis Ford Coppola"; </span>
|
|
<span class="sh_comment"> */</span>
|
|
<span class="sh_cbracket">}</span>
|
|
<span class="sh_cbracket">}</span>
|
|
<span class="sh_cbracket">}</span> </pre>
|
|
</dd>
|
|
<dt>Example 2: Retrieve the title of the second song from the album "Josuha
|
|
Tree" by U2. </dt>
|
|
<dd><pre class="example sh_javascript sh_sourceCode"><span class="sh_comment">//somehow get the mediaResource object that represents the corresponding album </span>
|
|
album <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementById</span><span class="sh_symbol">(</span><span class="sh_string">"JosuhaTree_U2"</span><span class="sh_symbol">);</span>
|
|
<span class="sh_comment">//get the id of the second song using the fragments property </span>
|
|
trackid <span class="sh_symbol">=</span> album<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"Fragments"</span><span class="sh_symbol">,</span><span class="sh_string">""</span><span class="sh_symbol">,</span><span class="sh_string">""</span><span class="sh_symbol">,</span><span class="sh_string">"Song"</span><span class="sh_symbol">)[</span><span class="sh_number">1</span><span class="sh_symbol">].</span>id<span class="sh_symbol">;</span>
|
|
|
|
<span class="sh_comment">//use this identifier to get the mediaResource object that represents the track </span>
|
|
mediaResource <span class="sh_symbol">=</span> <span class="sh_keyword">new</span> <span class="sh_function">MediaResource</span><span class="sh_symbol">();</span>
|
|
mediaResource<span class="sh_symbol">.</span><span class="sh_function">selectMediaResource</span><span class="sh_symbol">(</span>trackid<span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">//get the title of the track </span>
|
|
title <span class="sh_symbol">=</span> mediaResource<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"Title"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">].</span>value<span class="sh_symbol">;</span> </pre>
|
|
</dd>
|
|
<dt>Example 3: Return the copyright of the movie "Planet of the apes".</dt>
|
|
<dd><pre class="example sh_javascript sh_sourceCode"><span class="sh_comment">//somehow get the mediaResource object that represents the movie (e.g., see first example) </span>
|
|
movie <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementById</span><span class="sh_symbol">(</span><span class="sh_string">"Planet_of_the_apes_id"</span><span class="sh_symbol">);</span>
|
|
copyright <span class="sh_symbol">=</span> movie<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"copyright"</span><span class="sh_symbol">,</span><span class="sh_string">""</span><span class="sh_symbol">,</span><span class="sh_string">""</span><span class="sh_symbol">,</span><span class="sh_string">""</span><span class="sh_symbol">,</span><span class="sh_string">"en-us"</span><span class="sh_symbol">)[</span><span class="sh_number">0</span><span class="sh_symbol">].</span>statement<span class="sh_symbol">;</span> </pre>
|
|
</dd>
|
|
<dt>Example 4: Return the genre of the movie "Apocalypse Now".</dt>
|
|
<dd><pre class="example sh_javascript sh_sourceCode"><span class="sh_comment">//somehow get the mediaResource object that represents the movie (e.g., see first example) </span>
|
|
movie <span class="sh_symbol">=</span> document<span class="sh_symbol">.</span><span class="sh_function">getElementById</span><span class="sh_symbol">(</span><span class="sh_string">"Apocalypse_Now_id"</span><span class="sh_symbol">);</span>
|
|
genre <span class="sh_symbol">=</span> movie<span class="sh_symbol">.</span><span class="sh_function">getProperty</span><span class="sh_symbol">(</span><span class="sh_string">"genre"</span><span class="sh_symbol">,</span><span class="sh_string">""</span><span class="sh_symbol">,</span><span class="sh_string">""</span><span class="sh_symbol">,</span><span class="sh_string">""</span><span class="sh_symbol">,</span><span class="sh_string">"en-us"</span><span class="sh_symbol">);</span>
|
|
|
|
<span class="sh_comment">/*Resulting in: </span>
|
|
<span class="sh_comment">genre[0].value = "Action"; </span>
|
|
<span class="sh_comment">genre[1].value = "Drama"; </span>
|
|
<span class="sh_comment">*/</span> </pre>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
|
|
<div class="section" id="api-status-codes">
|
|
<!--OddPage-->
|
|
|
|
<h2 id="x5.-api-status-codes"><span class="secno">5. </span>API Status
|
|
Codes</h2>
|
|
|
|
<p>This section introduces a set of status codes for the defined API to
|
|
indicate the system behaviour. It uses a subset of the <cite>HTML/1.1 [<a
|
|
href="#bib-HTTP11" rel="biblioentry" class="bibref">HTTP11</a>] status
|
|
codes</cite> for general informations (e.g., bad request), but also system
|
|
specific ones (e.g., property not defined in source format). The specific
|
|
status codes have been arranged in the <cite>HTML/1.1 [<a href="#bib-HTTP11"
|
|
rel="biblioentry" class="bibref">HTTP11</a>] status codes</cite> categories.
|
|
These codes can be retrieved by calling the <code>getDiagnosis</code>
|
|
method.</p>
|
|
|
|
<p class="note">The set of status codes my be enlarged or changed in later
|
|
versions of this document. The numerical code range for the system specific
|
|
status codes start with x62 (x = number of <cite>HTML/1.1 [<a
|
|
href="#bib-HTTP11" rel="biblioentry" class="bibref">HTTP11</a>] status
|
|
codes</cite> category and 62 = MA).</p>
|
|
|
|
<table border="1" width="100%">
|
|
<tbody>
|
|
<tr>
|
|
<td align="center">Numerical Code</td>
|
|
<td align="center">Textual Description</td>
|
|
<td align="center">Example</td>
|
|
</tr>
|
|
<tr>
|
|
<td>200</td>
|
|
<td>Ok</td>
|
|
<td>property delivered correctly</td>
|
|
</tr>
|
|
<tr>
|
|
<td>204</td>
|
|
<td>No Content</td>
|
|
<td>property retrieved without content</td>
|
|
</tr>
|
|
<tr>
|
|
<td>206</td>
|
|
<td>Partial Content</td>
|
|
<td>only a subset of the available data stored in the result set</td>
|
|
</tr>
|
|
<tr>
|
|
<td>262</td>
|
|
<td>Syntactic Mapping</td>
|
|
<td>retrieval used a syntactic mapping</td>
|
|
</tr>
|
|
<tr>
|
|
<td>263</td>
|
|
<td>Semantic Mapping</td>
|
|
<td>retrieval used a semantic mapping</td>
|
|
</tr>
|
|
<tr>
|
|
<td>264</td>
|
|
<td>Structured Return Value</td>
|
|
<td>result is structured</td>
|
|
</tr>
|
|
<tr>
|
|
<td>265</td>
|
|
<td>Unstructured Return Value</td>
|
|
<td>result is unstructured</td>
|
|
</tr>
|
|
<tr>
|
|
<td>400</td>
|
|
<td>Bad Request</td>
|
|
<td>syntactical error with respect to the GET method used</td>
|
|
</tr>
|
|
<tr>
|
|
<td>404</td>
|
|
<td>Not Found</td>
|
|
<td>the queries resource is not found</td>
|
|
</tr>
|
|
<tr>
|
|
<td>415</td>
|
|
<td>Unsupported Media Type</td>
|
|
<td>get duration call on an image data store</td>
|
|
</tr>
|
|
<tr>
|
|
<td>462</td>
|
|
<td>Property not defined in Source Format</td>
|
|
<td>location is not defined in MediaRSS</td>
|
|
</tr>
|
|
<tr>
|
|
<td>500</td>
|
|
<td>Internal Server Error</td>
|
|
<td>internal library (e.g., extractor) crashes</td>
|
|
</tr>
|
|
<tr>
|
|
<td>501</td>
|
|
<td>Not Implemented</td>
|
|
<td>only a subset of GET methods for properties implemented</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="section" id="conformance">
|
|
<!--OddPage-->
|
|
|
|
<h2 id="x6.-conformance"><span class="secno">6. </span>Conformance</h2>
|
|
|
|
<p>As well as sections marked as non-normative, all authoring guidelines,
|
|
diagrams, examples, and notes in this specification are non-normative.
|
|
Everything else in this specification is normative.</p>
|
|
|
|
<p>The key words <em title="must" class="rfc2119">must</em>, <em
|
|
title="must not" class="rfc2119">must not</em>, <em title="required"
|
|
class="rfc2119">required</em>, <em title="should" class="rfc2119">should</em>,
|
|
<em title="should not" class="rfc2119">should not</em>, <em title="recommended"
|
|
class="rfc2119">recommended</em>, <em title="may" class="rfc2119">may</em>, and
|
|
<em title="optional" class="rfc2119">optional</em> in this specification are to
|
|
be interpreted as described in [<a href="#bib-RFC2119" rel="biblioentry"
|
|
class="bibref">RFC2119</a>].</p>
|
|
</div>
|
|
|
|
<div id="security-considerations" class="informative section">
|
|
<!--OddPage-->
|
|
|
|
<h2 id="x7.-security-considerations"><span class="secno">7. </span>Security
|
|
Considerations</h2>
|
|
|
|
<p><em>This section is non-normative.</em></p>
|
|
<!--p class="note">It is required to be considered in the perspectives of developer, user and content’s provider. This will be revised with more security issues.</p-->
|
|
|
|
<p>This specification defines a client-side API to access metadata information
|
|
related to media resources on the Web. These APIs will provide the methods for
|
|
getting metadata information which can be in one of different formats, either
|
|
as separate document or embedded in media resources.</p>
|
|
|
|
<p>There are related activity and technical documents in <acronym
|
|
title="World Wide Web Consortium">W3C</acronym> such as Policy Requirements [<a
|
|
href="#bib-POLICY-REQS" rel="biblioentry" class="bibref">POLICY-REQS</a>] in
|
|
DAP WG, ODRL 1.1 [<a href="#bib-ODRL11" rel="biblioentry"
|
|
class="bibref">ODRL11</a>], P3P 1.1 [<a href="#bib-P3P11" rel="biblioentry"
|
|
class="bibref">P3P11</a>] and PLING Wiki [<a href="#bib-PLING-WIKI"
|
|
rel="biblioentry" class="bibref">PLING-WIKI</a>].</p>
|
|
</div>
|
|
|
|
<div class="appendix section" id="webidl-for-api">
|
|
<!--OddPage-->
|
|
|
|
<h2 id="a.-web-idl-description-for-api"><span class="secno">A. </span>Web IDL
|
|
description for API</h2>
|
|
<pre>module mawg {
|
|
interface MediaResource {
|
|
|
|
//Media Resource context
|
|
boolean selectMAResource(in DOMString mediaResource, in optional MetadataSource[] metadataSources );
|
|
|
|
// Property Access
|
|
MAObject[] getProperty(in DOMString propertyName, in optional DOMString fragment, in optional DOMString sourceFormat, in optional DOMString subtype,
|
|
in optional DOMString language );
|
|
|
|
//Iterating
|
|
DOMString[] getPropertyNamesWithValues(in optional DOMString sourceFormat,
|
|
in optional DOMString language, in optional DOMString fragment);
|
|
DOMString[] getSourceFormatsWithValues(in optional DOMString language);
|
|
DOMString getOriginalData(in DOMString sourceFormat);
|
|
|
|
//Operation for retrieval of the reason of an error
|
|
DOMString getDiagnosis();
|
|
|
|
};
|
|
|
|
interface MetadataSource {
|
|
attribute DOMString metadataSource;
|
|
attribute DOMString sourceFormat;
|
|
};
|
|
|
|
module returnValues {
|
|
|
|
interface MAObject {
|
|
attribute DOMString unstructuredValue;
|
|
attribute DOMString uri;
|
|
attribute DOMString sourceFormat;
|
|
attribute DOMString fragmentIdentifier;
|
|
attribute DOMString mappingType;
|
|
};
|
|
|
|
interface Language {
|
|
attribute DOMString language;
|
|
};
|
|
|
|
|
|
interface UnsignedLongObject: MAObject {
|
|
attribute unsigned long value;
|
|
};
|
|
|
|
interface UnsignedShortObject: MAObject {
|
|
attribute unsigned short value;
|
|
};
|
|
|
|
interface FloatObject: MAObject {
|
|
attribute float value;
|
|
};
|
|
|
|
interface Identifier: MAObject {
|
|
attribute DOMString value;
|
|
attribute DOMString type;
|
|
};
|
|
|
|
interface Title: MAObject, Language {
|
|
attribute DOMString value;
|
|
attribute DOMString type;
|
|
};
|
|
|
|
interface Language : MAObject {
|
|
attribute DOMString value;
|
|
};
|
|
|
|
interface Locator : MAObject {
|
|
attribute DOMString value;
|
|
};
|
|
|
|
interface Contributor: MAObject {
|
|
attribute DOMString id;
|
|
attribute DOMString role;
|
|
};
|
|
|
|
interface Creator : MAObject {
|
|
attribute DOMString value;
|
|
};
|
|
|
|
interface Date: MAObject {
|
|
attribute DOMString date;
|
|
attribute DOMString type;
|
|
};
|
|
|
|
interface Location: MAObject, Language {
|
|
attribute DOMString name;
|
|
attribute Float longitude;
|
|
attribute Float latitude;
|
|
attribute Float altitiude;
|
|
attribute DOMString system;
|
|
};
|
|
|
|
interface Description : MAObject, Language {
|
|
attribute DOMString value;
|
|
};
|
|
|
|
interface Keyword : MAObject, Language {
|
|
attribute DOMString value;
|
|
};
|
|
|
|
interface Genre : MAObject, Language {
|
|
attribute DOMString value;
|
|
};
|
|
|
|
interface Rating: MAObject, Language {
|
|
attribute DOMString issuer;
|
|
attribute short value;
|
|
attribute short minimum;
|
|
attribute short maximum;
|
|
attribute DOMString context;
|
|
attribute DOMString type;
|
|
};
|
|
|
|
interface Relation: MAObject, Language {
|
|
attribute DOMString id;
|
|
attribute DOMString relationship;
|
|
};
|
|
|
|
interface Copyright: MAObject, Language {
|
|
attribute DOMString statement;
|
|
attribute DOMString[] holder;
|
|
};
|
|
|
|
interface Policy: MAObject, Language {
|
|
attribute DOMString statement;
|
|
attribute DOMString link;
|
|
attribute DOMString organization;
|
|
attribute DOMString type;
|
|
};
|
|
|
|
interface Publisher: MAObject {
|
|
attribute DOMString value;
|
|
};
|
|
|
|
interface TargetAudience: MAObject, Language {
|
|
attribute DOMString issuer;
|
|
attribute DOMString classification;
|
|
};
|
|
|
|
interface Fragment: MAObject, Language {
|
|
attribute DOMString role;
|
|
attribute DOMString id;
|
|
};
|
|
|
|
interface NamedFragment: MAObject, Language {
|
|
attribute DOMString name;
|
|
attribute DOMString id;
|
|
};
|
|
|
|
interface FrameSize: MAObject {
|
|
attribute unsigned long width;
|
|
attribute unsigned long height;
|
|
attribute DOMString unit;
|
|
};
|
|
|
|
interface Compression : MAObject, Language {
|
|
attribute DOMString value;
|
|
};
|
|
|
|
interface Duration : MAObject {
|
|
attribute unsigned long value;
|
|
};
|
|
|
|
interface Format : MAObject {
|
|
attribute DOMString value;
|
|
};
|
|
|
|
interface Samplingrate : MAObject {
|
|
attribute unsigned long value;
|
|
};
|
|
|
|
interface Framerate : MAObject {
|
|
attribute float value;
|
|
};
|
|
|
|
interface AverageBitrate : MAObject {
|
|
attribute float value;
|
|
};
|
|
|
|
interface NumTracks : MAObject {
|
|
attribute unsigned short value;
|
|
attribute DOMString type;
|
|
};
|
|
|
|
};
|
|
};</pre>
|
|
</div>
|
|
|
|
<div id="acknowledgements" class="appendix section">
|
|
<!--OddPage-->
|
|
|
|
<h2 id="b.-acknowledgements"><span class="secno">B. </span>Acknowledgements</h2>
|
|
|
|
<p>This document is the work of the <a
|
|
href="http://www.w3.org/2008/WebVideo/Annotations/"><acronym
|
|
title="World Wide Web Consortium">W3C</acronym> Media Annotations Working
|
|
Group</a>.</p>
|
|
|
|
<p>Members of the Working Group are (at the time of writing, and by
|
|
alphabetical order): Members of the Working Group are (at the time of writing,
|
|
and by alphabetical order): Werner Bailer (JOANNEUM RESEARCH), Tobias B체rger
|
|
(University of Innsbruck), Eric Carlson (Apple, Inc.), Pierre-Antoine Champin
|
|
((public) Invited expert), Ashish Chawla ((public) Invited expert), Jaime
|
|
Delgado (Universitat Polit챔cnica de Catalunya), Jean-Pierre EVAIN ((public)
|
|
Invited expert), Philip J채genstedt (Opera Software), Ralf Klamma ((public)
|
|
Invited expert), WonSuk Lee (Electronics and Telecommunications Research
|
|
Institute (ETRI)), V챕ronique Malais챕 (Vrije Universiteit), Erik Mannens
|
|
(IBBT), Hui Miao (Samsung Electronics Co., Ltd.), Thierry Michel (<acronym
|
|
title="World Wide Web Consortium">W3C</acronym>/<acronym
|
|
title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym>),
|
|
Frank Nack (University of Amsterdam), Soohong Daniel Park (Samsung Electronics
|
|
Co., Ltd.), Silvia Pfeiffer (<acronym
|
|
title="World Wide Web Consortium">W3C</acronym> Invited Experts), Chris Poppe
|
|
(IBBT), V챠ctor Rodr챠guez (Universitat Polit챔cnica de Catalunya), Felix
|
|
Sasaki (Potsdam University of Applied Sciences), David Singer (Apple, Inc.),
|
|
Florian Stegmaier ((public) Invited expert), John Strassner ((public) Invited
|
|
expert), Joakim S철derberg (ERICSSON), Thai Wey Then (Apple, Inc.), Ruben Tous
|
|
(Universitat Polit챔cnica de Catalunya), Rapha챘l Troncy (CWI), Vassilis
|
|
Tzouvaras (K-Space), Davy Van Deursen (IBBT). </p>
|
|
|
|
<p>The people who have contributed to <a
|
|
href="http://lists.w3.org/Archives/Public/public-media-annotation/">discussions
|
|
on public-media-annotation@w3.org</a> are also gratefully acknowledged. </p>
|
|
</div>
|
|
|
|
<div class="appendix section" id="references">
|
|
<!--OddPage-->
|
|
|
|
<h2 id="c.-references"><span class="secno">C. </span>References</h2>
|
|
|
|
<div class="section" id="normative-references">
|
|
<h3 id="c.1-normative-references"><span class="secno">C.1 </span>Normative
|
|
references</h3>
|
|
<dl class="bibliography">
|
|
<dt id="bib-MEDIA-ANNOT-ONTOLOGY">[MEDIA-ANNOT-ONTOLOGY]</dt>
|
|
<dd>이원석(WonSuk Lee), Tobias Bürger, Felix Sasaki, Véronique
|
|
Malaisé, Florian Stegmaier and Joakim Söderberg. <a
|
|
href="http://www.w3.org/TR/2010/WD-mediaont-10-20100309/"><cite>Ontology
|
|
for Media Resource 1.0.</cite></a> 09 March 2010. W3C Working Draft.
|
|
(Work in progress.) URL: <a
|
|
href="http://www.w3.org/TR/2010/WD-mediaont-10-20100309/">http://www.w3.org/TR/2010/WD-mediaont-10-20100309/</a>
|
|
</dd>
|
|
<dt id="bib-MEDIA-ANNOT-REQS">[MEDIA-ANNOT-REQS]</dt>
|
|
<dd>WonSuk Lee; Felix Sasaki; Tobias Bürger; Véronique Malaisé. <a
|
|
href="http://www.w3.org/TR/2010/WD-media-annot-reqs-20100121"><cite>Use
|
|
Cases and Requirements for Ontology and API for Media Object
|
|
1.0.</cite></a> 21 January 2010. W3C Working Draft. (Work in progress.)
|
|
URL: <a
|
|
href="http://www.w3.org/TR/2010/WD-media-annot-reqs-20100121">http://www.w3.org/TR/2010/WD-media-annot-reqs-20100121</a>
|
|
</dd>
|
|
<dt id="bib-RFC2119">[RFC2119]</dt>
|
|
<dd>S. Bradner. <a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>Key
|
|
words for use in RFCs to Indicate Requirement Levels.</cite></a> Internet
|
|
RFC 2119. URL: <a
|
|
href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
|
|
<div class="section" id="informative-references">
|
|
<h3 id="c.2-informative-references"><span class="secno">C.2 </span>Informative
|
|
references</h3>
|
|
<dl class="bibliography">
|
|
<dt id="bib-BCP-47">[BCP-47]</dt>
|
|
<dd>A. Phillips; M. Davis. <a
|
|
href="http://tools.ietf.org/html/rfc5646"><cite>Tags for Identifying
|
|
Languages.</cite></a> Internet RFC 5646. URL: <a
|
|
href="http://tools.ietf.org/html/rfc5646">http://tools.ietf.org/html/rfc5646</a>
|
|
</dd>
|
|
<dt id="bib-HTTP11">[HTTP11]</dt>
|
|
<dd>R. Fielding; et al. <a
|
|
href="http://www.ietf.org/rfc/rfc2616.txt"><cite>Hypertext Transfer
|
|
Protocol - HTTP/1.1.</cite></a> June 1999. Internet RFC 2616. URL: <a
|
|
href="http://www.ietf.org/rfc/rfc2616.txt">http://www.ietf.org/rfc/rfc2616.txt</a>
|
|
</dd>
|
|
<dt id="bib-ODRL11">[ODRL11]</dt>
|
|
<dd><a href="http://www.w3.org/TR/odrl"><cite>Open Digital Rights Language
|
|
(ODRL) Version 1.1.</cite></a> W3C Note. 19 September 2002. URL: <a
|
|
href="http://www.w3.org/TR/odrl">http://www.w3.org/TR/odrl</a> </dd>
|
|
<dt id="bib-P3P11">[P3P11]</dt>
|
|
<dd>Matthias Schunter; Rigo Wenning. <a
|
|
href="http://www.w3.org/TR/2006/NOTE-P3P11-20061113"><cite>The Platform
|
|
for Privacy Preferences 1.1 (P3P1.1) Specification.</cite></a> 13
|
|
November 2006. W3C Note. URL: <a
|
|
href="http://www.w3.org/TR/2006/NOTE-P3P11-20061113">http://www.w3.org/TR/2006/NOTE-P3P11-20061113</a>
|
|
</dd>
|
|
<dt id="bib-PLING-WIKI">[PLING-WIKI]</dt>
|
|
<dd><a href="http://www.w3.org/Policy/pling/"><cite>PLING Wiki.</cite></a>
|
|
URL: <a
|
|
href="http://www.w3.org/Policy/pling/">http://www.w3.org/Policy/pling/</a>
|
|
</dd>
|
|
<dt id="bib-POLICY-REQS">[POLICY-REQS]</dt>
|
|
<dd>Laura Arribas; Paddy Byers; Marcin Hanclik; Frederick Hirsch; David
|
|
Rogers. <a href="http://dev.w3.org/2009/dap/policy-reqs"><cite>Device API
|
|
Policy Requirements.</cite></a> 13 April 2010. W3C Editor's Draft. (Work
|
|
in progress.) URL: <a
|
|
href="http://dev.w3.org/2009/dap/policy-reqs/">http://dev.w3.org/2009/dap/policy-reqs/</a>
|
|
</dd>
|
|
<dt id="bib-WEBIDL">[WEBIDL]</dt>
|
|
<dd>Cameron McCormack. <a
|
|
href="http://www.w3.org/TR/2008/WD-WebIDL-20081219"><cite>Web
|
|
IDL.</cite></a> 19 December 2008. W3C Working Draft. (Work in progress.)
|
|
URL: <a
|
|
href="http://www.w3.org/TR/2008/WD-WebIDL-20081219">http://www.w3.org/TR/2008/WD-WebIDL-20081219</a>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|