XSL修改html <a> tag</a>的href属性

时间:2011-05-07 13:00:54

标签: xml xslt-1.0

我是XSLT的新手,我想知道如何使用从XML节点获取的值修改标记的href属性。

特别是,我的XML文件就像这样

<root>
<privileges edit="1" del="1"></privileges> 
<rooms> 
<room> 
<id>1</id> 
<roomNr>101</roomNr> 
<locked>0</locked> 
<lockdownReason></lockdownReason> 
</room>
</rooms>
</root>

我的XSL文件就像

<xsl:for-each select="root/rooms/room">
<div class="column toolbox">
<xsl:if test="$edit = 1">
<a href='admin.php?room=VALUE_OF_ID__OF_CURRENTLY_SELECTED_NODE'>this is a link</a>
<p>edit is true</p>
</xsl:if>
</div>
<div class="column">Room Nr.:<xsl:value-of select="roomNr"/></div>
</xsl:for-each>

大写字母表示我试图完成的任务。 有人请回复。 感谢

2 个答案:

答案 0 :(得分:2)

对于您的XSLT,最简单的方法是使用Attribute Value Template (AVT)并选择<id>的值,如下所示:

<a href='admin.php?room={id}'>this is a link</a>

答案 1 :(得分:0)

您正在寻找xsl:attribute。我不确定当前id的引用应该如何,但是这样的事情应该让你开始:

<a>
<xsl:attribute name="href">admin.php?room=<xsl:value-of select="./id"/></xsl:attribute>
this is a link
</a>