データとデータバインディング(1)

 今日は、Developer's Guideのlaszlosystems.com - このウェブサイトは販売用です! -&nbspLaszlo Laszlo Systems リソースおよび情報を参考に、Laszloにおけるデータとデータバインディングについて見ていきたいと思います。
 LZXは、データの操作、そのデータとユーザインタフェースとのマッピングを簡単に行うための仕組みを提供しています。データはXMLで定義し、XPathでデータを操作することになります。Laszloでは、このXMLをdataset、XMLを操作するDOM APIをLzDatasetと呼んでいます。
 では、簡単なサンプルから見ていきたいと思います。

<canvas>
  <dataset name="dset">
    <person>
      <firstName>Naoki</firstName>
      <lastName>Ichimura</lastName>
    </person>
  </dataset>  
  <view layout="axis:x">
    <text datapath="dset:/person/firstName/text()"/>
    <text datapath="dset:/person/lastName/text()"/>
  </view>
</canvas>

 このサンプルは、datasetとしてpersonルートノードを持つXMLをdsetという名前で定義し、タグのdatapath属性に指定したXPathを条件にdsetからデータを取り出し、その値を出力しています。実行結果は、以下のようになります。

Naoki    Ichimura

 datasetの定義部分を、とするとXMLを外だしにすることもできます。また、のようにtype属性にhttpを指定するだけで、実行時にリモートのデータソースにアクセスすることできます。次回はこの辺をもう少し詳しくみていきたいと思います。