5.4.11.2. ユーザ定義(XML解析)の詳細¶
この章では、XML解析を利用したユーザ定義の作成方法とその詳細について説明します。
5.4.11.2.1. 本チュートリアルで作成する概要¶
本チュートリアルでは、アカウント情報のXMLを読み込みアカウントデータを取得します。
チュートリアルを通して、ユーザ定義(XML解析)の作成方法とその詳細を説明します。
5.4.11.2.1.1. 本チュートリアルで使用するXMLの詳細¶
本チュートリアルではアカウントエクスポートでエクスポートされたアカウント情報XMLを使用します。
XMLの内容は以下の通りです。
<?xml version="1.0" encoding="UTF-8"?> <root xmlns="http://intra-mart.co.jp/system/admin/account/account-data"> <account-data cd="aoyagi"> <password>aoyagi</password> <first-day-of-week>-1</first-day-of-week> <login-failure-count>0</login-failure-count> <valid-start-date>1900-01-01</valid-start-date> <valid-end-date>3000-01-01</valid-end-date> <account-license>true</account-license> <account-roles> <account-role id="im_workflow_user"> <role-valid-start-date>1900-01-01</role-valid-start-date> <role-valid-end-date>3000-01-01</role-valid-end-date> </account-role> </account-roles> </account-data> <account-data cd="hagimoto"> <password>hagimoto</password> <first-day-of-week>-1</first-day-of-week> <login-failure-count>0</login-failure-count> <valid-start-date>1900-01-01</valid-start-date> <valid-end-date>3000-01-01</valid-end-date> <account-license>true</account-license> <account-roles> <account-role id="im_workflow_user"> <role-valid-start-date>1900-01-01</role-valid-start-date> <role-valid-end-date>3000-01-01</role-valid-end-date> </account-role> </account-roles> </account-data> <account-data cd="harada"> <password>harada</password> <first-day-of-week>-1</first-day-of-week> <login-failure-count>0</login-failure-count> <valid-start-date>1900-01-01</valid-start-date> <valid-end-date>3000-01-01</valid-end-date> <account-license>true</account-license> <account-roles> <account-role id="im_workflow_user"> <role-valid-start-date>1900-01-01</role-valid-start-date> <role-valid-end-date>3000-01-01</role-valid-end-date> </account-role> </account-roles> </account-data> <account-data cd="hayashi"> <password>hayashi</password> <first-day-of-week>-1</first-day-of-week> <login-failure-count>0</login-failure-count> <valid-start-date>1900-01-01</valid-start-date> <valid-end-date>3000-01-01</valid-end-date> <account-license>true</account-license> <account-roles> <account-role id="im_workflow_user"> <role-valid-start-date>1900-01-01</role-valid-start-date> <role-valid-end-date>3000-01-01</role-valid-end-date> </account-role> </account-roles> </account-data> <account-data cd="ikuta"> <password>ikuta</password> <first-day-of-week>-1</first-day-of-week> <login-failure-count>0</login-failure-count> <valid-start-date>1900-01-01</valid-start-date> <valid-end-date>3000-01-01</valid-end-date> <account-license>true</account-license> <account-roles> <account-role id="im_workflow_user"> <role-valid-start-date>1900-01-01</role-valid-start-date> <role-valid-end-date>3000-01-01</role-valid-end-date> </account-role> </account-roles> </account-data> </root>
5.4.11.2.2. 入力値/出力値¶
ユーザ定義を呼び出す際の入力値と、呼び出しが完了した際に返却する返却値を定義します。
ユーザ定義(XML解析)の入力値/返却値の初期値は以下の通りです。
5.4.11.2.2.1. 入力値¶
ユーザ定義(XML解析)の入力値はシステムによって固定です。
IM-LogicDesignerではXMLを取り扱うにあたり、以下の内容を入力値として定義しています。
入力値 説明 xml<binary> データを読み込むXML
5.4.11.2.2.2. 出力値¶
ユーザ定義(XML解析)の出力値はXMLから取得する要素を定義します。
出力値の定義方法には、「ルートから要素を定義する方法」 と「XPathで要素を定義する方法」があります。
5.4.11.2.2.3. ルートから要素を定義する方法¶
返却値にXML内のタグ名にあわせて要素を定義することで、定義された名前の要素を取得することができます。
アカウント情報XMLの場合、以下のように定義します。
XMLから属性の値を取得したい場合は、要素を Object として定義し、配下の要素に「@属性名」の要素を追加します。
またテキスト要素を取得したい場合は「#text」の要素を追加します。
5.4.11.2.2.4. XPathで要素を定義する方法¶
XPathを使用して取得したい要素を指定して定義を行う方法です。XMLから特定の要素のみ取得したい場合に利用します。
たとえば、アカウント情報からユーザコードのみを取得したい場合は属性「cd」へのXPathを定義します。
XPath
/root/account-data/@cd
XML解析定義のパラメータ名には、XPathで指定した要素を関連付ける返却値の要素名を指定します。
5.4.11.2.3. ユーザ定義(XML解析)を作成する¶
最後に、これまでの内容を踏まえてユーザ定義(XML解析)を作成します。
「XML解析定義編集」画面を表示します。
ユーザ定義の基本情報となる各項目に以下の値を入力します。
- XPathを定義します。
パラメータ名に入力した値をルートにして取得する要素を返却値に定義します。