我想我可能对<xsl:variable\>
和<xsl:value-of\>
有误解,所以也许有人可以纠正我!
我正在尝试调整一些硬编码横幅以使其更清洁,所以我认为创建包含横幅链接和图像代码的<xsl:variable>
是个好主意,然后使用<xml:value-of>
需要横幅的各个地方。例如:
<!-- Global variable in my xslt file. There are a bunch of these... -->
<xsl:variable name="banner1">
<a href="http://www.link.com/" title="Title" target="_blank">
<img width="120" height="506" src="/images/banners/image.gif" alt="alt" />
</a>
</xsl:variable>
<!-- Then when used: -->
<xsl:when test="blah'">
<xsl:value-of select="$banner1"/>
</xsl:when>
但这并没有产生我期望的输出。图像路径等是有效的,但这根本不会吐出任何东西。在<a>
标记之前或之后添加的任何文本都会正确显示,但<a>
标记之间没有任何内容。
我对<xsl:variable>
有什么误解?我怎么能更好地做到这一点(除了“正确地”并且从我喜欢的数据库中提取广告......)。
答案 0 :(得分:7)
使用xsl选择的值:value-of是变量的字符串值。
您希望<xsl:copy-of select='$banner1' />
复制结果树片段。