XSLT: remove white spaces when transforming to HTML

html, strip, whitespace, xslt

Solution

Using

<xsl:strip-space elements="*"/>

is a good idea.

So is specifying the details of the output:

<xsl:output
    indent="no"
    method="html"/>

If the above still are not good enough, you can try altering the processing of `text()` nodes (thinking along the lines of DocBook's schema, where any text you explicitly wanted would be in `<para/>` tags, or similar):

<xsl:template match="chapter/text()"/>

You can use just `match="text()"` but that might be too aggressive as it is very vague--it will not necessarily kill the text you want (again, in your `<para/>` tags, or similar) as those text nodes will probably be processed implicitly by XSLT's built in templates.

Problem

I have a XML doc that is transformed to HTML but I want the result HTML to be as small as possible. So I must remove all white spaces and line endings. How can I do that?

Original source