2017-03-21 5 views
0

일부 변환을 수행하기 위해 WSO2에서 로컬 항목 인라인 XML 항목을 사용하고 있습니다. 나는 클라이언트 응답에 대한 응답 값을 하드 코딩하는 요소인지 확인해야합니다. 예를 들어 응답 코드를 09로 보내면 변환 후 00을 보내야합니다.WSO2에서 인라인 XML 항목의 If/else 문 사용 ESB

<xsl:element name="ns1:ResponseCode"> 
    <xsl:value-of select="//jsonObject/d/SuccessCode"/> 
</xsl:element> 
+0

다음을 살펴볼 수 있습니다. https://www.w3schools.com/xml/xsl_choose.asp 작동하지 않는 것을 시도했다면 코드를 보여주십시오. 또한 읽을 수 있습니다 : http://stackoverflow.com/help/mcve –

+0

어떻게 해야할지 모르겠지만 여기 내 기존 코드 Kasun

답변

0

<xsl:choose></xsl:choose> 요소를 사용할 수 있습니다.
필요에 따라 <xsl:when test="..."></xsl:when> 개의 요소와 하나의 <xsl:otherwise></xsl:otherwise> 요소를 포함 할 수 있습니다. 이 예이다

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:ns1="http://www.example.com"> 
<xsl:output method="xml" /> 

<xsl:template match="@* | node()"> 
    <xsl:copy> 
     <xsl:apply-templates select="@* | node()"/> 
    </xsl:copy> 
</xsl:template> 

<xsl:template match="SuccessCode"> 
    <xsl:element name="ns1:ResponseCode"> 
     <xsl:choose> 
      <xsl:when test="//jsonObject/d/SuccessCode/text()='09'"> 
       <xsl:value-of select="'00'"/> 
      </xsl:when> 
      <xsl:otherwise/> 
     </xsl:choose>    
    </xsl:element> 
</xsl:template> 

참고하면 다른 변환을 추가하고 이름 공간을 업데이트해야합니다

는 경우에 당신은 설명했다.

+0

감사합니다 men.its 작동하지는 않지만 IF를 선택하십시오. Kasun

+0

이 부분을 다른 방법으로 제공하는 방법이 있다면 Kasun

+0

당신이 달성하려면 "만약 - 다른" 당신은 "선택 - 언제/다른 것"을 사용할 수 있습니다 - 그것은 당신이하고 싶은 일을 정확하게 수행합니다. '조건'이있는 조건은 '여러 조건'을 가질 수 있습니다. 예 : 동일한 '선택'요소에 '여러'조건이있을 수 있습니다. "그렇지 않으면"은 "else"와 같습니다. 다른 옵션은 "if"를 사용하려는 경우 두 번째 "if"를 반대 조건으로 사용하는 것입니다. @ 카순 –