Removed tts:dynamicFlow property
authorPhilippe Le Hégaret <plh@w3.org>
Wed, 12 May 2010 17:03:06 +0000
changeset 197 51c9f0e6bcd9
parent 196 4f0cc3a272be
child 198 1c1595f8f829
Removed tts:dynamicFlow property
Removed overflow: dynamic
Removed flowFunction, flowInternalFunction definitions
Removed Appendix on Dynamic Flow Processing Model
Removed features: #rollUp, #dynamicFlow, #dynamicFlow-*, #overflow-dynamic
Removed requirements R307, R501
spec/ttaf1-dfxp.xml
--- a/spec/ttaf1-dfxp.xml	Sun Feb 21 01:00:26 2010 +0000
+++ b/spec/ttaf1-dfxp.xml	Wed May 12 17:03:06 2010 +0000
@@ -1503,7 +1503,6 @@
 <loc href="#style-attribute-direction">tts:direction</loc>,
 <loc href="#style-attribute-display">tts:display</loc>,
 <loc href="#style-attribute-displayAlign">tts:displayAlign</loc>,
-<loc href="#style-attribute-dynamicFlow">tts:dynamicFlow</loc>,
 <loc href="#style-attribute-extent">tts:extent</loc>,
 <loc href="#style-attribute-fontFamily">tts:fontFamily</loc>,
 <loc href="#style-attribute-fontSize">tts:fontSize</loc>,
@@ -3171,7 +3170,6 @@
 <item><p><specref ref="style-attribute-direction"/></p></item>
 <item><p><specref ref="style-attribute-display"/></p></item>
 <item><p><specref ref="style-attribute-displayAlign"/></p></item>
-<item><p><specref ref="style-attribute-dynamicFlow"/></p></item>
 <item><p><specref ref="style-attribute-extent"/></p></item>
 <item><p><specref ref="style-attribute-fontFamily"/></p></item>
 <item><p><specref ref="style-attribute-fontSize"/></p></item>
@@ -3751,153 +3749,6 @@
 &sect; 7.13.4.</p>
 </note>
 </div3>
-<div3 id="style-attribute-dynamicFlow">
-<head>tts:dynamicFlow</head>
-<p>The <att>tts:dynamicFlow</att> attribute is used to specify a style property that
-defines how to dynamically flow content into and out of a region over some time
-interval.</p>
-<p>This style property applies only to a region when the <att>tts:overflow</att>
-property for that region has the value <code>dynamic</code>.</p>
-<p>This attribute may be specified by any
-element type
-that permits use of attributes in the TT Style Namespace; however, this attribute applies
-as a style property only to those element types indicated in the following table.</p>
-<table id="style-property-details-dynamicFlow" role="common">
-<col width="25%"/>
-<tbody>
-<tr>
-<td><emph>Values:</emph></td>
-<td>
-<code>none</code> | <code>rollUp</code> |
-<loc href="#style-value-flowFunction">&lt;flowFunction&gt;</loc>+ <loc href="#style-value-flowIntervalFunction">&lt;flowIntervalFunction&gt;</loc>* 
-</td>
-</tr>
-<tr>
-<td><emph>Initial:</emph></td>
-<td><code>none</code></td>
-</tr>
-<tr>
-<td><emph>Applies to:</emph></td>
-<td>
-<loc href="#layout-vocabulary-region"><el>region</el></loc>
-</td>
-</tr>
-<tr>
-<td><emph>Inherited:</emph></td>
-<td>no</td>
-</tr>
-<tr>
-<td><emph>Percentages:</emph></td>
-<td>N/A</td>
-</tr>
-<tr>
-<td><emph>Animatable:</emph></td>
-<td>discrete</td>
-</tr>
-</tbody>
-</table>
-<p>If the value of this attribute is <code>none</code>, then no
-dynamic flow semantics apply.</p>
-<p>If the value of this attribute is <code>rollUp</code>, then
-this value is interpreted as a shorthand value equivalent to
-<code>out(line,smooth) clear(0.433s)</code>.</p>
-<note role="explanation">
-<p>The choice of a definite duration of 0.433 seconds for the clear
-interval for roll up dynamic flow timing is based upon recommendations
-specified in <bibref ref="ccreq"/>, p. 792.
-</p>
-</note>
-<p>If the value of this attribute contains a single <loc
-href="#style-value-flowFunction">&lt;flowFunction&gt;</loc>, then that
-flow function applies equally to <emph>fill into</emph> and <emph>clear
-from</emph> dynamic flow operations. Multiple
-instances of the same <loc
-href="#style-value-flowFunction">&lt;flowFunction&gt;</loc>
-must not appear in the value of this attribute.</p>
-<p>If either <code>fill()</code> or
-<code>clear()</code> <loc
-href="#style-value-flowIntervalFunction">&lt;flowIntervalFunction&gt;</loc>
-is not specified, then the <code>auto</code> value for the missing
-<loc
-href="#style-value-flowIntervalFunction">&lt;flowIntervalFunction&gt;</loc>
-applies.  Multiple instances of the same <loc
-href="#style-value-flowIntervalFunction">&lt;flowIntervalFunction&gt;</loc>
-must not appear in the value of this attribute.</p>
-<p>The normative processing model for dynamic flow behavior is
-specified in <specref ref="dynamicFlowModel"/>.</p>
-<p>If a specified value of this attribute is not supported,
-then a presentation processor must interpret the attribute as if the
-value <code>none</code> were specified.</p>
-<p>The <att>tts:dynamicFlow</att> style is illustrated by the
-following example, and depicted in an <loc
-href="images/dynamicFlow_RU_animated.svg">SVG Animation</loc>.</p>
-<table id="style-attribute-dynamicFlow-example-1" role="example">
-<caption>Example Fragment &ndash; Dynamic Flow</caption>
-<tbody>
-<tr>
-<td>
-<eg xml:space="preserve">
-&lt;region xml:id="r1"&gt;
-  &lt;style tts:extent="140px 70px"/&gt;
-  &lt;style tts:displayAlign="after"/&gt;
-  &lt;style tts:backgroundColor="transparent"/&gt;
-  &lt;style tts:fontFamily="proportionalSansSerif"/&gt;
-  &lt;style tts:fontSize="18px"/&gt;
-  &lt;style <phrase role="strong">tts:overflow="dynamic"</phrase>/&gt;
-  &lt;style <phrase role="strong">tts:dynamicFlow="in(word,jump) fill(1.0s) out(line,smooth) clear(break,</phrase>0.3s)"/&gt;
-&lt;/region&gt;
-...
-&lt;p region="r1"&gt;
-  &lt;span tts:backgroundColor="black" tts:color="white"&gt;
-    Five o'clock tea!&lt;br/&gt;
-    Ever to thee,&lt;br/&gt;
-    Faithful I'll be,&lt;br/&gt;
-    Five o'clock tea!&lt;br/&gt;
-    &lt;br/&gt;
-    &lt;br/&gt;
-    &lt;br/&gt;
-  &lt;/span&gt;
-&lt;/p&gt;
-</eg>
-</td>
-</tr>
-</tbody>
-</table>
-<p/>
-<table id="style-attribute-dynamicFlow-example-2-images" role="example-images-bordered">
-<caption>Example Rendition &ndash; Dynamic Flow &ndash; Discrete Frames</caption>
-<col width="136px"/>
-<col width="136px"/>
-<col width="136px"/>
-<col width="136px"/>
-<tbody>
-<tr>
-<td><graphic source="images/dynamicFlow_snake_0.png" alt="DFXP dynamic flow style property - frame 0"/></td>
-<td><graphic source="images/dynamicFlow_snake_1.png" alt="DFXP dynamic flow style property - frame 1"/></td>
-<td><graphic source="images/dynamicFlow_snake_2.png" alt="DFXP dynamic flow style property - frame 2"/></td>
-<td><graphic source="images/dynamicFlow_snake_3.png" alt="DFXP dynamic flow style property - frame 3"/></td>
-</tr>
-<tr>
-<td><graphic source="images/dynamicFlow_snake_4.png" alt="DFXP dynamic flow style property - frame 4"/></td>
-<td><graphic source="images/dynamicFlow_snake_5.png" alt="DFXP dynamic flow style property - frame 5"/></td>
-<td><graphic source="images/dynamicFlow_snake_6.png" alt="DFXP dynamic flow style property - frame 6"/></td>
-<td><graphic source="images/dynamicFlow_snake_7.png" alt="DFXP dynamic flow style property - frame 7"/></td>
-</tr>
-<tr>
-<td><graphic source="images/dynamicFlow_snake_8.png" alt="DFXP dynamic flow style property - frame 8"/></td>
-<td><graphic source="images/dynamicFlow_snake_9.png" alt="DFXP dynamic flow style property - frame 9"/></td>
-<td><graphic source="images/dynamicFlow_snake_10.png" alt="DFXP dynamic flow style property - frame 10"/></td>
-<td><graphic source="images/dynamicFlow_snake_11.png" alt="DFXP dynamic flow style property - frame 11"/></td>
-</tr>
-<tr>
-<td><graphic source="images/dynamicFlow_snake_12.png" alt="DFXP dynamic flow style property - frame 12"/></td>
-<td><graphic source="images/dynamicFlow_snake_13.png" alt="DFXP dynamic flow style property - frame 13"/></td>
-<td><graphic source="images/dynamicFlow_snake_14.png" alt="DFXP dynamic flow style property - frame 14"/></td>
-<td><graphic source="images/dynamicFlow_snake_15.png" alt="DFXP dynamic flow style property - frame 15"/></td>
-</tr>
-</tbody>
-</table>
-</div3>
 <div3 id="style-attribute-extent">
 <head>tts:extent</head>
 <p>The <att>tts:extent</att> attribute is used to specify the
