XSLT - 获取节点组的最大子节点

时间:2015-03-05 14:55:04

标签: xslt xpath

是否有可能在所有子节点中获得最大的孙子节点,而不通过它们循环?在下面的示例中,有四个文档节点,分别具有4,5,1和2个值节点。理想情况下,我希望将5作为表达式/函数的答案。

如果没有在xslt 2.0中循环或使用xpath吗?

,这是否可行?

XML:

<File>
    <Document>
        <Value>..</Value>
        <Value>..</Value>
        <Value>..</Value>
        <Value>..</Value>
    </Document>
    <Document>
        <Value>..</Value>
        <Value>..</Value>
        <Value>..</Value>
        <Value>..</Value>
        <Value>..</Value>
    </Document>
    <Document>
        <Value>..</Value>
    </Document>
    <Document>
        <Value>..</Value>
        <Value>..</Value>
    </Document>
</File>

2 个答案:

答案 0 :(得分:4)

假设File元素是当前上下文项,您可以使用

max(Document/count(Value))

Document/count(Value)为您提供一系列整数(每个Value的{​​{1}}个子项的数量),Document从该序列中选择最大值。

答案 1 :(得分:2)

您可以使用max(/File/Document/count(*))