Apcoordinator ユーザーズガイド
目次 前ページ次ページ

第2部 Apcoordinatorコアの機能> 第10章 XMLデータ仕様記述> 10.2 XMLデータ仕様記述の作成

10.2.2 項目間にまたがる仕様の記述

■条件ブロックを利用する

条件ブロックを利用すると、if文のような制御をすることができます。 次の例では、"sampleProp"の値が1の場合に、チェックを行います。


        <block property="sampleProp" op="EQ" operand="#1" >
          <verify property="sampleNumber" op="GE" operand="#0" exception="#ERR01" info="#0以上" />
          <verify property="sampleNumber" op="LE" operand="#10" exception="#ERR01" info="#10以下" />
        </block>

条件の記述
前項のタグと同様に、propertyfunctionopoperandの記述で条件を表します。関係演算の結果が真の場合に、ブロック内の処理が実行されます。

■デシジョンを利用する

XMLデータ仕様記述では、デシジョン表形式の項目関連チェックを記述することができます。

デシジョン表の例
番号 項目名 デシジョン
1 便名 101便 ×      
2 便名 103便   ×    
3 便名 105便     ×  
4 便名 107便       ×
5 予約タイプ 一般 ×      
6 予約タイプ スーパーシート     ×  
7 予約タイプ 特別割引   ×   ×
エラー条件 全席
割引設定
特別割引
設定なし
スーパー
シート
設定なし
特別割引
設定なし
デシジョン表の見方
表の左半分には、条件が並んでいます。デシジョン部分では、それぞれの列にある"×"でマークした条件が同時に成立する場合に、最下段に記述したエラーとします。
XMLデータ仕様記述では、以下のように記述します。

      <value seq="1" property="flight" op="EQ" operand="#101" />
      <value seq="2" property="flight" op="EQ" operand="#103" />
      <value seq="3" property="flight" op="EQ" operand="#105" />
      <value seq="4" property="flight" op="EQ" operand="#107" />
      <value seq="5" property="reservation" op="EQ" operand="#regular" />
      <value seq="6" property="reservation" op="EQ" operand="#super" />
      <value seq="7" property="reservation" op="EQ" operand="#discount" />
      <decision exception="#ERR01" info="#全席割引" >
        <status seq="1" require="true" />
        <status seq="5" require="true" />
      </decision>
      <decision exception="#ERR02" info="#特割なし" >
        <status seq="2" require="true" />
        <status seq="7" require="true" />
      </decision>
      <decision exception="#ERR03" info="#スーパーなし" >
        <status seq="3" require="true" />
        <status seq="6" require="true" />
      </decision>
      <decision exception="#ERR02" info="#特割なし" >
        <status seq="4" require="true" />
        <status seq="7" require="true" />
      </decision>

value
valueタグは、デシジョン表の条件(例では行に相当)を表します。seqアトリビュートで条件の番号を指定します。 条件は、propertyfunctionopoperandで記述します。
decision
decisionタグは、デシジョン表の結果(例ではデシジョンの列)を表します。デシジョンの成立時にエラーにする場合は、exceptionerrorinfoのアトリビュートで記述します。デシジョンの成立時に項目への代入をする場合は、valuevalueFunctiontargetで記述します。
status
statusタグは、デシジョンの判定条件を指定します。seqアトリビュートは、valueタグで指定したseqに対応します。requireアトリビュートはtruefalseで、その条件の真偽を指定します。

目次 前ページ次ページ

All Rights Reserved, Copyright © 富士通株式会社 2000-2005