@@ -4733,8 +4584,7 @@
 <td><emph>Values:</emph></td>
 <td>
 <code>visible</code> |
-<code>hidden</code> |
-<code>dynamic</code>
+<code>hidden</code>
 </td>
 </tr>
 <tr>
@@ -4766,8 +4616,7 @@
 must be performed as if the region's width and height were
 unconstrained,
 but with
-a well-defined origin.  If the value is <code>hidden</code> or
-<code>dynamic</code>, then content should
+a well-defined origin.  If the value is <code>hidden</code>, then content should
 be clipped outside of the affected region.</p>
 <note role="explanation">
 <p>Unless a manual line break element <el>br</el> is used by the content author,
@@ -4776,11 +4625,6 @@
 region is <code>visible</code> and if the applicable <att>tts:wrapOption</att>
 style is <code>noWrap</code>.</p>
 </note>
-<p>If the value of this attribute is <code>dynamic</code>, then content is
-dynamically flowed into and out of the affected region according to the values
-of the <att>tts:dynamicFlow</att> style property; in this case, the
-semantics of the <att>tts:dynamicFlow</att> apply whether or not the
-affected region has overflowed.</p>
 <p>If a specified value of this attribute is not supported,
 then a presentation processor must interpret the attribute as if the
 value <code>hidden</code> were specified.</p>
@@ -5915,8 +5759,6 @@
 <item><p><specref ref="style-value-digit"/></p></item>
 <item><p><specref ref="style-value-duration"/></p></item>
 <item><p><specref ref="style-value-familyName"/></p></item>
-<item><p><specref ref="style-value-flowFunction"/></p></item>
-<item><p><specref ref="style-value-flowIntervalFunction"/></p></item>
 <item><p><specref ref="style-value-genericFamilyName"/></p></item>
 <item><p><specref ref="style-value-hexDigit"/></p></item>
 <item><p><specref ref="style-value-integer"/></p></item>
@@ -6081,168 +5923,6 @@
 </tbody>
 </table>
 </div3>
-<div3 id="style-value-flowFunction">
-<head>&lt;flowFunction&gt;</head>
-<p>A &lt;flowFunction&gt; expression specifies a unit of content to be
-dynamic flowed into and out of a region according to an optional dynamic
-flow style.</p>
-<table id="flowFunction-style-expression-syntax" role="syntax">
-<caption>Syntax Representation &ndash; &lt;flowFunction&gt;</caption>
-<tbody>
-<tr>
-<td>
-<eg xml:space="preserve">
-&lt;flowFunction&gt;
-  : "in(" flowArguments ")"
-  | "out(" flowArguments ")"
-
-flowArguments
-  : flowUnit [ "," flowStyle ]
-
-flowUnit
-  : "glyph"
-  | "line"
-  | "character"
-  | "word"
-  | extensionToken
-
-flowStyle
-  : "jump"
-  | "smooth"
-  | extensionToken
-
-extensionToken
-  : "x-" &lt;token&gt;
-</eg>
-</td>
-</tr>
-</tbody>
-</table>
-<p>Dynamic flow can be specified independently for flowing content
-into its region and flowing it out of its region. These two phases of dynamic flow are specified using the
-<code>in()</code> and <code>out()</code> flow functions respectively.</p>
-<p>Dynamic flow occurs on the basis of specific visual or semantic
-content units. In the case of
-<code>glyph</code> and <code>line</code>,
-the unit of dynamic flow is based upon a visually rendered construct
-(<code>glyph</code>) or upon an area of the area
-tree produced by formatting the affected content. In the case of
-<code>character</code> and <code>word</code>, the unit of dynamic flow
-is based upon a semantic unit associated with one or more visually
-rendered or area units.</p>
-<p>The dynamic flow unit <code>word</code> must be interpreted as
-being dependent upon the language or writing system of the affected
-content. If the language or writing system is unknown or unspecified,
-then <code>word</code> is interpreted as follows:</p>
-<olist>
-<item><p>If the affected content consists solely or mostly of Unified CJK
-Ideographic characters or of characters of another Unicode character
-block that are afforded similar treatment to that of Unified CJK
-Ideographic characters, then <code>word</code> is to be interpreted
-as if <code>character</code> were specified.</p></item>
-<item><p>Otherwise, <code>word</code> is to be interpreted as denoting
-a sequence of one or more characters that are not interpreted as an
-XML whitespace character.</p></item>
-</olist>
-
-<p>When a flow unit is flowed into
-or out of its region, the manner by which the unit is
-flowed is controlled by the optional <code>flowStyle</code> argument
-of the relevant flow function. If the flow style is specified as
-<code>jump</code>, or if no flow style is specified, then the flow
-unit is instantaneously transitioned into, within, or out of the
-region. If the flow style is <code>smooth</code>, then the flow unit
-is smoothly transitioned by means of pixel based exposure, movement,
-or hiding, respectively.</p>
-<p>If a presentation processor that supports dynamic flow
-does not support the <code>smooth</code>
-flow style, then this flow style must
-be interpreted as if the <code>jump</code> flow style were
-specified.</p>
-</div3>
-<div3 id="style-value-flowIntervalFunction">
-<head>&lt;flowIntervalFunction&gt;</head>
-<p>A &lt;flowIntervalFunction&gt; expression specifies an interval or
-duration that affects dynamic flow timing behavior.</p>
-<table id="flowIntervalFunction-style-expression-syntax" role="syntax">
-<caption>Syntax Representation &ndash; &lt;flowIntervalFunction&gt;</caption>
-<tbody>
-<tr>
-<td>
-<eg xml:space="preserve">
-&lt;flowIntervalFunction&gt;
-  : "fill(" flowIntervalArguments ")"
-  | "clear(" flowIntervalArguments ")"
-
-flowIntervalArguments
-  : flowInterval [ "," flowStyleDuration ]
-
-flowInterval
-  : "auto"
-  | "break"
-  | <loc href="#style-value-duration">&lt;duration&gt;</loc>
-  | flowIntervalRate
-
-flowIntervalRate
-  : <loc href="#style-value-digit">&lt;digit&gt;</loc>+ ( "." <loc href="#style-value-digit">&lt;digit&gt;</loc>+ )?
-
-flowStyleDuration
-  : <loc href="#style-value-duration">&lt;duration&gt;</loc>
-</eg>
-</td>
-</tr>
-</tbody>
-</table>
-<p>The <code>fill()</code> flow interval function is used to
-determine the <emph>computed fill interval</emph> state parameter for performing
-dynamic flow processing, which expresses the
-duration of time between fill
-timer events, as specified by <specref ref="flowTimerFill"/>, which
-in turn, limits the dynamic flowed content fill rate.</p>
-<p>The <code>clear()</code> flow interval function is used to
-determine the <emph>computed clear interval</emph> state parameter for performing
-dynamic flow processing, which expresses the
-duration of time between clear
-timer events, as specified by <specref ref="flowTimerClear"/>, which in turn,
-limits the dynamic flowed content retention period.</p>
-<p>If the value <code>auto</code> is specified as
-the flow interval argument to a flow interval function, then an
-implied flow interval is computed dynamically.</p>
-<p>If the value <code>break</code> is specified as
-the flow interval argument to a flow interval function, then
-the flow interval is variable, and depends upon the time at
-which a content unit is appended to the flow buffer or whose
-corresponding flow area is appended to the flow region, where
-the content unit is logically preceded by or followed by a manual
-line break element.</p>
-<p>If a <loc href="#style-value-duration">&lt;duration&gt;</loc> is
-specified as
-the flow interval argument to
-a flow interval function, then it is
-considered to represent a <emph>definite duration</emph>.
-If a flow interval rate is
-specified, then it is
-considered to represent a <emph>definite rate</emph> in units per
-second, where the applicable unit is determined in the context of
-whether the rate is used with an <code>fill()</code> or
-<code>clear()</code> flow interval function.</p>
-<note role="elaboration">
-<p>See <specref ref="dynamicFlowIntervalTimingCalculation"/> for further
-information on how the computed fill and clear interval values are
-determined from &lt;flowIntervalFunction&gt; expressions.</p>
-</note>
-<p>If a <loc href="#style-value-duration">&lt;duration&gt;</loc> is
-specified as the flow style duration argument to a flow interval function,
-then it is considered to represent the <emph>definite duration</emph>
-during which time the applicable flow style is to be applied in those cases
-where the applicable flow style has intrinsic duration semantics. If no
-flow style duration argument is specified and the applicable flow style
-has intrinsic duration semantics, then the duration must be considered to
-be equal to zero.</p>
-<note role="example"><p>In the current version of this
-specification, only the <code>smooth</code> flow style has intrinsic
-duration semantcs.</p></note>
-</div3>
 <div3 id="style-value-genericFamilyName">
 <head>&lt;genericFamilyName&gt;</head>
 <p>A &lt;genericFamilyName&gt; expression specifies a font family using a general
