2013-05-21 5 views
1

tokenize($text, '\s+')을 실행 한 후 토큰 배열의 크기를 가져 오는 방법이 있습니까? 루프를 돌리지 않고.토큰 배열의 Xslt 크기 (토큰 화, 토큰 수)

list.size()을 실행할 수있는 이러한 경우에는 Java가 필요합니다.

건배 당신은 토큰 화 주위 count()을 넣어해야

<xsl:variable name="tokens" select="tokenize($text, '\s+')"></xsl:variable> 
<xsl:value-of select="count($tokens)"></xsl:value-of> 
+0

배열이 아닌'tokenize'에서 반환 된 문자열 값의 시퀀스를 얻고 XSLT/XPath 2.0 이상의 모든 시퀀스와 마찬가지로 'count' 함수 (http : // www .w3.org/TR/xquery-operators/# func-count)를 사용하여 시퀀스의 항목 수를 찾습니다. –

답변

2

대답. 귀하의 경우 count(tokenize($text, '\s+'))

+0

이 경우 두 번 토큰 화해야합니다. 변수의 토큰을 얻기 위해 먼저 계산하고 두 번째로 계산합니다. – gorn

+0

Doh! 변수를 카운트 함수에 전달할 수 있습니다. 위의 내 의견을 간과하십시오. – gorn

+0

네, 맞습니다. XSLT를 사용하고 토큰 개수와 변수의 토큰을 유지하려면 두 개의 변수를 만들어야합니다. –