このサイトをビューするために JavaScript を有効化してください。

Altova MobileTogether Designer

デザインを完了するには、総額を表示するラベルを表示されたオーダーに追加します。 以下のとおり行います:

 

1.[コントロール] ペイン から、[ラベル] コントロール をドラッグしてオーダー テーブルにドロップします (下のスクリーンショット参照)。

2.[スタイル & プロパティ] ペイン内のコントロールの Text プロパティのコントロールの XPath アイコン をクリックします。

3.表示される [XPath/XQuery 式の編集] ダイアログ に、総額を計算する XPath 式 (式 は下に与えられています)を入力します。そして、 [OK] をクリックします。

MTDSPVOrdersTotal

 

総額を計算する XPath 式

以下の 2 つの イベントの総額を計算します: (i) 選択されたカスタマーのオーダー、 および (ii)  すべての オーダー。これは、次の XPath 式を使用して行うことができます:

 

if ($XML1/Root/CustomerCode!='All')

then concat('Total: 'xs:decimal(sum ($ORDERS//Order[CustomerCode=$XML1/Root/CustomerCode]/OrderAmount)))

else concat('Total: 'xs:decimal(sum ($ORDERS//OrderAmount)))  

 

この XPath 式 は、以下のとおり作動します:

 

1.式のif 句は、 要素 $XML1/Root/CustomerCode が文字列 All を含むかをテストします。

2.要素 $XML1/Root/CustomerCode  が文字列 All 含まない場合、 $XML1/Root/CustomerCode 要素 のコンテンツに等しいCustomerCode 要素 コンテンツ を持つすべての Order 要素の OrderAmount 要素が選択されます。これは、エンドユーザーにより選択されたカスタマーの Order 要素の数量になります。 カスタマーの CustomerCode は、 $XML1 ページソースに保管されています (トップページ: アクショングループ、サブページへ移動を参照)。

3.要素 $XML1/Root/CustomerCode が 文字列 All含む場合、 すべての OrderAmount 要素が選択されます。

 

選択された OrderAmount 要素 は、 XPath の sum() 関数を使用して集計されます。 sum() 関数は、xs:double 型 を使用するため、 xs:double 数値を返します。数量は通貨が必要とする、2 つの小数点とともに表示されます。ですから、xs:decimal 型コンバーター を使用して、 xs:double に四捨五入し、2 つの小数点を使用します。

 

 

(C) 2020 Altova GmbH