2017-06-08 5 views
1

1つのタイトル要素ではなく複数のタイトル要素にデータを返すにはどうすればよいですか?データを複数の要素で返すにはどうすればよいですか?

戻り値この

<title> 
    Title 1 
    Title 2 
    Title 3 
</title> 

は$データの内容を見ずに答えることは難しい。この

<title>Title 1</title> 
<title>Title 2</title> 
<title>Title 3</title> 

コード

(: This gets coordinates from $latLon :) 
    let $result := for $coordinates in $latLon/location 
       let $lat := $coordinates/lat/text() 
       let $lon := $coordinates/lon/text() 
(: This uses the coordinates to retrieve a title :) 
       let $data := titleDoc:getTitle($lat, $lon) 
       let $title := $data//div[@class="title"]/text() 
       return 
        <title>{$title}</title> 

答えて

2

を返すようにしたいです。 しかし、この動作するはずのような何か:

for $title in $data//div[@class="title"] 
return <title>{data($title)}</title> 
3

@chrisisが言うように、それはあなたのコードを見ずに言うのは難しいですが、私はあなたの代わりに、ここでletforをしたいと思う:

let $title := $data//div[@class="title"]/text() 
    return <title>{$title}</title> 

letは、すべてのテキストノードで1つのシーケンスを作成し、<title>要素に配置します。それはあなたが望むものではなく、繰り返すことができ、それぞれのタイトル要素を1つ作成します。

for $title in $data//div[@class="title"]/text() 
    return <title>{$title}</title> 
関連する問題