XSL样式表:根据查询item_id创建超链接

时间:2014-09-12 11:40:01

标签: xslt hyperlink

我是编码的新手。从过去1个月开始进行XSL编码。 我想根据item_id创建一个超链接。 但我的结论并没有按照预期发挥作用。

我的要求是我必须根据变量item_id创建超链接 例如: https://xyz.com/webpr/webpr.php?objtype=frames&g_startlink=maintain&g_startdata= 194970 &安培; g_userid = msbzzh&安培; g_session_id = 6017650`

https://xyz.com/webpr/webpr.php?objtype=frames&g_startlink=maintain&g_startdata= 194971 &安培; g_userid = msbzzh&安培; g_session_id = 6017650

其中变量item_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>

我也尝试过这样..但他们两个都没有成功。

<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>

1 个答案:

答案 0 :(得分:1)

更新:你忘了逃脱&符号,事实上变量使用不当。请参阅下面正确的语法。

<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>