[ttml2] add ttm:item element to allow arbitrary named metadata information items
--- 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 – Element Information Item: ttm:item</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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>}>
+ <emph>Content:</emph> #PCDATA
+</ttm:item>
+</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 – Named Metadata Item</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+...
+<image>
+ <source>
+ <data type="image/png">
+ <metadata xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
+ <phrase role="strong"><ttm:item name="originalFileName">image.png</ttm:item></phrase>
+ </metadata>
+ <chunk length="119">
+ iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAMSURBVBhXY2BgYAAAAAQAAVzN/2kAAAAASUVORK5CYII=
+ </chunk>
+ </data>
+ <source>
+<image>
+...
+</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,