У меня возникли некоторые проблемы с xslt, и я надеялся, что, возможно, кто-то здесь сможет мне помочь:
Мой xml-файл, который выглядит следующим образом:
<garden>
<appletree>
<fruit name="a" />
<fruit name="b"/>
<fruit name="c"/>
<fruit name="d"/>
</appletree>
<appletree>
<fruit name="e" />
<fruit name="f"/>
<fruit name="p"/>
<fruit name="h"/>
</appletree>
<appletree>
<fruit name="e" />
<fruit name="f"/>
<fruit name="q"/>
<fruit name="r"/>
</appletree>
</garden>
Теперь я бынравится назначать ключи для appletree-узлов, состоящих из объединенных атрибутов имени их дочерних элементов.Таким образом, ключ для первого дерева будет 'abcd', для второго дерева 'efph' и для третьего дерева 'efqr'.
Я попробовал следующее:
<xsl:key name="key" match="appletree" use="fruit/@name" />
'fruit / @ name 'возвращает набор всех атрибутов имени, но в качестве ключа используется только первое.Другие игнорируются.Поэтому в основном мне нужна функция, которая делает что-то вроде этого: concat (fruit [1] / @ name, ..., fruit [n] / @ name).
Есть ли такая функция в XSLT 1.0?(Я не могу использовать XSLT 2.0, который, я думаю, сделает это намного проще.)
Я бы очень признателен за небольшую помощь, потому что я действительно потерян здесь ...