安装程序:我正在使用XPath 2.0。但在Altova Stylevision内部,请稍后参阅我的评论。XPath 2.0:在具有当前节点值的第一个元素之前查找不同元素的数量
我有以下XML结构:
<?xml version="1.0" encoding="UTF-8"?>
<entries>
<bla>
<blub>222</blub>
</bla>
<bla>
<blub>222</blub>
</bla>
<bla>
<blub>123</blub>
</bla>
<bla>
<blub>234</blub>
</bla>
<bla>
<blub>123</blub>
<!--I want to find the number of distinct elements before the first occurance of a blub element with the same value as the current node - so for this node the result should be one (two times 222 before the first appearance of 123)-->
</bla>
</entries>
当解析,我的文件,我想知道在咕噜咕噜的每一次出现:的第一次出现之前如何泡壳的许多不同的值是有blub与当前节点具有相同的值。
因此,基本上首先确定第一次发生与当前节点具有相同值的blub的位置,然后计算出之前的不同蓝色的数量。
我的问题之一是Altova不支持current()函数。 Quote:“请注意,current()函数是XSLT函数,而不是XPath函数,因此不能用于StyleVision的自动计算和条件模板中。要选择表达式中的当前节点,请使用for表达式的XPath 2.0。 “
因此,任何解决方案,可以做到无电流()函数将是巨大的;)
谢谢大家!
斯特沃
就像一个小小的评论,我设法计算(distinct-values(../ preceding-sibling :: bla/blub)),但显然不是从第一个节点开始,具有相同的值当前节点,而是从当前节点开始。以为我会张贴它的情况下,它可以帮助... – spse 2012-07-20 09:54:40