Интерсеные решения для xslt
1. Группировка
http://snippy.ru/snippet/1836-Gruppirovka/

  1. Объединение, Пересечение, Разность множеств
    http://snippy.ru/snippet/18...abota_s_mnogestvami/
    Принадлежность узла множеству
    http://snippy.ru/snippet/17...ost-uzla-mnozhestvu/

  2. Является ли элемент первым в множестве
    http://snippy.ru/snippet/18..._pervym_v_mnogestve/
    Чаще всего конечно лучше использовать position(), но для случая foreach с указанной сортировкой sort, position() будет возвращать не то

  3. Является ли переменная числом
    http://snippy.ru/snippet/17...peremennaja-chislom/
    Думаю, что проверка $x != $x, она и в js сработает аналогично.