2012-08-07 2 views
27

다른 xsl 파일에서 호출 될 xsl : template name = myTemplate을 정의 할 때 사용할 템플릿을 고려 중입니다. XSL에서 사용할 때 변수 : XSL에서 사용되는 : 템플릿 경기 = "legacyTemplate"xsl : param과 xsl : variable 사이의 차이점

그래서 XSL의 차이 내용은 다음과 같습니다 PARAM과 XSL은 :

레거시 코드는 '변수 XSL'를 사용하는 것 같다 템플릿 이름 = myTemplate?

답변

44

xsl:param의 값은 선언 된 컨텍스트 외부에서 이 될 수 있습니다. 예를 들어, 은 다음을 참조하십시오

<xsl:template ...> 
    <xsl:param name="p" select="'x'" /> 
    <xsl:variable name="v" select="'y'" /> 
... 

은 다음 $v 항상 당신에게 문자열 'y'을 줄 것이라는 점을 알고있다. 그러나 $p의 캐릭터 'x'는 기본이 아니라 : 다른 값을 볼 수 템플릿 중 하나를 명령을 포함 xsl:apply-templates 또는 xsl:call-template가 등으로 불려 갔을 경우 :
<xsl:with-param name="p" select="'not x'" />

<xsl:param> 또한 외부에서 사용할 수있다 xsl:template, 최상위 레벨은 입니다. 이러한 매개 변수의 값은 XSLT 프로세서가 호출 될 때 설정 될 수 있습니다. 이 작업은 프로세서 에 따라 달라지며 명령 줄에서 또는 프로그램에서 호출하는지 여부에 따라 달라집니다.