私は xQuery にまったく慣れていないので、次のクエリを作成する必要があります。
各監督の DVD のタイトルを表示します。
私のxQueryは;
let $doc := doc("DVDStore.xml")//DVDTitle
return <Directors>{
for $dir in $doc/Directors/Name
let $t := $doc[$dir = Directors/Name]/Title
return <DVDTitles> {$dir} {$t} </DVDTitles>
} </Directors>
DVDStore.xml は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<DVDStore>
<DVDTitles>
<DVDTitle>
<Title>A. I. Artificial Intelligence</Title>
<Date>2002-03-05</Date>
<Studio>Universal Studios</Studio>
<Rated>PG-13</Rated>
<Code>1</Code>
<Directors>
<Name>Steven Spielberg</Name>
</Directors>
<Starrings>
<Name>Haley Joel Osment</Name>
<Name>Jude Law</Name>
</Starrings>
</DVDTitle>
<DVDTitle>
<Title>Terminator 2-Judgment Day</Title>
<Date>2001-01-01</Date>
<Studio>Artisan Entertainment</Studio>
<Rated>R</Rated>
<Code>6</Code>
<Directors>
<Name>James Cameron</Name>
</Directors>
<Starrings>
<Name>Arnold Schwarzenegger</Name>
<Name>Linda Hamilton</Name>
</Starrings>
</DVDTitle>
<DVDTitle>
<Title>Titanic</Title>
<Date>1999-08-31</Date>
<Studio>Paramount Home Video</Studio>
<Rated>PG-13</Rated>
<Code>2</Code>
<Directors>
<Name>James Cameron</Name>
</Directors>
<Starrings>
<Name>Leonardo DiCaprio</Name>
<Name>Kate Winslet</Name>
</Starrings>
</DVDTitle>
</DVDTitles>
</DVDStore>
次の出力が得られます。
<?xml version="1.0" encoding="UTF-8"?>
<Directors>
<DVDTitles>
<Name>Steven Spielberg</Name>
<Title>A. I. Artificial Intelligence</Title>
</DVDTitles>
<DVDTitles>
<Name>James Cameron</Name>
<Title>Terminator 2-Judgment Day</Title>
<Title>Titanic</Title>
</DVDTitles>
<DVDTitles>
<Name>James Cameron</Name>
<Title>Terminator 2-Judgment Day</Title>
<Title>Titanic</Title>
</DVDTitles>
</Directors>
問題は、1 人の監督が 2 つ以上の映画を監督した場合、監督したようJames Cameron
に、両方のタイトルを監督Terminator 2-Judgment Day
とTitanic
グループ化する必要があることです。
誰か助けてくれませんか?