まだProject Sienaにハマっております。とりあえず、RDFやJSONなど、階層構造のあるデータをProject Sienaから扱う方法にハマっていたので、メモ。
Project Sienaでは、何か外部データを扱う場合、データソースとしてデータを指定します。RSSの場合は、「RSS Feed」でもいいのですが、それ以外のRDFやJSONなどのデータ構造の場合、「REST」を使います。
で、RDFやJSONのデータは、ほとんどの場合階層構造となっています。
階層構造のあるデータをGalleryなどで扱う場合、データソースの名前を直接指定せずに、First()というメソッドを使ってやる必要があります。
具体的には、表示したいGalleryのItemsに、`First(データソース名)!データソースの最初のノード名を指定してやる。
今回の写真の場合は、データソース名が「shelter_xml」、使いたいデータが格納されているノードが「Shelter」なので、First(shelter_xml)!Shelter
です。
Galleryの中で実際にデータを使う場合は、配置したいコントロールを指定して、ThisItem!からはじめて設定したいデータノードの名前を指定します。こちら、ノードの階層構造がよくわからない場合は、データソースの設定画面を見て、そこから目的のノードを探してください。
ここでは、Shelterノードの下のNameノードの下の$textと言うノードに目的の値があったので、ThisItem!Name!'$text'
としています。なお、ここでシングルクオーテーションがつく項目の基準は不明ですが、必要に応じてProject Sienaが勝手に着けてくれますので、あまり気にする必要はないでしょう。