このパートでは以下を行います:
•コンボ ボックスのソース ノードの変更
•イメージの XPath 式の保存
各ページコントロールは、ページソースの 1 つのノードである、[ソースノード] (またはページソースリンク)を持つことができます。リンクは、ページソースノードを [ページ ソース] ペイン からデザインのコントロールに ドラッグすることで作成できます。 基本的に、ソースノードは、 XML ノードからコントロールにデータを送信します。 XML ノードのデータがどのようにコントロールに関係するかは、コントロールの種類によります。例えば、: コンボ ボックスのセクションはソースノードを更新します— XML ノード—そしてその値がコンボ ボックスのディスプレイに反映されますが、イメージのソースノードは、イメージの URL を提供します。コントロールをポイントすると、ソースノードの使用方法がポップアップします。例えば、(コンボ ボックスの) XML ノードとして編集する、または、(イメージの)データ元として編集するなど。
コンボ ボックスのソースノード リンクを Product から Selection に変更します。 Selection ノードを[ページ ソース] ペインからコンボ ボックスのコントロールへドラッグします(下のスクリーンショット参照)。
エンドユーザーのコンボ ボックスの選択を、Product 要素ではなく、 Selection 要素に入れるための手順の理由は以下の通りです:
•複数の兄弟 Product 要素が AltovaProducts.xml にはあり、各要素には変更を希望しないデータが含まれています。
•Product のページ ソース リンクが、最初のProduct 要素 (Product[1]) である場合、コンボボックスの選択で最初のみが更新されます。
•最善の解決法はエンドユーザーの選択を別の要素に保管することです。
ページ ソース リンクを Product から Selection に変更した後、コンボ ボックスの選択は、 Product ノードではなく、 Selection ノードを更新します。
コンボボックスの選択の XML 値が Selection ノードに入るため、このノードは、イメージ URL を作成する XPath 式に使用される必要があります。デザインで、イメージを選択し、 ([スタイル & プロパティ] ペイン内の) Image URL プロパティの [XPath] ボタンをクリックします。[XPath/XQuery 条件式の編集] ダイアログが表示されるので、 XPath 式を変更し、 Product を Selection と置き換えます。例えば:
以下を: |
concat(Product, '.bmp') |
以下に変更: |
concat(Selection, '.bmp') |
この XPath 式は、( Selection ノードに保管されている) エンドユーザーのコンボボックスの選択を使用しイメージファイル名を生成します。イメージファイルとデザインファイルは同じフォルダーにあり、 XPath 式により生成されるファイル名は、デザインファイルの場所からのイメージへの相対パスです。