2010-06-15 68 views
1

我是xslt的新手,請讓我知道我的語法在這裏有什麼問題。如果我與「880.50」的Constant值進行比較,我會得到期望的結果。但是,如果我嘗試通過傳遞的參數做同樣的事情,我什麼也得不到。代碼片段如下。如何在xslt中使用參數變量

<xsl:template name="ShowJourneyLegs" > 
    <xsl:param name="TotalFare" /> 
    <Key4><xsl:value-of select='$TotalFare'/></Key4> 
    <JourneyLegKeys><xsl:value-of select="/FareSearchResponse/CompleteItineraryFares/AirFare[@Total = '880.50']/JourneyLegKeys/Key[1]"/></JourneyLegKeys> 
    <JourneyLeg><xsl:value-of select="/FareSearchResponse/CompleteItineraryFares/AirFare[@Total = '$TotalFare']/JourneyLegKeys/Key[1]"/></JourneyLeg> 
</xsl:template> 
+0

您需要通過用4個空格縮進來格式化您的代碼,否則它將無法正確顯示。 – 2010-06-15 22:13:19

+0

好問題(+1)。請參閱我的回答以獲取有關問題的解釋和解決方案。 :) – 2010-06-15 22:29:21

回答

1

從$ TotalFare周圍刪除撇號。最後一個XPath應該如下所示:/FareSearchResponse/CompleteItineraryFares/AirFare[@Total = $TotalFare]/JourneyLegKeys/Key[1]

在XPath表達式中,只能使用文字的撇號。

+0

謝謝。有效 :) – Abbi 2010-06-15 22:31:41

0

我是xslt的新手,請讓我知道 這裏的語法有什麼問題。

的問題是此指令

<xsl:value-of select= 
     "/FareSearchResponse/CompleteItineraryFares 
           /AirFare[@Total 
             = '$TotalFare']/JourneyLegKeys/Key[1]"/> 

你是不是比較的$TotalFare的價值,但到'$TotalFare'

解決方案:刪除圍繞$TotalFare的撇號。