XSL ignores my whitespace even with the <xsl:text> tag
I'm making a header in my XSL code that includes multiple fields of information, i.e. "Name: Bob Birthdate: January 1 1900," etc. I enclosed them in tags as such:
<xsl:text> Gender: Male </xsl:text>
But on the page, the whitespace around Gender/Male is being ignored. Is there something I'm missing?
开发者_如何学CThanks in advance.
You may need the to use...
<xsl:text xml:space="preserve"> Gender: Male </xsl:text>
If you want to output a text file you should specify an <xsl:output method="text"/>
as a child of the <xsl:stylesheet>
element.
When treating output as HTML the parser might pack your spaces, if HTML output with non-breaking spaces is what you want you can use the  
non-breaking space entity (note that
might not work since it's not an XML entity, unless you declare it yourself).
This not a strict XSLT question, as XSLT does not eat your white space. This transformation
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<foo>
<xsl:text> Gender: Male </xsl:text>
</foo>
</xsl:template>
</xsl:stylesheet>
gives
<?xml version="1.0" encoding="UTF-8"?>
<foo> Gender: Male </foo>
You are using HTML as the output? Then use non breaking space for whitespace.
Just use
 Gender: Male 
it represent whitespace in xsl like
Gender:Male
in html
You need to add
instead of spaces. To get more than 1 space
<xsl:text><![CDATA[ Gender: Male ]]></xsl:text>
精彩评论