2010-06-15 6 views
1

xslt에 익숙하지 않으므로 여기에 제 구문에 잘못된 점을 알려주십시오. '880.50'의 상수 값과 비교하면 원하는 결과를 얻을 수 있습니다. 그러나 매개 변수가 전달 된 상태에서이 작업을 수행하려고하면 아무 것도 얻을 수 없습니다. 코드 스 니펫은 다음과 같습니다.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 칸으로 들여 쓰기하여 코드를 포맷해야합니다. 그렇지 않으면 올바르게 표시되지 않습니다. –

+0

좋은 질문 (+1). 문제에 대한 설명과 해결책은 내 대답을 참조하십시오. :) –

답변

1

$ TotalFare 주변에서 아포스트로피를 제거하십시오. 마지막 XPath는 다음과 같아야합니다. /FareSearchResponse/CompleteItineraryFares/AirFare[@Total = $TotalFare]/JourneyLegKeys/Key[1]

XPath 식 내부에는 리터럴에 대해서만 아포스트로피를 사용합니다.

+0

감사. 그것은 일했다 :) – Abbi

0

xslt를 처음 사용하므로 여기에 내 구문이 잘못되었습니다.

문제는이 명령에 : 당신은 $TotalFare의 값으로 만 문자열'$TotalFare'에 비교되지 않습니다

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

.

해결책 : $TotalFare을 묶는 아포스트로피를 제거하십시오.

관련 문제