@@ -8604,673 +8284,6 @@
 but may be aggregated (chunked) into a sequence of character codes (i.e., a character string).</p>
 </div2>
 </div1>
-<div1 id="dynamicFlowModel">
-<head>Dynamic Flow Processing Model</head>
-<p><emph>This appendix is normative.</emph></p>
-<p>This appendix specifies a dynamic flow processing model that is
-used to present content in a region whose <att>tts:overflow</att>
-property is assigned a value of <code>dynamic</code>.</p>
-<div2 id="dynamicFlowIntroduction">
-<head>Introduction</head>
-<p><emph>This sub-section is non-normative.</emph></p>
-<p>Dynamic flow provides a mechanism by means of which content may be
-flowed through a presentation region over time where the rate of
-presentation is dynamically determined by a presentation processor
-based upon the region's extent, the textual content to be presented in
-the region, the formatting styles applied to this content, and a set
-of parameters that control in-flow and out-flow rates of content.</p>
-<p>It is expected that this mechanism will be used by authors in a
-variety of circumstances in order to specify behavior that would
-otherwise be impossible or impractical to pre-compute at authoring time, since, for
-example, a region's absolute size or the font metrics used to present
-content may not be known at authoring time. In certain real-time
-streaming contexts, even the content is not known at authoring time,
-but is only known at time of streaming.</p>
-<p>In describing dynamic flow, the flow process is logically divided
-into two types of flow operations:</p>
-<ulist>
-<item><p><emph>fill into</emph>&nbsp;&ndash; causes new content
-to consume extent in the designated presentation region;</p></item>
-<item><p><emph>clear out</emph>&nbsp;&ndash; causes content
-presently consuming extent in the designated presentation region to no
-longer consume extent.</p></item>
-</ulist>
-<p>Each region subject to dynamic flow processing may be modeled in terms of:</p>
-<olist>
-<item><p>the region with a definite extent, into which content is to be
-flowed;</p></item>
-<item><p>a content buffer consisting of a sequence of content blocks,
-each of which consists of a sequence of content inlines (spans), where
-each block and inline has a computed style set, and where an inline
-has a (possibly empty) sequence of characters that express the textual
-content of the inline;</p></item>
-<item><p>two independent flow operation single-shot timers: a fill timer and a clear
-timer;</p></item>
-<item><p>a set of state parameters that includes:</p>
-<olist>
-<item><p><emph>fill unit</emph>, as specified by the <code>flowUnit</code> argument
-of the <code>in()</code> flow function;</p></item>
-<item><p><emph>fill style</emph>, as specified by the <code>flowStyle</code> argument
-of the <code>in()</code> flow function;</p></item>
-<item>
-<p><emph>reflow unit</emph>, which is set to the same value as
-the <emph>clear unit</emph> parameter;</p>
-</item>
-<item>
-<p><emph>reflow style</emph>, which is set to the same value as
-the <emph>clear style</emph> parameter;</p>
-</item>
-<item><p><emph>clear unit</emph>, as specified by the <code>flowUnit</code> argument
-of the <code>out()</code> flow function;</p></item>
-<item><p><emph>clear style</emph>, as specified by the <code>flowStyle</code> argument
-of the <code>out()</code> flow function;</p></item>
-<item><p><emph>fill interval</emph>, as specified by the <code>fill()</code>
-flow interval function;</p></item>
-<item><p><emph>clear interval</emph>, as specified by the <code>clear()</code>
-flow interval function;</p></item>
-<item><p><emph>computed fill interval</emph>, as determined by the flow
-interval timing calculation below;</p></item>
-<item><p><emph>computed clear interval</emph>, as determined by the flow
-interval timing calculation below;</p></item>
-<item><p><emph>last fill time</emph>, the time at which the last fill operation
-occurred;</p></item>
-<item><p><emph>last clear time</emph>, the time at which the last clear operation
-occurred;</p></item>
-<item><p><emph>dynamic flow lock</emph>, a synchronization primitive;</p></item>
-</olist>
-</item>
-</olist>
-<p>Except for the computed fill and clear
-interval parameters,
-and unless the
-<att>tts:dynamicFlow</att> property is animated, 
-the flow interval
-state parameters enumerated above are nominally
-static and specified at authoring
-time. If the <att>tts:dynamicFlow</att> property is animated,
-then these nominally static parameters remain static between
-animation intervals.</p>
-</div2>
-<div2 id="dynamicFlowBuffer">
-<head>Flow Buffer</head>
-<p>Each region which is assigned a <att>tts:overflow</att> property
-with the value <code>dynamic</code> is associated with a <emph>flow
-buffer</emph>, the implementation of which
-is not defined by this specification.</p>
-<p>The content of a flow buffer is defined to be equivalent (in form) to the
-content of an <el>fo:block-container</el> element produced by
-<specref ref="semantics-region-layout-step-2"/>, and represents
-content that is awaiting, but has not yet been flowed into (made
-visible in) the
-presentation region with which the flow buffer is associated.</p>
-<note role="clarification">
-<p>In the context of dynamic flow processing, the temporal extent of a region's flow
-buffer is assumed to persist over a period that includes multiple instantiations
-of synchronous intermediate documents, as described by
-<specref ref="semantics-region-layout-step-2"/>. This is feasible since the set of
-regions associated with a DFXP document instance is fixed and determined statically
-at authoring time.</p>
-</note>
-<p>The temporal content of a flow buffer is related to the performance
-of <specref ref="semantics-region-layout"/> as follows:</p>
-<olist>
-<item><p>At the time a dynamically flowed presentation region becomes
-temporally active, its flow buffer is reset to the empty state;</p></item>
-<item><p>If times <code>T<sub>k</sub></code> and
-<code>T<sub>k+1</sub></code> are two immediately adjacent time
-coordinates at which synchronic region construction occurs, with
-<code>T<sub>k</sub>&le;T<sub>k+1</sub></code>, then compute the
-difference between the content produced for use in the region between 
-time <code>T<sub>k</sub></code> and time <code>T<sub>k+1</sub></code>,
-characterizing the difference as one of the following:</p>
-<olist>
-<item><p>no difference present;</p></item>
-<item><p>difference present, but only before the logical content
-position that corresponds with the most logically prior content presently
-visible in the region;</p></item>
-<item><p>difference present, but only between the logical content
-positions that correspond with the most logically prior and subsequent
-content presently visible in the region;</p></item>
-<item><p>difference present, but only after the logical content
-position that corresponds with the most logically subsequent content presently
-visible in the region;</p></item>
-<item><p>difference present, but not limited to before, between, or after
-the logical content positions
-that correspond with the most logically prior
-and subsequent content presently visible in the region.</p></item>
-</olist>
-</item>
-<item><p>If any one of the conditions 2a, 2b, and 2c applies, then do not
-change the flow buffer.</p></item>
-<item><p>If condition 2d applies, then replace
-at time <code>T<sub>k+1</sub></code> the affected
-content of the flow buffer with the new content (in part or in whole) that corresponds with
-time <code>T<sub>k+1</sub></code> such that the
-logical content position
-of the content that
-corresponds with the start of the flow buffer does not change with
-respect to the corresponding
-logical content position of the previous content.</p></item>
-<item><p>If condition 2e applies, then subdivide the new content that
-corresponds with time <code>T<sub>k+1</sub></code> into two parts: (1)
-that part that wholly precedes the
-logical content position that corresponds with the
-most logically subsequent content presently visible in the region, and
-(2) that part that corresponds with or wholly follows the
-logical content position
-that corresponds with the most logically subsequent content presently
-visible in the region, then ignore the first part and process the second part 
-in the same manner as if condition 2d had originally applied.</p></item>
-<item><p>If after performing the above steps the flow buffer is
-non-empty, then perform the following steps:</p>
-<olist>
-<item><p>If, due to style property animation, the dynamic
-flow state parameters for the region have changed since last performing
-this procedure, then re-perform the process described in <specref
-ref="dynamicFlowIntervalTimingCalculation"/>, then reset both fill and
-clear timers to their inactive state.</p></item>
-<item><p>If using automatic flow interval timing, then re-perform the process
-described in <specref ref="dynamicFlowIntervalTimingCalculation"/>.</p></item>
-<item><p>If the fill timer is not active and
-if the current value of the 
-numeric value, then
-reset the fill timer to the current value of the <emph>computed
-fill interval</emph>;</p></item>
-<item><p>If the fill timer is not active, if the
-current value of the <emph>computed fill interval</emph> is the
-token value <code>break</code>, and if the flow buffer contains
-a retained line break, then simulate the effects of fill timer
-expiration by performing the processing described in
-<specref ref="flowTimerFill"/>.</p></item>
-</olist>
-</item>
-</olist>
-<p>In the procedure described above, the content of a flow
-buffer at time <code>T<sub>k</sub></code> is considered to be
-significantly different from the content of the same flow buffer at
-time <code>T<sub>k+1</sub></code> if the set of glyph areas that would
-be produced by
-performing synchronic flow processing on the intermediate
-synchronic document at time
-<code>T<sub>k</sub></code> differs from the set of glyph areas that
-would be produced by
-performing synchronic flow processing on the intermediate
-synchronic document at time
-<code>T<sub>k+1</sub></code> in any of the following ways:</p>
-<ulist>
-<item><p>the number of glyph areas are different;</p></item>
-<item><p>the (positionally) ordered sets of glyphs associated with the
-two sets of glyph areas are different;</p></item>
-<item><p>the positions assigned to the glyph images associated with the two
-sets of glyph areas are different;</p></item>
-</ulist>
-<note role="elaboration">
-<p>Other potential, but insignificant differences (as far as flow
-buffer processing is concerned) between the two sets of glyph areas
-are ignored, including (among others) differences in: background
-color, foreground color, glyph decoration(s), actual presentation
-order of glyphs (independently from their assigned position).</p>
-</note>
-<p>If the value of a style property assigned to content
-awaiting in a flow buffer or already dynamically flowed into a
-presentation region is changed due to animation or other temporal
-effects, and that style property change is not otherwise construed as
-a significant difference between temporal flow buffer states as
-described above, then the semantic, presentation effects of that
-change of value still apply.</p>
-<p>In the procedure described above,
-the phrase <emph>logical content position</emph> refers to a tuple
-[active duration begin time, 
-active duration end time,
-character information item index],
-where the active duration begin and end times refer to the
-computed active time interval for which the character information item
-is considered active,
-where the character information item index refers
-to the logical index of the character information item in the synchronic
-intermediate document instance associated with the character information item,
-and where the logical index of the character information item refers to
-the enumeration index that results by performing a post-order traversal
-enumeration of the character information items contained in the region
-sub-tree (of the synchronic intermediate document instance)
-associated with the presentation region of the current flow buffer.
-</p>
-<p>A logical content position <emph>P<sub>0</sub></emph> is
-considered to be <emph>prior</emph> to (before) logical content
-position <emph>P<sub>1</sub></emph> if (1) the active duration begin
-time of <emph>P<sub>0</sub></emph> is temporally prior to the active
-duration begin time of <emph>P<sub>1</sub></emph>, or (2) the active
-duration begin times of <emph>P<sub>0</sub></emph> and
-<emph>P<sub>1</sub></emph> are equal and the character information
-item index of <emph>P<sub>0</sub></emph> precedes (is less than) the
-character information item index of <emph>P<sub>1</sub></emph>.
-Similarly, a logical content position <emph>P<sub>0</sub></emph> is
-considered to be <emph>subsequent</emph> to (after) logical content
-position <emph>P<sub>1</sub></emph> if (1) the active duration begin
-time of <emph>P<sub>0</sub></emph> is temporally subsequent to the
-active duration begin time of <emph>P<sub>1</sub></emph>, or (2) the
-active duration begin times of <emph>P<sub>0</sub></emph> and
-<emph>P<sub>1</sub></emph> are equal and the character information
-item index of <emph>P<sub>0</sub></emph> follows (is greater than) the
-character information item index of <emph>P<sub>1</sub></emph>.  If a
-logical content position <emph>P<sub>0</sub></emph> and a logical
-content position <emph>P<sub>1</sub></emph> are neither prior nor
-subsequent to one another, then they are considered to be the same
-logical content position (in the present context).</p>
-</div2>
-<div2 id="dynamicFlowIntervalTimingCalculation">
-<head>Flow Interval Timing Calculation</head>
-<p>Flow interval timing is either statically specified at authoring
-time or is dependent upon
-animation of the <att>tts:dynamicFlow</att>
-style property or upon the content of the flow buffer or the
-presentation region or both, in which case timing is recomputed
-dynamically upon changes to style property, the
-content of the flow buffer, or the presentation
-region.</p>
-<div3 id="flowIntervalFillTiming">
-<head>Computed Fill Timing Interval</head>
-<p>The computed fill timing interval
-from time <code>T<sub>k</sub></code> up to but not
-including <code>T<sub>k+1</sub></code> is determined as
-follows, where the meaning of
-<code>T<sub>k</sub></code> and <code>T<sub>k+1</sub></code> is as
-described above:</p>
-<olist>
-<item><p>If the value of the <emph>fill interval</emph> parameter is a
-definite duration, then use this duration as the computed fill
-interval;</p></item>
-<item><p>otherwise, if the value of the <emph>fill interval</emph> parameter is a
-definite rate, then the computed fill interval is equal to the
-inverse
-of the specified rate (in fill units per second);</p></item>
-<item><p>otherwise, if the value of the <emph>fill interval</emph>
-parameter is
-<code>auto</code>, then the computed fill interval is equal to the
-difference between the time coordinate associated with the most
-temporally prior beginning point of an active duration of some content
-unit present in the flow buffer at time
-<code>T<sub>k</sub></code> and the most temporally subsequent
-ending point of an active duration of some content unit present in the
-flow buffer at time
-<code>T<sub>k</sub></code> divided by the number of fill
-units currently available in the flow buffer at
-time <code>T<sub>k</sub></code>;</p></item>
-<item><p>otherwise, if the value of the
-<emph>fill interval</emph> parameter is <code>break</code>, then the
-computed fill interval is the special token value <code>break</code>.</p>
-</item>
-</olist>
-</div3>
-<div3 id="flowIntervalClearTiming">
-<head>Computed Clear Timing Interval</head>
-<p>The computed clear timing interval from time
-<code>T<sub>k</sub></code> up to but not including
-<code>T<sub>k+1</sub></code> is determined as follows,
-where the meaning of <code>T<sub>k</sub></code> and
-<code>T<sub>k+1</sub></code> is as described above:</p>
-<olist>
-<item><p>If the value of the <emph>clear interval</emph> parameter is a
-definite duration, then use this duration as the computed clear
-interval;</p></item>
-<item><p>otherwise, if the value of the <emph>clear interval</emph>
-parameter is a definite rate, then the computed clear interval is
-equal to the specified rate (in clear units per second);</p></item>
-<item><p>otherwise, if the value of the <emph>clear interval</emph>
-parameter is
-<code>auto</code>, then the computed clear interval is equal to the
-difference between the time coordinate associated with the most
-temporally prior beginning point of an active duration of some content
-unit present in the presentation region at time
-<code>T<sub>k</sub></code> and the most temporally subsequent
-ending point of an active duration of some content unit present in the
-presentation region at time
-<code>T<sub>k</sub></code> divided by the number of clear
-units currently available in the presentation region
-at time <code>T<sub>k</sub></code>;</p></item>
-<item><p>otherwise, if the value of the
-<emph>clear interval</emph> parameter is <code>break</code>, then the
-computed clear interval is the special token value <code>break</code>.</p>
-</item>
-</olist>
-</div3>
-</div2>
-<div2 id="dynamicFlowOperations">
-<head>Flow Operations</head>
-<p>Flow operations perform the filling, reflowing, and clearing of
-formatted content into, within, and from
-a presentation region undergoing dynamic
-flow processing.</p>
-<p>When performing flow operations, the fill unit state parameters that
-apply to these operations determine which logical content and
-which formatted content are affected. If a fill unit is expressed in terms
-of logical content units, then the logical content corresponds in turn
-with the formatted content generated by this logical content; if
-expressed in terms of formatted content units, then the formatted
-content corresponds in turn with the logical content that generates
-this formatted content.</p>
-<p>Flow operations apply simultaneously to logical content
-and to its corresponding formatted content. In the context of the
-presentation region, fill, reflow, and clear operations operate on
-formatted content units
-(glyph and line areas);
-however, in the context of the flow buffer, fill, reflow, and clear
-operations operate on logical content units
-(character information items).
-Because logical content units and formatted content units are
-deterministically related to one another, an operation upon logical
-units can always be described in terms of operations on formatted
-units, and vice-versa.</p>
-<note role="elaboration">
-<p>In general, there is not a one-to-one correspondence between
-logical content units and formatted content units. A single logical
-content unit often corresponds to multiple formatted content
-units. Furthermore, a single formatted content unit may correspond
-with multiple logical content units. For example, a single character
-information item may correspond to multiple glyph areas; likewise, a
-single glyph area may correspond to multiple character information
-items.</p>
-</note>
-<p>For the purpose of performing line breaking in the
-context of dynamic flow processing, fill, reflow, and clear flow unit
-boundaries must be interpreted as potential legal line break opportunity
-regardless of other constraints.</p>
-<p>When effecting the result of a flow operation on a
-presentation region, the direction of (apparent)
-translation of formatted content is determined by the nature of the
-affected formatted content element.  If the affected formatted content
-unit is a glyph area,
-then it is translated in the inline
-progression direction that applies to the nearest immediate ancestor
-inline or block area, and it is translated in a direction towards the
-start edge of this ancestor area.  If the affected formatted content
-unit is a line,
-then it is translated in the block
-progression direction that applies to the nearest immediate ancestor
-block, and it is translated in a direction towards the before edge of
-this ancestor area.</p>
-<p>If the <code>smooth</code> flow style applies to a flow
-operation, then the direction of (apparent) translation of pixels that
-belong to the affected formatted content follows the direction of
-translation of the formatted content units as determined above.</p>
-<div3 id="flowOperationFill">
-<head>Fill Operation</head>
-<p>A <emph>fill operation</emph> causes the following ordered steps
-to be performed:</p>
-<olist>
-<item><p>reset the <emph>last fill time</emph> to the
-current value of the flow timers timeline;</p></item>
-<item><p>remove sufficient logical content from the beginning of the
-<emph>flow buffer</emph> to constitute (or compose) a <emph>fill
-unit</emph>;</p> </item>
-<item><p>format the content removed from the <emph>flow buffer</emph>
-in the previous step in order to create a sequence of glyph areas or a
-sequence of line
-areas each containing a sequence of glyph areas;</p></item>
-<item><p>append the sequence of areas produced in the previous step to
-the sequence of areas currently associated with the presentation
-region, where new glyph areas are appended to the current line area
-and new line areas are appended to the sequence of line
-areas;</p></item>
-<item><p>cause the newly appended areas to be made visible according
-to the <emph>fill style</emph> state parameter in force;</p></item>
-<item><p>if the clear timer is not active and
-the current value of the <emph>computed clear interval</emph> is a
-numeric value, then reset the
-clear timer to the current value of the <emph>computed clear interval</emph>;</p></item>
-<item><p>if the current value of the <emph>computed
-fill interval</emph> is a numeric value, then reset the
-fill timer to the
-current value of the <emph>computed fill interval</emph>.</p></item>
-</olist>
-<note role="elaboration">
-<p>In certain cases, it may be necessary to retain logical content
-removed from the flow buffer in an intermediate, holding buffer. This
-will be the case when the smallest logical content unit of a flow
-buffer, namely, a character information item, generates more than one
-formatted fill unit. For example, certain characters are rendered
-using more than one glyph area. If the fill unit is
-<code>glyph</code>, then such a character needs to be retained (in
-such a holding buffer) until all generated glyphs are consumed.</p>
-</note>
-</div3>
-<div3 id="flowOperationReflow">
-<head>Reflow Operation</head>
-<p>A <emph>reflow operation</emph> causes the following ordered steps
-to be performed:</p>
-<olist>
-<item>
-<p>translate glyph areas or
-line areas that correspond with a <emph>reflow
-unit</emph> of formatted content that follows (in inline or block
-progression dimension order) the space cleared by the immediately
-preceding <emph>clear operation</emph> to a new position such that the
-glyph area that corresponds to the most logically prior content is
-aligned with the before and start edges of the presentation region,
-and where the translation adheres to the <emph>reflow style</emph>
-state parameter in force.</p>
-</item>
-</olist>
-<note role="elaboration">
-<p>If a reflow unit is based on logical content units, then "reflow
-unit of formatted content" refers to the logical content that
-generates the glyph and line areas of
-formatted content that are being translated within the presentation
-region. In contrast, if a reflow unit is based on formatted content
-units, then "reflow unit of formatted content" refers directly to the
-generated glyph and line areas of
-formatted content.</p>
-</note>
-</div3>
-<div3 id="flowOperationClear">
-<head>Clear Operation</head>
-<p>A <emph>clear operation</emph> causes the following ordered steps
-to be performed:</p>
-<olist>
-<item><p>reset the <emph>last clear time</emph> to the
-current value of the flow timers timeline;</p></item>
-<item>
-<p>remove glyph areas or
-line areas that correspond with a <emph>clear unit</emph> of
-formatted content from the starting edge or the before edge of the
-presentation region in inline or block progression direction,
-respectively, applying the <emph>clear style</emph> state parameter in
-force.</p>
-</item>
-</olist>
-<note role="elaboration">
-<p>If a clear unit is based on logical content units, then "clear unit
-of formatted content" refers to the logical content that generates the
-glyph and line areas of formatted content
-that are being cleared from the presentation region. In contrast, if a
-clear unit is based on formatted content units, then "clear unit of
-formatted content" refers directly to the generated
-glyph and line areas of formatted content.</p>
-</note>
-</div3>
-<div3 id="flowOperationCombined">
-<head>Combined Flow Operation</head>
-<p>A combined flow operation causes the following ordered steps to be performed:</p>
-<olist>
-<item><p>if the presentation region contains sufficient formatted
-content to compose a <emph>clear unit</emph>, then perform the
-processing described in <specref ref="flowOperationClear"/>;</p></item>
-<item><p>if (1) the space created by the above clear operation is
-sufficient to accept a <emph>reflow unit</emph> and (2) the presentation
-region contains sufficient formatted content to compose a <emph>reflow
-unit</emph>, then perform the processing described in <specref
-ref="flowOperationReflow"/>;</p></item>
-<item><p>if (1) the difference between the current value of the flow
-timers timeline and the <emph>last fill time</emph> is greater than or
-equal to the current value of the computed fill interval, (2) the
-presentation region contains sufficient space to accept a <emph>fill
-unit</emph>, and (3) the flow buffer contains sufficient content to
-compose a <emph>fill unit</emph>, then perform the processing
-described in <specref ref="flowOperationFill"/>;</p></item>
-</olist>
-<p>If more than one of the clear, reflow or fill operations would be
-performed by the above steps, then the visual rendering of these operations
-should be performed in such a manner as to reduce or eliminate delays
-between the completion of one operation and the start of the next operation.</p>
-<note role="example">
-<p>For example, if the applicable clear, reflow, and fill styles are
-indicated as <code>smooth</code> flow style, then it should appear
-that the clear, reflow, and fill units are simultaneously translated
-in a continuous, smooth translation.</p>
-</note>
-</div3>
-</div2>
-<div2 id="dynamicFlowTimers">
-<head>Flow Timers</head>
-<p>Flow timers control the filling and clearing of formatted content
-from a presentation undergoing dynamic flow processing.</p>
-<p>In the case of continuous time bases, the timeline of
-flow timers follows (is synchronized with) the time base that applies
-to the document instance as determined by the <loc
-href="#parameter-attribute-timeBase"><att>ttp:timeBase</att></loc>
-parameter; however, in the case of a discontinuous time base, the
-timeline of flow timers follows real (clock) time.</p>
-<note> <p>The semantics of flow timer initiated processing expressed
-below reflects the intent that clear and reflow
-operations or clear, reflow, and flow operations are performed
-simultaneously if the (logically, but not necesesarily temporally)
-prior operation would create sufficient space in the presentation
-region to accept the subsequent unit of formatted content.</p></note>
-<p>When resetting a flow timer, the <emph>dynamic flow
-lock</emph> must first be acquired prior to changing the flow timer's
-value, and must be released immediately after making the change.</p>
-<div3 id="flowTimerFill">
-<head>Fill Timer</head>
-<p>The fill timer is used to pace the addition of formatted content to the
-presentation region undergoing dynamic flow processing
-when the current value of the <emph>computed fill
-interval</emph> is a numeric value; however, if it is not a numeric value,
-then the fill timer remains inactive.</p>
-<note role="elaboration">
-<p>Although the fill timer is inactive when the value of the
-<emph>computed fill interval</emph> is non-numeric, the effects of
-fill timer expiration may nevertheless be simulated by certain
-conditions described elsewhere.</p>
-</note>
-<p>Each time the fill timer expires, the following ordered steps are
-performed:</p>
-<olist>
-<item><p>acquire <emph>dynamic flow lock</emph>;</p></item>
-<item><p>if the current value of the <emph>computed clear
-interval</emph> is the token value <code>break</code> and the most
-temporally prior unfilled content in the flow buffer, i.e., the next
-available content available for a fill operation at the beginning of
-the flow buffer, is or starts with a retained
-line break, then perform steps (1) and (2) of the processing described in
-<specref ref="flowOperationCombined"/>, i.e., perform the
-clear and reflow steps of the combined flow operation;</p></item>
-<item><p>if
-(1) the current value of the computed fill interval is
-non-numeric or (2) the difference between the current value of the flow
-timers' timeline and the <emph>last fill time</emph> is greater than or
-equal to the current value of the computed fill interval, then perform
-the following ordered sub-steps:</p>
-<olist>
-<item><p>if (1) the presentation region is non-full and
-contains sufficient space to accept a <emph>fill unit</emph> and (2)
-the flow buffer contains sufficient content to compose a <emph>fill
-unit</emph>, then perform the processing described in <specref
-ref="flowOperationFill"/>;</p></item>
-<item><p>if the presentation region is non-empty, then
-perform the following ordered sub-steps:</p>
-<olist>
-<item><p>if the clear timer is not active, then reset the clear timer
-to the current value of the computed clear interval;</p></item>
-<item><p>if the fill timer is not
-active, the flow
-buffer is empty, and the current value of
-the computed fill interval is a numeric value,
-then reset the fill timer to the current value of the
-computed fill interval.</p></item>
-</olist>
-</item>
-</olist>
-</item>
-<item><p>otherwise (the current value of
-the computed fill interval is numeric and the
-difference between the current value of the flow
-timers' timeline and the <emph>last fill time</emph> is less than
-the current value of the computed fill interval), reset the fill timer
-to the difference between the current value of the computed fill interval
-and the current value of the flow timers' timeline;</p></item>
-<item><p>release <emph>dynamic flow lock</emph>.</p></item>
-</olist>
-</div3>
-<div3 id="flowTimerClear">
-<head>Clear Timer</head>
-<p>The clear timer is used to pace the removal of formatted content from the
-presentation region undergoing dynamic flow processing
-when the current value of the <emph>computed clear
-interval</emph> is a numeric value; however, if it is not a numeric value,
-then the clear timer remains inactive.</p>
-<note role="elaboration">
-<p>Although the clear timer is inactive when the value of the
-<emph>computed clear interval</emph> is non-numeric, the effects of
-clear timer expiration may nevertheless be simulated by certain
-conditions described elsewhere.</p>
-</note>
-<p>Each time the clear timer expires, the following ordered steps are
-performed:</p>
-<olist>
-<item><p>acquire <emph>dynamic flow lock</emph>;</p></item>
-<item><p>(1) the current value of the computed fill interval
-is non-numeric or (2) if the difference between the current value of
-the flow timers' timeline and the
-<emph>last clear time</emph> is greater than or
-equal to the current value of the computed clear
-interval, then perform the following ordered sub-steps:</p>
-<olist>
-<item><p>if the <emph>presentation region</emph> is non-empty and
-contains sufficient formatted content to compose a <emph>clear
-unit</emph> and either (1) the <emph>presentation region</emph> is so
-full as to prevent it from accepting another <emph>fill unit</emph>
-or (2) the flow buffer is empty, then perform the processing described
-in <specref ref="flowOperationCombined"/>;</p></item>
-</olist>
-</item>
-<item><p>otherwise (the current value of the
-computed clear interval is numeric and the
-difference between the current value of the flow
-timers' timeline and the <emph>last clear time</emph> is less than
-the current value of the computed clear interval), reset the clear timer
-to the difference between the current value of the computed clear interval
-and the current value of the flow timers' timeline;</p></item>
-<item><p>release <emph>dynamic flow lock</emph>.</p></item>
-</olist>
-</div3>
-<div3 id="flowTimersTimingExample">
-<head>Timing Example</head>
-<p><emph>This section is non-normative.</emph></p>
-<p>An example of the timing of fill and clear timers is
-shown in <specref ref="timers-timing-example-graphic"/>.</p>
-<table id="timers-timing-example-graphic" role="example-images">
-<caption>Figure 2 &ndash; Timing Example</caption>
-<tbody>
-<tr>
-<td><graphic id="timers-timing-example" source="images/timers.png" alt="Timers Timing Example"/></td>
-</tr>
-</tbody>
-</table>
-<p>In this example, fill operations occur on word units, while clear operaations
-occur on line units. As a consequence, it takes more than one fill event to fill
-a new line capable of being cleared by a clear event. When insufficient layout
-space is available to add a new word to the after-most line area or to create
-a new line area, then fill operations are suspended. Similarly,
-when the region is not full (and unfilled content remains available), then
-clear operations are suspended.</p>
-<p>This example also depicts the relationship between the fill style duration
-and the fill interval, as well as the relationship between the clear style
-duration and the clear interval. In no case can the fill interval be less than
-the fill style duration, nor can the clear interval be less than the clear
-style duration.</p>
-</div3>
-</div2>
-</div1>
 <div1 id="schemas">
 <head>Schemas</head>
 <p><emph>This appendix is normative.</emph></p>
