Идиома (A, B, C)[1]
в XPath 2.0 часто используется для обозначения «если A существует, то A; в противном случае, если B существует, то B; в противном случае, если C существует, то C; в противном случае ничего». Что, я думаю, соответствует вашему перефразированию «первый непустой элемент в списке». Технически он создает последовательность, содержащую все элементы, выбранные с помощью A, затем все элементы, выбранные с помощью B, затем все элементы, выбранные с помощью C, и затем он выбирает первый элемент в списке. Но из-за ленивых вычислений и конвейерной обработки маловероятно, что он фактически соберет весь список.