Это как раз та проблема, с которой ключи имеют дело.
В корне таблицы стилей добавьте
<xsl:key name="venue" match="venue" use="@venue_id" />
Это фактически объявляет ассоциативный массив всех venue
элементов, проиндексированных по их атрибуту venue_id
.При этом вы можете получить элемент venue
с любым заданным атрибутом venue_id
, используя функцию key
.Я полагаю, что вы можете достичь того, что вам нужно, заменив строку <xsl:text>
следующим:
<xsl:value-of select="key('venue', @v_id)/venue_name" />
По сути, это ищет нужный элемент venue
и получает в нем дочерний элемент venue_name
.