2016-06-23 3 views
-1

조건 일치에 따라 다음 템플릿이 있으므로 값이 변경되어야합니다.xslt1.0의 xsl : if에서 여러 조건을 확인하는 방법

<?xml version="1.0" encoding="UTF-8" ?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output indent="yes" version="1.0" encoding="UTF-8" method="xml"/> 

    <xsl:template match="text()" name="create"> 
     <xsl:param name="code"/> 
     <xsl:param name="boolean"/> 

     <xsl:if test="$boolean= 'True'"> 
      <xsl:value-of select="'Services'"/> 
     </xsl:if> 

     <xsl:if test="$code=7"> 
      <xsl:value-of select="'Accounts'"/>    
     </xsl:if> 
    </xsl:template> 

</xsl:stylesheet> 

이 경우 첫 번째 조건이 작동합니다. boolean = false을 전달하면 아무 것도 할당되지 않습니다. True과 같으면 Services을 할당합니다. 그러나 코드의 경우 7을 전달하더라도 할당되지 않습니다. 나는이

 <xsl:variable name="Category"> 
     <xsl:call-template name="create"> 
      <xsl:with-param name="code" select="s0:Code"/> 
      <xsl:with-param name="boolen" select="'True'"/> 
     </xsl:call-template> 
     </xsl:variable> 

S0처럼 호출 오전

<xsl:if test="$code='7'"> 

또한 작은 따옴표와 상태를 시도 : 코드 값 7 어떤 도움을 주시면 감사하겠습니다을 가지고 요소의 이름입니다.

+1

코드를 사용하여 문제를 재현 할 수 없습니다. –

+0

'boolean = 'True'와'code = 7'을 매개 변수로 사용하여 코드를 테스트했으며 결과는 예상대로'ServicesAccounts'입니다. – zx485

+0

업데이트 코드 – user3331421

답변

1

템플릿에는 codeboolean이라는 매개 변수가 필요합니다. 매개 변수는 OccupationAgent입니다. 템플릿은 이러한 매개 변수를 무시하고 자체 매개 변수의 기본값 (예 : 빈 값)에서 작동합니다.

+0

매개 변수 이름이 문제가 아니어야한다고 생각합니다. 그것은 그것을 받아 들일 것이다. 나는 그것을 바꿔 시험해 보았다. 그럼에도 작동하지 않습니다. – user3331421

+0

@ user3331421 "작동하지 않습니다"는 내가 응답 할 수있는 것이 아닙니다. 질문을 수정하고 XML 입력을 포함하여 ** complete ** 및 ** reproducible ** 예제를 게시하십시오. [mcve]를 참조하십시오. –

관련 문제