As always, I'm pretty sure it's possible and not too hard to decorate the built-in service that does this work :)
On Fri, Jul 16, 2010 at 5:53 AM, Paul Stanton <p...@mapshed.com.au> wrote: > thanks for the suggestion howard, this would be fine if it were obvious to > all developers which cases were problematic. otherwise it's a case of > putting out spot fires which isn't good. > > i still think making the whitespace compressor more intelligent ie > replacing multiple whitespace chars with a single space is preferable. that > way we still get 99% of the benefits of compression yet none of the > drawbacks. > > is there a way to override the implementation of the class that does this? > > regards, paul. > > > Howard Lewis Ship wrote: > >> Where whitespace counts, add an xml:space="preserve" attribute to the >> enclosing tag, i.e. >> >> <p xml:space="preserve">This is my paragraph and sometimes a single >> word or phrase <span style="text-decoration:underline;">might need >> some special attention</span> <span style="font-weight:bold;">so I >> might do this</span>, but it's still <span >> style="font-style:italic;">my</span> paragraph.</p> >> >> >> >> On Wed, Jul 14, 2010 at 9:27 PM, Paul Stanton <p...@mapshed.com.au> >> wrote: >> >> >>> Firstly, I'd like to say that tapestry does most things very well and I >>> probably only comment on the things it doesn't do well. Thank you to >>> those >>> who've spent time improving the framework for making my job as a >>> developer >>> more enjoyable. >>> >>> I do have an issue with the production mode Considering the following in >>> your average TML: >>> >>> <p>This is my paragraph and sometimes a single word or phrase <span >>> style="text-decoration:underline;">might need some special >>> attention</span> >>> <span style="font-weight:bold;">so I might do this</span>, but it's still >>> <span style="font-style:italic;">my</span> paragraph.</p> >>> >>> or a shorter eg: >>> <p>A <span>B</span> <span>C</span> D</p> >>> >>> In development mode, this will render unchanged: >>> >>> A B C D >>> >>> However in production mode, tapestry will take out some important >>> whitespace: >>> >>> A BC D >>> >>> I know you can partially combat this by using a non-breaking space in the >>> markup ( ) however, this has the expected drawback of disallowing >>> line >>> breaking where it may be required. >>> >>> for example, a list of links: >>> <a href="url1">1</a> >>> <a href="url2">2</a> >>> <a href="url3">3</a> >>> <a href="url4">4</a> >>> <a href="url5">5</a> >>> ... >>> >>> becomes >>> <a href="url1">1</a><a href="url2">2</a><a href="url3">3</a><a >>> href="url4">4</a><a href="url5">5</a>... >>> >>> I agree that some 'compression' on html syntax is a good thing in a >>> production environment, but to keep the integrity of the document I think >>> tapestry should replace multiple whitespace characters with one >>> whitespace >>> character instead of removing all whitespace between tags. Therefore, >>> while >>> I know I can set "tapestry.compress-whitespace" to false, I would prefer >>> to >>> have my suggestion implemented in place of the existing mechanism or as >>> an >>> alternative. >>> >>> The main issues for me: >>> 1. Rendered markup is fundamentally different between production and >>> development environments, making the most commonly used form of testing >>> flawed >>> 2. In some cases a space is the only solution to layout problems and >>> tapestry won't allow it >>> >>> Keen to hear other opinions... >>> >>> p. >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>> For additional commands, e-mail: users-h...@tapestry.apache.org >>> >>> >>> >>> >> >> >> >> >> >