著者と編集者を含む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を使用して簡単な方法で実行できますか?
敬具、あなたは正しい軌道に乗っている
ジャネット
解決のおかげで、クリスチャン:) 複数の著者/編集者(該当する場合)を返す方法はありますか?例えば、著者/編集者と同じ(最大)数を共有する2人の著者/編集者がいるとしますか? – Jea
@Jea:クリスチャンと私の解答の両方で、結末 '[1] 'を取り除くと、最大値を持つすべてのノードが得られます。 –