내가 XSL로 문제를 다음하여 발생할 예상 할 때 : 나는 다른 XSL 파일에 의해 사용되는 템플릿을 기존의 다음 한XSL : 대한-각각 하나 개의 노드 만
을 :
<xsl:template name="strength">
<xsl:call-template name="show-strength">
<xsl:with-param name="medStrengthUnit1"
select="epsos:numerator/@unit"/>
<xsl:with-param name="medStrengthUnit2"
select="epsos:denominator/@unit"/>
<xsl:with-param name="medStrengthValue1"
select="translate(epsos:numerator/@value, '.', ',')"/>
<xsl:with-param name="medStrengthValue2"
select="translate(epsos:denominator/@value, '.', ',')"/>
<xsl:with-param name="medStrength1"
select="epsos:numerator"/>
<xsl:with-param name="medStrength2"
select="epsos:denominator"/>
</xsl:call-template>
</xsl:template>
은 지금이 전화를 할
<xsl:for-each select="$strength">
<xsl:call-template name="strength"/>
</xsl:for-each>
: 템플릿,하지만 난 다음 호출을 사용합니다 (다른 스타일 시트에 의해 사용되기 때문에) 지금은 방법에
을 매개 변수를 추가 할 수있는 가능성이없는 강도가 PARAM 인과
는 다른 방법에서 전달 :
<xsl:with-param name="strength"
select="epsos:quantity"/>
이가 작동,하지만 난 단 하나의 힘이 알고, 내가가 xsl 사용하고자하지 않습니다를위한 각각의 경우를 나는 항상 정확히 1 강점이 있어야한다는 것을 알고 있습니다. 당신은 설정 상황에 맞는 항목을 요구하는 대신 매개 변수를 받아 템플릿을 변경할 수 있습니다
//for ($strength)
<xsl:call-template name="strength"/>
'for-each'또는'apply-templates'가 필요하기 때문에 문맥 노드를'$ strength' 변수로 바꾸고 싶습니다. –
"강도"템플릿을 변경할 수 있습니까? 하나의 가능성은'
또 다른 가능성은' ...'을 사용하여 템플릿에'match' 속성을 추가하는 것입니다. 'for-each/call-template' 대신''를 사용하십시오. 템플릿을 사용하고자하는 요소 유형에'match'를 적용해야합니다. –