2013-07-17 4 views
0

함수 내에서 xsl 함수를 호출 할 수 있습니까? 난 그냥 이전 값과 현재 값을 비교하고 싶습니다. 예를 들면 :다른 함수 내에서 xslt 함수를 호출 할 수 있습니까?

<xsl:value-of select="//row[(position()-1)]/MONTH_ID" /> 

하지만, 아래의 코드는 괜찮 :

<xsl:value-of select="number(position())-1" /> 
+0

이 코드는 괜찮 : - –

+0

실제로의 값을 찾기 위해 노력하고있다 : 는 대답은 변수를 결합하는 것입니다 이전 ** 행 ** 요소의 ** MONTH_ID ** 요소? XML의 샘플과 달성하려는 결과를 보여 주면 도움이 될 것입니다. 감사! –

답변

1

예, 당신이 할 수있는 둥지의 XPath 기능. 아래에서 예제를 찾을 수 있습니다 :

substring(child::randlist/item[position()=1], 1, 10) 

함수 위치는 내부 하위 문자열 함수라고합니다.

비교 요청에 대해 구체적으로 말씀해 주시겠습니까?

5

귀하의 질문에 대한 대답은 '예'이지만 올바른 질문을하고 있다고 생각하지 않습니다. 당신이하려는 일에 대해서는 말하지 않았지만, 코드 샘플은 아무 쓸모가 없습니다.

//row[(position()-1)]/MONTH_ID 

N이 술어에 사용되는 숫자, 그것은 [position()=N]을 의미

, 그래서 당신의 술어는 항상 false 될 것 [position() = position() - 1]을 의미한다.

나는 position()의 결과가 컨텍스트에 민감하고 술어 내부의 컨텍스트가 컨텍스트 외부와 다르다는 사실을 잊고 있다고 생각합니다.

<xsl:variable name="p" select="position()"/> 
<xsl:value-of select="//row[$p - 1]/MONTH_ID"/> 
관련 문제