- From: MURAKAMI Shinyu <murakami@nadita.com>
- Date: Sat, 27 May 2000 14:48:44 +0900
- To: xsl-editors@w3.org
Dear xsl-editors
Question:
How to put a program-code-like-text in XSL FOs?
A simple example:
---------------------------------------
<fo:block linefeed-treatment="preserve"
white-space-collapse="false"
wrap-option="no-wrap"
font-family="monospace">
/* hello.c */
main()
{
printf("Hello, world\n");
}
</fo:block>
---------------------------------------
In the printf line, I put space chars (u+0020) for indentation.
The formatter will output:
-------------------------
/* hello.c */
main()
{
printf("Hello, world\n");
}
-------------------------
The white-space indentation is suppressed.
I specified white-space-collapse="false", but in this case
not effective, because of the XSL WD 2000-03-27 spec
[7.14.3 "suppress-at-line-break"].
Space chars at begining and end of line are suppressed by
suppress-at-line-break="auto" (initial value).
I want to put suppress-at-line-break="retain" on the fo:block,
but can not, because this property applies to only fo:character
and not inheritable.
IMHO, a inheritable suppress-at-line-break="retain" is expected,
or the behavior of suppress-at-line-break="auto" controlled
by white-space-collapse="false".
Another question:
Is the linefeed char of very begining or end of text node suppressed?
In HTML,
<PRE>
Hello
</PRE>
is equivalent to
<PRE>Hello</PRE>
but in XML not.
If linefeed-treatment="preserve" is specified, then all linefeeds
are preserved. (?)
Example:
<fo:block linefeed-treatment="preserve">
Hello
</fo:block>
The formatter will output blank lines before and after "Hello".
Is it correct?
Or linefeeds are trimmed when the FO tree is constructed (by objectify)?
Last question:
How to format the tab (u+0009) when white-space-collapse="false" and
space-treatment="preserve"? Expand to n spaces?
Thanks,
MURAKAMI Shinyu
Received on Saturday, 27 May 2000 01:47:36 UTC