PEXA Clientについて

チュートリアル

定義パターン

定義ファイル

リファレンス

目次

  1. はじめに
  2. Transition定義の内容
  3. identityセクション
  4. descriptionセクション
  5. transition-listセクション
  6. statusセクション
  7. Transition定義全体のサンプル


はじめに

このドキュメントは、PEXAクライアントフレームワークで使用するTransition定義ファイルについて解説するものです。

Transition定義ファイルは、条件付きの画面遷移情報を記述するXML形式の定義ファイルです。
遷移先となる画面を決定するのに条件判定が発生するようなケースに対応しやすくする事を目的とした非必須の定義ファイルです。

例えば、ワークフローの承認対象伝票を一覧表示するような画面においては、リスト表示されているデータ1件1件が全く別種類の データになっているようなケースがあります。このような場合、一覧上で選択したデータの詳細表示画面をポップアップさせたいと なると選択行のデータの種類に応じて遷移先画面を変える必要が出てきます。

これをPage定義のtransition-listセクションで記述する画面遷移情報で行うとするとArea定義のCommand内で判定を行ってから 呼び出すことになります。このようにすると、承認対象の伝票が増えるごとにArea定義のCommandとPage定義のtransition情報を ペアでメンテナンスする必要があり扱いづらくなるため、このTransition定義ファイル側に画面遷移情報とその条件をセットで 記述することで対応しやすくしました。

この定義ファイルを使用して画面遷移を行う場合は、以下の2点が必須となります。

Page定義のtransitionタグでref属性でこのTransition定義のIDを指定することで、本来ならdoTransition命令のid属性で 指定された画面遷移が実行されるところを、Transition定義側の記述にしたがって条件判定にマッチングした画面遷移が 適用されるようになり、Area定義とPage定義のメンテナンスがなくなりTransition定義のみがメンテナンス対象となります。

各要素間のつながりは以下のようになります。
  Area定義のdoTransition命令(id属性) ---> Page定義のtransition(ref属性) --> Transition定義

Transition定義ファイルの内部は、いくつかのセクションに分かれています。
以下でTransition定義ファイルの内容の概説およびそれぞれのセクションの詳細を解説していきます。

なお、文中にでてくるPage定義についてはこちらを、 Area定義についてはこちらを、 参照記法についてはこちらを参照してください。


Transition定義の内容

Transition定義に含まれる情報には、主に以下の物があります。

Transitionの識別情報

Transitionはシステム内でユニークに特定できる必要があります。
そのために、Transitionを識別するためのIDや名称を必ず定義する必要があります。

詳細はidentityセクションを参照してください。


画面遷移の情報

適用条件とペアで画面遷移情報を羅列して記述します。
Page定義でのtransition-listセクションの記述が画面遷移情報に対してidを振る形になるのに対して、 このTransition定義では画面遷移情報にconditionを指定する形になるのが特徴です。

詳しくはtransition-listセクションを参照してください。



identityセクション

記述例 :

<identity id="CT_000001"
          name="ワークフロー承認対象詳細画面ポップアップ"/>

説明 :
identityセクションは、Transitionの識別情報を記述するセクションです。
IDや名称を定義します。

属性値 :
identityタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
id システム内でユニークになるTransitionの識別ID 文字列 必須 不可
name Transitionの名称 文字列 必須 不可


descriptionセクション

記述例 :

<description>
    ワークフローでの詳細対象データに対応する詳細画面の画面遷移情報です。
</description>

説明 :
descriptionセクションは、Transitionの詳細説明を記述するセクションです。
フリーフォーマットで文章で記入してください。


transition-listセクション

記述例 :

<transition-list>
    <transition condition="filter:[item:選択データモデルEntityName = 見積]">
        <transit-page next="CP_000001"/>
    </transition>
    <transition condition="filter:[item:選択データモデルEntityName = 出荷依頼]">
        <transit-page next="CP_000002"/>
    </transition>
    <transition condition="filter:[item:選択データモデルEntityName = 発注依頼]">
        <transit-page next="CP_000003"/>
    </transition>
</transition-list>

