XSLT如何引用xpath谓词中的其他节点的属性

时间:2014-07-09 19:38:04

标签: xml xslt xpath

我有一个xml,其中包含'location'节点和'path'节点的列表。位置节点是坐标,路径节点使用对位置节点的引用来构建路径。它看起来像这样:

<location id="1" lat="42.4212312" lon="12.121312"/>
<location id="2" lat="42.5428919" lon="12.436133"/>
...
<path ref="1"/>
<path ref="2"/>
<path ref="1"/>
...

现在我的目标是编写一个xsl,它以正确的顺序列出lat,lon坐标,因此产生的csv就是这样:

lat,lon
42.4212312,12.121312
42.5428919,12.436133
42.4212312,12.121312

我不是xslt专家,所以我无法弄清楚,如何在xpath谓词中引用其他节点的属性。 我的尝试是下一个,但没有用,但我认为你可以找到它,我的目标是什么:

<xsl:for-each select="path">
    <xsl:value-of select='/location[@id=@ref]/@lat'/>, <xsl:value-of select='/location[@id=@ref]/@lon'/>
</xsl:for-each>     

有问题的部分是:/ location [@ id = @ ref] / @ lat。我认为它将从每个路径中获取@ref,并在谓词中使用它来查找相应的位置。

有任何建议如何解决?

谢谢!

0 个答案:

没有答案