[ttml2] add ttm:item element to allow arbitrary named metadata information items
authorGlenn Adams <glenn@skynav.com>
Tue, 25 Nov 2014 13:24:44 -0700
changeset 772 c3e97837e7d1
parent 771 19e379b0c302
child 773 4f3cbe34779c
[ttml2] add ttm:item element to allow arbitrary named metadata information items
ttml2/spec/ttml2-changes.html
ttml2/spec/ttml2.xml
--- a/ttml2/spec/ttml2-changes.html	Mon Nov 24 18:16:41 2014 -0700
+++ b/ttml2/spec/ttml2-changes.html	Tue Nov 25 13:24:44 2014 -0700
@@ -51,19 +51,12 @@
   'data',
   'resources',
   'font',
-  'image'
-  and 'source'
+  'image',
+  'source',
+  and
+  'ttm:item
   to Table 5-3.
 
-* In 5.3.1, add new  vocabulary, 'font', to
-  Table 5-3.
-
-* In 5.3.1, add new embedded vocabulary, 'audio and 'image, to
-  Table 5-3.
-
-* In 5.3.1, add new font vocabulary, 'font', to
-  Table 5-3.
-
 * In 5.3.1, add new profile attribute vocabulary
   'ttp:contentProfiles',
   'ttp:contentProfileCombination',
@@ -81,12 +74,15 @@
 
 * In 5.3.1, add new parameter attribute vocabulary
   'ttp:mediaDuration',
-  and 'ttp:mediaOffset'
+  and
+  'ttp:mediaOffset'
   to Table 5-5.
 
 * In 5.3.1, add new animation vocabulary, 'animate', to Animation.class in
   Table 5-4.
 
+* In 5.3.1, add new 'ttm:item' to to Metadata.class in Table 5-4.
+
 * In 5.3.1, add new styling attribute vocabulary
   'tts:backgroundImage',
   'tts:backgroundPosition',
@@ -105,6 +101,9 @@
 * In 5.3.1, add new animation binding attribute vocabulary, 'animate',
   to Table 5-5.
 
+* In 5.3.1, add new data attributes vocabulary, 'encoding', 'format',
+  'src', and 'type' to Table 5-5.
+
 * In 6.1.1, add support for nesting profiles by changing content model of
   ttp:profile to permit either (1) a list of features/extensions or (2)
   a list of nested profiles.
@@ -319,6 +318,9 @@
 * In 13.3 (new), add new sub-section defining animation specific value
   expressions.
 
+* In 14.1, add new 'ttm:item' element to represent arbitrary named
+  metadata information items.
+
 * In 14.1.1, extend content model of 'metadata' to permit the use of
   embedded content 'data' element children.
 
--- a/ttml2/spec/ttml2.xml	Mon Nov 24 18:16:41 2014 -0700
+++ b/ttml2/spec/ttml2.xml	Tue Nov 25 13:24:44 2014 -0700
@@ -2546,6 +2546,7 @@
 <loc href="#metadata-vocabulary-agent">ttm:agent</loc>,
 <loc href="#metadata-vocabulary-copyright">ttm:copyright</loc>,
 <loc href="#metadata-vocabulary-desc">ttm:desc</loc>,
+<loc href="#metadata-vocabulary-item">ttm:item</loc>,
 <loc href="#metadata-vocabulary-name">ttm:name</loc>,
 <loc href="#metadata-vocabulary-title">ttm:title</loc>
 </td>
@@ -2654,6 +2655,7 @@
 <loc href="#metadata-vocabulary-copyright">ttm:agent</loc> |
 <loc href="#metadata-vocabulary-copyright">ttm:copyright</loc> |
 <loc href="#metadata-vocabulary-desc">ttm:desc</loc> |
+<loc href="#metadata-vocabulary-desc">ttm:item</loc> |
 <loc href="#metadata-vocabulary-title">ttm:title</loc>
 </td>
 </tr>
@@ -2701,6 +2703,8 @@
 </td>
 <td>
 <loc href="#embedded-content-attribute-encoding">encoding</loc>,
+<loc href="#embedded-content-attribute-format">format</loc>,
+<loc href="#embedded-content-attribute-src">src</loc>,
 <loc href="#embedded-content-attribute-type">type</loc>
 </td>
 </tr>
@@ -13313,6 +13317,7 @@
 <item><p><specref ref="metadata-vocabulary-agent"/></p></item>
 <item><p><specref ref="metadata-vocabulary-copyright"/></p></item>
 <item><p><specref ref="metadata-vocabulary-desc"/></p></item>
+<item><p><specref ref="metadata-vocabulary-item"/></p></item>
 <item><p><specref ref="metadata-vocabulary-name"/></p></item>
 <item><p><specref ref="metadata-vocabulary-title"/></p></item>
 </ulist>
@@ -13633,6 +13638,73 @@
 <specref ref="metadata-vocabulary-metadata-example-1"/> and
 <specref ref="metadata-vocabulary-metadata-example-2"/>.</p>
 </div3>
+<div3 id="metadata-vocabulary-item">
+<head>ttm:item</head>
+<p>The <el>ttm:item</el> element is used to express arbitrary named metadata items.</p>
+<table id="elt-syntax-metadata-item" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: ttm:item</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;ttm:item
+  <phrase role="reqattr">name</phrase> = <loc href="http://www.w3.org/TR/xmlschema-2/#token">xsd:token</loc>
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = <loc href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</loc>
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>any attribute not in default or any TT namespace</emph>}&gt;
+  <emph>Content:</emph> #PCDATA
+&lt;/ttm:item&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>A <att>name</att> attribute must be specified to identify the name of the item. No standard name
+tokens are defined by this version of this specification.</p>
+<note role="elaboration">
+<p>This specification places no constraint on the appearance of multiple named metadata items that specify the same name.</p>
+<p>An external specification or a future version of this specification that defines a particular named item may
+constrain the context of usage of a named item, including placing constraints on whether multiple items with the same name can appear in a given context.</p>
+</note>
+<p>The value of a named item is the character content of a <el>ttm:item</el> element, which may be empty.</p>
+<note role="elaboration">
+<p>A particular named item may be defined (by an external or future version of this specification) so as to
+imply a particular value in the absence of a specified value.</p>
+</note>
+<note role="elaboration">
+<p>No specific use of the <el>ttm:item</el> element is defined by this version of specification.</p>
+</note>
+<p>The use of a named metadata item is illustrated by the following example, which shows the use of a named metadata item
+in order to associate a <loc href="#terms-simple-data-embedding">simple data embedding</loc> with an original file name.</p>
+<table id="metadata-vocabulary-item-example-1" role="example">
+<caption>Example Fragment &ndash; Named Metadata Item</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+...
+&lt;image&gt;
+  &lt;source&gt;
+    &lt;data type="image/png"&gt;
+      &lt;metadata xmlns:ttm="http://www.w3.org/ns/ttml#metadata"&gt;
+        <phrase role="strong">&lt;ttm:item name="originalFileName"&gt;image.png&lt;/ttm:item&gt;</phrase>
+      &lt;/metadata&gt;
+      &lt;chunk length="119"&gt;
+          iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+          YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAMSURBVBhXY2BgYAAAAAQAAVzN/2kAAAAASUVORK5CYII=
+      &lt;/chunk&gt;
+    &lt;/data&gt;
+  &lt;source&gt;
+&lt;image&gt;
+...
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p></p>
+</div3>
 <div3 id="metadata-vocabulary-name">
 <head>ttm:name</head>
 <p>The <el>ttm:name</el> element is used to specify a name of a person, character,