@@ -9950,202 +8963,6 @@
 href="#parameter-attribute-dropMode"><att>ttp:dropMode</att></loc>
 attribute.</p>
 </div3>
-<div3 id="feature-dynamicFlow">
-<head>#dynamicFlow</head>
-<p>A TT AF transformation processor supports the
-<code>#dynamicFlow</code> feature if it recognizes and is capable of
-transforming all defined values of the <loc
-href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-<p>A TT AF presentation processor supports the
-<code>#dynamicFlow</code> feature if it implements presentation semantic support
-for all defined values of the <loc
-href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-</div3>
-<div3 id="feature-dynamicFlow-character">
-<head>#dynamicFlow-character</head>
-<p>A TT AF transformation processor supports the
-<code>#dynamicFlow-character</code> feature if it recognizes and
-is capable of transforming the flow unit <code>character</code> as
-defined by <specref ref="style-value-flowFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-<p>A TT AF presentation processor supports the
-<code>#dynamicFlow-character</code> feature if it implements
-presentation semantic support for the flow unit <code>character</code> as
-defined by <specref ref="style-value-flowFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-</div3>
-<div3 id="feature-dynamicFlow-clear">
-<head>#dynamicFlow-clear</head>
-<p>A TT AF transformation processor supports the
-<code>#dynamicFlow-clear</code> feature if it recognizes and
-is capable of transforming the flow interval function <code>clear(..)</code> as
-defined by <specref ref="style-value-flowIntervalFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-<p>A TT AF presentation processor supports the
-<code>#dynamicFlow-clear</code> feature if it implements
-presentation semantic support for the flow interval function <code>clear(..)</code> as
-defined by <specref ref="style-value-flowFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-</div3>
-<div3 id="feature-dynamicFlow-fill">
-<head>#dynamicFlow-fill</head>
-<p>A TT AF transformation processor supports the
-<code>#dynamicFlow-fill</code> feature if it recognizes and
-is capable of transforming the flow interval function <code>fill(..)</code> as
-defined by <specref ref="style-value-flowIntervalFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-<p>A TT AF presentation processor supports the
-<code>#dynamicFlow-fill</code> feature if it implements
-presentation semantic support for the flow interval function <code>fill(..)</code> as
-defined by <specref ref="style-value-flowFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-</div3>
-<div3 id="feature-dynamicFlow-glyph">
-<head>#dynamicFlow-glyph</head>
-<p>A TT AF transformation processor supports the
-<code>#dynamicFlow-glyph</code> feature if it recognizes and
-is capable of transforming the flow unit <code>glyph</code> as
-defined by <specref ref="style-value-flowFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-<p>A TT AF presentation processor supports the
-<code>#dynamicFlow-glyph</code> feature if it implements
-presentation semantic support for the flow unit <code>glyph</code> as
-defined by <specref ref="style-value-flowFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-</div3>
-<div3 id="feature-dynamicFlow-in">
-<head>#dynamicFlow-in</head>
-<p>A TT AF transformation processor supports the
-<code>#dynamicFlow-in</code> feature if it recognizes and
-is capable of transforming the flow function <code>in(..)</code> as
-defined by <specref ref="style-value-flowFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-<p>A TT AF presentation processor supports the
-<code>#dynamicFlow-in</code> feature if it implements
-presentation semantic support for the flow function <code>in(..)</code> as
-defined by <specref ref="style-value-flowFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-</div3>
-<div3 id="feature-dynamicFlow-jump">
-<head>#dynamicFlow-jump</head>
-<p>A TT AF transformation processor supports the
-<code>#dynamicFlow-jump</code> feature if it recognizes and
-is capable of transforming the flow style <code>jump</code> as
-defined by <specref ref="style-value-flowFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-<p>A TT AF presentation processor supports the
-<code>#dynamicFlow-jump</code> feature if it implements
-presentation semantic support for the flow style <code>jump</code> as
-defined by <specref ref="style-value-flowFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-</div3>
-<div3 id="feature-dynamicFlow-line">
-<head>#dynamicFlow-line</head>
-<p>A TT AF transformation processor supports the
-<code>#dynamicFlow-line</code> feature if it recognizes and
-is capable of transforming (1) the flow unit
-<code>line</code> as
-defined by <specref ref="style-value-flowFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute and (2) the flow interval argument
-<code>break</code> as defined by
-<specref ref="style-value-flowIntervalFunction"/>.</p>
-<p>A TT AF presentation processor supports the
-<code>#dynamicFlow-line</code> feature if it implements
-presentation semantic support for (1) the
-flow unit <code>line</code> as
-defined by <specref ref="style-value-flowFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute and (2) the flow interval argument
-<code>break</code> as defined by
-<specref ref="style-value-flowIntervalFunction"/>.</p>
-</div3>
-<div3 id="feature-dynamicFlow-out">
-<head>#dynamicFlow-out</head>
-<p>A TT AF transformation processor supports the
-<code>#dynamicFlow-out</code> feature if it recognizes and
-is capable of transforming the flow function <code>out(..)</code> as
-defined by <specref ref="style-value-flowFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-<p>A TT AF presentation processor supports the
-<code>#dynamicFlow-out</code> feature if it implements
-presentation semantic support for the flow function <code>out(..)</code> as
-defined by <specref ref="style-value-flowFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-</div3>
-<div3 id="feature-dynamicFlow-rollUp">
-<head>#dynamicFlow-rollUp</head>
-<p>A TT AF transformation processor supports the
-<code>#dynamicFlow-rollUp</code> feature if it recognizes and is
-capable of transforming the <code>rollUp</code> value of the <loc
-href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-<p>A TT AF presentation processor supports the
-<code>#dynamicFlow-rollUp</code> feature if it implements presentation semantic
-support for the <code>rollUp</code> of the <loc
-href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-</div3>
-<div3 id="feature-dynamicFlow-smooth">
-<head>#dynamicFlow-smooth</head>
-<p>A TT AF transformation processor supports the
-<code>#dynamicFlow-smooth</code> feature if it recognizes and
-is capable of transforming the flow style <code>smooth</code> as
-defined by <specref ref="style-value-flowFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-<p>A TT AF presentation processor supports the
-<code>#dynamicFlow-smooth</code> feature if it implements
-presentation semantic support for the flow style <code>smooth</code> as
-defined by <specref ref="style-value-flowFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-</div3>
-<div3 id="feature-dynamicFlow-teletext">
-<head>#dynamicFlow-teletext</head>
-<p>A TT AF transformation processor supports the
-<code>#dynamicFlow-teletext</code> feature if it recognizes and
-is capable of transforming any well-defined value of the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute that is equivalent to
-<code>in(glyph,jump) out(line,jump)</code>.</p>
-<p>A TT AF presentation processor supports the
-<code>#dynamicFlow-teletext</code> feature if it implements presentation semantic
-support for any well-defined value of the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute that is equivalent to <code>in(glyph,jump)
-out(line,jump)</code>.</p> </div3>
-<div3 id="feature-dynamicFlow-word">
-<head>#dynamicFlow-word</head>
-<p>A TT AF transformation processor supports the
-<code>#dynamicFlow-word</code> feature if it recognizes and
-is capable of transforming the flow unit <code>word</code> as
-defined by <specref ref="style-value-flowFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-<p>A TT AF presentation processor supports the
-<code>#dynamicFlow-word</code> feature if it implements
-presentation semantic support for the flow unit <code>word</code> as
-defined by <specref ref="style-value-flowFunction"/> when used with the
-<loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
-attribute.</p>
-</div3>
 <div3 id="feature-extent">
 <head>#extent</head>
 <p>A TT AF transformation processor supports the
