On 25 Mar 2009, at 00:33, Maria2009 wrote:
Hi Maria
this is good news indeed. I will look for these recommendations and
come
back to this forum again.
Some follow-up on this:
Hope you have better luck than I did. I could have sworn I had read
something like that... :-/
Maybe I'm mixing up things, and the reference I remember is not
Unicode at all.
Any help and further advise then is appreciated! I
am learning all this by doing.
At any rate, my original intention was not so much to 'correct' as to
'inform'. XSL-FO mentions absolutely nothing about non-XML white-space
characters. The only references to be found are to the four codepoints
I mentioned earlier. As far as XSL-FO is concerned, a zero-width space
is just another character.
On the other hand, things like Unicode line-separators or paragraph-
breaks aren't spoken about either, but FOP does deal with them as an
end-user would expect.
In the meantime, I have re-read your original post, and:
Now, for some of these nested elements I have to create special
whitespace
(like non-breaking small spaces), so I do not need the whitespace
from the
normalization. In other words: Instead of "text_text-from-
element_text"
(with _ for normal spaces between the elements), I want
"text*text-from-element_text" (with * for non breaking whitespaces)
but get
"text_*text-from-element_text".
What does the generated FO look like *exactly*? If there is any
indentation or a linefeed, one regular space-character will always
survive default settings for "white-space-collapse", "white-space-
treatment" and "linefeed-treatment".
You could experiment by setting the property 'linefeed-
treatment="ignore"' on the surrounding block. If that relieves the
issue, then it means that an unnecessary linefeed is present in the
FO. For example the FO looks like (literally):
<fo:block>
text
<fo:inline>*text-from-element</fo:inline>
...
The white-space between the word 'text' and the fo:inline would yield
one space that survives, since from the point-of-view of the processor
(FOP) it just appears in between two characters.
If you were to make that:
<fo:block>text<fo:inline>*text-from-element</fo:inline>
...
then the output would be precisely what you seem to expect. Could be
that this particular issue is solvable by adhering to best practices
and simply producing processor-friendly (as opposed to human-readable)
XML.
In other words: make sure the FO result does not contain ANY white-
space that you don't want there, and FOP will behave. It treats
regular spaces as XSL-FO prescribes, and for the rest, it only assumes
that every other type of space is there because it was intended.
HTH!
Andreas
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]