ISSUE-310: Forward reference rule doesn't take into account child elements
progressivelyDecodable needs hierarchical definition
Forward reference rule doesn't take into account child elements
- State:
- CLOSED
- Product:
- TTML IMSC 1.0
- Raised by:
- Nigel Megitt
- Opened on:
- 2014-05-21
- Description:
- The definition of ttp:progressivelyDecodable [1] could be interpreted as describing an impossible scenario as it requires that no element references another element occurring later in the document. It does not define "later" to mean 'after the close tag'.
Since the computed time for a content element may depend on the computed times of its children, and those children are defined later (bytewise) in the document than the opening tag this possibly unintended interpretation would result in all documents being invalid if progressivelyDecodable is "true".
However, if the "after the close tag" clarification is added then the concept becomes meaningless because validation would require waiting until </body> which would negate the utility of the attribute. Something needs to be added that references the hierarchical structure of the document when interpreting this attribute.
Incidentally there is also a typo somewhere because the attribute is described alternately as being in ttp: namespace and imsc: namespace, and both shouldn't be true.
[1] http://www.w3.org/TR/ttml-imsc1/#ttp-progressivelyDecodable - Related Actions Items:
- No related actions
- Related emails:
- {minutes} TTWG Meeting 21/8/2014 (from nigel.megitt@bbc.co.uk on 2014-08-21)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from glenn@skynav.com on 2014-08-21)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from pal@sandflow.com on 2014-08-20)
- {agenda} TTWG Meeting 21/8/2014 (from nigel.megitt@bbc.co.uk on 2014-08-20)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from pal@sandflow.com on 2014-08-15)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from nigel.megitt@bbc.co.uk on 2014-08-15)
- {minutes} TTWG Meeting 14/8/2014 (from nigel.megitt@bbc.co.uk on 2014-08-14)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from nigel.megitt@bbc.co.uk on 2014-08-14)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from pal@sandflow.com on 2014-08-14)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from nigel.megitt@bbc.co.uk on 2014-08-14)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from pal@sandflow.com on 2014-08-14)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from nigel.megitt@bbc.co.uk on 2014-08-14)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from pal@sandflow.com on 2014-08-14)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from nigel.megitt@bbc.co.uk on 2014-08-14)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from pal@sandflow.com on 2014-08-14)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from nigel.megitt@bbc.co.uk on 2014-08-14)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from pal@sandflow.com on 2014-08-13)
- {agenda} TTWG Meeting 14/8/2014 (from nigel.megitt@bbc.co.uk on 2014-08-13)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from nigel.megitt@bbc.co.uk on 2014-08-13)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from glenn@skynav.com on 2014-08-13)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from nigel.megitt@bbc.co.uk on 2014-08-13)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from pal@sandflow.com on 2014-08-13)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from nigel.megitt@bbc.co.uk on 2014-08-13)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from pal@sandflow.com on 2014-08-13)
- Re: ISSUE-330 (Is Presented Region a synonym for temporally active region?): Is Presented Region a synonym for temporally active region? [TTML IMSC 1.0] (from nigel.megitt@bbc.co.uk on 2014-08-13)
- Re: ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from pal@sandflow.com on 2014-08-12)
- Re: ISSUE-311 (Note on progressivelyDecodable): Note on progressivelyDecodable is not a sentence [TTML IMSC 1.0] (from pal@sandflow.com on 2014-08-12)
- Re: {agenda} TTWG Meeting 7/8/2014 (from pal@sandflow.com on 2014-08-06)
- {agenda} TTWG Meeting 7/8/2014 (from nigel.megitt@bbc.co.uk on 2014-08-06)
- {agenda} TTWG Meeting 31/7/2014 (from nigel.megitt@bbc.co.uk on 2014-07-30)
- {agenda} TTWG Meeting 29/5/2014 (from nigel.megitt@bbc.co.uk on 2014-05-28)
- {minutes} TTWG Meeting 22/5/2014 (from nigel.megitt@bbc.co.uk on 2014-05-22)
- {agenda} TTWG Meeting 22/5/2014 (from nigel.megitt@bbc.co.uk on 2014-05-21)
- ISSUE-310 (progressivelyDecodable needs hierarchical definition): Forward reference rule doesn't take into account child elements [TTML IMSC 1.0] (from sysbot+tracker@w3.org on 2014-05-21)
Related notes:
> Since the computed time for a content element may depend on
> the computed times of its children, and those children are
> defined later (bytewise) in the document than the opening tag
> this possibly unintended interpretation would result in all documents
> being invalid if progressivelyDecodable is "true".
Please provide an example.
See TTML1SE §10.2.4 timeContainer and §10.4 Time Intervals for the spec detail.
For example the active time of <body> with no begin, end or dur attribute is derived from the active times of its children. If it contains a set of <div>s with no begin, end or dur attribute then each of their active times is defined by their children, e.g. a set of <p>s.
In this example when a <div> open tag appears the start of its active time is unknown, until the first <p> with a begin time is encountered:
<body><!-- timing must be derived by inspecting the <p> that is later on in the document -->
<div>
<p begin="...">
<!-- This is the first place in the document where decoding can meaningfully commence -->
</p>
</div>
</body><!-- at this point there's a complete view of the timing of all the elements, but there's no point in holding off until here if progressive decoding is to make any sense -->
Addressed at https://dvcs.w3.org/hg/ttml/rev/80f2493f9079
The revised text is based on feedback from CFF-TT implementers.
"progressively decodable" is now essentially defined in terms of:
- the order of the Intermediate Synchronic Documents to which <p> elements map
- constraints on the animation vocabulary
The idea is for the document to consist of a sequence of <p> elements temporally ordered by their start time, and where Intermediate Synchronic Document boundaries can be determined based on the timing of the <p> elements alone.
The updated text uses phrases such as ‘earlier/later in the document’ - this does not address my original concern, that the test for earlier and later is not precisely enough defined. Do you mean to compare the byte locations of the opening tag of the elements in the flattened document structure, for example?
It is also unclear in the new wording (list item 2) how an ISD “maps” to a content element. An ISD is typically constructed from multiple elements simultaneously. There seems to be an assumption that an ISD can only relate to a single p, which is such a significant constraint that I wonder if it was intended.
Take this example:
<p id="p1" begin="00:01:00" end="00:02:00">
[some stuff]
</p>
<p id="p2" begin="00:01:30" end="00:01:45">
[some other stuff]
</p>
We have here the following ISDs:
1. 00:01:00 containing p1
2. 00:01:30 containing p1 and p2
3. 00:01.45 containing p1
4. 00:02:00 containing nothing
Is this progressively decodable? Did the 3rd ISD above 'map' to p2? It doesn't itself contain p2: it simply has its timing derived from p2.
Revised at https://dvcs.w3.org/hg/ttml/rev/8dfffa75d2c9 per email 31
Pierre-Anthony Lemieux, 21 Aug 2014, 04:39:49Display change log