--- a/ttml2/spec/ttml2.html Tue Nov 25 18:56:47 2014 -0700
+++ b/ttml2/spec/ttml2.html Tue Nov 25 18:57:02 2014 -0700
@@ -83,9 +83,9 @@
.obsoleted { background-color: #f26d7d }
.reqattr { font-weight: bold }
.optattr { font-style: italic }
-</style><link rel="stylesheet" type="text/css" href="https://www.w3.org/StyleSheets/TR/W3C-ED.css"></head><body>Last Modified: $Date: 2014/11/25 21:05:38 $<div id="revisions"></div><div class="head">
+</style><link rel="stylesheet" type="text/css" href="https://www.w3.org/StyleSheets/TR/W3C-ED.css"></head><body>Last Modified: $Date: 2014/11/26 01:56:47 $<div id="revisions"></div><div class="head">
<h1><a id="title"></a>Timed Text Markup Language 2 (TTML2)</h1>
-<h2><a id="w3c-doctype"></a>Editors' copy $Date: 2014/11/25 21:05:38 $ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
+<h2><a id="w3c-doctype"></a>Editors' copy $Date: 2014/11/26 01:56:47 $ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
<a href="ttml2.html">ttml2.html</a>
</dd><dt>Latest version:</dt><dd><a href="https://dvcs.w3.org/hg/ttml/raw-file/default/ttml2/spec/ttml2.html?content-type=text/html;charset=utf-8">https://dvcs.w3.org/hg/ttml/raw-file/default/ttml2/spec/ttml2.html?content-type=text/html;charset=utf-8</a></dd><dt>Previous version:</dt><dd>
<a href="http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/">http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/</a>
@@ -182,9 +182,20 @@
8.1.6 <a href="#content-vocabulary-span">span</a><br>
8.1.7 <a href="#content-vocabulary-br">br</a><br>
8.2 <a href="#content-attribute-vocabulary">Content Attribute Vocabulary</a><br>
- 8.2.1 <a href="#content-attribute-id">xml:id</a><br>
- 8.2.2 <a href="#content-attribute-lang">xml:lang</a><br>
- 8.2.3 <a href="#content-attribute-space">xml:space</a><br>
+ 8.2.1 <a href="#content-attribute-condition">condition</a><br>
+ 8.2.2 <a href="#content-attribute-id">xml:id</a><br>
+ 8.2.3 <a href="#content-attribute-lang">xml:lang</a><br>
+ 8.2.4 <a href="#content-attribute-space">xml:space</a><br>
+ 8.3 <a href="#content-value-expressions">Content Value Expressions</a><br>
+ 8.3.1 <a href="#content-value-arguments"><arguments></a><br>
+ 8.3.2 <a href="#content-value-bound-parameter"><bound-parameter></a><br>
+ 8.3.3 <a href="#content-value-condition"><condition></a><br>
+ 8.3.4 <a href="#content-value-condition-function"><condition-function></a><br>
+ 8.3.5 <a href="#content-value-expression"><expression></a><br>
+ 8.3.6 <a href="#content-value-media-function"><media-function></a><br>
+ 8.3.7 <a href="#content-value-quoted-string"><quoted-string></a><br>
+ 8.3.8 <a href="#content-value-parameter-function"><parameter-function></a><br>
+ 8.3.9 <a href="#content-value-supports-function"><supports-function></a><br>
9 <a href="#embedded-content">Embedded Content</a><br>
9.1 <a href="#embedded-content-element-vocabulary">Embedded Content Element Vocabulary</a><br>
9.1.1 <a href="#embedded-content-vocabulary-audio">audio</a><br>
@@ -206,9 +217,10 @@
9.3.4 <a href="#embedded-content-value-data-format"><data-format></a><br>
9.3.5 <a href="#embedded-content-value-font"><font></a><br>
9.3.6 <a href="#embedded-content-value-font-format"><font-format></a><br>
- 9.3.7 <a href="#embedded-content-value-image"><image></a><br>
- 9.3.8 <a href="#embedded-content-value-image-format"><image-format></a><br>
- 9.3.9 <a href="#embedded-content-value-unicode-range"><unicode-range></a><br>
+ 9.3.7 <a href="#embedded-content-value-format"><format></a><br>
+ 9.3.8 <a href="#embedded-content-value-image"><image></a><br>
+ 9.3.9 <a href="#embedded-content-value-image-format"><image-format></a><br>
+ 9.3.10 <a href="#embedded-content-value-unicode-range"><unicode-range></a><br>
10 <a href="#styling">Styling</a><br>
10.1 <a href="#styling-element-vocabulary">Styling Element Vocabulary</a><br>
10.1.1 <a href="#styling-vocabulary-initial">initial</a><br>
@@ -485,11 +497,11 @@
H <a href="#other-references">Other References</a> (Non-Normative)<br>
I <a href="#requirements">Requirements</a> (Non-Normative)<br>
J <a href="#derivation">Vocabulary Derivation</a> (Non-Normative)<br>
- J.1 <a href="#d3e31697">Element Derivation</a><br>
- J.2 <a href="#d3e32214">Attribute Derivation</a><br>
+ J.1 <a href="#d3e32322">Element Derivation</a><br>
+ J.2 <a href="#d3e32839">Attribute Derivation</a><br>
K <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br>
- K.1 <a href="#d3e33207">Requirements</a><br>
- K.2 <a href="#d3e33371">Guidelines</a><br>
+ K.1 <a href="#d3e33832">Requirements</a><br>
+ K.2 <a href="#d3e33996">Guidelines</a><br>
L <a href="#streaming">Streaming TTML Content</a> (Non-Normative)<br>
M <a href="#concrete-encoding">Concrete Encoding</a><br>
N <a href="#time-expression-semantics">Time Expression Semantics</a><br>
@@ -777,11 +789,13 @@
labeled (using a feature designation) in this specification (or a past or
future revision of this specification).</p></dd><dt class="label"><a id="terms-feature-specification"></a>[feature specification]</dt><dd><p>A specification of a constraint or requirement that relates to an
<a href="#terms-feature">feature</a>, typically expressed by
-an <a href="#profile-vocabulary-feature"><code>ttp:feature</code></a> element.</p></dd><dt class="label"><a id="terms-fragment-identifier"></a>[fragment identifier]</dt><dd><p>A syntactic expression that adheres to the fragment identifer syntax defined by <a href="#uri">[URI]</a>,
-Section 4.1.</p></dd><dt class="label"><a id="terms-font-defining-context"></a>[font defining context]</dt><dd><p>The context in which a <a href="#embedded-content-vocabulary-font"><code>font</code></a> element is specified to serve as
+an <a href="#profile-vocabulary-feature"><code>ttp:feature</code></a> element.</p></dd><dt class="label"><a id="terms-forced-subtitle"></a>[forced subtitle]</dt><dd><p>A subtitle (or caption) that is intended to always be displayed even if subtitles (captions) are not enabled. Forced subtitles (captions)
+are used to prevent open captioning of, i.e., burning in, subtitles (captions) related to foreign or alien language or translation of text
+that appears in media, such as in a sign.</p></dd><dt class="label"><a id="terms-font-defining-context"></a>[font defining context]</dt><dd><p>The context in which a <a href="#embedded-content-vocabulary-font"><code>font</code></a> element is specified to serve as
a sharable definition to be referenced indirectly by a <a href="#terms-font-selection-process">font selection process</a>.</p></dd><dt class="label"><a id="terms-font-selection-process"></a>[font selection process]</dt><dd><p>An internal process used by a <a href="#terms-presentation-processor">presentation processor</a> which purpose is to select
a set of author defined fonts and platform fonts for use during layout and presentation processing, where input parameters to this
-process include the computed values of font related properties, the capabilities of individual fonts, and the text content being presented.</p></dd><dt class="label"><a id="terms-image-defining-context"></a>[image defining context]</dt><dd><p>The context in which an <a href="#embedded-content-vocabulary-image"><code>image</code></a> element is specified to serve as
+process include the computed values of font related properties, the capabilities of individual fonts, and the text content being presented.</p></dd><dt class="label"><a id="terms-fragment-identifier"></a>[fragment identifier]</dt><dd><p>A syntactic expression that adheres to the fragment identifer syntax defined by <a href="#uri">[URI]</a>,
+Section 4.1.</p></dd><dt class="label"><a id="terms-image-defining-context"></a>[image defining context]</dt><dd><p>The context in which an <a href="#embedded-content-vocabulary-image"><code>image</code></a> element is specified to serve as
a sharable definition to be referenced by another <a href="#embedded-content-vocabulary-image"><code>image</code></a> element
in an <a href="#terms-image-presentation-context">image presentation context</a>.</p></dd><dt class="label"><a id="terms-image-presentation-context"></a>[image presentation context]</dt><dd><p>The context in which an <a href="#embedded-content-vocabulary-image"><code>image</code></a> element is specified for the
purpose of being presented (rendered). Such an <a href="#embedded-content-vocabulary-image"><code>image</code></a> element
@@ -1061,7 +1075,7 @@
referenced schemas may result in a <em>false positive</em> indication of validity.
For example, both the RNC and XSD schemas specify
that a <code>tts:fontFamily</code> attribute must
-satisfy the <code>xs:string</code> XSD data type; however, this data type is a superset
+satisfy the <code>xsd:string</code> XSD data type; however, this data type is a superset
of the values permitted to be used with the <code>tts:fontFamily</code> attribute.</p><p>In addition, the RNC schema may produce a <em>false negative</em>
indication of validity when using the <code>xml:id</code> attribute with an element in
a foreign namespace, thus representing a subset of conformant TTML Content. This is
@@ -2581,6 +2595,7 @@
zero or one <code>body</code> element.</p><a id="elt-syntax-tt"></a><table class="syntax"><caption>XML Representation – Element Information Item: tt</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<tt
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#style-attribute-extent">tts:extent</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-id">xml:id</a> = ID
<a href="#content-attribute-lang"><span class="reqattr">xml:lang</span></a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
@@ -2633,6 +2648,7 @@
or <a href="#element-vocab-type-layout">Layout</a> elements.</p><a id="elt-syntax-head"></a><table class="syntax"><caption>XML Representation – Element Information Item: head</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<head
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-id">xml:id</a> = ID
<a href="#content-attribute-lang">xml:lang</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
@@ -2657,6 +2673,7 @@
<body
<a href="#animation-attribute-animate">animate</a> = IDREFS
<a href="#timing-attribute-begin">begin</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#timing-attribute-dur">dur</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
<a href="#timing-attribute-end">end</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
<a href="#layout-attribute-region">region</a> = IDREF
@@ -2717,6 +2734,7 @@
<div
<a href="#animation-attribute-animate">animate</a> = IDREFS
<a href="#timing-attribute-begin">begin</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#timing-attribute-dur">dur</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
<a href="#timing-attribute-end">end</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
<a href="#layout-attribute-region">region</a> = IDREF
@@ -2760,6 +2778,7 @@
<p
<a href="#animation-attribute-animate">animate</a> = IDREFS
<a href="#timing-attribute-begin">begin</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#timing-attribute-dur">dur</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
<a href="#timing-attribute-end">end</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
<a href="#layout-attribute-region">region</a> = IDREF
@@ -2807,6 +2826,7 @@
<span
<a href="#animation-attribute-animate">animate</a> = IDREFS
<a href="#timing-attribute-begin">begin</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#timing-attribute-dur">dur</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
<a href="#timing-attribute-end">end</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
<a href="#layout-attribute-region">region</a> = IDREF
@@ -2836,6 +2856,7 @@
<br
<a href="#animation-attribute-animate">animate</a> = IDREFS
<a href="#timing-attribute-begin">begin</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#timing-attribute-dur">dur</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
<a href="#timing-attribute-end">end</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
<a href="#layout-attribute-region">region</a> = IDREF
@@ -2860,17 +2881,20 @@
a <code>br</code> element, then it must be interpreted as having
<em>parallel</em> time containment semantics.</p></div></div><div class="div2">
<h3><a id="content-attribute-vocabulary"></a>8.2 Content Attribute Vocabulary</h3><p>This section defines the following common attributes used with many or all element types
-in the core vocabulary catalog:</p><ul><li><p><a href="#content-attribute-id"><b>8.2.1 xml:id</b></a></p></li><li><p><a href="#content-attribute-lang"><b>8.2.2 xml:lang</b></a></p></li><li><p><a href="#content-attribute-space"><b>8.2.3 xml:space</b></a></p></li></ul><div class="div3">
-<h4><a id="content-attribute-id"></a>8.2.1 xml:id</h4><p>The <code>xml:id</code> attribute is used as defined by
-<a href="#xmlid">[XML ID]</a>.</p><p>The <code>xml:id</code> attribute may be used with any element in the
-core vocabulary catalog.</p><table border="1" class="ednote" summary="Editorial note: Deprecating xml:id in favor of unqualified id"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Deprecating xml:id in favor of unqualified id</b></td><td align="right" valign="top">2013-09-05</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Consider deprecating <code>xml:id</code>, using unqualified <code>id</code> instead. If deprecated, then require
-a document to only use <code>xml:id</code> or <code>id</code>, i.e., mixed use to be prohibited. See
-<a href="https://www.w3.org/AudioVideo/TT/tracker/issues/205">Issue 205</a>.</td></tr></table></div><div class="div3">
-<h4><a id="content-attribute-lang"></a>8.2.2 xml:lang</h4><p>The <code>xml:lang</code> attribute is used as defined by
+in the core vocabulary catalog:</p><ul><li><p><a href="#content-attribute-condition"><b>8.2.1 condition</b></a></p></li><li><p><a href="#content-attribute-id"><b>8.2.2 xml:id</b></a></p></li><li><p><a href="#content-attribute-lang"><b>8.2.3 xml:lang</b></a></p></li><li><p><a href="#content-attribute-space"><b>8.2.4 xml:space</b></a></p></li></ul><div class="div3">
+<h4><a id="content-attribute-condition"></a>8.2.1 condition</h4><p>The <code>condition</code> attribute is used to conditionally exclude an element from semantic processing.</p><p>The <code>condition</code> attribute may be used with any element in the core vocabulary catalog
+except profile matter, i.e., elements of the <a href="#element-vocab-type-profile">Profile Module</a>.</p><p>The value of a <code>condition</code> attribute must adhere to a
+<a href="#content-value-condition"><condition></a> expression.</p><p>For the purpose of presentation processing, if an element specifies a <code>condition</code> attribute, and the
+its <a href="#content-value-condition"><condition></a> expression value evaluates to <code>false</code>,
+then the semantics of the element must be ignored.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>For example, if a <a href="#content-vocabulary-p"><code>p</code></a> element specifies a <code>condition</code>
+attribute that evaluates to <code>false</code>, then the content of that element is ignored for presentation purposes.</p></div></div><div class="div3">
+<h4><a id="content-attribute-id"></a>8.2.2 xml:id</h4><p>The <code>xml:id</code> attribute is used as defined by
+<a href="#xmlid">[XML ID]</a>.</p><p>The <code>xml:id</code> attribute may be used with any element in the core vocabulary catalog.</p></div><div class="div3">
+<h4><a id="content-attribute-lang"></a>8.2.3 xml:lang</h4><p>The <code>xml:lang</code> attribute is used as defined by
<a href="#xml10">[XML 1.0]</a>, §2.12, <em>Language Identification</em>.</p><p>The <code>xml:lang</code> attribute must be specified on the <code>tt</code>
element and may be specified by an instance of any other element type
in the core vocabulary catalog except parameter vocabulary.</p></div><div class="div3">
-<h4><a id="content-attribute-space"></a>8.2.3 xml:space</h4><p>The <code>xml:space</code> attribute is used as defined by
+<h4><a id="content-attribute-space"></a>8.2.4 xml:space</h4><p>The <code>xml:space</code> attribute is used as defined by
<a href="#xml10">[XML 1.0]</a>, §2.10, <em>White Space Handling</em>.</p><p>The <code>xml:space</code> attribute may be used with any element in
the core vocabulary catalog except parameter vocabulary.</p><p>The semantics of the value <code>default</code> are fixed to mean that
when performing presentation processing of a <a href="#terms-document-instance">document instance</a> as
@@ -2888,7 +2912,212 @@
of processing, the treatment of the <code>xml:space</code> attribute
is processor dependent, but should respect the semantics described
above if possible.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the above four cited XSL-FO properties are defined by
-by <a href="#xsl11">[XSL 1.1]</a>, § 7.17.3, 7.16.7, 7.16.12, and 7.16.8, respectively.</p></div></div></div></div><div class="div1">
+by <a href="#xsl11">[XSL 1.1]</a>, § 7.17.3, 7.16.7, 7.16.12, and 7.16.8, respectively.</p></div></div></div><div class="div2">
+<h3><a id="content-value-expressions"></a>8.3 Content Value Expressions</h3><p>Core vocabulary may make use of the following expressions:</p><ul><li><p><a href="#content-value-arguments"><b>8.3.1 <arguments></b></a></p></li><li><p><a href="#content-value-bound-parameter"><b>8.3.2 <bound-parameter></b></a></p></li><li><p><a href="#content-value-condition"><b>8.3.3 <condition></b></a></p></li><li><p><a href="#content-value-condition-function"><b>8.3.4 <condition-function></b></a></p></li><li><p><a href="#content-value-expression"><b>8.3.5 <expression></b></a></p></li><li><p><a href="#content-value-media-function"><b>8.3.6 <media-function></b></a></p></li><li><p><a href="#content-value-parameter-function"><b>8.3.8 <parameter-function></b></a></p></li><li><p><a href="#content-value-quoted-string"><b>8.3.7 <quoted-string></b></a></p></li><li><p><a href="#content-value-supports-function"><b>8.3.9 <supports-function></b></a></p></li></ul><div class="div3">
+<h4><a id="content-value-arguments"></a>8.3.1 <arguments></h4><p>A <arguments> value is a sub-expression used with a <code>function-expression</code> non-terminal of an
+<a href="#content-value-expression"><expression></a> value.</p><a id="arguments-value-expression-syntax"></a><table class="syntax"><caption>Syntax Representation – <arguments></caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+<arguments>
+ : "(" ")"
+ | "(" argument-list ")"
+
+argument-list
+ : <a href="#content-value-expression"><expression></a>
+ | argument-list "," <a href="#content-value-expression"><expression></a>
+</pre></div>
+</td></tr></tbody></table></div><div class="div3">
+<h4><a id="content-value-bound-parameter"></a>8.3.2 <bound-parameter></h4><p>A <bound-parameter> value is one of an enumerated collection of named parameters bound to a value by the
+<a href="#terms-content-processor">content processor</a>.</p><a id="bound-parameter-value-expression-syntax"></a><table class="syntax"><caption>Syntax Representation – <bound-parameter></caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+<bound-parameter>
+ : forced
+ | mediaAspectRatio
+ | mediaLanguage
+ | userLanguage
+</pre></div>
+</td></tr></tbody></table><dl><dt class="label"><a id="bound-parameter-forced"></a><code>forced</code></dt><dd><p>Evaluates to a boolean value that denotes if the <a href="#terms-content-processor">content processor</a> is operating with
+<a href="#terms-forced-subtitle">forced subtitles</a> enabled.</p></dd><dt class="label"><a id="bound-parameter-mediaAspectRatio"></a><code>mediaAspectRatio</code></dt><dd><p>Evaluates to a numeric value equal to the aspect ratio of the <a href="#terms-related-media-object">related media object</a>.</p></dd><dt class="label"><a id="bound-parameter-mediaLanguage"></a><code>mediaLanguage</code></dt><dd><p>Evaluates to a string value equal to the (primary) language of the <a href="#terms-related-media-object">related media object</a>.</p></dd><dt class="label"><a id="bound-parameter-userLanguage"></a><code>userLanguage</code></dt><dd><p>Evaluates to a string value equal to the (primary) language of the user as determined by the
+<a href="#terms-document-processing-context">document processing context</a>.</p></dd></dl></div><div class="div3">
+<h4><a id="content-value-condition"></a>8.3.3 <condition></h4><p>A <condition> value is used to specify an expression that evaluates to a binary value
+which is used to determine if the semantics of a
+<a href="#terms-conditionalized-element">conditionalized element</a> is respected or ignored during content processing.</p><a id="condition-value-expression-syntax"></a><table class="syntax"><caption>Syntax Representation – <condition></caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+<condition>
+ : <a href="#content-value-expression"><expression></a>
+</pre></div>
+</td></tr></tbody></table><p>If a <condition> value contains a <code>function-expression</code> non-terminal, then it must take the form
+of a <a href="#content-value-condition-function"><condition-function></a> expression.</p></div><div class="div3">
+<h4><a id="content-value-condition-function"></a>8.3.4 <condition-function></h4><p>A <condition-function> value is a sub-expression that may be used in a <a href="#content-value-condition"><condition></a> value expression.</p><a id="condition-function-value-expression-syntax"></a><table class="syntax"><caption>Syntax Representation – <condition-function></caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+<condition-function>
+ | <a href="#content-value-media-function"><media-function></a>
+ | <a href="#content-value-parameter-function"><parameter-function></a>
+ | <a href="#content-value-supports-function"><supports-function></a>
+</pre></div>
+</td></tr></tbody></table></div><div class="div3">
+<h4><a id="content-value-expression"></a>8.3.5 <expression></h4><p>An <expression> value is a sub-expression of a <a href="#content-value-condition"><condition></a> value.</p><a id="expression-value-syntax"></a><table class="syntax"><caption>Syntax Representation – <expression></caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+<expression>
+ : logical-or-expression
+
+logical-or-expression
+ : logical-and-expression
+ | logical-or-expression "||" logical-and-expression
+
+logical-and-expression
+ : equality-expression
+ | logical-and-expression "&&" equality-expression
+
+equality-expression
+ : relational-expression
+ | equality-expression "==" relational-expression
+ | equality-expression "!=" relational-expression
+
+relational-expression
+ : additive-expression
+ | relational-expression "<" additive-expression
+ | relational-expression ">" additive-expression
+ | relational-expression "<=" additive-expression
+ | relational-expression ">=" additive-expression
+
+additive-expression
+ : multiplicitive-expression
+ | additive-expression "+" multiplicitive-expression
+ | additive-expression "-" multiplicitive-expression
+
+multiplicitive-expression
+ : unary-expression
+ | multiplicitive-expression "*" unary-expression
+ | multiplicitive-expression "/" unary-expression
+ | multiplicitive-expression "%" unary-expression
+
+unary-expression
+ : primary-or-function-expression
+ | "+" unary-expression
+ | "-" unary-expression
+ | "!" unary-expression
+
+primary-or-function-expression
+ : primary-expression
+ | function-expression
+
+primary-expression
+ : identifier
+ | literal
+ | "(" expression ")"
+
+function-expression
+ : identifier <a href="#content-value-arguments"><arguments></a>
+
+identifier
+ : <a href="http://www.w3.org/TR/xmlschema-2/#token">xsd:token</a>
+
+literal
+ : boolean-literal
+ | numeric-literal
+ | string-literal
+
+boolean-literal
+ : "true"
+ | "false"
+
+numeric-literal
+ : decimal-literal
+
+decimal-literal
+ : decimal-integer-literal "." decimal-digits? exponent-part?
+ | "." decimal-digits exponent-part?
+ | decimal-integer-literal exponent-part?
+
+decimal-integer-literal
+ : "0"
+ | non-zero-digit decimal-digits?
+
+decimal-digits
+ : decimal-digit
+ | decimal-digits decimal-digit
+
+decimal-digit
+ : "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8"
+
+non-zero-digit
+ : "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8"
+
+exponent-part
+ : exponent-indicator signed-integer
+
+exponent-indicator
+ : "e" | "E"
+
+signed-integer
+ : decimal-digits
+ | "+" decimal-digits
+ | "-" decimal-digits
+
+string-literal
+ : <a href="#content-value-quoted-string"><quoted-string></a>
+</pre></div>
+</td></tr></tbody></table></div><div class="div3">
+<h4><a id="content-value-media-function"></a>8.3.6 <media-function></h4><p>A <media-function> value is a sub-expression that may be used in a <a href="#content-value-condition"><condition></a> value expression
+in order to perform a media query on the <a href="#terms-related-media-object">related media object</a> or the
+<a href="#terms-document-processing-context">document processing context</a>.</p><a id="media-function-value-expression-syntax"></a><table class="syntax"><caption>Syntax Representation – <media-function></caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+<media-function>
+ : "media" "(" media-query ")"
+
+media-query
+ : <a href="#content-value-quoted-string"><quoted-string></a>
+</pre></div>
+</td></tr></tbody></table><p>The <code>media-query</code> argument of a <media-function> value expression must adhere to
+the syntax of the <code>media_query_list</code> defined by <a href="#media-queries">[Media Queries]</a>, § 3.</p><p>A <media-function> value expression evaluates to <code>true</code> if the specified media query
+evaluates to <code>true</code>, otherwise, the value expression evaluates to <code>false</code>.</p></div><div class="div3">
+<h4><a id="content-value-quoted-string"></a>8.3.7 <quoted-string></h4><p>A <quoted-string> value expression is used to specify a double or single quoted string.</p><a id="quoted-string-value-expression-syntax"></a><table class="syntax"><caption>Syntax Representation – <quoted-string></caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+<quoted-string>
+ : double-quoted-string
+ | single-quoted-string
+
+double-quoted-string
+ : '"' ( [^"\\] | escape )+ '"'
+
+single-quoted-string
+ : "'" ( [^'\\] | escape )+ "'"
+
+escape
+ : '\\' <em>char</em>
+</pre></div>
+
+</td></tr></tbody></table></div><div class="div3">
+<h4><a id="content-value-parameter-function"></a>8.3.8 <parameter-function></h4><p>A <parameter-function> value is a sub-expression that may be used in a <a href="#content-value-condition"><condition></a> value expression
+in order to obtain a named parameter of the <a href="#terms-document-processing-context">document processing context</a>.</p><a id="parameter-function-value-expression-syntax"></a><table class="syntax"><caption>Syntax Representation – <parameter-function></caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+<parameter-function>
+ : "parameter" "(" parameter-name ")"
+
+parameter-name
+ : <a href="#content-value-quoted-string"><quoted-string></a>
+</pre></div>
+</td></tr></tbody></table><p>When de-quoted, the <code>parameter-name</code> argument of a <parameter-function> value expression must adhere to an
+<a href="http://www.w3.org/TR/xmlschema-2/#token">xsd:token</a>, which must, in turn, be one of the values enumerated
+by <a href="#content-value-bound-parameter"><bound-parameter></a>.</p><p>A <parameter-function> value expression evaluates to the value associated with (bound to) the
+specified paramater name.</p></div><div class="div3">
+<h4><a id="content-value-supports-function"></a>8.3.9 <supports-function></h4><p>A <supports-function> value is a sub-expression that may be used in a <a href="#content-value-condition"><condition></a> value expression
+in order to obtain a boolean value that denotes whether a specified <a href="#terms-feature">feature</a> or <a href="#terms-extension">extension</a>
+is supported or not.</p><a id="supports-function-value-expression-syntax"></a><table class="syntax"><caption>Syntax Representation – <supports-function></caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+<supports-function>
+ : "supports" "(" feature-or-extension-designator ")"
+
+feature-or-extension-designator
+ : <a href="#content-value-quoted-string"><quoted-string></a>
+</pre></div>
+</td></tr></tbody></table><p>The <code>feature-or-extension-designator</code> argument of a <supports-function> value expression must express
+a feature designation or an extension designation as defined by
+<a href="#feature-designations"><b>D.1 Feature Designations</b></a> and <a href="#extension-designations"><b>E.1 Extension Designations</b></a>, respectively, and where the
+<code>feature-namespace</code> or <code>extension-namespace</code> component of the designation is optional, and, if
+not specified, is considered to be equal to the <em>TT Feature Namespace</em> or <em>TT Extension Namespace</em>,
+respectively.</p><p>A <supports-function> value expression evaluates to <code>true</code> if the specified feature or extension
+designator is (semantically) supported by the <a href="#terms-content-processor">content processor</a>.</p></div></div></div><div class="div1">
<h2><a id="embedded-content"></a>9 Embedded Content</h2><p>This section specifies the <em>embedded content</em> matter of the core
vocabulary catalog, where, in this context,
<em>content</em> is to be understood as data of an arbitrary content type (format)
@@ -2923,6 +3152,7 @@
<a href="#embedded-content-vocabulary-source"><code>source</code></a> elements.</p><a id="elt-syntax-audio"></a><table class="syntax"><caption>XML Representation – Element Information Item: audio</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<audio
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#embedded-content-attribute-format">format</a> = <a href="#embedded-content-value-audio-format"><audio-format></a>
<a href="#embedded-content-attribute-src">src</a> = <a href="#embedded-content-value-audio"><audio></a>
<a href="#embedded-content-attribute-type">type</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
@@ -2957,6 +3187,7 @@
<h4><a id="embedded-content-vocabulary-chunk"></a>9.1.2 chunk</h4><p>The <code>chunk</code> element is used to represent a distinct chunk (fragment) of data.</p><p>A <code>chunk</code> element may appear as a child of a <a href="#embedded-content-vocabulary-data"><code>data</code></a> element.</p><a id="elt-syntax-chunk"></a><table class="syntax"><caption>XML Representation – Element Information Item: chunk</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<chunk
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#embedded-content-attribute-encoding">encoding</a> = (base16|base32|base32hex|base64|base64url) : base64
length = <a href="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger">xsd:nonNegativeInteger</a>
<a href="#content-attribute-id">xml:id</a> = ID
@@ -3019,6 +3250,7 @@
<a href="#embedded-content-vocabulary-data"><code>data</code></a> element in a <a href="#terms-data-defining-context">data defining context</a>.</p><a id="elt-syntax-data"></a><table class="syntax"><caption>XML Representation – Element Information Item: data</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<data
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#embedded-content-attribute-encoding">encoding</a> = (base16|base32|base32hex|base64|base64url) : <em>see prose below</em>
<a href="#embedded-content-attribute-format">format</a> = <a href="#embedded-content-value-data-format"><data-format></a>
length = <a href="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger">xsd:nonNegativeInteger</a>
@@ -3101,6 +3333,7 @@
<a href="#embedded-content-vocabulary-source"><code>source</code></a> elements.</p><a id="elt-syntax-font"></a><table class="syntax"><caption>XML Representation – Element Information Item: font</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<font
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
family = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#embedded-content-attribute-format">format</a> = <a href="#embedded-content-value-font-format"><font-format></a>
range = <a href="#embedded-content-value-unicode-range"><unicode-range></a>
@@ -3172,6 +3405,7 @@
<a href="#embedded-content-vocabulary-source"><code>source</code></a> elements.</p><a id="elt-syntax-image"></a><table class="syntax"><caption>XML Representation – Element Information Item: image</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<image
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#embedded-content-attribute-format">format</a> = <a href="#embedded-content-value-image-format"><image-format></a>
<a href="#embedded-content-attribute-src">src</a> = <a href="#embedded-content-value-image"><image></a>
<a href="#embedded-content-attribute-type">type</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
@@ -3233,6 +3467,7 @@
<a href="#element-vocab-group-data"><code>Font.class</code></a> element groups.</p><a id="elt-syntax-resources"></a><table class="syntax"><caption>XML Representation – Element Information Item: resources</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<resources
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-id">xml:id</a> = ID
<a href="#content-attribute-lang">xml:lang</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
@@ -3255,6 +3490,7 @@
an <a href="#terms-nested-embedded-source">nested embedded source</a>.</p><p>A <code>source</code> element must not have an ancestor <code>source</code> element.</p><a id="elt-syntax-source"></a><table class="syntax"><caption>XML Representation – Element Information Item: source</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<source
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#embedded-content-attribute-format">format</a> = <a href="#embedded-content-value-data-format"><data-format></a>
<a href="#embedded-content-attribute-src">src</a> = <a href="#embedded-content-value-data"><data></a>
<a href="#embedded-content-attribute-type">type</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
@@ -3321,15 +3557,8 @@
provided by a <a href="#embedded-content-attribute-type"><code>type</code></a> attribute.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>A <code>format</code> attribute is useful in the absence of a registered media (content) type,
e.g., when no media (content) type is available or a generic type is used, such as
<code>application/octet-stream</code>.</p></div><p>The <code>format</code> attribute may be specified by an instance of the following
-element types:</p><ul><li><p><a href="#embedded-content-vocabulary-audio"><code>audio</code></a></p></li><li><p><a href="#embedded-content-vocabulary-data"><code>data</code></a></p></li><li><p><a href="#embedded-content-vocabulary-font"><code>font</code></a></p></li><li><p><a href="#embedded-content-vocabulary-image"><code>image</code></a></p></li><li><p><a href="#embedded-content-vocabulary-source"><code>source</code></a></p></li></ul><p>If specified, the value of a <code>format</code> attribute must adhere to the following generic
-syntax:</p><a id="embedded-content-attribute-syntax-format"></a><table class="syntax"><caption>Syntax Representation – format</caption><tbody><tr><td>
-<div class="exampleInner"><pre>
-<format>
- : <a href="http://www.w3.org/TR/xmlschema-2/#token">xsd:token</a>
- | <a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</a>
-</pre></div>
-</td></tr></tbody></table><p>If a format expression takes the form of an <a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</a>,
-then it must express an absolute URI.</p><p>Depending on the context of use, additional constraints may apply.</p></div><div class="div3">
+element types:</p><ul><li><p><a href="#embedded-content-vocabulary-audio"><code>audio</code></a></p></li><li><p><a href="#embedded-content-vocabulary-data"><code>data</code></a></p></li><li><p><a href="#embedded-content-vocabulary-font"><code>font</code></a></p></li><li><p><a href="#embedded-content-vocabulary-image"><code>image</code></a></p></li><li><p><a href="#embedded-content-vocabulary-source"><code>source</code></a></p></li></ul><p>The value of a <code>format</code> attribute must adhere to a
+<a href="#embedded-content-value-format"><format></a> expression.</p><p>Depending on the context of use, additional constraints may apply.</p></div><div class="div3">
<h4><a id="embedded-content-attribute-src"></a>9.2.3 src</h4><p>The <code>src</code> attribute is used to specify the media (content) type of data resource, and may express additional
parameters that characterize the data.</p><p>The <code>src</code> attribute may be specified by an instance of the following
element types:</p><ul><li><p><a href="#embedded-content-vocabulary-audio"><code>audio</code></a></p></li><li><p><a href="#embedded-content-vocabulary-data"><code>data</code></a></p></li><li><p><a href="#embedded-content-vocabulary-font"><code>font</code></a></p></li><li><p><a href="#embedded-content-vocabulary-image"><code>image</code></a></p></li><li><p><a href="#embedded-content-vocabulary-source"><code>source</code></a></p></li></ul><p>If specified, the value of a <code>src</code> attribute must adhere to the value syntax of the
@@ -3341,7 +3570,7 @@
must respect the specified type whether it is correct or not. That is, if a <code>type</code> attribute mis-specifies the
type of a data resource, then content processing must not attempt to override that type by performing content
sniffing.</p></div></div><div class="div2">
-<h3><a id="embedded-content-value-expressions"></a>9.3 Embedded Content Value Expressions</h3><p>Embedded content elements as well as certain style property values include the use of the following expressions:</p><ul><li><p><a href="#embedded-content-value-audio"><b>9.3.1 <audio></b></a></p></li><li><p><a href="#embedded-content-value-audio-format"><b>9.3.2 <audio-format></b></a></p></li><li><p><a href="#embedded-content-value-data"><b>9.3.3 <data></b></a></p></li><li><p><a href="#embedded-content-value-data-format"><b>9.3.4 <data-format></b></a></p></li><li><p><a href="#embedded-content-value-font"><b>9.3.5 <font></b></a></p></li><li><p><a href="#embedded-content-value-font-format"><b>9.3.6 <font-format></b></a></p></li><li><p><a href="#embedded-content-value-image"><b>9.3.7 <image></b></a></p></li><li><p><a href="#embedded-content-value-image-format"><b>9.3.8 <image-format></b></a></p></li><li><p><a href="#embedded-content-value-unicode-range"><b>9.3.9 <unicode-range></b></a></p></li></ul><p>In the syntax representations defined in this section, no
+<h3><a id="embedded-content-value-expressions"></a>9.3 Embedded Content Value Expressions</h3><p>Embedded content elements as well as certain style property values include the use of the following expressions:</p><ul><li><p><a href="#embedded-content-value-audio"><b>9.3.1 <audio></b></a></p></li><li><p><a href="#embedded-content-value-audio-format"><b>9.3.2 <audio-format></b></a></p></li><li><p><a href="#embedded-content-value-data"><b>9.3.3 <data></b></a></p></li><li><p><a href="#embedded-content-value-data-format"><b>9.3.4 <data-format></b></a></p></li><li><p><a href="#embedded-content-value-font"><b>9.3.5 <font></b></a></p></li><li><p><a href="#embedded-content-value-font-format"><b>9.3.6 <font-format></b></a></p></li><li><p><a href="#embedded-content-value-format"><b>9.3.7 <format></b></a></p></li><li><p><a href="#embedded-content-value-image"><b>9.3.8 <image></b></a></p></li><li><p><a href="#embedded-content-value-image-format"><b>9.3.9 <image-format></b></a></p></li><li><p><a href="#embedded-content-value-unicode-range"><b>9.3.10 <unicode-range></b></a></p></li></ul><p>In the syntax representations defined in this section, no
linear whitespace (LWSP) is implied or permitted between tokens
unless explicitly specified.</p><div class="div3">
<h4><a id="embedded-content-value-audio"></a>9.3.1 <audio></h4><p>An <audio> value expression is used to specify an audio resource by reference.</p><a id="audio-value-expression-syntax"></a><table class="syntax"><caption>Syntax Representation – <audio></caption><tbody><tr><td>
@@ -3403,7 +3632,18 @@
then it must express an absolute URI.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This specification standardizes a limited set of format tokens for use with font content. In case none of
these tokens are appropriate, authors are encouraged to use tokens in common use, or absent that, to add a
prefix <code>"x-"</code> to form a private use token.</p></div></div><div class="div3">
-<h4><a id="embedded-content-value-image"></a>9.3.7 <image></h4><p>An <image> expression is used to specify an image resource by reference.</p><a id="image-value-expression-syntax"></a><table class="syntax"><caption>Syntax Representation – <image></caption><tbody><tr><td>
+<h4><a id="embedded-content-value-format"></a>9.3.7 <format></h4><p>A <format> expression is used to specify the format of a data resource. Additional format information is useful in the case
+of data resources that lack a registered media (content) type.</p><a id="format-value-expression-syntax"></a><table class="syntax"><caption>Syntax Representation – <format></caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+<format>
+ : <a href="http://www.w3.org/TR/xmlschema-2/#token">xsd:token</a>
+ | <a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</a>
+</pre></div>
+</td></tr></tbody></table><p>If a format expression takes the form of an <a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</a>,
+then it must express an absolute URI.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This specification does not standardize the set of format tokens. Authors are encouraged to
+use tokens in common use, or absent that, to add a prefix <code>"x-"</code> to form a private use token.
+Alternatively, an author may use an arbitrary absolute URI as a format specification.</p></div></div><div class="div3">
+<h4><a id="embedded-content-value-image"></a>9.3.8 <image></h4><p>An <image> expression is used to specify an image resource by reference.</p><a id="image-value-expression-syntax"></a><table class="syntax"><caption>Syntax Representation – <image></caption><tbody><tr><td>
<div class="exampleInner"><pre>
<image>
: <a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</a>
@@ -3411,7 +3651,7 @@
</td></tr></tbody></table><p>If an <image> expression takes the form of a <a href="#terms-fragment-identifier">fragment identifier</a>,
then that fragment identifier must reference an <a href="#embedded-content-vocabulary-image"><code>image</code></a> element that is a child of a
<a href="#embedded-content-vocabulary-resources"><code>resources</code></a> element in the <a href="#terms-enclosing-document-instance">enclosing document instance</a>.</p></div><div class="div3">
-<h4><a id="embedded-content-value-image-format"></a>9.3.8 <image-format></h4><p>An <image-format> expression is used to specify the format of a image resource. Additional format information is useful in the case
+<h4><a id="embedded-content-value-image-format"></a>9.3.9 <image-format></h4><p>An <image-format> expression is used to specify the format of a image resource. Additional format information is useful in the case
of image resources that lack a registered media (content) type.</p><a id="image-format-value-expression-syntax"></a><table class="syntax"><caption>Syntax Representation – <image-format></caption><tbody><tr><td>
<div class="exampleInner"><pre>
<image-format>
@@ -3421,7 +3661,7 @@
</td></tr></tbody></table><p>If a format expression takes the form of a <a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</a>,
then it must express an absolute URI.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This specification does not standardize the set of format tokens for use with image content. Authors are encouraged to
use tokens in common use, or absent that, to add a prefix <code>"x-"</code> to form a private use token.</p></div></div><div class="div3">
-<h4><a id="embedded-content-value-unicode-range"></a>9.3.9 <unicode-range></h4><p>A <unicode-range> expression is used to specify a collection of Unicode codepoints by enumerating singleton codepoints or ranges of codepoints.</p><a id="unicode-range-value-expression-syntax"></a><table class="syntax"><caption>Syntax Representation – <unicode-range></caption><tbody><tr><td>
+<h4><a id="embedded-content-value-unicode-range"></a>9.3.10 <unicode-range></h4><p>A <unicode-range> expression is used to specify a collection of Unicode codepoints by enumerating singleton codepoints or ranges of codepoints.</p><a id="unicode-range-value-expression-syntax"></a><table class="syntax"><caption>Syntax Representation – <unicode-range></caption><tbody><tr><td>
<div class="exampleInner"><pre>
<unicode-range>
: range ("," range)*
@@ -3463,6 +3703,7 @@
the specification defined initial value(s).</p><p>The <code>initial</code> element accepts as its children zero or more <code>metadata</code> elements.</p><a id="elt-syntax-initial"></a><table class="syntax"><caption>XML Representation – Element Information Item: initial</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<initial
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-id">xml:id</a> = ID
<a href="#content-attribute-lang">xml:lang</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
@@ -3489,6 +3730,7 @@
<a href="#semantics-style-resolution-processing-sss"><b>10.4.4.2 Specified Style Set Processing</b></a>.</p><p>The <code>style</code> element accepts as its children zero or more <code>metadata</code> elements.</p><a id="elt-syntax-style"></a><table class="syntax"><caption>XML Representation – Element Information Item: style</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<style
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#style-attribute-style">style</a> = IDREFS
<a href="#content-attribute-id">xml:id</a> = ID
<a href="#content-attribute-lang">xml:lang</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
@@ -3512,6 +3754,7 @@
followed by zero or more <code>style</code> elements.</p><a id="elt-syntax-styling"></a><table class="syntax"><caption>XML Representation – Element Information Item: styling</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<styling
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-id">xml:id</a> = ID
<a href="#content-attribute-lang">xml:lang</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
@@ -5203,7 +5446,7 @@
<div class="exampleInner"><pre>
<familyName>
: unquoted-string
- | quoted-string
+ | <a href="#content-value-quoted-string"><quoted-string></a>
unquoted-string
: identifier ( lwsp identifier )*
@@ -5229,16 +5472,6 @@
escape
: '\\' <em>char</em>
-
-quoted-string
- : double-quoted-string
- | single-quoted-string
-
-double-quoted-string
- : '"' ( [^"\\] | escape )+ '"'
-
-single-quoted-string
- : "'" ( [^'\\] | escape )+ "'"
</pre></div>
</td></tr></tbody></table><p>In addition to adhering to the syntax rules specified above, the following semantic rules apply:</p><ul><li><p>the semantic value of a <familyName> expression is the semantic value of its <code>unquoted-string</code> or <code>quoted-string</code>
@@ -5757,6 +5990,7 @@
zero or more <code>region</code> elements.</p><a id="elt-syntax-layout"></a><table class="syntax"><caption>XML Representation – Element Information Item: layout</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<layout
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-id">xml:id</a> = ID
<a href="#content-attribute-lang">xml:lang</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
@@ -5793,6 +6027,7 @@
<region
<a href="#animation-attribute-animate">animate</a> = IDREFS
<a href="#timing-attribute-begin">begin</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#timing-attribute-dur">dur</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
<a href="#timing-attribute-end">end</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
<a href="#style-attribute-style">style</a> = IDREFS
@@ -6596,6 +6831,7 @@
<animate
<a href="#timing-attribute-begin">begin</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
calcMode = <a href="#animation-value-calcMode"><calcMode></a>
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#timing-attribute-dur">dur</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
<a href="#timing-attribute-end">end</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
fill = <a href="#animation-value-fill"><fill></a>
@@ -6668,6 +6904,7 @@
zero or more elements in the <a href="#element-vocab-group-animation"><code>Animation.class</code></a> element group.</p><a id="elt-syntax-animation"></a><table class="syntax"><caption>XML Representation – Element Information Item: animation</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<animation
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-id">xml:id</a> = ID
<a href="#content-attribute-lang">xml:lang</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
@@ -6691,6 +6928,7 @@
<div class="exampleInner"><pre>
<set
<a href="#timing-attribute-begin">begin</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#timing-attribute-dur">dur</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
<a href="#timing-attribute-end">end</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
fill = <a href="#animation-value-fill"><fill></a>
@@ -6893,6 +7131,7 @@
(4) a combination of the preceding.</p><a id="elt-syntax-metadata"></a><table class="syntax"><caption>XML Representation – Element Information Item: metadata</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<metadata
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-id">xml:id</a> = ID
<a href="#content-attribute-lang">xml:lang</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
@@ -6962,6 +7201,7 @@
<div class="exampleInner"><pre>
<ttm:actor
<span class="reqattr">agent</span> = IDREF
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-id">xml:id</a> = ID
<a href="#content-attribute-lang">xml:lang</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
@@ -6979,6 +7219,7 @@
agent, whether it be the name of a person, character, group, or organization.</p><a id="elt-syntax-metadata-agent"></a><table class="syntax"><caption>XML Representation – Element Information Item: ttm:agent</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<ttm:agent
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<span class="reqattr">type</span> = (<em>person</em>|<em>character</em>|<em>group</em>|<em>organization</em>|<em>other</em>)
<a href="#content-attribute-id">xml:id</a> = ID
<a href="#content-attribute-lang">xml:lang</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
@@ -7035,6 +7276,7 @@
child of the <code>head</code> element.</p><a id="elt-syntax-metadata-copyright"></a><table class="syntax"><caption>XML Representation – Element Information Item: ttm:copyright</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<ttm:copyright
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-id">xml:id</a> = ID
<a href="#content-attribute-lang">xml:lang</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
@@ -7047,6 +7289,7 @@
a specific element instance.</p><a id="elt-syntax-metadata-desc"></a><table class="syntax"><caption>XML Representation – Element Information Item: ttm:desc</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<ttm:desc
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-id">xml:id</a> = ID
<a href="#content-attribute-lang">xml:lang</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
@@ -7060,6 +7303,7 @@
<h4><a id="metadata-vocabulary-item"></a>14.1.6 ttm:item</h4><p>The <code>ttm:item</code> element is used to express arbitrary named metadata items.</p><a id="elt-syntax-metadata-item"></a><table class="syntax"><caption>XML Representation – Element Information Item: ttm:item</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<ttm:item
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<span class="reqattr">name</span> = (<a href="http://www.w3.org/TR/xmlschema-2/#token">xsd:token</a>|<a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</a>)
<a href="#content-attribute-id">xml:id</a> = ID
<a href="#content-attribute-lang">xml:lang</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
@@ -7097,6 +7341,7 @@
group, or organization.</p><a id="elt-syntax-metadata-name"></a><table class="syntax"><caption>XML Representation – Element Information Item: ttm:name</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<ttm:name
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<span class="reqattr">type</span> = (<em>full</em>|<em>family</em>|<em>given</em>|<em>alias</em>|<em>other</em>)
<a href="#content-attribute-id">xml:id</a> = ID
<a href="#content-attribute-lang">xml:lang</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
@@ -7113,6 +7358,7 @@
a specific element instance.</p><a id="elt-syntax-metadata-title"></a><table class="syntax"><caption>XML Representation – Element Information Item: ttm:title</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<ttm:title
+ <a href="#content-attribute-condition">condition</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-id">xml:id</a> = ID
<a href="#content-attribute-lang">xml:lang</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
@@ -8802,6 +9048,9 @@
<a href="http://www.w3.org/TR/2014/REC-html5-20141028/"><cite>HTML5 A vocabulary and associated APIs for HTML and XHTML</cite></a>,
W3C Recommendation, 28 October 2014. (See
<a href="http://www.w3.org/TR/2014/REC-html5-20141028/">http://www.w3.org/TR/2014/REC-html5-20141028/</a>.)
+</dd><dt class="label"><a id="media-queries"></a>Media Queries</dt><dd>Florian Rivoal,,
+<a href="http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/"><cite>Media Queries</cite></a>, W3C Recommendation, 19 June 2012. (See
+<a href="http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/">http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/</a>.)
</dd><dt class="label"><a id="mime"></a>MIME</dt><dd>Ned Freed and Nathaniel Borenstein,
<a href="http://www.rfc-editor.org/rfc/rfc2045.txt"><cite>Multipurpose Internet
Mail Extensions (MIME) Part One: Format of Internet Message Bodies</cite></a>,
@@ -8989,7 +9238,7 @@
<h2><a id="derivation"></a>J Vocabulary Derivation (Non-Normative)</h2><p>This appendix provides information about the derivation of TTML
vocabulary, separately describing derivation of elements and
attributes.</p><div class="div2">
-<h3><a id="d3e31697"></a>J.1 Element Derivation</h3><p>The first column of <a href="#element-vocab-derivation-table"><b>Table J-1 – Elements</b></a>
+<h3><a id="d3e32322"></a>J.1 Element Derivation</h3><p>The first column of <a href="#element-vocab-derivation-table"><b>Table J-1 – Elements</b></a>
specifies a TTML element vocabulary item; the second column specifies the
syntactic and/or semantic model on which the vocabulary item is based;
the third column specifies the reference that defines
@@ -9046,7 +9295,7 @@
and <code>@version</code> on the <code>svg:svg</code> element.</p></li><li><p>Conceptually derived from existing <code>tt:layout</code> element,
which is a generic container for layout specifications, but for use
in defining animation specifications that apply to targeted elements.</p></li></ol></div></div><div class="div2">
-<h3><a id="d3e32214"></a>J.2 Attribute Derivation</h3><p>The first column of <a href="#attribute-vocab-derivation-table"><b>Table J-2 – Attributes</b></a>
+<h3><a id="d3e32839"></a>J.2 Attribute Derivation</h3><p>The first column of <a href="#attribute-vocab-derivation-table"><b>Table J-2 – Attributes</b></a>
specifies a TTML attribute vocabulary item; the second column specifies the
syntactic and/or semantic model on which the vocabulary item is based;
the third column specifies the reference that defines
@@ -9134,13 +9383,13 @@
contours and inside of inner closed contours.</p></li><li><p>On root element, default attribute value specified as
<code>default</code>, which is defined in terms of whitespace
normalization. Semantics of preservation and default normalization are
-defined in terms of presentation semantics by <a href="#content-attribute-space"><b>8.2.3 xml:space</b></a>.</p></li><li><p>Defined to be inheritable.</p></li></ol></div></div></div><div class="div1">
+defined in terms of presentation semantics by <a href="#content-attribute-space"><b>8.2.4 xml:space</b></a>.</p></li><li><p>Defined to be inheritable.</p></li></ol></div></div></div><div class="div1">
<h2><a id="qa"></a>K QA Framework Compliance (Non-Normative)</h2><p>This appendix specifies the compliance of this specification with the
requirements and guidelines defined by <a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/">QA
Framework Specifications Guidelines</a> <a href="#qaf-sg">[QAF SG]</a>.</p><div class="div2">
-<h3><a id="d3e33207"></a>K.1 Requirements</h3><a id="qa-framework-requirements-table"></a><table class="common"><caption>Table K-1 – QA Framework Requirements Checklist</caption><col width="76%" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><tbody><tr><td><span class="strong">Requirement</span></td><td><span class="strong">YES</span></td><td><span class="strong">NO</span></td><td><span class="strong">N/A</span></td><td><span class="strong">Notes</span></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#include-conformance-clause-principle">Requirement 01: Include a conformance
+<h3><a id="d3e33832"></a>K.1 Requirements</h3><a id="qa-framework-requirements-table"></a><table class="common"><caption>Table K-1 – QA Framework Requirements Checklist</caption><col width="76%" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><tbody><tr><td><span class="strong">Requirement</span></td><td><span class="strong">YES</span></td><td><span class="strong">NO</span></td><td><span class="strong">N/A</span></td><td><span class="strong">Notes</span></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#include-conformance-clause-principle">Requirement 01: Include a conformance
clause</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-scope-principle">Requirement 02: Define the scope.</a></td><td><a href="#intro">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#implement-principle">Requirement 03: Identify who or what will implement the specification.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ref-norm-principle">Requirement 04: Make a list of normative references.</a></td><td><a href="#references">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-terms-principle">Requirement 05: Define the terms used in the normative parts of the specification.</a></td><td><a href="#definitions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conf-label-principle">Requirement 06: Create conformance labels for each part of the conformance model.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#consistent-style-principle">Requirement 07: Use a consistent style for conformance requirements and explain how to distinguish them.</a></td><td><a href="#conventions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#req-opt-conf-principle">Requirement 08: Indicate which conformance requirements are mandatory, which are recommended, and which are optional.</a></td><td><a href="#conventions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdivide-mandatory-principle">Requirement 09: If the technology is subdivided, then indicate which subdivisions are mandatory for conformance.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdiv-constraints-principle">Requirement 10: If the technology is subdivided, then address subdivision constraints.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#likehood-extension-principle">Requirement 11: Address Extensibility.</a></td><td><a href="#doctypes">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#deprecated-feature-principle">Requirement 12: Identify deprecated features.</a></td><td></td><td></td><td>N/A</td><td>1</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#degree-support-principle">Requirement 13: Define how each class of product handles each deprecated feature.</a></td><td></td><td></td><td>N/A</td><td>1</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><ol class="enumar"><li><p>No feature is deprecated by this version of this specification.</p></li></ol></div></div><div class="div2">
-<h3><a id="d3e33371"></a>K.2 Guidelines</h3><a id="qa-framework-guidelines-table"></a><table class="common"><caption>Table K-2 – QA Framework Guidelines Checklist</caption><col width="76%" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><tbody><tr><td><span class="strong">Guideline</span></td><td><span class="strong">YES</span></td><td><span class="strong">NO</span></td><td><span class="strong">N/A</span></td><td><span class="strong">Notes</span></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-model-gp">Good Practice 01: Define the specification's conformance model in the conformance clause.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#norm-informative-gp">Good Practice 02: Specify in the conformance clause how to distinguish normative from informative content.</a></td><td><a href="#conventions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-claim-gp">Good Practice 03: Provide the wording for conformance claims.</a></td><td><a href="#claims">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-gp">Good Practice 04: Provide an Implementation Conformance Statement Pro Forma.</a></td><td></td><td>NO</td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-claim-gp">Good Practice 05: Require an Implementation Conformance Statement as part of valid conformance claims.</a></td><td><a href="#claims">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#use-example-gp">Good Practice 06: Provide examples, use cases, and graphics.</a></td><td><a href="#example">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-sample-gp">Good Practice 07: Write sample code or tests.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ref-define-practice">Good Practice 08: When imposing requirements by normative references, address conformance dependencies.</a></td><td><a href="#references">YES</a></td><td></td><td></td><td>1</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-terms-inline-gp">Good Practice 09: Define unfamiliar terms in-line and consolidate the definitions in a glossary section.</a></td><td><a href="#definitions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#reuse-terms-gp">Good Practice 10: Use terms already defined without changing their definition.</a></td><td><a href="#definitions">YES</a></td><td></td><td></td><td>2</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#formal-language-gp">Good Practice 11: Use formal languages when possible.</a></td><td><a href="#schemas">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-assertion-gp">Good Practice 12: Write Test Assertions.</a></td><td></td><td>NO</td><td></td><td>3</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdivide-foster-gp">Good Practice 13: Create subdivisions of the technology when warranted.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#rules-profiles-gp">Good Practice 14: If the technology is profiled, define rules for creating new profiles.</a></td><td><a href="#vocabulary-profiling">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#need-option-gp">Good Practice 15:Use optional features as warranted.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#label-options-gp">Good Practice 16: Clearly identify optional features.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#constraints-gp">Good Practice 17: Indicate any limitations or constraints on optional features.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#extensions-prohibited-gp">Good Practice 18: If extensibility is allowed, define an extension mechanism.</a></td><td><a href="#extension-vocabulary-overview">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#breaking-conformance-gp">Good Practice 19: Warn extension creators to create extensions that do not interfere with conformance.</a></td><td><a href="#extension-vocabulary-overview">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-error-gp">Good Practice 20: Define error-handling for unknown extensions.</a></td><td><a href="#conformance-processor">YES</a></td><td></td><td></td><td>4</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#workaround-gp">Good Practice 21: Explain how to avoid using a deprecated feature.</a></td><td></td><td></td><td>N/A</td><td>5</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#obsolete-gp">Good Practice 22: Identify obsolete features.</a></td><td></td><td></td><td>N/A</td><td>5</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#error-handling-gp">Good Practice 23: Define an error handling mechanism.</a></td><td><a href="#reduced-infoset">YES</a></td><td></td><td></td><td></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><ol class="enumar"><li><p>When making normative references to external specifications,
+<h3><a id="d3e33996"></a>K.2 Guidelines</h3><a id="qa-framework-guidelines-table"></a><table class="common"><caption>Table K-2 – QA Framework Guidelines Checklist</caption><col width="76%" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><tbody><tr><td><span class="strong">Guideline</span></td><td><span class="strong">YES</span></td><td><span class="strong">NO</span></td><td><span class="strong">N/A</span></td><td><span class="strong">Notes</span></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-model-gp">Good Practice 01: Define the specification's conformance model in the conformance clause.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#norm-informative-gp">Good Practice 02: Specify in the conformance clause how to distinguish normative from informative content.</a></td><td><a href="#conventions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-claim-gp">Good Practice 03: Provide the wording for conformance claims.</a></td><td><a href="#claims">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-gp">Good Practice 04: Provide an Implementation Conformance Statement Pro Forma.</a></td><td></td><td>NO</td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-claim-gp">Good Practice 05: Require an Implementation Conformance Statement as part of valid conformance claims.</a></td><td><a href="#claims">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#use-example-gp">Good Practice 06: Provide examples, use cases, and graphics.</a></td><td><a href="#example">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-sample-gp">Good Practice 07: Write sample code or tests.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ref-define-practice">Good Practice 08: When imposing requirements by normative references, address conformance dependencies.</a></td><td><a href="#references">YES</a></td><td></td><td></td><td>1</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-terms-inline-gp">Good Practice 09: Define unfamiliar terms in-line and consolidate the definitions in a glossary section.</a></td><td><a href="#definitions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#reuse-terms-gp">Good Practice 10: Use terms already defined without changing their definition.</a></td><td><a href="#definitions">YES</a></td><td></td><td></td><td>2</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#formal-language-gp">Good Practice 11: Use formal languages when possible.</a></td><td><a href="#schemas">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-assertion-gp">Good Practice 12: Write Test Assertions.</a></td><td></td><td>NO</td><td></td><td>3</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdivide-foster-gp">Good Practice 13: Create subdivisions of the technology when warranted.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#rules-profiles-gp">Good Practice 14: If the technology is profiled, define rules for creating new profiles.</a></td><td><a href="#vocabulary-profiling">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#need-option-gp">Good Practice 15:Use optional features as warranted.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#label-options-gp">Good Practice 16: Clearly identify optional features.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#constraints-gp">Good Practice 17: Indicate any limitations or constraints on optional features.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#extensions-prohibited-gp">Good Practice 18: If extensibility is allowed, define an extension mechanism.</a></td><td><a href="#extension-vocabulary-overview">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#breaking-conformance-gp">Good Practice 19: Warn extension creators to create extensions that do not interfere with conformance.</a></td><td><a href="#extension-vocabulary-overview">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-error-gp">Good Practice 20: Define error-handling for unknown extensions.</a></td><td><a href="#conformance-processor">YES</a></td><td></td><td></td><td>4</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#workaround-gp">Good Practice 21: Explain how to avoid using a deprecated feature.</a></td><td></td><td></td><td>N/A</td><td>5</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#obsolete-gp">Good Practice 22: Identify obsolete features.</a></td><td></td><td></td><td>N/A</td><td>5</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#error-handling-gp">Good Practice 23: Define an error handling mechanism.</a></td><td><a href="#reduced-infoset">YES</a></td><td></td><td></td><td></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><ol class="enumar"><li><p>When making normative references to external specifications,
specific clauses or sections are cited.</p></li><li><p>See also <a href="#derivation"><b>J Vocabulary Derivation</b></a>.</p></li><li><p>Test assertions and test suites will be provided prior to entering
Proposed Recommendation (PR) phase.</p></li><li><p>See criterion #3 in <a href="#conformance-processor"><b>3.2 Processor Conformance</b></a> and definition of
TTML <a href="#doctypes">Abstract Document Instance</a>.</p></li><li><p>No feature is deprecated or obsoleted by this version of this specification.</p></li></ol></div></div></div><div class="div1">