XSL defines about twenty elements for transforming XML documents. So far, you have seen the basic <xsl:template> element for defining template rules and the <xsl:apply-templates> and <xsl:value-of> rules for including data in the output document.
Many transformations can be defined just using these three elements. However, some of the more complex requirements need additional support from XSL.
By default, an XSL transformation retains the whitespace in the original document. This may not be required for the following reasons:
The whitespace is generally ignored when processing the output.
Users browsing the transformed document may find the whitespace misleading or annoying.
Some output document ...