如果我这样做:
<xsl:variable name="something">
<xsl:value-of select="node1" /><br />
<xsl:value-of select="node2" /><br />
<xsl:value-of select="node3" /><br />
<xsl:value-of select="node4" /><br />
</xsl:variable>
<h1><xsl:value-of select="$something" /></h1>
忽略换行符。是吗?
如果有任何不同,我正在使用xslt 1.0。
提前致谢。
答案 0 :(得分:4)
您应该在这里使用 xsl:copy-of ,而不是 xsl:value-of ,因为 xsl:value-of 仅输出节点的文本值
<h1><xsl:copy-of select="$something" /></h1>
答案 1 :(得分:2)
您应该使用copy-of
代替value-of
来维护<br/>
。原因是value-of
查找您选择的节点的文本,因此如果您想要文本和该节点的元素,则需要复制而不是值。
由于您使用的是XSLT 1.0,因此您可能还需要查看exslt:node-set
以更好地处理这样的结果树片段。
作为旁注,h1
被h2
关闭,但无效。希望这只是一个复制和粘贴错误。