@@ -10671,19 +9488,6 @@
 href="#style-attribute-overflow"><att>tts:overflow</att></loc>
 attribute.</p>
 </div3>
-<div3 id="feature-overflow-dynamic">
-<head>#overflow-dynamic</head>
-<p>A TT AF transformation processor supports the
-<code>#overflow-dynamic</code> feature if it recognizes and is capable of
-transforming the <code>dynamic</code> value of the <loc
-href="#style-attribute-overflow"><att>tts:overflow</att></loc>
-attribute.</p>
-<p>A TT AF presentation processor supports the
-<code>#overflow-dynamic</code> feature if it implements presentation semantic support for
-the <code>dynamic</code> value of the <loc
-href="#style-attribute-overflow"><att>tts:overflow</att></loc>
-attribute.</p>
-</div3>
 <div3 id="feature-overflow-visible">
 <head>#overflow-visible</head>
 <p>A TT AF transformation processor supports the
@@ -10827,19 +9631,6 @@
 <code>#profile</code> feature if it implements presentation semantic support
 for the same vocabulary specified above.</p>
 </div3>
-<div3 id="feature-rollUp">
-<head>#rollUp</head>
-<p>A TT AF processor supports the <code>#rollUp</code> feature if it
-supports the following features:</p>
-<ulist>
-<item><p><loc
-href="#layout"><code>#layout</code></loc></p></item>
-<item><p><loc
-href="#feature-overflow-dynamic"><code>#overflow-dynamic</code></loc></p></item>
-<item><p><loc
-href="#feature-dynamicFlow-rollUp"><code>#dynamicFlow-rollUp</code></loc></p></item>
-</ulist>
-</div3>
 <div3 id="feature-showBackground">
 <head>#showBackground</head>
 <p>A TT AF transformation processor supports the
