如何将双<br/>
标记放在XSLT文件中以进行双换行?
例如,我想显示如下内容:
Hi Jessica,
Your account is activated!
在逗号和&#34;你的&#34;之间。我会放两个<br/>
标签。
我的代码目前是:
<xsl:value-of select="concat(demessage/TEXT.1, demessage/TEXT.SPACE, demessage/TEXT.2, '<br/>', '<br/>', demessage/TEXT.3)"/>
分别为TEXT.1 = Hi, TEXT.2 = Jessica, TEXT.3 = Your account is activated!
在这种情况下,我认为双线中断应该可行,但它仍然给我一个新线。
有没有人有任何想法为什么转换行为如此?
答案 0 :(得分:2)
XSLT构造结果树,而不是文本文件。这意味着输出元素节点与输出文本非常不同;特别是,您不通过创建元素的标记表示来构造元素。您可以通常使用xsl:element指令构造元素,或者如果事先知道元素的名称,则使用“literal result element”,这是一条看起来就像您要创建的元素的指令:在这种情况下<br/>
。所以很简单:要输出<br/>
元素,请使用<br/>
指令。
所以你首先输出一个文本节点:
<xsl:value-of select="concat(demessage/TEXT.1, demessage/TEXT.SPACE, demessage/TEXT.2"/>
然后输出两个元素节点:
<br/><br/>
然后是另一个文本节点:
<xsl:value-of select="demessage/TEXT.3"/>
答案 1 :(得分:1)
如果您想输出br
元素,则不能使用单个value-of
和concat
,而是使用<xsl:value-of select="concat(demessage/TEXT.1, demessage/TEXT.SPACE, demessage/TEXT.2)"/><br/><br/><xsl:value-of select="demessage/TEXT.3"/>
。