[ttml2] allow name attribute of ttm:item to be xsd:anyURI, add schema support for ttm:item
authorGlenn Adams <glenn@skynav.com>
Tue, 25 Nov 2014 14:05:38 -0700
changeset 774 c1e1a6507c70
parent 773 4f3cbe34779c
child 775 0b2934ddb6fe
[ttml2] allow name attribute of ttm:item to be xsd:anyURI, add schema support for ttm:item
ttml2/spec/rnc/schema.zip
ttml2/spec/rnc/ttml2-datatypes.rnc
ttml2/spec/rnc/ttml2-metadata-items.rnc
ttml2/spec/ttml2.xml
ttml2/spec/xsd/schema.zip
ttml2/spec/xsd/ttml2-datatypes.xsd
ttml2/spec/xsd/ttml2-metadata-items.xsd
Binary file ttml2/spec/rnc/schema.zip has changed
--- a/ttml2/spec/rnc/ttml2-datatypes.rnc	Tue Nov 25 13:24:54 2014 -0700
+++ b/ttml2/spec/rnc/ttml2-datatypes.rnc	Tue Nov 25 14:05:38 2014 -0700
@@ -58,7 +58,8 @@
   "base64url"
 
 TTAF.DataFormat.datatype =
-  xsd:token
+  xsd:token |
+  TTAF.URI.datatype
 
 TTAF.DataLength.datatype =
   xsd:nonNegativeInteger
@@ -186,6 +187,10 @@
   "organization" |
   "other"
 
+TTAF.MetadataItemName.datatype =
+  xsd:token |
+  TTAF.URI.datatype
+
 TTAF.MetadataNameType.datatype =
   "full" |
   "family" |
--- a/ttml2/spec/rnc/ttml2-metadata-items.rnc	Tue Nov 25 13:24:54 2014 -0700
+++ b/ttml2/spec/rnc/ttml2-metadata-items.rnc	Tue Nov 25 14:05:38 2014 -0700
@@ -61,6 +61,20 @@
 TTAF.meta.desc.content.extra = empty
 TTAF.meta.desc.content = text
 
+## item - specifies named item
+TTAF.meta.item =
+  element ttm:item {
+    TTAF.meta.item.attlist,
+    TTAF.meta.item.content
+  }
+
+TTAF.meta.item.attlist &=
+  TTAF.Core.attrib.class,
+  attribute name { TTAF.MetadataItemName.datatype }
+
+TTAF.meta.item.content.extra = empty
+TTAF.meta.item.content = text
+
 ## name - specifies name
 TTAF.meta.name =
   element ttm:name {
@@ -94,6 +108,7 @@
   TTAF.meta.agent |
   TTAF.meta.copyright |
   TTAF.meta.desc |
+  TTAF.meta.item |
   TTAF.meta.title |
   TTAF.MetadataItems.extra
 
--- a/ttml2/spec/ttml2.xml	Tue Nov 25 13:24:54 2014 -0700
+++ b/ttml2/spec/ttml2.xml	Tue Nov 25 14:05:38 2014 -0700
@@ -13648,7 +13648,7 @@
 <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>
+  <phrase role="reqattr">name</phrase> = (<loc href="http://www.w3.org/TR/xmlschema-2/#token">xsd:token</loc>|<loc href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</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>)
@@ -13660,8 +13660,10 @@
 </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>
+<p>A <att>name</att> attribute must be specified to identify the name of the item. If a
+name takes the form of an <loc href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</loc>,
+then it must express an absolute URI. No standard name
+values of this attribute 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
Binary file ttml2/spec/xsd/schema.zip has changed
--- a/ttml2/spec/xsd/ttml2-datatypes.xsd	Tue Nov 25 13:24:54 2014 -0700
+++ b/ttml2/spec/xsd/ttml2-datatypes.xsd	Tue Nov 25 14:05:38 2014 -0700
@@ -83,7 +83,14 @@
     </xs:restriction>
   </xs:simpleType>
   <xs:simpleType name="dataFormat">
-    <xs:restriction base="xs:token"/>
+    <xs:union>
+      <xs:simpleType>
+        <xs:restriction base="xs:anyURI"/>
+      </xs:simpleType>
+      <xs:simpleType>
+        <xs:restriction base="xs:token"/>
+      </xs:simpleType>
+    </xs:union>
   </xs:simpleType>
   <xs:simpleType name="dataLength">
     <xs:restriction base="xs:nonNegativeInteger"/>
@@ -334,6 +341,16 @@
       <xs:enumeration value="other"/>
     </xs:restriction>
   </xs:simpleType>
+  <xs:simpleType name="metadataItemName">
+    <xs:union>
+      <xs:simpleType>
+        <xs:restriction base="xs:token"/>
+      </xs:simpleType>
+      <xs:simpleType>
+        <xs:restriction base="xs:anyURI"/>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
   <xs:simpleType name="metadataNameType">
     <xs:restriction base="xs:token">
       <xs:enumeration value="full"/>
--- a/ttml2/spec/xsd/ttml2-metadata-items.xsd	Tue Nov 25 13:24:54 2014 -0700
+++ b/ttml2/spec/xsd/ttml2-metadata-items.xsd	Tue Nov 25 14:05:38 2014 -0700
@@ -23,6 +23,10 @@
   <xs:attributeGroup name="desc.attlist">
     <xs:attributeGroup ref="tt:Core.attrib.class"/>
   </xs:attributeGroup>
+  <xs:attributeGroup name="item.attlist">
+    <xs:attribute name="name" type="ttd:metadataItemName" use="required"/>
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+  </xs:attributeGroup>
   <xs:attributeGroup name="name.attlist">
     <xs:attributeGroup ref="tt:Core.attrib.class"/>
     <xs:attribute name="type" type="ttd:metadataNameType" use="required"/>
@@ -46,6 +50,9 @@
   <xs:complexType name="desc.eltype" mixed="true">
     <xs:attributeGroup ref="ttm:desc.attlist"/>
   </xs:complexType>
+  <xs:complexType name="item.eltype" mixed="true">
+    <xs:attributeGroup ref="ttm:item.attlist"/>
+  </xs:complexType>
   <xs:complexType name="name.eltype" mixed="true">
     <xs:attributeGroup ref="ttm:name.attlist"/>
   </xs:complexType>
@@ -56,6 +63,7 @@
   <xs:element name="agent" type="ttm:agent.eltype"/>
   <xs:element name="copyright" type="ttm:copyright.eltype"/>
   <xs:element name="desc" type="ttm:desc.eltype"/>
+  <xs:element name="item" type="ttm:item.eltype"/>
   <xs:element name="name" type="ttm:name.eltype"/>
   <xs:element name="title" type="ttm:title.eltype"/>
   <xs:group name="MetadataItems.class">
@@ -63,6 +71,7 @@
       <xs:element ref="ttm:agent"/>
       <xs:element ref="ttm:copyright"/>
       <xs:element ref="ttm:desc"/>
+      <xs:element ref="ttm:item"/>
       <xs:element ref="ttm:title"/>
     </xs:choice>
   </xs:group>