我想按类型对所有电影进行分组,然后列出该类型中的所有电影标题。
我的 XML 电影数据库如下所示:
<movies>
<movie>
<title>A History of Violence</title>
<year>2005</year>
<country>USA</country>
<genre>Crime</genre>
<summary>Tom Stall, a humble family man and owner of a
popular neighborhood restaurant, lives a quiet but
fulfilling existence in the Midwest. One night Tom
foils a crime at his place of business and, to his
chagrin, is plastered all over the news for his
heroics. Following this, mysterious people follow
the Stalls' every move, concerning Tom more than
anyone else. As this situation is confronted, more
lurks out over where all these occurrences have
stemmed from compromising his marriage, family
relationship and the main characters' former
relations in the process.</summary>
<director>
<last_name>Cronenberg</last_name>
<first_name>David</first_name>
<birth_date>1943</birth_date>
</director>
<actor>
<first_name>Vigo</first_name>
<last_name>Mortensen</last_name>
<birth_date>1958</birth_date>
<role>Tom Stall</role>
</actor>
<actor>
<first_name>Maria</first_name>
<last_name>Bello</last_name>
<birth_date>1967</birth_date>
<role>Eddie Stall</role>
</actor>
<actor>
<first_name>Ed</first_name>
<last_name>Harris</last_name>
<birth_date>1950</birth_date>
<role>Carl Fogarty</role>
</actor>
<actor>
<first_name>William</first_name>
<last_name>Hurt</last_name>
<birth_date>1950</birth_date>
<role>Richie Cusack</role>
</actor>
</movie>
这是我的表达:
xquery version "3.0";
let $movie := collection ('/db/Movie/data')/movies/movie
return
<html>
<head>
</head>
<body>
<h1>Movies grouped by genre:</h1>
<ol>{
for $m in $movie
let $g := $m/genre
let $t := distinct-values($m/title/text())
group by $g
return
<li>{$g} <p> <ol>Title: {$t}</ol> </p></li>
}</ol>
</body>
</html>
但结果会给我一行中的所有标题,但我希望它们也分开列出点。
这是实际输出:
<li>
<genre>Crime</genre>
<p>
<ol>Title: A History of Violence Heat Match Point</ol>
</p>
</li>
<li>
应该是这样的:
<li>
<genre>Crime</genre>
<p>
<ol>Title: A History of Violence
Heat
Match Point
</ol>
</p>
</li>
<li>
我需要如何调整查询?
提前致谢。问候