OpenLaszloはXML形式のデータを取り扱うことができます。データはプログラムソースの中に埋め込んでも良いし、外部ファイルにしても良いです。GET/POSTを送信してXMLが返ってくるRESTが使えるのでサーバサイド言語を経由してデータベース内のデータも取り扱えます。ネット上のWebサービスAPIでXMLを返してくるものも使えます。
プログラム中に書く場合は固定的なデータを格納しておく用途、外部ファイルはアプリの挙動を簡単に変更するための設定ファイル用途として使い、ユーザの実データはRESTを使ってデータベースに保存する、という使い分けができます。
<dataset>、XPath、レプリケーション
OpenLaszloでXMLデータを扱うためにまず習得する必要があるのは<dataset>、XPath、レプリケーションの3つです。<dataset>はXMLデータを格納するタグ、XPathはXMLデータの特定のデータを指定するための構文、レプリケーションはデータの複製表示機能です。
リスト1のXMLデータをOpenLaszloで取扱ってみましょう。LZX自体もXML形式なのでややこしいですが、一応別物なので混同しないようにご注意ください。
リスト1 XMLデータ
<daimyou address="清須">
<sei>織田</sei>
<mei>信長</mei>
</daimyou>
リスト1のXMLデータをOpenLaszloで表示するにはリスト2のように書きます。
リスト2 リスト1のXMLデータを表示
<canvas proxied="false" bgcolor="0xffffcc">
<dataset name="ds">
<daimyou address="清須"><!--(1)-->
<sei>織田</sei>
<mei>信長</mei>
</daimyou>
</dataset>
<text datapath="ds:/daimyou/sei/text()"/><!--(2)-->
<text datapath="ds:/daimyou/mei/text()"/>
<text datapath="ds:/daimyou/@address"/><!--(3)-->
<simplelayout axis="x"/>
</canvas>
リスト2 サンプル