安裝程序:我正在使用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