【发布时间】:2015-06-04 02:19:49
【问题描述】:
我觉得,这是一个基本的 XSLT 问题。据我了解,节点集本身就是数据结构。从 node-set() 我无法导航到集合之外的任何节点。即我无法到达父级、xml 的开头或其兄弟姐妹。是这样吗?
或
有没有办法获得节点集的父节点()
代码
<neighbourhood>
<parent name = "xyz">
<child address=10> a </child>
<child address=10> b </child>
<child address=15> c </child>
</parent>
</neighbourhood>
我有一组子节点。我需要消除具有重复“地址”的节点。 可以有 n 个“父级”和 m 个“子级”,并且“子级”可以有一个祖父节点。
最好和合乎逻辑的方法可能是每个父母都去处理他们的孩子。但是,它是一个现有的代码库,这是一个过于简单的例子。我不想通过触摸调用函数和其他模板来破坏太多东西。
所以,我的问题是我是否可以使用我拥有的“子”节点集获得“父”
感谢您的所有回复
【问题讨论】:
-
快速提问 - 为什么需要?我从来不需要这样做,我想知道是否有更好的方法来做你正在做的任何事情。
-
是的!我也这么认为。我只是不确定正确的方法可能是什么。我已经用更多细节更新了这个问题。我确实找到了解决问题的方法,但这可能不是最好的方法
-
恐怕你的问题没有以前那么清楚了。如果您的目标是消除重复,那么 - 假设这是关于 XSLT 1.0 - 为此目的使用 Muenchian grouping,或者 - 如果您的处理器支持它 - EXSLT
set:distinct()函数。在任何情况下,都不清楚在这种情况下什么是“节点集”,以及这种集的祖先将在其中扮演什么角色。
标签: xslt