[ttml11] add combine attribute (6.1.1), add prohibited value (6.1.[35])
authorGlenn Adams <glenn@skynav.com>
Wed, 10 Jul 2013 12:23:49 -0600
changeset 4328c8571a4d0b2
parent 431 554877e23369
child 433 a4fadd196850
[ttml11] add combine attribute (6.1.1), add prohibited value (6.1.[35])
ttml11/spec/rnc/schema.zip
ttml11/spec/rnc/ttml11-datatypes.rnc
ttml11/spec/rnc/ttml11-parameter-items.rnc
ttml11/spec/ttml-changes.html
ttml11/spec/ttml11.xml
ttml11/spec/xsd/schema.zip
ttml11/spec/xsd/ttml11-datatypes.xsd
ttml11/spec/xsd/ttml11-parameter-items.xsd
     1.1 Binary file ttml11/spec/rnc/schema.zip has changed
     2.1 --- a/ttml11/spec/rnc/ttml11-datatypes.rnc	Wed Jul 10 08:49:35 2013 -0600
     2.2 +++ b/ttml11/spec/rnc/ttml11-datatypes.rnc	Wed Jul 10 12:23:49 2013 -0600
     2.3 @@ -43,7 +43,8 @@
     2.4  TTAF.ExtensionValue.datatype =
     2.5   "optional" |
     2.6   "required" |
     2.7 - "use"
     2.8 + "use"      |
     2.9 + "prohibited"
    2.10  
    2.11  TTAF.Extent.datatype =
    2.12    string
    2.13 @@ -54,7 +55,8 @@
    2.14  TTAF.FeatureValue.datatype =
    2.15   "optional" |
    2.16   "required" |
    2.17 - "use"
    2.18 + "use"      |
    2.19 + "prohibited"
    2.20  
    2.21  TTAF.FontFamily.datatype =
    2.22    string
    2.23 @@ -140,6 +142,11 @@
    2.24  TTAF.Profile.datatype =
    2.25    TTAF.URI.datatype
    2.26  
    2.27 +TTAF.ProfileCombine.datatype =
    2.28 + "replace" |
    2.29 + "union  " |
    2.30 + "intersection"
    2.31 +
    2.32  TTAF.Role.datatype =
    2.33    list { TTAF.RoleItem.datatype+ }
    2.34  
     3.1 --- a/ttml11/spec/rnc/ttml11-parameter-items.rnc	Wed Jul 10 08:49:35 2013 -0600
     3.2 +++ b/ttml11/spec/rnc/ttml11-parameter-items.rnc	Wed Jul 10 12:23:49 2013 -0600
     3.3 @@ -13,7 +13,8 @@
     3.4  
     3.5  TTAF.parameters.profile.attlist &=
     3.6    TTAF.id.attrib,
     3.7 -  attribute use { TTAF.Profile.datatype }?
     3.8 +  attribute use { TTAF.Profile.datatype }?,
     3.9 +  attribute combine { TTAF.ProfileCombine.datatype }?
    3.10  
    3.11  TTAF.parameters.profile.content.extra = empty
    3.12  TTAF.parameters.profile.content =
     4.1 --- a/ttml11/spec/ttml-changes.html	Wed Jul 10 08:49:35 2013 -0600
     4.2 +++ b/ttml11/spec/ttml-changes.html	Wed Jul 10 12:23:49 2013 -0600
     4.3 @@ -33,11 +33,12 @@
     4.4  <pre>
     4.5  <span class="strong">Technical Changes</span>
     4.6  
     4.7 -* 
     4.8 -
     4.9 -<span class="strong">Editorial Changes</span>
    4.10 -
    4.11 -* 
    4.12 +* In 6.1.1, add 'combine' attribute to ttp:profile element, including normative
    4.13 +  processing semantics.
    4.14 +* In 6.1.3, add 'prohibited' value to 'value' attribute of ttp:feature element,
    4.15 +  including normative processing semantics.
    4.16 +* In 6.1.5, add 'prohibited' value to 'value' attribute of ttp:extension element,
    4.17 +  including normative processing semantics.
    4.18  
    4.19  </pre>
    4.20  </div>
     5.1 --- a/ttml11/spec/ttml11.xml	Wed Jul 10 08:49:35 2013 -0600
     5.2 +++ b/ttml11/spec/ttml11.xml	Wed Jul 10 12:23:49 2013 -0600
     5.3 @@ -1744,7 +1744,10 @@
     5.4  and optional (voluntary) features and extensions that must or
     5.5  may be supported by a <emph>Content Processor</emph> in order to process a
     5.6  <emph>Document Instance</emph> that makes (or may make) use of such features and
     5.7 -extensions.</p>
     5.8 +extensions. In addition, a feature or extension may be specified as
     5.9 +prohibited, in which case it must not appear in or be used by
    5.10 +a <emph>Document Instance</emph>, and, if it does appear, may result in
    5.11 +the <emph>Document Instance</emph> being rejected or processing otherwise aborted.</p>
    5.12  <note role="clarification">
    5.13  <p>The difference between a <emph>feature</emph> and an
    5.14  <emph>extension</emph> is where it is defined and how it is labeled:
    5.15 @@ -1769,7 +1772,9 @@
    5.16  <p>When a <el>tt:profile</el> element appears within a TTML <emph>Document Instance</emph>,
    5.17  its purpose is to express authorial intentions about which
    5.18  features and extensions must or may be supported by a recipient
    5.19 -content processor. In addition, the element indirectly expresses
    5.20 +content processor, as well as which features and extensions must
    5.21 +not be included or otherwise used in a <emph>Document Instance</emph>.
    5.22 +In addition, the element indirectly expresses
    5.23  information about the set of features or extensions that are (or may
    5.24  expected to be) used by the <emph>Document Instance</emph>.</p>
    5.25  <p>When a <el>tt:profile</el> element is used by a TTML <emph>Profile Definition Document</emph> instance,
    5.26 @@ -1788,6 +1793,7 @@
    5.27  <td>
    5.28  <eg xml:space="preserve">
    5.29  &lt;ttp:profile
    5.30 +  combine = (replace|union|intersection) : replace
    5.31    use = string
    5.32    <loc href="#content-attribute-id">xml:id</loc> = ID
    5.33    {<emph>any attribute not in default or any TT namespace</emph>}&gt;
    5.34 @@ -1811,6 +1817,22 @@
    5.35  profile of the <el>ttp:profile</el> element must be considered to be
    5.36  the empty (null) profile, i.e., a profile definition containing no
    5.37  feature or extension specifications.</p>
    5.38 +<p>The <att>combine</att> attribute may be used to specify how
    5.39 +feature or extension specifications are combined in the case that
    5.40 +multiple specifications apply to the same feature or extension, respectively.
    5.41 +If the value of the <att>combine</att> attribute is <code>replace</code>, then a
    5.42 +feature or extension specification contained in the <el>ttp:profile</el> element
    5.43 +replaces the specification defined by the baseline profile or a lexically subsequent
    5.44 +specification replaces a lexically prior specification in the case that both
    5.45 +specifications appear in the same <el>ttp:profile</el> element; if the value is
    5.46 +<code>union</code>, then the semantic union applies; if the value is <code>intersection</code>,
    5.47 +then the semantic intersection applies. If the <att>combine</att> attribute is not
    5.48 +specified, then replacement semantics apply.</p>
    5.49 +<ednote>
    5.50 +<name>Combine Semantics</name>
    5.51 +<date>2013-07-10</date>
    5.52 +<edtext>Need to elaborate semantics of union and intersection combination methods.</edtext>
    5.53 +</ednote>
    5.54  <p>The collection of features and extensions of a profile are determined according
    5.55  to the following ordered rules:</p>
    5.56  <olist>
    5.57 @@ -1828,9 +1850,8 @@
    5.58  descendant of the <el>ttp:profile</el> element, using a post-order
    5.59  traversal, merge the specified feature or extension with the features
    5.60  and extensions of the profile, where merging a feature or extension
    5.61 -entails replacing an existing feature or extension specification, if
    5.62 -it already exists, or adding a new feature or extension specification,
    5.63 -if it does not yet exist in the profile;</p>
    5.64 +entails applying the combination method in accordance with the specified
    5.65 +(or default) <att>combine</att> attribute value.</p>
    5.66  </item>
    5.67  </olist>
    5.68  <p>A conformant TTML processor is not required to be able to
    5.69 @@ -1876,7 +1897,7 @@
    5.70  <div3 id="parameter-vocabulary-features">
    5.71  <head>ttp:features</head>
    5.72  <p>The <el>ttp:features</el> element is a container element used to group
    5.73 -infomation about feature support requirements.</p>
    5.74 +infomation about feature support and usage requirements.</p>
    5.75  <p>The <el>ttp:features</el> element accepts as its children zero or more
    5.76  elements in the <code>Metadata.class</code> element group, followed by
    5.77  zero or more <el>ttp:feature</el> elements.</p>
    5.78 @@ -1913,7 +1934,7 @@
    5.79  <div3 id="parameter-vocabulary-feature">
    5.80  <head>ttp:feature</head>
    5.81  <p>The <el>ttp:feature</el> element is used to specify
    5.82 -infomation about support requirements for a particular feature.</p>
    5.83 +infomation about support and usage requirements for a particular feature.</p>
    5.84  <p>The children of the <el>ttp:feature</el> element must express a non-empty
    5.85  sequence of character information items that adheres to the
    5.86  <code>xsd:anyURI</code> data type defined by <bibref ref="xsd-2"/>,
    5.87 @@ -1925,7 +1946,7 @@
    5.88  <td>
    5.89  <eg xml:space="preserve">
    5.90  &lt;ttp:feature
    5.91 -  value = (optional|required|use) : required
    5.92 +  value = (optional|required|use|prohibited) : required
    5.93    <loc href="#content-attribute-id">xml:id</loc> = ID
    5.94    {<emph>any attribute not in default or any TT namespace</emph>}&gt;
    5.95    <emph>Content:</emph> #PCDATA
    5.96 @@ -1951,9 +1972,11 @@
    5.97  <p>If the URI expressed by the content of the <el>ttp:feature</el> element
    5.98  is a relative URI, then an <att>xml:base</att> attribute should be
    5.99  specified on the nearest ancestor <el>ttp:features</el> element.</p>
   5.100 -<p>The <att>value</att> attribute specifies whether a conforming TTML
   5.101 +<p>The <att>value</att> attribute specifies (1) whether a conforming TTML
   5.102  processor must or may implement the designated feature in order to
   5.103 -process the document. If the value of the <att>value</att> attribute
   5.104 +process the document, or (2) whether a TTML <emph>Document Instance</emph>
   5.105 +must not include or otherwise use the designated feature.
   5.106 +If the value of the <att>value</att> attribute
   5.107  is <code>optional</code>, then the processor need
   5.108  not implement or otherwise support the feature in order to process the
   5.109  document; if the value is <code>required</code>, then the processor
   5.110 @@ -1962,7 +1985,9 @@
   5.111  the document; if the value is
   5.112  <code>use</code>, then the processor must both (1) implement or
   5.113  otherwise support the feature and (2) have enabled (activated) use of the
   5.114 -feature.</p>
   5.115 +feature; if the value is <code>prohibited</code>, then the document must not
   5.116 +include or otherwise use the feature, and, if it does, then the processor
   5.117 +should reject or abort processing of the document.</p>
   5.118  <note role="clarification">
   5.119  <p>The default value of the <att>value</att> attribute is
   5.120  <code>required</code>, as indicated in the above element information
   5.121 @@ -1970,17 +1995,22 @@
   5.122  specified on a <el>ttp:feature</el> element, it is equivalent to
   5.123  specifying that support for the feature is required.</p>
   5.124  </note>
   5.125 +
   5.126  <p>If the value of the <att>value</att> attribute is
   5.127  <code>required</code> or <code>use</code>
   5.128  and the TTML processor implementation does
   5.129  not support the feature, or if the <att>value</att> attribute is
   5.130  <code>use</code> and the TTML processor implementation supports but has disabled
   5.131 -that feature, then it must not further process the document
   5.132 +that feature,
   5.133 +or if the <att>value</att> attribute is <code>prohibited</code> and a
   5.134 +<emph>Document Instance</emph> includes or makes use of the feature,
   5.135 +then it must not further process the document
   5.136  without the presence of an explicit override from an end-user or some
   5.137  implementation specific parameter traceable to an end-user or to a
   5.138  user or system configuration setting.  If a TTML processor aborts
   5.139  processing of a <emph>Document Instance</emph> due to the specification of a
   5.140 -required, but unsupported feature by this element, then some end-user
   5.141 +required, but unsupported feature by this element, or due to the presence
   5.142 +or use of a prohibited feature, then some end-user
   5.143  notification should be given unless the end-user or system has
   5.144  disabled such a notification, or if the processor does not permit or
   5.145  entail the intervention of an end-user.</p>
   5.146 @@ -1995,14 +2025,15 @@
   5.147  presence or reference to an optional feature by a document must not be
   5.148  considered to be a violation of document validity or a barrier to
   5.149  further processing if the syntactic expression is well-formed and
   5.150 -valid.</p>
   5.151 +otherwise valid.</p>
   5.152  <p>If some defined (i.e., standardized) or otherwise well known feature is not specified by
   5.153  a <el>ttp:feature</el> element in a given profile, then it must be interpreted as if the feature were specified
   5.154  with the <att>value</att> attribute equal to <code>optional</code>.</p>
   5.155  <note role="elaboration">
   5.156  <p>In particular, if some feature is not present in a profile definition, then
   5.157  it is not to be interpreted as meaning the use of that feature (in a <emph>Document Instance</emph>)
   5.158 -is disallowed or otherwise prohibited.</p>
   5.159 +is disallowed or otherwise prohibited. If a feature is intended to be disallowed by a profile, then
   5.160 +it should be specified using the <code>prohibited</code> value.</p>
   5.161  </note>
   5.162  <p>The <el>ttp:feature</el> element is illustrated by the following example.</p>
   5.163  <table id="parameter-vocabulary-feature-example-1" role="example">
   5.164 @@ -2015,6 +2046,7 @@
   5.165    &lt;ttp:features xml:base="http://www.w3.org/ns/ttml/feature/"&gt;
   5.166      <phrase role="strong">&lt;ttp:feature value="required"&gt;#fontStyle-italic&lt;/ttp:feature&gt;</phrase>
   5.167      <phrase role="strong">&lt;ttp:feature value="required"&gt;#textDecoration-under&lt;/ttp:feature&gt;</phrase>
   5.168 +    <phrase role="strong">&lt;ttp:feature value="prohibited"&gt;#textOutline-blurred&lt;/ttp:feature&gt;</phrase>
   5.169    &lt;/ttp:features&gt;
   5.170  &lt;/ttp:profile&gt;
   5.171  </eg>
   5.172 @@ -2024,20 +2056,22 @@
   5.173  </table>
   5.174  <note role="explanation">
   5.175  <p>In the above example, the DFXP presentation profile is used as the
   5.176 -baseline profile. This baseline profile is then modified by two
   5.177 -<el>ttp:feature</el> elements in order to
   5.178 +baseline profile. This baseline profile is then modified by three
   5.179 +<el>ttp:feature</el> elements in order to (1)
   5.180  superset the baseline profile (since neither
   5.181  <code>#fontStyle-italic</code> nor <code>#textDecoration-under</code>
   5.182 -are required by the DFXP presentation profile).</p> 
   5.183 +are required by the DFXP presentation profile), and
   5.184 +(2) prohibit use of the <code>#textOutline-blurred</code> feature
   5.185 +(which is optional in the DFXP presentation profile).</p> 
   5.186  <p>The effect of this example is to express authorial intentions that
   5.187  italic font style and text underlining must be
   5.188 -supported.</p>
   5.189 +supported, and that text outline blurring must not be used by a document.</p>
   5.190  </note>
   5.191  </div3>
   5.192  <div3 id="parameter-vocabulary-extensions">
   5.193  <head>ttp:extensions</head>
   5.194  <p>The <el>ttp:extensions</el> element is a container element used to group
   5.195 -infomation about extension support requirements.</p>
   5.196 +infomation about extension support and usage requirements.</p>
   5.197  <p>The <el>ttp:extensions</el> element accepts as its children zero or more
   5.198  elements in the <code>Metadata.class</code> element group, followed by
   5.199  zero or more <el>ttp:extension</el> elements.</p>
   5.200 @@ -2074,7 +2108,7 @@
   5.201  <div3 id="parameter-vocabulary-extension">
   5.202  <head>ttp:extension</head>
   5.203  <p>The <el>ttp:extension</el> element is used to specify
   5.204 -infomation about support requirements for a particular extension.</p>
   5.205 +infomation about support and usage requirements for a particular extension.</p>
   5.206  <p>The children of the <el>ttp:extension</el> element must express a non-empty
   5.207  sequence of character information items that adheres to the
   5.208  <code>xsd:anyURI</code> data type defined by <bibref ref="xsd-2"/>,
   5.209 @@ -2086,7 +2120,7 @@
   5.210  <td>
   5.211  <eg xml:space="preserve">
   5.212  &lt;ttp:extension
   5.213 -  value = (optional|required|use) : required
   5.214 +  value = (optional|required|use|prohibited) : required
   5.215    <loc href="#content-attribute-id">xml:id</loc> = ID
   5.216    {<emph>any attribute not in default or any TT namespace</emph>}&gt;
   5.217    <emph>Content:</emph> #PCDATA
   5.218 @@ -2109,17 +2143,22 @@
   5.219  <el>ttp:feature</el> element is a relative URI, then an
   5.220  <att>xml:base</att> attribute should be specified on the nearest
   5.221  ancestor <el>ttp:extensions</el> element.</p>
   5.222 -<p>The <att>value</att> attribute specifies whether a conforming TTML
   5.223 +<p>The <att>value</att> attribute specifies (1) whether a conforming TTML
   5.224  processor must or may implement the designated extension in order to
   5.225 -process the document. If the value of the <att>value</att> attribute
   5.226 +process the document, or (2) whether a TTML <emph>Document Instance</emph>
   5.227 +must not include or otherwise use the designated extension.
   5.228 +If the value of the <att>value</att> attribute
   5.229  is <code>optional</code>, then the processor need
   5.230  not implement or otherwise support the extension in order to process the
   5.231  document; if the value is <code>required</code>, then the processor
   5.232 -must implement or otherwise support the extension in order to process
   5.233 +must implement or otherwise support the extension, irrespective of
   5.234 +whether the extension is enabled or disabled, in order to process
   5.235  the document; if the value is
   5.236  <code>use</code>, then the processor must both (1) implement or
   5.237 -otherwise support the extension and (2) enable (activate) use of the
   5.238 -extension.</p>
   5.239 +otherwise support the extension and (2) have enabled (activated) use of the
   5.240 +extension; if the value is <code>prohibited</code>, then the document must not
   5.241 +include or otherwise use the extension, and, if it does, then the processor
   5.242 +should reject or abort processing of the document.</p>
   5.243  <note role="clarification">
   5.244  <p>The default value of the <att>value</att> attribute is
   5.245  <code>required</code>, as indicated in the above element information
   5.246 @@ -2153,14 +2192,15 @@
   5.247  presence or reference to an optional extension by a document must not be
   5.248  considered to be a violation of document validity or a barrier to
   5.249  further processing if the syntactic expression is well-formed and
   5.250 -valid.</p>
   5.251 +otherwise valid.</p>
   5.252  <p>If some well known extension is not specified by
   5.253  a <el>ttp:extension</el> element in a given profile, then it must be interpreted as if the extension were specified
   5.254  with the <att>value</att> attribute equal to <code>optional</code>.</p>
   5.255  <note role="elaboration">
   5.256  <p>In particular, if some extension is not present in a profile definition, then
   5.257  it is not to be interpreted as meaning the use of that extension (in a <emph>Document Instance</emph>)
   5.258 -is disallowed or otherwise prohibited.</p>
   5.259 +is disallowed or otherwise prohibited. If an extension is intended to be disallowed by a profile, then
   5.260 +it should be specified using the <code>prohibited</code> value.</p>
   5.261  </note>
   5.262  <p>The <el>ttp:extension</el> element is illustrated by the following example.</p>
   5.263  <table id="parameter-vocabulary-extension-example-1" role="example">
     6.1 Binary file ttml11/spec/xsd/schema.zip has changed
     7.1 --- a/ttml11/spec/xsd/ttml11-datatypes.xsd	Wed Jul 10 08:49:35 2013 -0600
     7.2 +++ b/ttml11/spec/xsd/ttml11-datatypes.xsd	Wed Jul 10 12:23:49 2013 -0600
     7.3 @@ -58,6 +58,7 @@
     7.4        <xs:enumeration value="optional"/>
     7.5        <xs:enumeration value="required"/>
     7.6        <xs:enumeration value="use"/>
     7.7 +      <xs:enumeration value="prohibited"/>
     7.8      </xs:restriction>
     7.9    </xs:simpleType>
    7.10    <xs:simpleType name="extent">
    7.11 @@ -74,6 +75,7 @@
    7.12        <xs:enumeration value="optional"/>
    7.13        <xs:enumeration value="required"/>
    7.14        <xs:enumeration value="use"/>
    7.15 +      <xs:enumeration value="prohibited"/>
    7.16      </xs:restriction>
    7.17    </xs:simpleType>
    7.18    <xs:simpleType name="fontFamily">
    7.19 @@ -205,6 +207,13 @@
    7.20        </xs:simpleType>
    7.21      </xs:restriction>
    7.22    </xs:simpleType>
    7.23 +  <xs:simpleType name="profileCombine">
    7.24 +    <xs:restriction base="xs:token">
    7.25 +      <xs:enumeration value="replace"/>
    7.26 +      <xs:enumeration value="union"/>
    7.27 +      <xs:enumeration value="intersection"/>
    7.28 +    </xs:restriction>
    7.29 +  </xs:simpleType>
    7.30    <xs:simpleType name="roleItem">
    7.31      <xs:annotation>
    7.32        <xs:documentation>metadataRoleBaseType | "x-"string</xs:documentation>
     8.1 --- a/ttml11/spec/xsd/ttml11-parameter-items.xsd	Wed Jul 10 08:49:35 2013 -0600
     8.2 +++ b/ttml11/spec/xsd/ttml11-parameter-items.xsd	Wed Jul 10 12:23:49 2013 -0600
     8.3 @@ -13,6 +13,7 @@
     8.4    <xs:attributeGroup name="profile.attlist">
     8.5      <xs:attributeGroup ref="tt:Core.ID.attrib.class"/>
     8.6      <xs:attribute name="use" type="ttd:profile"/>
     8.7 +    <xs:attribute name="combine" type="ttd:profileCombine"/>
     8.8      <xs:anyAttribute namespace="##other" processContents="lax"/>
     8.9    </xs:attributeGroup>
    8.10    <xs:attributeGroup name="features.attlist">