我有一些包含URI的XML数据。我想在ASP页面上列出URI,但也可以使用<a>
标签来点击它们。但是,XSLT不允许您在标记中嵌入XSL命令,例如:
<xsl:for-each select="//uri">
<tr>
<td class="tdDetail">
More information
</td>
<td>
<a href="<xsl:value-of select="." />" alt="More information" target=_blank><xsl:value-of select="." /></a>
</td>
</tr>
</xsl:for-each>
如何在<uri>
代码后的<a href="
代码中添加网址?
答案 0 :(得分:11)
使用the <xsl:attribute>
element具有非固定属性。
<a alt="More information" target="_blank">
<xsl:attribute name="href">
<xsl:value-of select="." />
</xsl:attribute>
<xsl:value-of select="." />
</a>
修改:正如其他人所提到的,也可以使用attribute value templates:
<a href="{.}" alt="More information" target="_blank">
<xsl:value-of select="." />
</a>
答案 1 :(得分:5)
使用强>:
<a href="{.}" alt="More information" target="_blank">
<xsl:value-of select="." />
</a>
尝试使用AVT (属性 - 值 - 模板)尽可能(在除select
属性之外的所有属性上)。这使代码更短,更易读。
答案 2 :(得分:4)
除了使用&lt; xsl:attribute&gt; (在KennyTM的回答中提到)在处理属性时也可以使用“{}”简写表示法:
<a href="{.}"><xsl:value-of select="." /></a>