@@ -11595,71 +10386,6 @@
 <td>O</td>
 </tr>
 <tr>
-<td><loc href="#feature-dynamicFlow"><code>#dynamicFlow</code></loc></td>
-<td>O</td>
-<td>O</td>
-</tr>
-<tr>
-<td><loc href="#feature-dynamicFlow-character"><code>#dynamicFlow-character</code></loc></td>
-<td>O</td>
-<td>O</td>
-</tr>
-<tr>
-<td><loc href="#feature-dynamicFlow-clear"><code>#dynamicFlow-clear</code></loc></td>
-<td>O</td>
-<td>O</td>
-</tr>
-<tr>
-<td><loc href="#feature-dynamicFlow-fill"><code>#dynamicFlow-fill</code></loc></td>
-<td>O</td>
-<td>O</td>
-</tr>
-<tr>
-<td><loc href="#feature-dynamicFlow-glyph"><code>#dynamicFlow-glyph</code></loc></td>
-<td>O</td>
-<td>O</td>
-</tr>
-<tr>
-<td><loc href="#feature-dynamicFlow-in"><code>#dynamicFlow-in</code></loc></td>
-<td>O</td>
-<td>O</td>
-</tr>
-<tr>
-<td><loc href="#feature-dynamicFlow-jump"><code>#dynamicFlow-jump</code></loc></td>
-<td>O</td>
-<td>O</td>
-</tr>
-<tr>
-<td><loc href="#feature-dynamicFlow-line"><code>#dynamicFlow-line</code></loc></td>
-<td>O</td>
-<td>O</td>
-</tr>
-<tr>
-<td><loc href="#feature-dynamicFlow-out"><code>#dynamicFlow-out</code></loc></td>
-<td>O</td>
-<td>O</td>
-</tr>
-<tr>
-<td><loc href="#feature-dynamicFlow-rollUp"><code>#dynamicFlow-rollUp</code></loc></td>
-<td>O</td>
-<td>O</td>
-</tr>
-<tr>
-<td><loc href="#feature-dynamicFlow-smooth"><code>#dynamicFlow-smooth</code></loc></td>
-<td>O</td>
-<td>O</td>
-</tr>
-<tr>
-<td><loc href="#feature-dynamicFlow-teletext"><code>#dynamicFlow-teletext</code></loc></td>
-<td>O</td>
-<td>O</td>
-</tr>
-<tr>
-<td><loc href="#feature-dynamicFlow-word"><code>#dynamicFlow-word</code></loc></td>
-<td>O</td>
-<td>O</td>
-</tr>
-<tr>
 <td><loc href="#feature-extent"><code>#extent</code></loc></td>
 <td>O</td>
 <td>O</td>
