使用XSLT构造a href=

使用XSLT构造a href=,xslt,Xslt,我想创建以下内容: <a href="domain.com?=USERNAME">Login</a> 其中USERNAME=为XML格式,因此HTML输出特定于当前登录的用户。有人能提供建议吗 我知道我可以使用: <xsl:variable name="class" select="a:Subject"/> <p class="{$class}">English</p> 英语 提取一个值并将其用作CSS类,但将其用于链接如何

我想创建以下内容:

<a href="domain.com?=USERNAME">Login</a>

其中USERNAME=为XML格式,因此HTML输出特定于当前登录的用户。有人能提供建议吗

我知道我可以使用:

<xsl:variable name="class" select="a:Subject"/>
<p class="{$class}">English</p>

英语

提取一个值并将其用作CSS类,但将其用于链接如何?

相同

<a href="domain.com?={$user}">OMG!</a>

我想我自己可能已经回答了:

<xsl:variable name="username" select="Username"/>
<a href="{$username}">Login</a>

使用xsl:attribute有什么问题

<a><xsl:attribute name='href' select='Username' />Login</a>

请注意,如果您需要一个符号和字符作为URL的一部分来发送多个值,您可以使用“&”


xsl:attribute不起作用:

<a><xsl:attribute name='href'><xsl:value-of select='Username'/></xsl:attribute>Login</a>


如果不知道XML文件的结构,就很难回答。挑剔一点:缺少的URL编码是错误的。当考虑到创建HTML输出是设计目标之一时,XSLT1.0中缺少一个像样的URL编码函数。使用
xsl:attribute
有什么错。你花了四年时间才发现这个错误?;-)
<a><xsl:attribute name='href'><xsl:value-of select='Username'/></xsl:attribute>Login</a>