2010-06-09 3 views
1

내가 보이는 템플릿이 서식 파일 선택

<

아래 XSL 같은 : 템플릿 경기 = "더-정보"모드 = "docuSection"> HTML </XSL : 서식>

및 통화

,369으로인가

< xsl : apply-templates select = "." 모드 = "docuSection"/>

그래서 템플릿이 현재 노드가 같은 통화를하고 조건이 적용 얻을이 템플릿을 만드는 방법을 더-정보 요소가있을 때 적용되는 전역 변수를 포함합니다. 경기 = "$ 모드 = '편집'이상-정보"

최고 감사합니다, Keshav

+0

좋은 질문 : +1. 설명과 완전한 해결책을 위해 나의 대답을보십시오. –

답변

1

상태와 동일한 전화 및 적용받을 이 템플릿을 만들 수있는 방법이있는 전역 변수 예 : 포함 경기 = "$ 모드 = '편집'이상-정보"

는 XSLT 2.0이 완벽하게 합법적이다 :

이 변수 사용을 금지 XSLT 1.0
<xsl:template match="more-info[$mode = ('edit', 'more-info')]" 
mode="docuSection"> 

또는 일치 패턴 내의 주요 참조

그러나, 사람은 다음과 같은 기술 중 하나를 사용할 수 있습니다 <xsl:apply-templates> 명령을 내

I. 처리 할 수있는 노드의 정확한 노드 목록을 지정합니다.

<xsl:apply-templates mode="docuSection" 
    select="self::*[$mode = 'edit' or $mode='more-info']" /> 

|| 일치 패턴을보다 일반적으로 만들지 만 원하는 조건이 충족되는 경우에만 템플릿 내에서 모든 처리를 수행하십시오.

<xsl:template match="more-info" mode="docuSection"> 
<xsl:if test="$mode = 'edit' or $mode='more-info'"> 
    html 
</xsl:if> 
</xsl:template>