我想通過索引選擇一個元素並將索引編號傳入參數中,param通過PHP傳入。這裏就是我想:根據參數中定義的索引選擇xsl元素
//PHP
$xslt->setParameter('','player',$player);
$xslt->importStylesheet($XSL);
print $xslt->transformToXML($data);
//xslt
<xsl:param name="player" data-type="number"/>
<template match="/">
<xsl:value-of select="result[$player]/@name" />
</template>
而且我知道帕拉姆的值被傳遞正確的,因爲我可以輸出的參數($播放器)的值,它會輸出正確的值。如果我硬編碼的索引號「$球員」到任何數量的指標我要像如下:
<template match="/">
<xsl:value-of select="result[2]/@name" />
</template>
它的工作原理。所以,我在這裏做錯了什麼。你不能使用params /變量來選擇索引嗎?
你是如何將參數傳遞給模板的?那是如何設定的? – Oded 2010-09-12 15:59:03
在xlst被調用之前,它正在使用PHP進行定義和設置。 $ xslt-> setParameter('','player',$ player); \t \t \t \t $ xslt-> importStylesheet($ XSL); \t \t \t \t print $ xslt-> transformToXML($ data); – Jeff 2010-09-12 16:04:09
這個模板真的是你在用的嗎?在具有「select = result」的根節點(即'/')上的模板匹配將在文檔元素上匹配,其中不能多於一個。你的選擇可能應該是'*/result',或者'/ */result',或者'//結果' – 2010-09-12 18:03:17