Я пытаюсь запустить это выражение XPath (то есть пытаюсь подсчитать, сколько строк содержимого элемента в моем XML-файле заканчивается буквой-один-f ('a') или буквой-два-f ('A'):
<xsl:value-of select="count( substring(.,string-length(.) -1,string-length(.) -1)=$letter-one-f or substring(., string-length(.) -1,string-length(.) -1)=$letter-two-f )"/>
но я не знаю, как ссылаться на «текущее значение». Все, что я знаю, это то, что оно обычно представлено точкой «.». Я не знаю, где поставить «сопоставление с шаблоном 'или, если это вообще необходимо.
Этот код, с другой стороны, работает, потому что я указал, что он должен выглядеть в' / n-grams-sorted / n-gram ':
<xsl:value-of select="count(/n-grams-sorted/n-gram[starts-with(.,$letter-one-f) or starts-with(.,$letter-two-f) ])"/>
Я просто не знаю, как применить это к первому выражению. Где я собираюсь получить «текущее значение»? Как я скажу ему, что я хочу посмотреть в '/ n-grams-sorted / n-gram '? Это все, что мне нужно, чтобы мое выражение работало (я пробовал это в «редакторе xpath» моего редактора).
Пример исходного файла XML:
<n-grams-sorted analysis="N_GRAM_TOKEN3" range="Total Set">
<n-gram position="1" frequency="3535" probability="0.0447735">. = =</n-gram>
<n-gram position="2" frequency="322" probability="0.0040784">= = De</n-gram>
<n-gram position="3" frequency="284" probability="0.0035971">= = Het</n-gram>
<n-gram position="4" frequency="207" probability="0.0026218">= = Hij</n-gram>
<n-gram position="5" frequency="168" probability="0.0021278">= = Dit</n-gram>
Спасибо