Some white-space issues

Hello XSL editors,

I've got a few questions relative to the various white-space related
properties in XSL which perhaps you could clarify.

1a. white-space-treatement: the values which ignore whitespace before,
after or surrounding a linefeed, use the phrase "any character flow
object ... whose character is classified ... as white space in XML (or
any sequence of such character flow objects) that immediately
precedes/follows a character flow object whose Unicode code point ... is
U+000A". By immediately preceding (or following) is it your intention
that the sequence of character FOs in question are siblings, or that
they are adjacent in a traversal of character FO leaves? In the first
(literal) interpretation, in the following example the spaces after
"abc" will not be ignored, because the following linefeed is in the
wrapper and not an immediate sibling.

<fo:block>Text abc abc  <fo:wrapper font-weight="bold">  
   xxx  </fo:wrapper>......</fo:block>

1b. white-space-collapse: same question for the "true" value concerning
collapse of immediately preceding/following or "consecutive".

The literal interpretation is certainly easier to implement. If I use
the "leaf-node" interpretation (ie, what is visible on the paper), there
are some fuzzy cases where the value of the property can change in the
middle of a sequence of white-space, which makes it hard to know what
shold be done. On the other hand, in the case of fo:wrapper which is
often used simply to change the font-style or weight, it seems logical
that white-space handling should transparently cross the boundary.

2. suppress-at-line-break: the initial value of the property is "auto",
which means that character FOs with a code point of U+0020 (space) are
treated as if the value were "suppress". I take it that this means that
the following fo example, with the default values for
white-space-treatment and linefeed-treatment :
    some text.(0xa)
will _not_ generate a space before the "s" of "some text", nor at the
On the other hand, using white-space-treatment="preserve",
linefeed-treatment="preserve" and white-space-collapse="false", the
leading spaces are not suppressed because they are not
"formatter-generated". Seems reasonable to me.

Thanks in advance,

Karen Lease
Senior Software Developer/SPX Valley Forge

Received on Monday, 26 November 2001 19:23:14 UTC