我有一个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,并在谓词中使用它来查找相应的位置。
有任何建议如何解决?
谢谢!