XSLT не является процедурным языком; не думайте о for-each как о «цикле» в том, как у вас есть цикл в Java. For-each - это способ применить шаблон к каждому из множества элементов. Это не обязательно происходит в определенном порядке, поэтому вы не можете думать о нем как о том, что «примените этот шаблон к каждому из множества элементов, пока не произойдет то-то и то-то, а затем остановитесь».
Тем не менее, вы можете использовать атрибут select для фильтрации результатов, так что это больше похоже на "применить шаблон к каждому из набора элементов, но только если такое-то верно для них".
Если вы действительно хотите «применить шаблон к каждому из набора элементов, где то-то и то-то верно для них, но только к первому, к которому это относится», вы можете объединить атрибут select с функцией position ().