OpenLaszloはXML形式のデータを取り扱うことができます。データはプログラムソースの中に埋め込んでも良いし,
プログラム中に書く場合は固定的なデータを格納しておく用途,
<dataset>,XPath,レプリケーション
OpenLaszloでXMLデータを扱うためにまず習得する必要があるのは<dataset>,
リスト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 サンプル
リスト2の(1)について,
リスト2の(2)について,
リスト2の(3)について,
次にレプリケーションについて。リスト3とそのサンプルデモを見比べてください。
リスト3
<canvas proxied="false" bgcolor="0xffffcc">
<dataset name="ds">
<person>
<daimyou name="織田信長" />
<daimyou name="豊臣秀吉" />
<daimyou name="徳川家康" />
<daimyou name="武田信玄" />
<daimyou name="上杉謙信" />
</person>
</dataset>
<text datapath="ds:/person/daimyou/@name"/>
<simplelayout/>
</canvas>
リスト3 サンプル
リスト3のXMLデータは5人分あるのに,
リスト4
<canvas proxied="false" bgcolor="0xffffcc">
<text>織田信長</text>
<text>豊臣秀吉</text>
<text>徳川家康</text>
<text>武田信玄</text>
<text>上杉謙信</text>
<simplelayout/>
</canvas>
リスト4 サンプル
リスト5では1人分のデータを横並びにして,
リスト5
<canvas proxied="false" bgcolor="0xffffcc">
<dataset name="ds">
<person>
<daimyou address="清須">
<sei>織田</sei>
<mei>信長</mei>
</daimyou>
<daimyou address="大阪">
<sei>豊臣</sei>
<mei>秀吉</mei>
</daimyou>
<daimyou address="岡崎">
<sei>徳川</sei>
<mei>家康</mei>
</daimyou>
</person>
</dataset>
<hbox datapath="ds:/person/daimyou"><!--(1)-->
<text datapath="sei/text()"/><!--(2)-->
<text datapath="mei/text()"/>
<text datapath="@address"/>
</hbox>
<simplelayout/>
</canvas>
リスト5 サンプル
リスト5の(1)で,
リスト5の(2)は,