RE: Timed tracks

The XSL:FO, and thus TTML style, model is an extension of the CSS2.1 model in the sense below, (although TTML Style is much smaller since it users only a fraction of XSL:FO). The CSS3 model when defined will also redefine and extend the CSS2 model also and thus be a 'different technology' in the same sense.
I expect CSS3 to be an extension in a compatible manner to XSL, thus reconciling the models. If it turns out there is a valid reason why CSS3 needs to be different to XSL 1.1, TTML can be revised to take that into account, as I would expect, XSL 2 would be too.  Specifications have to evolve, otherwise there can be no progress.

>From the XSL specification:
1.2.4 A Comprehensive Area Model

The extension of the properties and formatting objects, particularly in the area on control over the spacing of blocks, lines, and page regions and within lines, necessitated an extension of the CSS2 box formatting model. This extended model is described in 4 Area Model<> of this specification. The CSS2 box model is a subset of this model. See the mapping of the CSS2 box model terminology to the XSL Area Model terminology in 7.2 XSL Areas and the CSS Box Model<>. The area model provides a vocabulary for describing the relationships and space-adjustment between letters, words, lines, and blocks

7.2 XSL Areas and the CSS Box Model

This section describes how to interpret property descriptions which incorporate the CSS2 definition of the same property. In CSS2, "boxes" are generated by "elements" in the same way that XSL areas are generated by formatting objects. Any references in the CSS2 definition to "boxes" are to be taken as referring to "areas" in the XSL area model, and where "element" appears in a CSS2 definition it should be taken to refer to a "formatting object".

The CSS term, positioned element will in XSL be taken as referring to an XSL FO that has one of the following: an "absolute-position" property with a computed value other than "auto" and/or a "relative-position" property with a computed value other than "static".


Since in XSL, the "position" property is a shorthand for the "absolute-position" and "relative-position" properties, this is equivalent to the CSS definition.

The position and size of a box are normally taken to refer to the position and size of the area's content-rectangle. Additional correspondences between the CSS2 Box Model and the XSL Area Model are contained in the following table.


top content edge

top edge of the content-rectangle

padding edge


content area

interior of the content-rectangle

padding area

region between the content-rectangle and the padding-rectangle

border area

region between the padding-rectangle and the border-rectangle



containing block

closest ancestor block-area that is not a line-area (see below for additional information when the "containing block" is used as a reference for percentage calculations)


area generated by fo:table-caption

inline box


line box


block box

block-area which is not a line-area

page box


Box margins map to area traits in accordance with the description of how area traits are computed from property values in 5 Property Refinement / Resolution<>.

From: Maciej Stachowiak []
Sent: Saturday, May 08, 2010 11:25 PM
To: Sean Hayes
Cc:; Philip Jägenstedt;
Subject: Re: Timed tracks

<chair hat off>

On May 8, 2010, at 5:26 AM, Sean Hayes wrote:

It is difficult in the W3C to keep a bunch of related and interdependent specs progressing in different WGs at different speeds in synch; but let's be clear TTML *is* defined in terms of CSS by reference. So yes, implementing TTML using a CSS engine *is* a good long term solution if you have one that is consistent with CSS3 and will remain so, however TTML is defined the way it is so that a full CSS implementation is not a requirement while retaining presentational interoperability, and so that it is based on stable references; since doing otherwise would limit its usefulness in other contexts.  Defining a new format in the W3C would simply re-encounter all the same logistical problems that TTML has had to negotiate.

The problem is not primarily the style properties, it's the basic layout model. Let me give some examples.

1) Look at this algorithm, which explicitly defines TTML layout in terms of mapping to XSL-FO:

Here is just one step from that process:

"3. map the tt element to an fo:root element, populated initially with an fo:layout-master-set element that contains a valid fo:simple-page-master that, in turn, contains an fo:region-body child, where the root container extent expressed on the tt element is mapped to page-width and page-height attributes on the fo:simple-page-master element;"

Can you explain how this is defined in terms of CSS by reference? I looked up the definitions of "fo:root", "fo-layout-master-set", "fo:simple-page-master" and "fo:region-body" in the XSL spec, and I did not see any references to CSS. Rather, I saw some direct definitions of layout constraints.

The rest of the steps are similarly defined directly as a mapping to xsl:fo.

2) This section defines TTML line layout as equivalent to XSL line layout:

Can you explain how this is defined in terms of CSS by reference? This is the section of XSL 1.1 that most directly references line layout: <>. I don't see CSS references here, rather, XSL defines its own line layout algorithm.


Received on Saturday, 8 May 2010 23:31:16 UTC