slimming down your XSLT output
one of the side-effects of using XSLT to handle web app output (XHTML, JSON, Atom, XML, etc.) is that, if you're not careful, your final output can be riddled with extra carriage returns, tabs, and line feeds. usually this happens when your source data contains these characters. but sometimes the XSLT document will insert them, too. i found a recent XSLT document i was using was outputing close to 2K of these unneeded chars!
there are two easy ways to slim down your XSLT output:
xsl:text
element
any time you are generating simple text within you XSLT document, you should wrap this text in the xsl:text
element. that will make sure no LF, CR, TB chars are sent out in the response.
normalize-space()
function
any time you suspect your source data contains extraneous CR, LF, and TB chars, you can use the normalize-space()
function to remove them.