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



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

我有一个名为URL的列,其中包含URL,即http://stackoverflow.com,我有一个名为Title的列,其中包含锚的文本,即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>

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

在没有看到XML的情况下很难给出精确的答案,但是您可以在这里使用"Attribute Value Templates"来创建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>

最新更新