getting a linefeed into the FO result

In a discussion among Dave Pawson, Nikolai Grigoriev,
and myself, I claimed one should be able to insert

  <fo:character character="&#x0A;"/>

into one's FO result to force a line break.  For example,
I claimed the above was a much better translation of, say,
and HTML <br> tag than to emit an empty <fo:block/>.  If
you go to http://www.w3.org/TR/xsl/slice4.html#area-linebuild
then scan forward for "0A" you find:
  Forced line-breaks are respected. Specifically, if A is the glyph-area
  generated by a fo:character whose Unicode character is U+000A, then A
  must be the last area in its containing subset Si.

Nikolai, however, pointed out that the above FO was just
equivalent to having a linefeed in one's source document
and that it would just be treated as a space given the
default value for linefeed-treatment.

So, I thought about it and decided he was probably right.
So then I suggested using:

  <fo:character character="&#x0A;" linefeed-treatment="preserve"/>

But then Nikolai pointed out that linefeed-treatment wasn't
applicable to fo:character--and Jeremy's property table at [1]
does show it only applicable to fo:block.  

So how is one supposed to get a significant linefeed character
into one's FO result?  Why shouldn't linefeed-treatment be
applicable to fo:character?  (And likewise with similar properties
such as white-space-collapse and white-space-treatment.)

Isn't this an error in the spec, or am I just missing something?

paul

[1] http://www.w3.org/Style/XSL/Group/2001/03/05-fo-props.html

Received on Tuesday, 19 March 2002 03:40:07 UTC