Team,

I'm having some confusion with the
"white-space-treatment" property for a
block.(http://www.w3.org/TR/2001/REC-xsl-20011015/slice7.html#white-space-treatment)

The default value is this property is
"ignore-if-surrounding-linefeed", and here is its
definition in the spec: (sorry to torture you all ;-) 

"Specifies that any character flow object, except for
U+000A (linefeed) characters, whose character is
classified, before any linefeed-treatment handling is
considered, as white space in XML (or any sequence of
such character flow objects) that immediately precedes
or follows a character flow object whose Unicode code
point, before any linefeed-treatment handling is
considered, is U+000A (linefeed), shall be discarded
during the refinement process."

The term "*immediately* precedes or follows" would
appear to indicate that no more than two whitespace
characters (one before and one after the linefeed)
could be removed from the block. In other words, given
this fo:block:

<fo:block>Here is sentence one.    {linefeed}
    Here is sentence two.</fo:block>

(with four spaces after "one." and the linefeed, and
four leading spaces on the second line.)

The default value of ignore-if-surrounding-linefeed
would appear to resolve this as:

Here is sentence one.   {linefeed}
   Here is sentence two.

i.e., retaining *three* spaces before and after the
linefeed, as well as the linefeed itself in the text.

This doesn't appear correct.  The default value of
whitespace treatment + linefeed treatment (which just
converts the linefeed to a single space) should result
in:

"Here is sentence one. Here is sentence two.",
correct?

I'm probably missing something pretty fundamental
here, I just don't know what!

Thanks,
Glen


__________________________________
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree

Reply via email to