Hi Stéphane,
I was able to reproduce your problem, but I believe this is more of a
Facelets issue.
The Facelets engine is using ResponseWriter.writeText() to render all
text between the tags
including the white space. Since the tab character is not a valid
HTML/XML character, Trinidad
is escaping it, as I believe it should given that it is being asked to
write text.
Note that you would get ResponseWriter.write() being called if you had a
JSPX document.
I think your only choice is to replace the tab characters with space
characters.
Is it only me, or do you guys think that Facelets/JSF2 should be
exposing SKIP_WHITE_SPACE context
parameter just like it does with SKIP_COMMENTS ?
Max
Stéphane Rondinaud wrote:
Hello all,
I needed to update to 1.2.13 to solve a problem with search engine
bots generation NPEs, and just after the switch, I realized that some
tabs present in the different facelets pages were getting through to
the output page escaped as "	", ruining my attempt at having
conforming webpages - the tabs being in the <head></head>, the
validation fails...
I traced back the problem to commit 886958 related to bug
TRINIDAD-1655. What's bothering me is that I seem to be the only one
to have this problem as I couldn't find any post on the mailing list
about such a problem.
You'll find attached a minimal maven project illustrating the problem.
Launching it by "mvn jetty:run" and browsing to
http://localhost:8080/TrinidadTest/ will return a page with some
"	" in place of regular tabs.
One last thing: I tried to use a Selenium test to track the problem
but it seems that the "getHtmlSource()" method replaces automatically
the 	 with regular tabs, thus rendering the test useless.
Please feel free to request anything that could help finding the cause
of the issue,
Best regards,
Stéphane Rondinaud