我有一个包含作者和编辑的XML文件。
<?xml version="1.0" encoding="UTF-8"?>
<?oxygen RNGSchema="file:textbook.rnc" type="compact"?>
<books xmlns="books">
<book ISBN="i0321165810" publishername="OReilly">
<title>XPath</title>
<author>
<name>
<fname>Priscilla</fname>
<lname>Walmsley</lname>
</name>
</author>
<year>2007</year>
<field>Databases</field>
</book>
<book ISBN="i0321165812" publishername="OReilly">
<title>XQuery</title>
<author>
<name>
<fname>Priscilla</fname>
<lname>Walmsley</lname>
</name>
</author>
<editor>
<name>
<fname>Lisa</fname>
<lname>Williams</lname>
</name>
</editor>
<year>2003</year>
<field>Databases</field>
</book>
<publisher publishername="OReilly">
<web-site>www.oreilly.com</web-site>
<address>
<street_address>hill park</street_address>
<zip>90210</zip>
<state>california</state>
</address>
<phone>400400400</phone>
<e-mail>oreilly@oreilly.com</e-mail>
<contact>
<field>Databases</field>
<name>
<fname>Anna</fname>
<lname>Smith</lname>
</name>
</contact>
</publisher>
</books>
我正在寻找一种方法来返回被列为作者和/或编辑最多次的人。解决方案应该与XQuery 1.0(XPath 2.0)兼容。
我考虑使用FLWOR查询遍历所有的作者和编辑,然后计算唯一作者/编辑的数量,然后返回匹配最高计数的作者/编辑。但我还没有找到正确的解决方案。
是否有人有关于如何编写这样的FLWOR查询的建议? 是否可以使用XPath以更简单的方式完成?
[1]
,就可以获得所有具有最大值的节点。 - Dimitre Novatchev