У нас должен быть весь XML-документ, чтобы получить полный ответ, но вот что я могу сказать.
Поскольку вы пишете <xsl:value-of select="Title"/>
, но мы не видим ни одного элемента Title
, я думаю, чтомы находимся в шаблонном правиле, которое соответствует элементу, который содержит Title
и содержит ErrorLog_list
.
Так что, когда вы используете шаблон значения атрибута {ErrorLog_list/error/download_list}
, вы пытаетесь получить все download_list
сXPath.Я предполагаю, что возвращенный набор узлов будет согласован со строковым значением, и, таким образом, будет использоваться первое значение набора узлов, а не другие.
Вы должны использовать for-each
или создать шаблонное правило, котороесоответствует ErrorLog_list/error/download_list
.Также вы можете использовать xsl:attribute
внутри тела правила шаблона, если хотите избежать использования значения шаблона атрибута.
<xsl:template match="download_list">
<a>
<xsl:attribute name="href"><xsl:value-of select="."/></xsl:attribute>
<xsl:value-of select="../../../Title"/>
</a>
</xsl:template>