我有一個包含作者和編輯者的XML文件。XQuery/XPath:使用count()和max()函數返回具有最高計數的元素
<?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>[email protected]</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可以以更簡單的方式完成此操作嗎?
最好的問候,
珍
感謝您的解決方案,克里斯汀:) 有沒有辦法返回多個作者/編輯器(如果適用)?例如,如果有兩位作者/編輯與作者/編輯共享相同(最多)的作品數量? – Jea
@Jea:無論是在Christian還是我的解決方案中,只需刪除結尾的[[1]],就會得到所有具有最大值的節點。 –