データポインタのコピー
データポインタをデータパスとして,
リスト3は,
リスト3
<canvas proxied="false" bgcolor="0xffffcc">
<dataset name="ds" >
<data country="イギリス" capital="ロンドン" lang="英語" />
<data country="イタリア" capital="ローマ" lang="イタリア語" />
<data country="オランダ" capital="アムステルダム" lang="オランダ語" />
<data country="スペイン" capital="マドリード" lang="スペイン語" />
<data country="フランス" capital="パリ" lang="フランス語" />
<data country="モナコ公国" capital="モナコ" lang="フランス語" />
<data country="ルーマニア" capital="ブカレスト" lang="ルーマニア語" />
</dataset>
<vbox id="details" x="80" width="100" bgcolor="white"><!-- ① -->
<datapath/><!--②-->
<text datapath="@country" fgcolor="red" fontstyle="bold"/>
<text datapath="@capital"/>
<text datapath="@lang"/>
</vbox>
<vbox>
<text datapath="ds:/data/@country"> <!--③-->
<handler name="onclick">
details.datapath.setFromPointer(this.datapath); //④
</handler>
</text>
</vbox>
</canvas>
リスト3サンプル
国名をクリックすると詳細表示が出ます
① 配下に3つの<text>がある<vbox>ですが,
② 親の<vbox>に作用する<datapath>です。実は<vbox datapath="" >と書いているのと同じことです。見た目をわかりやすくするために別タグにしています。①ですでに書いたのと同じことですが,
③ ds:/data/@countryに合致するデータがすべてレプリケーションによって複製表示されます。親が<vbox>なので,
④ onclickハンドラの中に書かれているので,