@@ -11850,11 +10576,6 @@
 <td>O</td>
 </tr>
 <tr>
-<td><loc href="#feature-overflow-dynamic"><code>#overflow-dynamic</code></loc></td>
-<td>O</td>
-<td>O</td>
-</tr>
-<tr>
 <td><loc href="#feature-overflow-visible"><code>#overflow-visible</code></loc></td>
 <td>O</td>
 <td>O</td>
@@ -12839,12 +11560,6 @@
 text shadow (as outline), visibility, width, writing mode, z-index</td>
 </tr>
 <tr>
-<td>R307</td>
-<td>Style Parameters &ndash; Temporal Fill Mode</td>
-<td>S</td>
-<td>See <code>tts:dynamicFlow</code></td>
-</tr>
-<tr>
 <td>R390</td>
 <td>Style Parameter Symmetry</td>
 <td>S</td>
@@ -12899,12 +11614,6 @@
 <td>Supports discrete</td>
 </tr>
 <tr>
-<td>R501</td>
-<td>Scroll Animation</td>
-<td>S</td>
-<td>See <code>tts:dynamicFlow</code></td>
-</tr>
-<tr>
 <td>R502</td>
 <td>Highlight Animation</td>
 <td>S</td>
@@ -13472,13 +12181,6 @@
 <td>1</td>
 </tr>
 <tr>
