Reply to your comment re: Space resolution rules

Paul Grosso <[email protected]>
Newsgroups gmane.org.w3c.xsl-editors
Message-ID <[email protected]>
Nikolai,

Thank you for your comment to [email protected] archived at
http://lists.w3.org/Archives/Public/xsl-editors/2002AprJun/0024.html

The WG discussed this and realized that the XSL 1.0 spec's wording
in this area was misleading.  

Informally, the idea is that all conditional space at the beginning
of a reference area up to (but not including) anything other than
conditional space should be suppressed.  Once anything else (whether
an FO or retained space) is encountered, nothing else gets suppressed.

The following is the suggested rewording of the spec to makes this so
(apologies for the markup, but this is literally what we plan to use):

-------
the last two paragraphs in section 4.2.5 should change to:

=====================
<p>An area <var>A</var> <term>begins</term> an area <var>P</var> if
<var>A</var> is a descendant of <var>P</var> and <var>P</var> and 
<var>A</var> have either a block-stacking constraint or an inline-stacking 
constraint, provided that no descendant of <var>P</var> which is an ancestor
of <var>A</var> has a space-before (in the case of a block-stacking 
constraint) or a space-start (in the case of an inline-stacking 
constraint) whose computed minimum, maximum, or optimum values
are nonzero.  In this case the second of the adjacent edges of 
<var>P</var> and <var>A</var> is defined to be a <term>leading 
edge</term> in <var>P</var>. A space-specifier which applies to
the leading edge is also defined to <term>begin</term> <var>P</var>.</p>

<p>Similarly, An area <var>A</var> <term>ends</term> an area
<var>P</var> if <var>A</var> is a descendant of <var>P</var> 
and <var>A</var> and <var>P</var> have either a
block-stacking constraint or an inline-stacking constraint,
provided that no descendant of <var>P</var> which is an ancestor
of <var>A</var> has a space-after (in the case of a block-stacking
constraint) or a space-end (in the case of an inline-stacking constraint)
whose computed minimum, maximum, or optimum values are nonzero.
In this case the first of the adjacent edges of <var>A</var> and 
<var>P</var> is defined to be a <term>trailing edge</term> in 
<var>P</var>. A space-specifier which applies to the trailing 
edge is also defined to <term>end</term> <var>P</var>.</p>
=====================

In addition, in section 4.3.1, the first space-resolution rule should
have additional clarifying sentences and read as follows:

=====================
<item><p>If any of the space-specifiers in <var>S'</var> is conditional,
and begins a reference-area or line-area, then it is <term>suppressed</term>,
which means that its resolved space-specifier is zero. Further, any
conditional space-specifiers which consecutively follow it in the sequence 
are also suppressed.
For purposes of this rule, a space-specifier <var>U</var>
<term>consecutively follows</term> a space-specifier <var>V</var> if it
<var>U</var> follows <var>V</var> and <var>U</var> and <var>V</var> are
separated in the sequence only by conditional space-specifiers and/or
space-specifiers whose computed minimum, maximum, and optimum values are
zero.</p>

<p>If a conditional space-specifier ends a reference-area or line-area,
then it is suppressed together with any other conditional space-specifiers 
which consecutively precede it in the sequence.
For purposes of this rule, a space-specifier <var>U</var>
<term>consecutively precedes </term> a space-specifier <var>V</var> if
it <var>U</var> precedes <var>V</var> and <var>U</var> and <var>V</var>
are separated in
the sequence only by conditional space-specifiers and/or
space-specifiers whose computed minimum, maximum, and optimum values are
zero.
</p></item>
=====================

-------

Please Reply (cc-ing [email protected]) if you wish to make
an objection to our resolution.

Thank you for your interest in XSL.

Paul Grosso for the XSL FO Subgroup of the XSL WG
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.