我是xslt的新手,所以请告诉我这里的语法有什么问题。如果我与常数值'880.50'进行比较,我会得到所需的结果。但是,如果我尝试使用参数传递相同的东西,我什么也得不到。代码段如下。
<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 :(得分:1)
从$ TotalFare周围删除撇号。最后一个XPath应如下所示:/FareSearchResponse/CompleteItineraryFares/AirFare[@Total = $TotalFare]/JourneyLegKeys/Key[1]
在XPath表达式中,您只对文字使用撇号。
答案 1 :(得分:0)
我是xslt的新手所以请告诉我 这里我的语法有什么不对。
问题在于此说明:
<xsl:value-of select=
"/FareSearchResponse/CompleteItineraryFares
/AirFare[@Total
= '$TotalFare']/JourneyLegKeys/Key[1]"/>
您不是要与$TotalFare
的值进行比较,而是与字符串 '$TotalFare'
进行比较。
解决方案:删除$TotalFare
周围的撇号。