説明 :
画面遷移の情報を記述するセクションです。
Page定義ではtransitionタグにid属性を記述して、Area定義のdoTransition命令からidを指定されて適用されますが、 Transition定義ではcondition属性を指定して画面遷移の適用条件をそれぞれに記述します。

この時の判定条件はfilter参照などで条件式を記述して指定します。
判定対象はArea定義のdoTransition命令のcontent属性で指定されたContentになりますので、item参照などでContent項目をチェックする形が基本となります。

適用の判定はtransition-listの上から順番に行われます。
条件にヒットしたものが見つかった時点で判定は終了し、対象のtransitionタグの内容にしたがって画面遷移が実行されます。 そのため、transition-listの一番下に、condition="true"としたtransitionタグがあれば、最後に適用されるデフォルトの画面遷移を宣言することもできます。

セクション内の子要素
transition-listの子要素として、以下のものがあります。

transitionタグ

画面遷移情報を表すタグです。
transition-listの子要素として複数個列挙できますので、必要なだけ定義してください。
transitionタグには以下の属性値があります。

属性値名 説明 形式 必須/非必須 参照記法可/不可
condition 画面遷移の適用条件を指定します。
filter条件などを使用して判定条件式などを指定してください。
この時の判定対象はArea定義のdoTransition命令でcontent属性で指定されたContentになります。
文字列 必須


画面遷移の種別に応じて、以下のタグのいずれかを子タグとして指定します。

  • transit-page
  • popup-page
  • change-area
  • add-area
これらの子タグの使用方法はPage定義のtransitionタグと同じなので、 詳細はこちらを参照してください。



statusセクション

記述例 :

<status>
    <author>$Author: morishita $</author>
    <datetime>$Date:: 2010-08-31 15:37:03 #$</datetime>
    <version>$Revision: 5317 $</version>
</status>

説明 :
Transition定義ファイルの編集情報を記述するセクションです。
バージョン管理システムの置換キーワードなどと連携して使用してください。

セクション内の子要素 : 以下の子要素があります。

authorタグ

タグの間にはさんで、ファイルの編集者を記述します。


datetimeタグ

タグの間にはさんで、ファイルの編集日時を記述します。


versionタグ

タグの間にはさんで、ファイルのバージョンを記述します。



Transition定義全体のサンプル

<?xml version="1.0" encoding="Windows-31j"?>
<!--
 - Copyright
 -->
<!DOCTYPE client-transition SYSTEM "../doctype/client-transition.dtd">
<!--==============================================================
 == Current-Module:   $HeadUR$
 == Release-Date:     $Date:: 2010-08-31 15:37:03 #$
 == Release-Version:  $Revision: 5317 $
 == First-Created-On: 2010/08/30
 == First-Created-By:
 == Copy-Right-Owner:
 ==============================================================-->
<client-transition>
<!--==============================================================
==  識別情報
===============================================================-->
    <identity id="CT_000001"
              name="ワークフロー承認対象詳細ポップアップ"/>
<!--==============================================================
==  詳細説明
===============================================================-->
    <description>
        ワークフロー承認対象一覧からポップアップする詳細画面の画面遷移定義。
    </description>
<!--==============================================================
==  画面遷移情報
===============================================================-->
    <transition-list>
        <transition condition="filter:[item:選択データモデルEntityName = 見積]">
            <transit-page next="CP_000001"/>
        </transition>
        <transition condition="filter:[item:選択データモデルEntityName = 出荷依頼]">
            <transit-page next="CP_000002"/>
        </transition>
        <transition condition="filter:[item:選択データモデルEntityName = 発注依頼]">
            <transit-page next="CP_000003"/>
        </transition>
    </transition-list>
<!--==============================================================
==  ファイル編集情報
===============================================================-->
    <status>
        <author>$Author: morishita $</author> 
        <datetime>$Date:: 2010-08-31 15:37:03 #$</datetime>
        <version>$Revision: 5317 $</version>
    </status>
</client-transition>


更新情報

  • 最終更新者 : $Author: morishita $
  • 最終更新日時 : $Date:: 2010-08-31 15:37:03 #$
  • バージョン : $Revision: 5317 $



Copyright © 2006, Atrris Corporation