Выбор нескольких нод
Бывает ситуация, когда нужно при помощи XSLT вывести, используя шаблон, не все ноды из XML, а не более N из них. Например, если вы хотите показать не более 3х комментов, оставленных пользователю за последнюю неделю. При этом в XML у вас выведены все комменты за последнюю неделю.
Ограничение по числу обрабатываемых нод реализуется с использованием position():
Если ноды, к которым применяется шаблон должны также отбираться по какому-либо условию, то это условие должно быть указано в собственном предикате. Так писать нельзя:
Приведённый выше код означает, что сматчатся ноды с 1й по 3ю, которые соответствуют условию @status = 'real'. Для того, чтобы сначала выбрать ноды, соответствующие условию, а потом ограничить их количество, необходимо для каждого условия использовать свой предикат:
Tags: xml/xsl