Как заставить работать xsl:key в текущем контексте?

Есть фрагмент скрипта:
<xsl:apply-templates select="item1/item2[generate-id(.)=generate-id(key('DutyKey',item3))]">
	<xsl:sort order="ascending" select="item3"/>	
</xsl:apply-templates>

С помощью которого я избавляюсь от дублирования строк при выводе таблицы в вызываемом темплейте.
Сам xml имеет вид:
<item0>
	<item1>
		<item2>
			<item3>
			</item3>
		</item2>
		<item2>
			<item3>
			</item3>
		</item2>
	</item1>
</item0>

Элементов item0 может быть несколько - и проблема именно в этом. Ключи строятся сразу для всего документа, а не для текущего item1 и как следствие - таблица заполняется только для первого item0.

Как можно заставить key() генерировать ключи только для текущего контекста?
  • Вопрос задан
  • 2260 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы