使用XSLT将变量href属性添加到超链接

时间:2014-08-13 21:43:43

标签: xslt nested

我需要使用动态值为URL和锚文本创建链接。

我的列名为网址,其中包含网址,即http://stackoverflow.com,我有一个名为标题的列,其中包含锚的文本,即This Great Site

我想我可能需要做的就是嵌套这个标签,再加上一些HTML来获得我想要的结果:

<a href=">
    <xsl:value-of select="@URL">">
        <xsl:value-of select="@Title"/>
    </xsl:value-of>
</a>

在我的脑海中,这将呈现:

<a href="
    http://stackoverflow.com">
        This Great Site
</a>

我知道还有更多,但我还没有能够清楚地了解我还需要什么。我认为这个问题以前已经得到解决,但不是我能理解的方式。我非常乐意改善问题的标题,以帮助像我这样的新手找到这个项目,并希望得到答案。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

如果没有看到您的XML,很难给出准确的答案,但您可以使用&#34;属性值模板&#34;这里创建href属性。

<a href="{@URL}">
    <xsl:value-of select="@Title"/>
</a>

花括号{ }表示要计算的表达式,而不是字面输出。

对于复杂表达式,或者如果您只想为某些条件或动态名称创建属性,您可以使用xsl:attribute元素,如此

<a>
    <xsl:attribute name="href">
       <xsl:value-of select="@URL"/>
    </xsl:attribute>
    <xsl:value-of select="@Title"/>
</a>

属性值模板通常是首选。