Я знаю, что граф функция может быть использована для подсчета количества элементов в заданной последовательности, например:XQuery: Как подсчитать, сколько раз значение происходит в последовательности
count(result/actors/actor)
в этом XML:
<result>
<actors>
<actor id="00000015">Anderson, Jeff</actor>
<actor id="00000030">Bishop, Kevin</actor>
<actor id="0000000f">Bonet, Lisa</actor>
<actor id="916503207">Parillaud, Anne</actor>
<actor id="916503208">Pitt, Brad</actor>
<actor id="916503209">Freeman, Morgan</actor>
<actor id="916503211">Domingo, Placido</actor>
<actor id="">Sharif, Omar</actor>
<actor id="1337">Doqumenteriet2011</actor>
</actors>
</result>
Но что, если я хочу знать, сколько раз значение происходит в данной последовательности?
Например, если я хотел бы знать, сколько фильмов каждый актер (actorRef) появился в следующем XML:
<videos>
<video id="id1235AA0">
<title>The Fugitive</title>
<actorRef>00000003</actorRef>
<actorRef>00000006</actorRef>
</video>
<video id="id1244100">
<title>Enemy of the State</title>
<actorRef>00000009</actorRef>
<actorRef>0000000c</actorRef>
<actorRef>0000000f</actorRef>
<actorRef>00000012</actorRef>
</video>
<video id="id124E230">
<title>Clerks</title>
<actorRef>00000015</actorRef>
<actorRef>00000018</actorRef>
<actorRef>0000001b</actorRef>
</video>
Я могу легко произвести список всех появляющихся актеров, и даже их появляются как много раз в моей полученной последовательности, как и в XML:
result/videos//actorRef
, но я не в состоянии сделать что-либо подобное тому, что, например, COUNT() и GROUP BY вместе сделать в SQL, чтобы получить список актеров путем подсчета их кратности в последовательности, созданной приведенной выше строкой XQuery.
Как я могу создать этот список?
PS: Конечная цель - найти актеров, которые появились в большинстве фильмов.
Индекс-оф Функция xpath может использоваться в сочетании с функцией count. Из спецификации w3c: Summary: Возвращает последовательность положительных целых чисел, дающую позиции в последовательности $ seqParam элементов, которые равны $ srchParam. – pgfearo
@pgfearo, Да, см. Мой ответ. –