我想从我的XML文件中提取数据并将其用作链接

时间:2011-11-22 06:56:56

标签: xml xml-namespaces

这是我的xml表 -

<ErrorLog_list>
<error><download_list>/home/fes/logs/ErrorLog-20111109.gz</download_list></error>
<error><download_list>/home/fes/logs/ErrorLog-20111110.gz</download_list></error>
<error><download_list>/home/fes/logs/ErrorLog-20111114.gz</download_list></error>
</ErrorLog_list>

我想要做的是创建一个指向error/download_list

的链接

所以我使用了这个标签

<a href="{ErrorLog_list/error/download_list}"><xsl:value-of select="Title"/></a><br/>

但它不起作用......

我意识到问题可能是因为它被陈述为 - xmlns attributes are not interpreted as attribute value templates

我的问题是如何更改我的命名空间以使用上述方法?任何帮助将不胜感激。

请忽略我的疏忽。 感谢

1 个答案:

答案 0 :(得分:0)

我们应该让整个XML文档做出完整的答案,但这就是我能说的。

由于您编写了<xsl:value-of select="Title"/>但我们看不到任何Title元素,我想我们所处的模板规则与包含Title且包含{的元素相匹配{1}}。

因此,当您使用属性值模板ErrorLog_list时,您尝试使用XPath获取所有{ErrorLog_list/error/download_list}。我想返回的节点集将与字符串值一致,因此将使用节点集的第一个值,而不是其他值。

您应该使用download_list或制作与for-each匹配的模板规则。如果您想避免使用属性模板值,也可以在模板规则体内使用ErrorLog_list/error/download_list

xsl:attribute