The element 'xsl:text' preserves text and whitespace.
For example, to preserve the whitespace in the previous example:
<xsl:template match="foo"><xsl:text> </xsl:text><p>some text</p><xsl:text> </xsl:text></xsl:template>
This is often used to add whitespace between non-literal elements.