我定義的變量是作爲字符串傳遞的,而不是傳播值。XSLT連續變量中的多個變量不傳播
來源
<?xml version="1.0"?>
<results>
<result>
<title_id>
123456
</title_id>
<product_id>
2
</product_id>
<track_id>
5
</track_id>
</result>
</results>
XSL
<html xsl:version="1.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>Link</b></td>
</tr>
<xsl:for-each select="//results/result">
<xsl:variable name="titlevar" select="title_id" />
<xsl:variable name="productvar" select="product_id" />
<xsl:variable name="trackvar" select="track_id" />
<tr>
<td><a href="{concat('http://www.myaddress/', '$titlevar', '-', '$productvar', '/?', '$trackvar')}" target="_blank">link</a></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
輸出:http://www.myaddress/$titlevar-$productvar/?$trackvar
我要的是:http://www.myaddress/123456-5/?2
。我嘗試過所有方括號,撇號和語音標記。任何人都可以看到爲什麼它不工作?
謝謝!我感覺有點愚蠢。 – 2013-04-24 10:24:03