2014-09-12 2 views
0

Я новичок в кодировании. Началось кодирование XSL за последние 1 месяц. Я хочу создать гиперссылку в соответствии с item_id. Но мой concat работает не так, как хотелось бы.XSL stylesheet: создание гиперссылки на основе запроса item_id

Мое требование, что я должен получить создавать гиперссылки на основе переменной item_id Например: https://xyz.com/webpr/webpr.php?objtype=frames&g_startlink=maintain&g_startdata= & g_userid = msbzzh & g_session_id = 6017650`

https://xyz.com/webpr/webpr.php?objtype=frames&g_startlink=maintain&g_startdata= & 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

ОБНОВЛЕНО: вы забыли избежать амперсандов, и в действительности переменная была использована неправильно. Ниже приведен правильный синтаксис.

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

Благодарим за ответ. Но я уже пробовал это ... Но это тоже не сработало. –

+0

Ну, это, безусловно, правильный синтаксис. Не могли бы вы показать, что вы получаете в результате моей версии XSLT? Может ли быть, что переменная $ itemId установлена ​​неправильно? Вместо этого может возникнуть проблема с XPath. – lagivan

Смежные вопросы