Xslt XSL样式表:创建基于查询项\u id的超链接

Xslt XSL样式表:创建基于查询项\u id的超链接,xslt,hyperlink,Xslt,Hyperlink,我不熟悉编码。从过去1个月开始XSL编码。 我想根据项目id创建超链接。 但是我的concat没有按预期工作 我的要求是我必须根据变量item_id创建超链接 例如: 194970&g_用户id=msbzzh&g_会话id=6017650` 194971&g_用户id=msbzzh&g_会话id=6017650 其中变量项_id位于链接之间。(194970、194971等) 这是我的代码: <xsl:when test ="$propName ='item_id'"> <td&

我不熟悉编码。从过去1个月开始XSL编码。 我想根据项目id创建超链接。 但是我的concat没有按预期工作

我的要求是我必须根据变量item_id创建超链接 例如: 194970&g_用户id=msbzzh&g_会话id=6017650`

194971&g_用户id=msbzzh&g_会话id=6017650

其中变量项_id位于链接之间。(194970、194971等)

这是我的代码:

<xsl:when test ="$propName ='item_id'">
<td>
<xsl:variable name="itemId" select="$occRef/@*[local-name()=$propName]" />
<a href = "{concat('https://xyz.com/webpr/webpr.php?objtype=frames&g_startlink=maintain&g_startdata=','<xsl:value-of select="$itemId"/>','&g_userid=msbzzh&g_session_id=6017650')}" target="_blank"> <xsl:value-of select="$itemId" /></a> 
<xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>
</td>
</xsl:when>

&;nbsp;
我也试过这样做。。但他们两个都没有成功

<a href = "{concat('https://xyz.com/webpr/webpr.php?objtype=frames&g_startlink=maintain&g_startdata=','$itemId','&g_userid=msbzzh&g_session_id=6017650')}" target="_blank"> <xsl:value-of select="$itemId" /></a>

更新:您忘记转义符号,而且变量使用不正确。请参见下面的正确语法

<xsl:when test="$propName='item_id'">
  <td>
    <xsl:variable name="itemId" select="$occRef/@*[local-name()=$propName]"/>
    <a href="{concat('https://xyz.com/webpr/webpr.php?objtype=frames&amp;g_startlink=maintain&amp;g_startdata=', $itemId, '&amp;g_userid=msbzzh&amp;g_session_id=6017650')}" target="_blank">
      <xsl:value-of select="$itemId"/>
    </a>
    <xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>
  </td>
</xsl:when>

&;nbsp;

谢谢您的回复。但是我已经试过了。。但是它也没有起作用。嗯,这绝对是正确的语法。您能展示一下我的XSLT版本的结果吗?可能是$itemId变量设置不正确吗?XPath可能有问题。当我注释这行代码时,我的xsl代码工作正常。。当我尝试使用这一行执行时,我得到一个错误:应用报表样式表时发生内部错误。请参阅我的更新。您甚至可以看到,由于语法错误,您的问题中没有正确突出显示“&;”。我了解了如何使用“&;”。这是我在代码中的错误。非常感谢你的帮助。现在很好用。