在XQuery中使用计数分组

在XQuery中使用计数分组,xquery,Xquery,我附上了一个名为hamlet.xml的xml文档,可以在这里找到() 我希望使用xquery获得以下输出: <speaker name="BERNARDO" lines="38"/> <speaker name="FRANCISCO" lines="10"/> <speaker name="HORATIO" lines="291"/> ...and so on for all the distinct speakers. …对

我附上了一个名为hamlet.xml的xml文档,可以在这里找到()

我希望使用xquery获得以下输出:

   <speaker name="BERNARDO" lines="38"/>
    <speaker name="FRANCISCO" lines="10"/>
    <speaker name="HORATIO" lines="291"/>
    ...and so on for all the distinct speakers.

…对所有不同的演讲者来说都是如此。
我已经能够使用

========================

for $s in distinct-values(doc("hamlet")//SPEAKER
return <speaker name="$s}" />
$s的不同值(doc(“hamlet”)//SPEAKER 返回 =========================

for $s in distinct-values(doc("hamlet")//SPEAKER
return <speaker name="$s}" />
但我不知道怎么拉起绳子。 任何帮助都将不胜感激。

非常简单:

for $speaker in
  distinct-values(//SPEAKER/text())
return
  <speaker
     name="{$speaker}"
     count="{count(//LINE[../SPEAKER=$speaker])}"/>
中的$speaker
不同的值(//SPEAKER/text())
返回