[ttml2] add ttp:profileCombination parameter attribute (issue 206)
authorGlenn Adams <glenn@skynav.com>
Thu, 05 Sep 2013 21:38:20 -0600
changeset 544bda2b2918b85
parent 543 e61f4a36622a
child 545 7d4951a0e74d
[ttml2] add ttp:profileCombination parameter attribute (issue 206)
ttml2/spec/rnc/schema.zip
ttml2/spec/rnc/ttml2-datatypes.rnc
ttml2/spec/rnc/ttml2-parameter-attribs.rnc
ttml2/spec/rnc/ttml2-parameter-items.rnc
ttml2/spec/ttml2-changes.html
ttml2/spec/ttml2.xml
ttml2/spec/xsd/schema.zip
ttml2/spec/xsd/ttml2-datatypes.xsd
ttml2/spec/xsd/ttml2-parameter-attribs.xsd
ttml2/spec/xsd/ttml2-parameter-items.xsd
     1.1 Binary file ttml2/spec/rnc/schema.zip has changed
     2.1 --- a/ttml2/spec/rnc/ttml2-datatypes.rnc	Thu Sep 05 20:35:19 2013 -0600
     2.2 +++ b/ttml2/spec/rnc/ttml2-datatypes.rnc	Thu Sep 05 21:38:20 2013 -0600
     2.3 @@ -178,10 +178,15 @@
     2.4  TTAF.Profile.datatype =
     2.5    TTAF.URI.datatype
     2.6  
     2.7 +TTAF.ProfileCombination.datatype =
     2.8 + "leastRestrictive" |
     2.9 + "mostRestrictive  " |
    2.10 + "replace"
    2.11 +
    2.12  TTAF.ProfileCombine.datatype =
    2.13 + "intersection" |
    2.14   "replace" |
    2.15 - "union  " |
    2.16 - "intersection"
    2.17 + "union  "
    2.18  
    2.19  TTAF.QualifiedName.datatype =
    2.20    xsd:QName
     3.1 --- a/ttml2/spec/rnc/ttml2-parameter-attribs.rnc	Thu Sep 05 20:35:19 2013 -0600
     3.2 +++ b/ttml2/spec/rnc/ttml2-parameter-attribs.rnc	Thu Sep 05 21:38:20 2013 -0600
     3.3 @@ -18,10 +18,12 @@
     3.4    = attribute ttp:frameRateMultiplier { TTAF.FrameRateMultiplier.datatype }?
     3.5  TTAF.markerMode.attrib
     3.6    = attribute ttp:markerMode { TTAF.MarkerMode.datatype }?
     3.7 +TTAF.pixelAspectRatio.attrib
     3.8 +  = attribute ttp:pixelAspectRatio { TTAF.PixelAspectRatio.datatype }?
     3.9  TTAF.profile.attrib
    3.10    = attribute ttp:profile { TTAF.Profile.datatype }?
    3.11 -TTAF.pixelAspectRatio.attrib
    3.12 -  = attribute ttp:pixelAspectRatio { TTAF.PixelAspectRatio.datatype }?
    3.13 +TTAF.profileCombination.attrib
    3.14 +  = attribute ttp:profileCombination { TTAF.ProfileCombination.datatype }?
    3.15  TTAF.subFrameRate.attrib
    3.16    = attribute ttp:subFrameRate { TTAF.SubFrameRate.datatype }?
    3.17  TTAF.tickRate.attrib
    3.18 @@ -40,6 +42,7 @@
    3.19    TTAF.markerMode.attrib,
    3.20    TTAF.pixelAspectRatio.attrib,
    3.21    TTAF.profile.attrib,
    3.22 +  TTAF.profileCombination.attrib,
    3.23    TTAF.subFrameRate.attrib,
    3.24    TTAF.tickRate.attrib,
    3.25    TTAF.timeBase.attrib
     4.1 --- a/ttml2/spec/rnc/ttml2-parameter-items.rnc	Thu Sep 05 20:35:19 2013 -0600
     4.2 +++ b/ttml2/spec/rnc/ttml2-parameter-items.rnc	Thu Sep 05 21:38:20 2013 -0600
     4.3 @@ -13,6 +13,7 @@
     4.4  
     4.5  TTAF.parameters.profile.attlist &=
     4.6    TTAF.id.attrib,
     4.7 +  TTAF.profileCombination.attrib,
     4.8    attribute combine { TTAF.ProfileCombine.datatype }?,
     4.9    attribute designator { TTAF.Profile.datatype }?,
    4.10    attribute use { TTAF.Profile.datatype }?
     5.1 --- a/ttml2/spec/ttml2-changes.html	Thu Sep 05 20:35:19 2013 -0600
     5.2 +++ b/ttml2/spec/ttml2-changes.html	Thu Sep 05 21:38:20 2013 -0600
     5.3 @@ -54,6 +54,8 @@
     5.4  * In 6.1.5, add 'prohibited' value to 'value' attribute of ttp:extension element,
     5.5    including normative processing semantics.
     5.6  
     5.7 +* In 6.2, add 'ttp:profileCombination parameter attribute.
     5.8 +
     5.9  * In 6.2, add 'ttp:version' parameter attribute.
    5.10  
    5.11  * In 7.1.2, add new 'animation' container element as optional child of 'head'
     6.1 --- a/ttml2/spec/ttml2.xml	Thu Sep 05 20:35:19 2013 -0600
     6.2 +++ b/ttml2/spec/ttml2.xml	Thu Sep 05 21:38:20 2013 -0600
     6.3 @@ -1362,6 +1362,11 @@
     6.4  attribute are present (in a given <loc href="#terms-document-instance">document instance</loc>), then the
     6.5  <att>ttp:profile</att> attribute must be ignored for the purpose of
     6.6  determining the declared profile requirements.</p>
     6.7 +<ednote>
     6.8 +<name>Profile Combination Semantics</name>
     6.9 +<date>2013-09-05</date>
    6.10 +<edtext>Need to incorporate affects of <att>ttp:profileCombination</att> parameter into the following paragraph.</edtext>
    6.11 +</ednote>
    6.12  <p>If more than one <el>ttp:profile</el> element appears in
    6.13  a <loc href="#terms-document-instance">document instance</loc>, then all specified profiles apply
    6.14  simultaneously.  In such a case, if some feature or some extension is
    6.15 @@ -1723,6 +1728,7 @@
    6.16  <loc href="#parameter-attribute-markerMode">ttp:markerMode</loc>,
    6.17  <loc href="#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</loc>,
    6.18  <loc href="#parameter-attribute-profile">ttp:profile</loc>,
    6.19 +<loc href="#parameter-attribute-cellResolution">ttp:profileCombination</loc>,
    6.20  <loc href="#parameter-attribute-subFrameRate">ttp:subFrameRate</loc>,
    6.21  <loc href="#parameter-attribute-tickRate">ttp:tickRate</loc>,
    6.22  <loc href="#parameter-attribute-timeBase">ttp:timeBase</loc>,
    6.23 @@ -1943,6 +1949,11 @@
    6.24  profile of the <el>ttp:profile</el> element must be considered to be
    6.25  the empty (null) profile, i.e., a profile definition containing no
    6.26  feature or extension specifications.</p>
    6.27 +<ednote>
    6.28 +<name>Combine Semantics</name>
    6.29 +<date>2013-09-05</date>
    6.30 +<edtext>Need to incorporate affects of <att>combine</att> attribute into following rules.</edtext>
    6.31 +</ednote>
    6.32  <p>The collection of features and extensions of a profile are determined according
    6.33  to the following ordered rules:</p>
    6.34  <olist>
    6.35 @@ -2790,6 +2801,43 @@
    6.36  attribute is considered to be significant only when specified on the
    6.37  <el>tt</el> element.</p>
    6.38  </div3>
    6.39 +<div3 id="parameter-attribute-profileCombination">
    6.40 +<head>ttp:profileCombination</head>
    6.41 +<p>The <att>ttp:profileCombination</att> attribute is used to specify the
    6.42 +method for combining multiple profiles.</p>
    6.43 +<p>If specified, the value of this attribute must adhere to the following syntax:</p>
    6.44 +<table id="parameter-attribute-profileCombination-syntax" role="syntax">
    6.45 +<caption>Syntax Representation &ndash; ttp:profileCombination</caption>
    6.46 +<tbody>
    6.47 +<tr>
    6.48 +<td>
    6.49 +<eg xml:space="preserve">
    6.50 +ttp:profileCombination
    6.51 +  : "leastRestrictive"
    6.52 +  | "mostRestrictive"
    6.53 +  | "replace"
    6.54 +</eg>
    6.55 +</td>
    6.56 +</tr>
    6.57 +</tbody>
    6.58 +</table>
    6.59 +<p>If this parameter's value is <code>leastRestrictive</code> or <code>mostRestrictive</code>,
    6.60 +then, when combining features or extensions from any two profiles, the least or most restrictive value applies,
    6.61 +respectively, where the order of restriction is as follows (from most to least): <code>prohibited</code>,
    6.62 +<code>use</code>, <code>required</code>, then <code>optional</code>.</p>
    6.63 +<p>If this parameter's value is <code>replace</code>, then, when combining features or extensions from any two
    6.64 +profiles, the lexically subsequent profile's feature or extension specification applies, i.e., replaces the
    6.65 +lexically prior specification.</p>
    6.66 +<p>A <att>ttp:profileCombination</att> attribute is considered to be significant only
    6.67 +when specified on the <el>tt</el> or <el>ttp:profile</el> elements.</p>
    6.68 +<p>When specified on the <el>tt</el> element, it determines how multiple top-level (or nested) profile definitions are
    6.69 +combined. When specified on an <el>ttp:profile</el> element, it determines how multiple, nested profile definition
    6.70 +children of that <el>ttp:profile</el> element are combined.</p>
    6.71 +<p>If not specified on a given <el>ttp:profile</el> element, then, if specified on an ancestor
    6.72 +<el>ttp:profile</el> or <el>tt</el> element, then the value specified by the most immediate
    6.73 +of these ancestors applies. However, if no value is specified by an ancestor <el>ttp:profile</el> or <el>tt</el> element,
    6.74 +then the value of this parameter must be considered to be <code>replace</code>.</p>
    6.75 +</div3>
    6.76  <div3 id="parameter-attribute-subFrameRate">
    6.77  <head>ttp:subFrameRate</head>
    6.78  <p>The <att>ttp:subFrameRate</att> attribute is used to specify the sub-frame rate of a related
     7.1 Binary file ttml2/spec/xsd/schema.zip has changed
     8.1 --- a/ttml2/spec/xsd/ttml2-datatypes.xsd	Thu Sep 05 20:35:19 2013 -0600
     8.2 +++ b/ttml2/spec/xsd/ttml2-datatypes.xsd	Thu Sep 05 21:38:20 2013 -0600
     8.3 @@ -351,11 +351,18 @@
     8.4        </xs:simpleType>
     8.5      </xs:restriction>
     8.6    </xs:simpleType>
     8.7 +  <xs:simpleType name="profileCombination">
     8.8 +    <xs:restriction base="xs:token">
     8.9 +      <xs:enumeration value="mostRestrictive"/>
    8.10 +      <xs:enumeration value="leastRestrictive"/>
    8.11 +      <xs:enumeration value="replace"/>
    8.12 +    </xs:restriction>
    8.13 +  </xs:simpleType>
    8.14    <xs:simpleType name="profileCombine">
    8.15      <xs:restriction base="xs:token">
    8.16 +      <xs:enumeration value="intersection"/>
    8.17        <xs:enumeration value="replace"/>
    8.18        <xs:enumeration value="union"/>
    8.19 -      <xs:enumeration value="intersection"/>
    8.20      </xs:restriction>
    8.21    </xs:simpleType>
    8.22    <xs:simpleType name="roleItem">
     9.1 --- a/ttml2/spec/xsd/ttml2-parameter-attribs.xsd	Thu Sep 05 20:35:19 2013 -0600
     9.2 +++ b/ttml2/spec/xsd/ttml2-parameter-attribs.xsd	Thu Sep 05 21:38:20 2013 -0600
     9.3 @@ -11,6 +11,7 @@
     9.4    <xs:attribute name="frameRateMultiplier" type="ttd:frameRateMultiplier"/>
     9.5    <xs:attribute name="markerMode" type="ttd:markerMode"/>
     9.6    <xs:attribute name="profile" type="ttd:profile"/>
     9.7 +  <xs:attribute name="profileCombination" type="ttd:profileCombination"/>
     9.8    <xs:attribute name="pixelAspectRatio" type="ttd:pixelAspectRatio"/>
     9.9    <xs:attribute name="subFrameRate" type="ttd:subFrameRate"/>
    9.10    <xs:attribute name="tickRate" type="ttd:tickRate"/>
    9.11 @@ -23,6 +24,7 @@
    9.12      <xs:attribute ref="ttp:frameRateMultiplier"/>
    9.13      <xs:attribute ref="ttp:markerMode"/>
    9.14      <xs:attribute ref="ttp:profile"/>
    9.15 +    <xs:attribute ref="ttp:profileCombination"/>
    9.16      <xs:attribute ref="ttp:pixelAspectRatio"/>
    9.17      <xs:attribute ref="ttp:subFrameRate"/>
    9.18      <xs:attribute ref="ttp:tickRate"/>
    10.1 --- a/ttml2/spec/xsd/ttml2-parameter-items.xsd	Thu Sep 05 20:35:19 2013 -0600
    10.2 +++ b/ttml2/spec/xsd/ttml2-parameter-items.xsd	Thu Sep 05 21:38:20 2013 -0600
    10.3 @@ -12,6 +12,7 @@
    10.4    <xs:include schemaLocation="ttml2-parameter-attribs.xsd"/>
    10.5    <xs:attributeGroup name="profile.attlist">
    10.6      <xs:attributeGroup ref="tt:Core.ID.attrib.class"/>
    10.7 +    <xs:attribute ref="ttp:profileCombination"/>
    10.8      <xs:attribute name="combine" type="ttd:profileCombine"/>
    10.9      <xs:attribute name="designator" type="ttd:profile"/>
   10.10      <xs:attribute name="use" type="ttd:profile"/>