是否有可能在所有子节点中获得最大的孙子节点,而不通过它们循环?在下面的示例中,有四个文档节点,分别具有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>
答案 0 :(得分:4)
假设File
元素是当前上下文项,您可以使用
max(Document/count(Value))
Document/count(Value)
为您提供一系列整数(每个Value
的{{1}}个子项的数量),Document
从该序列中选择最大值。
答案 1 :(得分:2)
您可以使用max(/File/Document/count(*))
。