-<td><loc href="#style-attribute-dynamicFlow"><code>tts:dynamicFlow</code></loc></td>
-<td><emph>none</emph></td>
-<td></td>
-<td>defines dynamic overflow behavior</td>
-<td></td>
-</tr>
-<tr>
 <td><loc href="#style-attribute-extent"><code>tts:extent</code></loc></td>
 <td><code>width</code>, <code>height</code></td>
 <td><bibref ref="xsl11"/></td>
@@ -13538,7 +12240,7 @@
 <td><loc href="#style-attribute-overflow"><code>tts:overflow</code></loc></td>
 <td><code>overflow</code></td>
 <td><bibref ref="xsl11"/></td>
-<td><code>-inherit</code>, <code>-auto</code>, <code>-error-if-overflow</code>; <code>+dynamic</code></td>
+<td><code>-inherit</code>, <code>-auto</code>, <code>-error-if-overflow</code>;</td>
 <td>8</td>
 </tr>
 <tr>
@@ -13698,10 +12400,6 @@
 square.</p>
 </item>
 <item>
-<p>The value <code>dynamic</code> is defined in terms of the
-<att>tts:dynamicFlow</att> style property.</p>
-</item>
-<item>
 <p>Expressed in terms of writing mode relative padding properties
 rather than absolute padding properties.</p>
 </item>