Xquery 1.0 - 对具有子元素的元素求平均值

时间:2016-04-06 04:29:50

标签: xpath xquery

所以我有一个XML文件,其中包含带数字的元素,还有一些带有数字的子元素。类似的东西:

def longest(roll):
    '''Return the maximum length of consecutive repeated elements in a list.'''
    i = 0
    M = 0   # The maximum length
    while 0 <= i < len(roll):
        c = 1  # Temporarily record the length of consecutive elements
        for j in range(i+1, len(roll)):
            if roll[j] != roll[i]:
                i = j
                break
            c += 1
            i += 1    
        if c > M:
            M = c
        if i == len(roll) - 1:
            break
    return M  

我想计算所有这些包含子元素的数字元素的平均值。所以,我想要一个可以产生的查询:

(80 + 90 + 10 + 13 + 50 + 50 + 10)/ 7 = 43.285714286

1 个答案:

答案 0 :(得分:0)

您可以使用表达式//*[not(*)]在XML文档中的任何位置选择叶元素(不具有子元素的元素):

let $elements := //*[not(*)]
return sum($elements) div count($elements)

<强> xpathtester demo