XML的一部分:
<text><b>Title</b> <b>Happy</b></text>
在我的XSL中我有:
<xsl:value-of select="text" disable-output-escaping="yes" />
我的输出变为
**TitleHappy**
我的间距丢失了 - </b>
和<b>
之间应该有一个空格。
我尝试了normalize-space()
,但它不起作用。
有什么建议吗?谢谢!
答案 0 :(得分:1)
如果你想要xsl的空格,请使用: &LT; XSL:文本&GT; &LT; / XSL:文本&GT;
只有当空格被识别为文本节点时才会被保留(即:“a”两个空格都将被识别)
来自orignal source xml的空格必须通过告诉解析器来保存(例如)parser.setPreserveWhitespace(真);
答案 1 :(得分:0)
作为输出HTML,您可以使用不间断的空格替换您的空间
答案 2 :(得分:0)
您是否可以控制原始XML的生成?如果是这样,您可以尝试将xml:space =“preserve”添加到文本元素中,该文本元素应该告诉处理器保留空白。
<text xml:space="preserve"><b>Title</b> <b>Happy</b></text>
或者,尝试查看XSLT中的“xsl:preserve-space”元素。
<xsl:preserve-space elements="text"/>
虽然我从未亲自使用过它,但它可能会有所帮助。有关详细信息,请参阅W3Schools。
答案 3 :(得分:0)