0

我是编码新手,这是我在这里的第一个问题。我已经搜索并尝试了所有可以连接的示例。

我正在研究使用 XSLT 在生成表的最后一列中创建超链接,其结果/行为方式与...相同

<a href="http://www.mysite.com/search/?q[all][]=123456" target="_blank">link</a>

其中 123456 源自<title_id>. 我可以在上一栏中返回标题 ID,但将其作为搜索查询附加到超链接是很困难的。

我有 XML(简体):

<response>

    <results>

        <result>

            <tracks>

                <track>

                    <title_id>123456</title_id>

                    <product_id>2</product_id>

                    <track_id>3</track_id>

我有 XSL 从 XML 中提取我需要的内容并创建一个可用于 Web 的表......

 <html xsl:version="2.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns="http://www.w3.org/1999/xhtml">

 <body>
 <table border="1" cellpadding="4" cellspacing="0">
 <tr bgcolor="#fb0006" align="center">
  <td><b>#</b></td>
  <td><b>Artist</b></td>
  <td><b>Track</b></td>
  <td><b>Remix</b></td>
  <td><b>ID</b></td>
  <td><b>Link</b></td>
</tr>

 <xsl:for-each select="//response/results/result/tracks/track">

 <tr>
  <td><xsl:number value="position()" format="01" /></td>
  <td><xsl:value-of select="bundle_mirror_artists"/></td>
  <td><xsl:value-of select="track_title"/></td>
  <td><xsl:value-of select="track_mix_title"/></td>
  <td><xsl:value-of select="title_id"/></td>
  <td><a href="{concat('http://www.mysite.com/search/?q[all][]=', '<xsl:value-of select="title_id"/>')}" target="_blank">link </a></td>
 </tr>

 </xsl:for-each>

 </table>
 </body>
 </html>

一切正常,除了 last <td>,它要么无法返回任何东西,要么不会解析。

帮助将不胜感激。

4

1 回答 1

0

也许尝试使第二个参数成为变量。

<xsl:variable name="title" select="title_id" />

然后$title作为第二个参数传递给 concat。

另外我认为您的 HTML 可能需要正确关闭 <a href="..."> 标记。

于 2013-02-20T01:35:26.410 回答