XqillaでXqueryを使い始めたところです。
結果を正しいインデントと改行で返す必要があります。
$ duplicatesという監督のリストがあり、returnステートメント内でこれらの監督からすべての映画のタイトルを取得したいと思います。
私のreturnステートメント:
for $duplicate in $duplicates
return
<movie director="{$duplicate}">
{$result/videos/video/title[../director=$duplicate]}</movie>
このように(種類の)フォーマットしたいもの:
<movie director="Coppola">
<title>The Godfather</title>
<title>The Godfather pt. 2</title>
<title>Apocalypse Now</title></movie>
子供たちが適切にインデントされ、それぞれが新しい行に表示されます。
私が得ているのはこれです:
<movie director="Coppola">
<title>The Godfather</title><title>The Godfather pt. 2</title><title>Apocalypse Now</title></movie>
すべてのタイトルが1行に表示されます。
以前は変数を返すだけでタイトルのリストを正常に返したので、ウィキブックスで提案されているように、forループを使用してネストされたreturnステートメントを試しました。このソリューションには、明示的に定義されたタグも含まれて<title>
いました。
私はここSOで同じ問題を抱えている人を1人見つけました。
そこでの答えはうまくいきませんでした。名前空間を追加すると、プログラムは完全に出力を停止しました。恨みのない解決策があれば、私もそれを好みます(誰もが最初から完璧な出力を得ているように見えるので、それはあるようです)。
問題は、XMLとXqueryを中括弧の使用法と混合することに関するもののようです。