I.Решение XPath 2.0 (XSLT 2.0) :
count(tokenize(., ' '))
II.Решение XPath 1.0 (XSLT 1.0) :
string-length()
-
string-length(translate(normalize-space(), ' ', ''))
+ 1
Что касается итерации по пунктам этого списка:
- В XPath 2.0 / XSLT 2.0 просто используйте вышеуказанный XPathВыражение 2.0 в качестве значения атрибута
select
:
-
for $i in tokenize(., ' '),
$n in number($i)
return
yourXPathExpression
-
2.
В XSLT 1.0 необходимо иметьеще немного кода для расщепления / токенизации.Есть несколько хороших ответов на этот вопрос (часть из них моя) - просто найдите что-то вроде «xslt split a string»