У меня есть для каждого я хочу отсортировать по некоторому значению.Но вещь, которую я зацикливаю, имеет только ключ, позволяющий установить связь со значением.Простой пример для документа:
<foo>
<keys>
<key id="foo"/>
<key id="bar"/>
</keys>
<things>
<thing name="foo"><desc>some description</desc></thing>
<thing name="bar"><desc>another description</desc></thing>
</things>
</foo>
И таблица стилей:
<xsl:for-each select="/foo/keys/key">
<xsl:sort select="/foo/things/thing[@name=@id]"/>
<xsl:value-of select="@id"/>
</xsl:for-each>
Это не похоже на работу.@id
относится к элементу key
из цикла;@name
относится к thing
из предиката.Как мне это решить?Я попытался присвоить /foo/keys/key/@id
переменной и использовать ее, но <sort>
должен быть первым элементом для каждого ...