Вы можете подсчитать содержимое переменных с помощью выражения, подобного этому:
count($var1 | $var2 | $var3 | ...)
Это предполагает, что каждая из ваших переменных является, возможно, пустым набором. Если ваши переменные имеют значения true / false, тогда вы можете воспользоваться тем фактом, что false равно 0, а true равно 1 в XSL (по крайней мере, с помощью используемого мной интерпретатора):
$var1 + $var2 + $var3 + ...
Если значения не являются наборами узлов и не являются логическими значениями, сначала преобразуйте их в логические значения:
boolean($var1) + boolean($var2) + boolean($var3) + ...
Не совсем элегантный способ справиться с этим, но он работает.
В соответствии со спецификацией XPath булевы действительно должны вести себя так, когда приводятся к числовым значениям. Полезно знать!