- From: Peter B. West <lists@pbw.id.au>
- Date: Fri, 14 Jan 2005 15:52:16 +1000
- To: xsl-editors <xsl-editors@w3.org>
The editors, I am seeking clarification of the semantics of reference-orientation. The Draft Recommendation has: <quote> 7.20.3 "reference-orientation" XSL Definition: Value: 0 | 90 | 180 | 270 | -90 | -180 | -270 | inherit Initial: 0 Inherited: yes (see prose) </quote> I don't find that the prose of 7.20.3 clarifies the semantics. There is no further mention of inheritance in that text. It does have: <quote> The "reference-orientation" property is applied only on formatting objects that establish a reference-area. Each value of "reference-orientation" sets the absolute direction for "top", "left", "bottom", and "right"; which is used by "writing-mode", "direction", and all positioning operations that are referenced to the reference-area or are nested within it. </quote> This is the only thing I can see that has any aspect of inheritance about it. Assuming that a reference-orientation of 90 has been applied on the nearest ancestor reference area A of some reference area B, and is never re-specified, does this mean that the effective reference-orientation of B is 180? If so, say that B has a reference-area descendant C, and that C has a reference-area descendant D, and that reference-orientation is never re-specified in the FO tree path to D. The implication is that the effective reference-orientation of C is 270, and that of D is 0. In other words, does the "inheritance" of a single non-zero reference-orientation have the effect of causing multi-generation descendant reference-areas to "spin"? If not, would the addition of 'reference-orientation="inherit"' on B, C and D cause them to "spin"? "Spinning" seems to be a consequence of the way the Rec is currently worded. I don't know whether any implementations displays this behaviour. It would seem to me desirable to have the semantics defined along the following lines. Value: 0 | 90 | 180 | 270 | -90 | -180 | -270 | inherit Initial: 0 Inherited: No I.e. allow the "inherit" keyword, but deny default inheritance. The default value for all reference-areas is the initial value, 0. (Note that this behaviour is spelled out for the reference-area in a number of viewport/reference-area pairs.) "inherit" would, in the case above, cause "spinning", and this should be pointed out in explanatory text for the "inherit" value. The description of the "integer" values is unchanged. The problem arises, I think, because the trait "reference-orientation" is an accumulator, unlike other traits. Peter West
Received on Friday, 14 January 2005 05:52:23 UTC