第6章

XMLマップコンポーネントの作成

Composer XMLマップコンポーネントは、いろいろな意味において、Composerのコンポーネントタイプの中でも最も単純でありながら最も重要なものです。このコンポーネントは、出力ドキュメントへの入力ドキュメントのXML変換を実行するために使用します。有用なComposerサービスを作成する場合は、XMLマップコンポーネント(および関連リソース)の機能について理解することが必要です。

この章では、XMLマップコンポーネントについて紹介し、exteNd Composerサービス内でのXMLマップコンポーネントの動作についても説明します。この章を読むと、XMLマップコンポーネントの構成要素と機能、およびその設計/作成/使用方法を習得できます。

 
Top of page

XMLマップ コンポーネントとは

XMLマップコンポーネントは、1つまたは複数のXMLドキュメントを入力として受け付け、入力で動作するアクションの集合を使用し、XMLドキュメントを出力として返すオブジェクトです。

6inputoutput

図6-1

XMLマップコンポーネントでは、1つのXMLドキュメントから別のXMLドキュメントへのデータのマッピングや転送など、単純なデータ操作を実行できます。また、データおよびドキュメント構造の両方の変換など、洗練された操作を実行することもできます。さらに、XSLの処理、メールの送信、およびHTTPプロトコルを使用したXMLドキュメントのポストと受信を行うXMLマップコンポーネントを作成することも可能です。

コンポーネントの背後にある概念は、1つまたは複数のXMLドキュメントを入力として渡し、これらの入力を処理して、1つの出力XMLドキュメントを返すことです。その後、出力XMLドキュメントは、他のコンポーネントに対する入力として使用されたり、サービスの最終出力として返されたりします。このようにして、サービス内で連携し、完全なB2Bソリューションを提供するコンポーネントを作成できます。

 
Top of section

XMLテンプレートサンプルドキュメントを使用したXML マップコンポーネントの作成   

XMLマップコンポーネントを作成する際に使用するXMLドキュメントは、実行されているアプリケーションで処理される実際のドキュメントのサンプルです。サンプルドキュメントは、ComposerのXMLテンプレートオブジェクトに追加されます。処理されるドキュメントとまったく同じ構造およびデータ表記となるドキュメントのサンプルを使用します。作成を目的として使用するドキュメントと、コンポーネントによって実際に処理されるドキュメントの相違点は、次の図のとおりです。

図6-2

コンポーネントの作成に使用されたサンプルは、ランタイム時に実際に使用されたり、その名前で参照されることはありません。これらは、単に操作される構造とデータを表したテンプレートです。サンプルは、正しいランタイム操作を実行する処理アクションを作成する上で一時的に役立ちます。XMLデータを処理するためにランタイム時にexteNdによって実際に使用されるのは、DOMと呼ばれるXMLドキュメントをオブジェクトで表したものです。

 
Top of page

DOMとは

XMLマップコンポーネントエディタでは、サンプルドキュメントは、DOM (ドキュメントオブジェクトモデル)として知られている、W3C推奨の形式で表されます。 DOMは、ソフトウェアプログラムのメモリ内のオブジェクトとして作成されたXMLドキュメントです。これにより、オブジェクトを操作するための標準的な方法が提供されます。DOMを使用すると、Composerでは、XMLドキュメントの作成やXMLドキュメント構造内での移動、および要素やコンテンツの追加/変更/削除を行うことができます。XMLドキュメント内にあるものは、すべてDOMメソッドを使用して操作できます。Composerでは、DOMバインド仕様に対してW3C ECMA推奨のDOMメソッドをすべてサポートしています(http://www.w3.org/を参照)。

注記:   一部のダイアログボックスでは、DOMはメッセージと呼ばれます。

 
Top of section

DOM構造の概要

XMLマップコンポーネントエディタがアクティブになっていると、すべてのサンプルドキュメントがDOMに変換されます。

DOMは、次の理由のために使用されます。

DOMは、階層的に整理されます(つまり、ツリー構造を形成しています)。 特定のDOMが構成される方法を理解するには、異なる視点からDOMを表示できると便利な場合があります。 たとえば、ある状況では、DOMの基盤となるXMLドキュメントの加工されていないテキストを表示すると便利です。また、別の状況では、ドキュメントで(要素名や属性名ではなく)データの要約ビューを表示したい場合もあります。Composerでは、ツリー、テキスト、および要約による表示を切り替えるために、必要に応じてビューを変更することが可能です。

ビューを変更するには、単に任意のDOMウィンドウ内でマウスを右クリックして、希望のビューを[表示]サブメニューから選択します。使用できる3つのビュータイプは、次のとおりです。

6xmldoc01

DOMの要素は、XMLドキュメントでタグによって定義されます。たとえば、前の例では、<INVENTORYSTATUS>と呼ばれるXMLドキュメントに要素タグがあります。このタグには、終了タグ(</INVENTORYSTATUS)があります。<INVENTORYSTATUS>および</INVENTORYSTATUS>内のすべての構造要素(<SKU>など)は、DOMツリーのさらに下層(または、DOM用語では「子孫」)のレベルで表されます。

すべての要素名では、「大文字と小文字が区別」されます(つまり、<INVOICENO>と<InvoiceNo>は別の要素です)。

DOMツリーの要素は、「ノード」と呼ばれます。ノードの集合は階層で表され、次の命名規則によって言及されます。

表6-1

ノードタイプ

説明

ルート

DOMツリーでの最上位の要素。他のすべての要素は、この要素の子孫です。1つの要素のみを使用できます。

子孫

別のノードの下層にある(別のノード内に含まれる)ノードすべて。

チャイルド

あるノードの直接の子孫。

兄弟

同じペアレントノードを共有するノードすべて。

先祖

別のノードの上層にある(別のノードを含む)ノードすべて。

ペアレント

あるノードの直接の先祖。

リーフ

子孫のないノードすべて。

DOMの各要素タイプには、独自のアイコンがあります(次を参照)。

 
Top of section

ランタイム時のDOMの使用

コンポーネントでは、実行中のアプリケーションで、DOMを通して互いにデータの受け渡しを行います。ランタイム時には、コンポーネントが実行されるとDOMが渡されます。 渡されたDOMは、操作できる入力パートとなります。 コンポーネントのマッピングアクションをそれぞれ実行すると、要素ごとに出力パートが作成されます。

 
Top of section

ランタイム中のDOMの動作

コンポーネントを初めて開いた場合、元のサンプルが入力DOMおよび出力DOMにロードされます。 アニメーションを開始すると、入力パートはそのままの状態となりますが、一時DOMおよび出力DOMは、このようなDOMに最初に含まれていたデータからクリアされます。実行の最後では、データがすべてのDOMに表示されます。

 
Top of section

異なるメッセージタイプの作成

XMLマップコンポーネントを作成したら、このXMLマップコンポーネントに対する入力XMLテンプレートと出力XMLテンプレートを選択します。ただし、コンポーネントエディタ内では、次の操作を実行することもできます。

 
Top of page

XMLマップコンポーネントの作成

XMLマップコンポーネントを作成する場合の最初の手順は、コンポーネントのXMLテンプレートを指定することです。 詳細については、XMLテンプレートの作成を参照してください。

XMLテンプレートを指定したら、コンポーネントによって処理される入力および出力を表すテンプレートのサンプルドキュメントを使用して、コンポーネントを作成できます。

注記:   他のさまざまなコンポーネントタイプ(JDBCコンポーネント、JMSコンポーネントなど)については、該当するEnterprise Connect製品のユーザガイドで詳細に説明されていますが、すべてのコンポーネントの作成時や編集時に使用される基本的な原理は同じです。また、XML マップコンポーネントで使用できるさまざまな基本的なアクション(次の章を参照)も、その他すべてのComposerコンポーネントタイプで利用できます。

Procedure XMLマップコンポーネントを作成する

  1. [ファイル]メニューから、[新規]>[xObject]の順に選択します。 [コンポーネント]タブに切り替え、[XMLマップ]を選択します。すると、[新規xObject]ダイアログボックスが表示されます。

    6NewXMLMap01

  2. コンポーネントの「名前」を入力します。

  3. オプションとして、「説明」情報を入力します。

  4. [次へ]をクリックします。すると、新しいパネルが表示されます(次を参照)。

    6newxmltmpl02

  5. 入力テンプレートおよび出力テンプレート(メッセージとも呼ばれます)を指定します。

  6. 同様の手順で、出力として使うXMLテンプレートを選択します。

    注記:   出力テンプレートとして{ANY}を選択すると、構造が含まれない出力XMLテンプレートを指定できます。 詳細については、テンプレートを使用しない出力ドキュメントの作成を参照してください。

  7. [次へ]をクリックすると、一時および 障害XMLテンプレートダイアログが開きます。 必要ならば、スクラッチパッドとして使うテンプレートを、ダイアログの「一時メッセージ」ペインに指定します。 コンポーネントの処理に当たって一時的に使うだけの値を保持する、あるいは参照用としてのみ使う場合に便利です。 「障害メッセージ」ペインで、障害が起こった際、必要な情報をクライアントに返すためのXMLテンプレートを選択します。

    6NewXMLTmpl02b

  8. 入力XMLテンプレートをさらに追加するには、[追加]をクリックして、それぞれにパート名、テンプレートカテゴリ、およびテンプレート名を選択します。この手順を必要なだけ繰り返します。入力XMLテンプレートを「削除する」には、エントリを選択して[削除]をクリックします。 一時メッセージパート、障害メッセージパートについて詳しくは、131ページ以降を参照してください。

  9. [次へ]をクリックします。 コンポーネントタイプによっては[接続情報]パネルが表示されます。ここで、あらかじめ作成しておいた接続リソースを選択します。

  10. [完了]をクリックします。すると、コンポーネントが作成され、XMLマップコンポーネントエディタが表示されます。

6newxmltmpl03

 
Top of page

ネームスペースおよび出力パート

新しいXMLマップコンポーネントを作成し、その出力テンプレートでネームスペースが使用される場合は、ネームスペースURIが出力パートの属性にマップされ、新しい「マップアクション」がアクションリストに自動的に配置される点に注意してください。 このマップアクションは、「削除」したり、誤って上書きしたりしないようにしてください。 コンポーネントアクションをネームスペース-URIマップアクションの「ダウンストリーム」に配置し、コンポーネントアクションによって結果が出力パートに返されると、上書きされる可能性があります。この場合の解決方法は、元のマップアクションを、コンポーネントアクションのスポットダウンストリームに(カットアンドペーストにより)移動することです。

 
Top of page

XMLマップコンポーネントエディタの概要

XMLマップコンポーネントエディタは、すべての入力と出力の構造やデータのマッピング、変換、および転送を指定する場所です。

XMLマップコンポーネントエディタを使用すると、コンポーネントの入力、出力、およびアクションに対する論理的な作業環境が提供されます。XMLマップコンポーネントエディタは、複数のマッピングペインと1つのアクションモデルペインで構成されています。 マッピングペインには、サンプル入力メッセージパートとサンプル出力メッセージパートのXMLが表示されます。アクションモデルペインには、マッピングペインで動作するアクションが表示されます。

メニューとツールバー、1つの入力パート、1つの出力パート、および複数のアクション(アクションモデルペイン内)が表示されたXMLマップコンポーネントエディタは、次の図のとおりです。

 
Top of section

メニューおよびツールバーについて

Composerのメインメニューやサブメニュー、ツールバーの構成は、コンポーネントエディタ上に開いているコンポーネントのタイプによって変化します。 XMLマップコンポーネントを開くと、これに特有の次のような機能が使えるようになります。

表6-2

XMLマップコンポーネントメニュー

オプション

ファイル

Composerの[ファイル]メニューからと同じように、この[ファイル]メニューからは、任意のタイプのコンポーネントを作成したり、開いたり、削除したりできます。

コマンドによっては、XMLマップコンポーネントに特有の処理も併せて実行するようになっています。

[保存]: コンポーネントで入力、出力、およびアクションを保存します。

[名前を付けて保存]: 新しい名前でコンポーネントを保存し、入力、出力、およびアクションを変更できます。 コンポーネントの保存を参照してください。

[すべて保存]: 開いているコンポーネントをすべて保存します。

XMLに名前を付けて保存...]: メッセージパートの構造をXMLドキュメントとして保存します。 XMLドキュメントとしてのDOMの保存を参照してください。

XMLサンプルのロード...]: コンポーネントをテストするために、テンプレートからメッセージパートに他のサンプルドキュメントをロードできます。 サンプルドキュメントのロードを参照してください。

[プロパティ]: コンポーネントのテンプレートおよびその他の情報を表示できます。 コンポーネントのプロパティの表示を参照してください。

[印刷]: コンポーネントを印刷できます。

編集

アクションを元に戻したり、再実行したり、コンポーネントエディタの任意の場所でテキストの切り取り、コピー、および貼り付けを行ったりすることができます。さらに、次の操作も実行できます。

[検索]: マッピングペインで要素を検索したり、アクションモデルでテキストを検索したりします。 ドキュメント要素の検索を参照してください。

[次の検索]: マッピングペインで次の要素を検索したり、アクションモデルで次のテキストを検索したりします。 次のドキュメント要素の検索を参照してください。

[置換]: 選択したテキストをアクションモデルのみで置換します。 アクションモデルでのテキストの置換を参照してください。

表示

ナビゲータタブ]: Composerメインウィンドウの左側にあるナビゲーションフレームの表示レベルを切り替えます。ナビゲーションフレーム全体を表示または非表示にする場合に、このコマンドを使用します。

出力タブ]: Composerメインウィンドウの下部にあるメッセージフレームの表示レベルを切り替えます。メッセージフレーム全体を表示または非表示にする場合に、このコマンドを使用します。

[ドキュメントタブ]: コンポーネントエディタに[XMLドキュメント]タブを表示するか否かを切り替えます。

[XMLドキュメント]: 次のサブメニューがあります。

  • 表示/非表示]: コンポーネントに関連付けられた各メッセージパートの表示/非表示を切り替え、表示する場合はその順序も設定します(下記のXMLドキュメントの表示レベルを設定するを参照)

  • XMLドキュメントの縮小]: すべてのマッピングペインで、ルートノード以外のXMLノードをすべて非表示にします。

  • XMLドキュメントの展開]: すべてのマッピングペインで、XMLノードをすべて表示します。

  • ([ツリー形式]、[テキスト形式]、[スタイル形式])で、XMLコンテンツをコンポーネントエディタに表示する形式を切り替えます。

[ウィンドウのレイアウト]: [コンポーネント]ウィンドウ内で表示するDOMや、DOMペインとアクションモデルペインの整列方法を指定できます。 コンポーネントエディタでの[ウィンドウのレイアウト]および[表示/非表示]の使用を参照してください。

コンポーネント

実行]: テスト目的で、コンポーネントを起動から終了まで実行します。

XMLドキュメントの再ロード]: XMLメッセージペインに現在表示されている内容をクリアして、入力テンプレートおよび出力テンプレートから元のサンプルを再ロードします。 XMLドキュメントの再ロードを参照してください。

[ウォッチの追加]: デバッグの際、コンポーネントの実行中に値を表示するデータ項目を指定します。

アクション

[新規アクション]: アクションモデルに追加できるアクションがすべて列挙されています。

[編集]: 選択したアクションを編集できます。

[アクションを無効にする]: 選択したアクションを無効にします。

アニメーション

このメニューには、コンポーネントをテストするために使用できる処理アニメーションツールがすべて含まれています。ツールバーには、アニメーションツールを実行できるようにするボタンがあります。 詳細については、テストおよびデバッグを参照してください。

メニュー項目の多くは、ツールバーにあります。ツールバー項目の上にマウスを置くと、その項目の簡単な説明が表示されます。

 
Top of section

コンポーネントエディタでの[ウィンドウのレイアウト]および[表示/非表示]の使用

コンポーネントエディタのペインは、コンテンツを操作しやすくするために、表示、非表示、位置変更、およびサイズ変更することができます。[ウィンドウのレイアウト]オプションおよび[表示/非表示]オプションは、[表示]メニューから使用します。

Procedure コンポーネントエディタのペインを整列する

  1. [表示]メニューから、[ウィンドウのレイアウト ]を選択します。[ウィンドウのレイアウト]ダイアログボックスが表示され、ウィンドウ内でパネルの配置を調節できます。

    6WindowLayoutPanel

  2. XMLドキュメントおよびアクションモデルの方向を次のとおりに選択します。

  3. [OK]をクリックします。

  4. 結果に満足できないときは、[表示]、[ウィンドウのレイアウト]の順に選択して、[リセット]ボタンをクリックします。すると、ペインはデフォルト設定に戻ります。

Procedure XMLドキュメントの表示レベルを設定する

  1. [XMLドキュメントの表示]>[表示/非表示 ]の順に選択します。すると、[表示/非表示]ダイアログボックスに、XMLドキュメントの表示ステータスが表示されます。

    注記:   入力XMLドキュメントおよび出力XMLドキュメントは、デフォルトで[表示]カラムに表示されます。コンポーネントアクションの結果として作成されたDOMは、デフォルトで「非表示」になります。

    6WindowLayoutXMLLayout

  2. [非表示]カラムから、表示するXMLドキュメントを選択し、「左向き三角形」のボタンをクリックします。 反対に、[表示]カラムから、表示しないXMLドキュメントを選択し、「右向き三角形」のボタンをクリックします。

  3. 「トップドキュメント」として表示するXMLドキュメントを選択し、[表示]カラムの希望のレベルにドキュメントが表示されるまで「上向き三角形」のボタンをクリックします。

    注記:   前の手順(コンポーネントエディタのペインを整列するを参照)で左右方向を選択した場合、XMLドキュメントの順序は左から右へと表示されます(優先順位の高いドキュメントは左側に表示されます)。

  4. 引き続き[表示]カラムでXMLドキュメントを選択し、XMLドキュメントが希望の順序になるまで、必要に応じて上向き三角形と下向き三角形のボタンを使用します。

  5. [OK]をクリックします。すると、[ウィンドウのレイアウト]ダイアログボックスが閉じ、コンポーネントエディタが順に並べ替えられます。

XMLパネルからのドキュメントペインの管理

XMLドキュメントパネルとはヘッダにあるアイコン領域のことで、ドキュメントペインを個別に最大化し、通常表示し、あるいは閉じることができます。

最大化アクションをクリックすると、XMLパネル領域全体に当該ドキュメントが表示されるようになります。ほかに開かれているメッセージパートは一時的に非表示になります。 最大化するとアイコンが変化して、元の大きさの表示に戻す機能になります。

「閉じる」アイコンをクリックすると、画面からドキュメントの表示がなくなります。 XMLドキュメントをすべて閉じても、空のXMLパネルはそのまま残ります。 この状態で再びドキュメントを開きたい場合は、まず右クリックしてください。 するとコンテキストメニューが現れるので、そこから開きたいドキュメントを選択します。

6XMLRMBmenu

 
Top of section

マッピングペインについて

デフォルトのXMLマップコンポーネントエディタのウィンドウペイン設定は、次のとおりです。

マッピングペインにはカラーコーディングの特徴があることに注意してください。赤は、要素の最初の直接マッピングを示します。このため、出力ツリーでマップ済みの要素を確認する場合は、赤という色によってその要素を識別できます。緑は、繰り返し別名が定義されている要素が初めて現れたことを示します。

注記:   XML交換アクションによってダイナミックに作成されたマッピングペインなど、ダイナミックに作成されたメッセージパートを表示するには、前に説明した[ウィンドウのレイアウト]を使用する必要があります。

 
Top of section

入力マッピングペインについて

入力マッピングペインには、入力XMLテンプレートから1つのサンプルドキュメントがドキュメントオブジェクトとしてコンポーネントエディタに表示されます (コンポーネントに複数のテンプレートが含まれている場合は、各入力メッセージがそれぞれのペインに表示されます)。ペインは、境界線を上下または左右にドラッグすることによって、サイズを調整できます。

コンポーネントに複数の入力XMLテンプレートが含まれている場合、これらのテンプレートは次の名前で表示されます。

表6-3

表示順

ドキュメント名

最初のテンプレート

Input

2番目のテンプレート

Input1

追加のテンプレート

InputN (ここでNは、テンプレート番号から1を引いた値です。 たとえば最後に使った入力テンプレートが5番目のものであれば、そのDOM名はInput4となります)

テンプレートの表示順は、コンポーネントの作成時にXMLテンプレートを選択したときに指定した順序によって決定されます。 この順序は、上述のように、[表示]>[XMLドキュメント]>[表示/非表示]の順に選択すると開くダイアログで、上下の矢印を使って変更できます。

DOM要素およびデータ値について

それぞれの入力ペインは、DOMツリーとデータ値の2つの領域で構成されます。 複数の要素を含む入力パートと、それらの要素のデータは次の図のとおりです。

XML要素を選択すると、その要素名は、完全修飾要素名を表示するステータスバーに表示されます。 (XMLドキュメントから)要素に関連付けられているデータは、すべて[データ]領域に表示されます。データは、ランタイム時のコンポーネントによる処理では使用されませんが、コンポーネントのセットアップやテストを行う場合には役立ちます。DOM要素のデータは、そのままにしておくことも変更することもできます。データの変更の詳細については、ドキュメント要素の値の編集([データの編集]コマンド)を参照してください。

入力マッピングペインのコンテキストメニューについて

入力マッピングペインには、入力パートでタスクを実行するためにアクセスできるコンテキストメニューがあります。コンテキストメニューにアクセスするには、ペインの任意の場所でマウスを右クリックします。コンテキストメニューは、次の図のとおりです。

6inputcontext01

要素の繰り返し、エイリアスの宣言、またはグループの宣言アクションの作成

入力パートで繰り返される要素では、要素の繰り返し、エイリアスの宣言、またはグループの宣言アクションを作成できます。 エイリアスの宣言アクションを参照してください。

また、サンプルドキュメントで元の位置とは異なる構造にDOM要素を変換できるようにするDOM要素のグループを作成することもできます。グループを作成すると、グループに対して集計を計算できます。たとえば、DOM要素をアメリカの州(アラバマ、アリゾナなど)別にグループにまとめて、各州ごとに総売上高を計算できます。

グループは、常に要素の繰り返しアクションと組み合わせて機能します。グループの作成および使用の詳細については、230ページの「グループの繰り返しアクション」を参照してください。

ドキュメント要素の値の編集([データの編集]コマンド)

入力パートの要素を選択し、値を設定することができます。これは、アニメーションツールを実行してコンポーネントをテストする場合に便利です。

注記:   値は、編集セッションに対して一時的です。

Procedure ドキュメント要素の値を編集する

  1. ドキュメント内のXML要素を選択します。

  2. [入力]ペインでマウスを右クリックします。

  3. [データの編集]を選択します。

    6EditData

  4. 選択したドキュメント要素がダイアログボックスに表示されます。要素に対して設定する値を入力します。

  5. [OK]をクリックします。すると、値が、選択した要素の隣の[データ]領域内に表示されます。

追加して表示

XMLパネルの表示領域に、現在表示されていないXMLドキュメントを追加表示します。 メニューから[追加して表示]を選択すると、PROJECT変数や_SystemFaultのほか、コンポーネントに関連付けられたドキュメントのうち、現在開いていないものが列挙されます。 このリストの中から、表示したいものを選択します。

表示に関するコマンド

XMLメッセージパートは個別に、ツリー、テキスト、または様式化された形式(XSLスタイルシートを使用)で表示できます。

ツリービュー

デフォルトのビューでは、メッセージパートがツリーとして表示されます(次を参照)。

6ViewDOMasTree

このビューでは、要素と属性の「値」(つまり、ドキュメントデータ)を編集できますが、XML構造は編集できません。

テキストビュー

テキストビューでは、構造要素を含む完全なXMLファイルを表示したり編集したりできます。

(XMLパネルの任意の場所で)マウスを右クリックして、[表示]、[テキスト形式]の順に選択すると、メッセージパートをテキストとして表示できます。 すると、XMLはプレーンテキスト形式で表示されます(次を参照)。

6ViewDOMasText

テキストビューでは、コメント、処理命令、DOCTYPE宣言などの、入力パート、一時パート、または出力パートの非コンテンツモデル部分を簡単に検査できます。

注記:   テキストビューは、ツリービューの場合と同様に、アニメーション中にダイナミックに更新されるため、個々のマップアクションの実行時にその結果を表示することができます。

様式化されたビュー

様式化されたビュー(右クリックすると現れるコンテキストメニューで[表示]>[スタイル形式]を選択して切り替え)では、XMLメッセージの中身が次のように表示されます。

6ViewDOMasStyled

このビューでは、XMLコンテンツの「レポート」スタイルの概要が表示されるため、すべての属性や要素のコンテンツを一目で確認できます。

注記:   このビューの作成においてComposerが依存するデフォルトのXSLスタイルシートは、\binディレクトリの xcd-all.jarファイル内にdefault.xslという名前で存在します。このファイルは、jarファイルから解凍(展開)して、jarファイルの同じ場所に編集したバージョンを再挿入することにより、編集または置換できます。

コメントの表示

もうひとつ、表示に関するコマンドとして[コメントの表示]があります。ソースXMLファイル中のコメントを表示するか否かを切り替えます。 DOMノードはコンテンツの部分をラップした<!--および-->というマーカで示されるコメントで構成されますが、常に表示する必要はありません。

ドキュメントツリーの展開

マウスを右クリックして[表示]>[ツリーの展開]を選択すると、ドキュメントツリー内のすべての要素を表示できます。

ペインの左上隅、パート名(たとえば「Input」)のすぐ左にある「+」アイコンをクリックしても、同様にツリーを展開できます。

ドキュメントツリーの縮小

マウスを右クリックして[表示]>[ツリーの縮小]を選択すると、ドキュメントツリーの下層の要素が非表示になります。

ペインの左上隅、パート名(たとえば「Input」)のすぐ左にある「-」アイコンをクリックしても、同様にツリーを縮小できます。

ドキュメントツリーの再ロード

コンテキストメニューを表示して[表示]>[ツリーの再ロード]を選択すると、特定のXMLメッセージをリセットできます。 これによって、XMLマップコンポーネント内で個別のドキュメントツリーを再ロードできます。 テスト中にアニメーションを中止してドキュメントを未完成のままの状態にしておいた場合は、ドキュメントツリーの再ロードが必要になることがあります。

エディタの起動

コンテキストメニューから[エディタの起動]を選択すると、インストール時に指定したデフォルトのXMLエディタで、ドキュメントを開くことができます。

XMLサンプルのロード

コンテキストメニューから[XMLサンプルのロード]を選択すると、コンポーネントをテストするために、テンプレートからメッセージパートに他のサンプルドキュメントをロードできます。 サンプルドキュメントのロードを参照してください。

XMLに名前を付けて保存

コンテキストメニューから[XMLに名前を付けて保存]を選択すると、現在開いているメッセージパートの構造を、XMLドキュメントとして保存できます。 XMLドキュメントとしてのDOMの保存を参照してください。

ドキュメント 要素の検索

(XMLパネルのコンテキストメニューに表示される)[検索]コマンドを使用すると、要素名および要素データを検索できます。 [検索]ダイアログボックスでは、値を入力することにより、ドキュメントツリーを検索できます。検索する際は、単語の一部または完全に一致する単語だけを検索したり、大文字と小文字を区別せずに検索したりできます。[次の検索]ダイアログボックスは、次のとおりです。

次のドキュメント要素の検索

以前に検索した単語または文字列が次に現れる場所を検索することができます。 [次の検索]を選択した場合、ダイアログボックスは表示されません。<F3>キーを押した場合も同様です。代わりに、Composerでは、最後に検索したものが次に現れる場所を検索します。一致するものがない場合は何も起こりません。

DOMの検証

コンテキストメニューから[検証]を選択すると、DTDまたはスキーマ定義ファイルに対してDOMを検証できます。検証は、コンポーネントの構築およびテストの際に便利です。

 
Top of section

出力マッピングペインについて

出力マッピングペインには、出力パートが表示されます。出力マッピングペインにもコンテキストメニューがあります(次を参照)。

6outputcontext01

出力マッピングペインのコンテキストメニューにあるオプションは、入力マッピングペインのものに類似していますが、次に説明する部分が異なります。

出力要素への入力要素のマッピング

マウスを右クリックすると表示されるコンテキストメニューから[マップ]を選択すると、マップアクションを使用できます。

値の設定

出力パートの[データの編集]オプションを使用すると、ノードの値を検査することはできますが、変更はできません。

 
Top of section

アクションモデルペインについて

すべてのコンポーネントには、単一のアクションモデルがあります。アクションモデルは、マッピング、変換、およびランタイム処理中にXMLドキュメントで実行されるその他のアクションを表します。また、アクションモデルペインは、XMLマップコンポーネントエディタウィンドウ内でサイズを変更できます。アクションモデルペインで行われるアクティビティのほとんどは、アクションの追加および編集に関連しています。

アクションモデルのコンテキストメニューについて

アクションモデルで右クリックすると、次のようなメニューが表示されます。

6actionpanecontext01

このメニューからは、アクションを選択したり他のタスクを実行したりできます。

アクション モデルでのテキストの置換

マウスを右クリックすると表示されるメニューまたはコンポーネントエディタの[編集]メニューにある[置換]オプションを使用すると、単語または文字列を置換できます。

Procedure テキストを置換する

  1. アクションモデルでマウスを右クリックし、[置換]を選択します(または、アクションを選択し、[編集]メニューから[置換]を選択します)。

    6replacedlg

  2. 検索テキストを入力して、[OK]をクリックします。

  3. Composerでは、入力したテキストが最初に現れる場所を検索し、置換を確認するメッセージが表示されます。その後は、検索テキストが次に現れた箇所を置換するか、検索テキストが現れるすべての箇所を置換することができます。

 
Top of section

コンポーネントへのアクションの追加

入力テンプレートおよび出力テンプレートを指定すると、XMLマップエディタが開き、アクションの追加を開始する準備が整います。アクションは、コンポーネント内で行われる処理手順です。アクションの詳細については、後のトピックで取り扱います。

コンポーネント内では、DOM要素をマップするアクションの追加、ファイルからのデータの読み書き、電子メールの送信、および他の共通タスクを実行します。アクションの集合は、アクションモデルと呼ばれます。

アクションモデル内のアクションは行として表示され、アクションタイプを示すアイコンとアクションの簡略定義が含まれます。一部のアクションは、他のアクションに対するサブオーディネートです。たとえば、ループ処理を制御する繰り返しアクションを作成し、ループ内にアクションを追加できます。ループ内のアクションは繰り返しアクションに従属し、この下にインデントされて表示されます。これらのアクションは、繰り返しアクションが真の間、処理されます。

Procedure アクションモデルにアクションを追加する

  1. アクションモデルペインで、次のアクションを挿入する場所の上にカーソルを置きます。

  2. 次の方法のいずれかを使用して、アクションを追加します。すると、選択した行の下に新しいアクションが挿入されます。

注記:   アクションモデルペインのアクションは、新しい場所にドラッグして並べ替えることができます。

アクションモデルを作成したら、ライブデータで処理する前に、コンポーネントをテストする必要があります。 テストは、Composerのアニメーションツールを使用して実行します。アニメーションツールを使用すると、ブレークポイントの設定、アニメーションの開始、アクションのステップインとステップオーバ、およびアニメーションの一時停止を実行できます。

 
Top of section

テンプレートを使用しない出力ドキュメントの作成

コンポーネントの作成時に、出力テンプレートとして{SYSTEM}{ANY}を選択すると、構造が含まれない出力XMLテンプレートを指定できます。 次に、入力パート要素を、まだ存在しない出力パート要素にマップして、出力メッセージパートをダイナミックに作成できます。

たとえば、要素が含まれる入力パートと要素が含まれない出力パートが1つずつ存在するコンポーネントは、次の図のとおりです。

6blankoutput01

出力ドキュメントには要素がありません。 出力ドキュメントをダイナミックに作成するには、入力パート要素を、まだ存在しない出力パートの構造にマップします。 次の図では、入力パートの請求書が出力パートの「販売先」という項目にマップされます。

6MAPAction106

結果のXMLドキュメントパネルは、次の図のとおりです。

7NewMapDOMresult

入力ドキュメント要素を出力XPathにマップすると、出力ドキュメント構造を作成できます。 ただし、完全修飾ドキュメント名にマップするようにしてください。

注記:   実際には、出力メッセージパートと一時メッセージパートは、常にダイナミックに作成されます。サンプルドキュメントは、単にアクションを定義するときに役立つものです。

作成した出力パートを他のコンポーネントの作成に使用できる場合は、XMLドキュメントとして保存し、XMLテンプレート内でサンプルとして使用できます。 詳しくはXMLドキュメントとしてのDOMの保存を参照してください。

 
Top of page

コンポーネントで一時メッセージ、障害メッセージを使う方法

入力、出力メッセージパート以外にも、一時メッセージパート、障害メッセージパートを作成できます。 一時パートは、入力パートをもとに出力パートを生成する際、複雑な処理が必要な場合に、その作業領域として使います。 一時ドキュメントペインでは、5種類のマッピング方法のいずれかを使用して、どの入力パートからでも要素を追加できます。 アクションモデルペインについてを参照してください。

障害ドキュメントは、コンポーネントやサービスで障害が発生したとき、必要な情報をクライアントに返すために使います。 Composerでは、障害ドキュメントといっても、その実体はメモリ中に保持されたXMLドキュメントまたはメッセージパートにほかなりません。入力、出力、あるいは一時パートと同様に、コンポーネントで定義されます。 障害メッセージパートは、サービスやコンポーネントで障害やエラーが発生したときに受け取った情報を格納するために使います。 プログラム開発においては、障害に備える意味で、エラーが起こりうる箇所の周辺に、Try/On Faultアクションや障害のスローアクションを置くようにするとよいでしょう (障害に関係するアクションで障害ドキュメントを使う例は、200ページの「障害のスローアクション」を参照してください)。

 
Top of section

一時メッセージパートの作成

一時パートは、許可されているアクションの方向が入力パートおよび出力パートとは異なります。 一時パートは、マッピングアクションのソースとターゲットの両方に指定することができますが、入力パートはソースとしてのみ、出力パートはターゲットとしてしか指定できません。 一時パートは、複数追加することができ(追加できる数はメモリによってのみ制限されます)、いつでも削除できます。 また、[一時]ラベルを上書きして、一時パートに独自の名前を割り当てることもできます。 一時メッセージパートは、コンポーネントの作成中に定義(110XMLマップコンポーネントを作成するを参照)しても、既存のコンポーネントに追加するようにしても構いません。

Procedure 既存のコンポーネントに一時メッセージパートを追加する手順

  1. [ファイル]メニューから、[プロパティ]を選択します。すると、[プロパティ]ダイアログボックスが表示されます。

    6addtempdom01

  2. [メッセージ]タブをクリックします。

  3. [一時ドキュメント]タブをクリックします。

  4. 右端にある[追加]ボタンをクリックします。 すると、パート、テンプレートカテゴリ、およびテンプレート名に対する選択肢が使用可能になります。

  5. [パート]欄に、一時メッセージパートを表す独自のラベルを入力します。

  6. [テンプレートカテゴリ]ドロップダウンメニューから、XMLカテゴリを選択します。

  7. [テンプレート名]ドロップダウンメニューから、XMLテンプレートを選択します。

  8. [OK]をクリックします。

  9. コンポーネントを開きます。 初期状態では、コンポーネントエディタには入力パートと出力パートしか表示されません。 一時ドキュメントも表示するため、[表示]メニューから[表示/非表示]を選択し、先に作成した一時パートを追加してください。

    注記:   あるいは、コンポーネントエディタ上で右クリックし、コンテキストメニューから[追加して表示]を選択して、リストから一時ドキュメントを選ぶ、という方法もあります。

XMLマップコンポーネントエディタに、一時メッセージペインが表示されます(次の図を参照)。

6addtempdom03

注記:   テンプレートを使用しない出力ドキュメントの作成で説明されているとおり、ドキュメントオブジェクトは、テンプレートを使用しないでダイナミックに作成することもできます。

 
Top of section

障害メッセージパートの作成

_SystemFaultドキュメント

障害ドキュメント用のXMLは、普段使っているエディタで作成することもできますが、_SystemFaultという名前でComposerにあらかじめ用意されている、デフォルトのXMLを使っても構いません。 _SystemFaultのXML情報は、ERRORというグローバルオブジェクトにも記述されています。 _SystemFaultドキュメントの構造を次に示します。

8systemfault

ルートであるFaultInfoの下には次のような要素があります。

注記:   初期状態では、障害ドキュメントはコンポーネントエディタに表示されません。 表示するには、右クリックすると現れるコンテキストメニューで、[追加して表示]>[_SystemFault]の順に選択します。

 
Top of section

独自の障害ドキュメントの作成

障害メッセージパートをコンポーネントに追加する手順は、入力/出力/一時パートを追加する手順とほとんど同じです。 まず、普段使っているエディタで、障害情報を記述したXMLドキュメントを作成します。 障害メッセージパートは必要な数だけ作成してください(メモリ容量による制限があるだけです)。また、アプリケーションの必要に応じ、どのような構造を組み込んでも構いません。

_SystemFaultドキュメントではなく、独自の障害パートを使いたい場合もあるでしょう。 たとえば、_SystemFaultにもあるDateTime、Component、およびMessageの各要素に加えて、サービス自身に関する情報、正常に実行できた最後のアクションを識別できるようにするためのログメッセージ、入力ドキュメントから得られたはずの情報(アプリケーションが異常終了すると失われる恐れのあるもの)なども、障害ドキュメントに記録すれば有用かも知れません。 次の図は独自の障害メッセージの例を表します。

6CustomFaultUsage

対処するべき障害を拾い出し、それぞれに対応するXML構造を作成すれば、障害パートはコンポーネント作成時に並行して定義しても、後から追加しても構いません。

Procedure 既存のコンポーネントに障害メッセージパートを追加する手順

  1. [ファイル]メニューから、[プロパティ]を選択します。すると、[プロパティ]ダイアログボックスが表示されます。

  2. [メッセージ]タブをクリックします。

  3. [障害ドキュメント]タブをクリックします。

    6FaultPart

  4. 右端にある[追加]ボタンをクリックします。 すると、パート、テンプレートカテゴリ、およびテンプレート名に対する選択肢が使用可能になります。

    注記:   障害パートを指定しなければ、エラー情報は_SystemFaultという、基本的な構造のみの障害ドキュメントに記録されます。

  5. [パート]欄に、障害メッセージパートを表す独自のラベルを入力します。

  6. [テンプレートカテゴリ]ドロップダウンメニューから、XMLカテゴリを選択します。

  7. [テンプレート名]ドロップダウンメニューから、XMLテンプレートを選択します。

  8. それぞれの障害ドキュメントについて、以上の手順を繰り返します。

  9. [OK]をクリックします。

  10. コンポーネントを開きます。 初期状態では、コンポーネントエディタには入力パートと出力パートしか表示されません。 障害ドキュメントも表示するため、[表示]メニューから[表示/非表示]を選択し、先に作成した障害パートを追加してください。

    注記:   あるいは、コンポーネントエディタ上で右クリックし、コンテキストメニューから[追加して表示]を選択して、リストから障害ドキュメントを選ぶ、という方法もあります。

 
Top of page

XMLドキュメントの再ロード

マッピングによってドキュメント構造を変更した後で、メッセージパートを元の状態に戻したい場合は、XMLドキュメントを再ロードできます。 XMLドキュメントを再ロードすると、一時パートや障害パート(作成されている場合)を含むすべてのパートが、入力XMLドキュメントおよび出力XMLドキュメントによって定義されている状態に戻されます。ただし、アクションモデルペインのマップアクションはそのまま保持されることに注意してください。つまり、コンポーネントを実行する予定であった場合、すべてのマップアクションが実行されます。

入力パート、出力パート、および一時パートで反映されるマップアクションがいくつか含まれているコンポーネントは、次の図のとおりです。

6reload02

アクションモデルペインのXMLの詳細とマップアクションに注目してください。XMLドキュメントが再ロードされた後の同じ画面は、次の図のとおりです。

6reload01

ドキュメントは元の状態に戻されましたが、アクションモデルペインはそのままの状態で保持されています。 XMLドキュメントを再ロードするには、[コンポーネント]メニューから[XMLドキュメントの再ロード]を選択します。

 
Top of page

サンプル ドキュメントのロード

異なるサンプルドキュメントを任意のDOMにロードし、要素のマッピングまたはアクションモデルのテストに対して新しいDOM構造を使用できます。テンプレートから異なるサンプルドキュメントをロードすると、ランタイム時にコンポーネントによって受信される可能性のあるすべてのXMLドキュメントのケースをアクションモデルで処理できるかどうかをテストできます。

XMLサンプルをロードすると、DOMは変更されますが、アクションモデルはそのまま保持されます。サンプルXMLドキュメントでのテストが完了したら、[XMLサンプルのロード]の手順を繰り返すことにより、元のXMLドキュメントを再ロードできます。

Procedure サンプルドキュメントをロードする

  1. [ファイル]メニューから、[XMLサンプルのロード]を選択します。 あるいは、XMLエディタパネルで右クリックし、コンテキストメニューから[XMLサンプルのロード]を選択しても構いません。すると、[XMLサンプルのロード]ダイアログボックスが表示されます。

    6loadsample01

  2. [パート]ドロップダウンボックスから、新しいサンプルドキュメントのロード先となるメッセージパートを選択します。

  3. 元のXMLテンプレートに含まれていないサンプルドキュメントをロードする場合は、[ファイル名]をクリックしてファイルの名前を入力します。 または[参照]をクリックして、ファイルを指定します。ネットワーク上のファイルでも構いません。 URLを指定してファイルを読み込むこともできます。「http://」、「https://」、あるいは「ftp」という文字列を、ファイル名の前に置いて明示してください。

  4. 元のXMLテンプレートに含まれているXMLファイルをロードする場合は、[サンプル]をクリックしてXMLドキュメントを選択します。

  5. 選択したサンプルを、このコンポーネント内でのみ選択したパートに対してデフォルトのXMLドキュメントにする場合は、[デフォルト]をクリックします(これは、ファイル名オプションには適用されません)。

  6. [OK]をクリックします。

 
Top of page

ウォッチ変数の追加

コンポーネントの実行に当たり、ある変数の値がどのように変化するかを監視できれば、デバッグに役立つでしょう。 その目的でComposerに用意されているウォッチリストに、ウォッチ変数を作成、追加することができます。

ウォッチ変数として扱えるのは、次のようなオブジェクトです。

Procedure ウォッチ変数リストにオブジェクトを追加する手順

  1. [コンポーネント]メニューから[ウォッチの追加]を選択します。

  2. [ウォッチの追加]ダイアログが現れます。ここには、変数や、ECMAScriptの関数、メソッド、演算子が、プロジェクト全体にわたってすべて列挙されています。

    6AddWatch

  3. ウォッチリストに追加したいオブジェクトをダブルクリックし、[OK]をクリックします。

  4. コンポーネントの実行中、出力ペインの[ウォッチ]タブをクリックすると、ウォッチリストに指定されたオブジェクトの状態が表示されます。

    6WatchList

ウォッチリストの使い方、特にデバッグ時の活用方法については、第12章で詳しく解説します。

 
Top of page

コンポーネントの保存

ハードウェアまたはソフトウェアの障害によって作業が失なわれるのを防ぐため、コンポーネントは頻繁に保存してください。また、コンポーネントに異なる名前を付けて保存すると、バックアップコピーを作成することもできます。別の名前で保存すると、XMLプロパティ(入力XMLテンプレートおよび出力XMLテンプレートを含む)も変更できます。

Procedure 新しい名前でコンポーネントを保存する

  1. [ファイル]メニューから、[名前を付けて保存]を選択します。

  2. [名前]フィールドに、新しい名前を入力します。

  3. 入力XMLドキュメントおよび出力XMLドキュメントを変更するには、[XMLプロパティ情報]タブをクリックします。

  4. 入力XMLドキュメントを変更または追加します。

  5. 出力XMLドキュメントを変更します。

  6. [OK]をクリックします。

注記:   複数のコンポーネントを同時に開いている場合、[ファイル]>[すべて保存](または<Ctrl>-<Shift>-<A>キー)で、まとめて保存することができます。 同様に、[ファイル]>[すべて閉じる](または<Ctrl>-<Shift>-<F4>キー)で、まとめて閉じることができます。

 
Top of page

XML ドキュメントとしてのDOMの保存

DOMは、XMLドキュメントとして保存することもできます。これにより、DOMの構造とデータを含むXMLドキュメントが作成(または上書き)されます。 出力パートと結果のXMLドキュメントは、次の図のとおりです。

Procedure メモリ内DOMをXMLファイルに保存する

  1. [ファイル]メニューから、[XMLに名前を付けて保存]を選択します。すると、[XMLに名前を付けて保存]ダイアログボックスが表示されます。

    6outputxml02

  2. [パート]の下にあるプルダウンメニューを使用して、ディスクに保存するソースDOMを選択します。前の例では、[出力]が選択されています。

  3. [ファイルとして保存]ラジオボタンをオンにします。

  4. XMLドキュメントのパスと名前を入力するか、または[参照]をクリックしてパスを選択します。

    注記:   既存のXMLドキュメントを選択すると、ソースDOMの構造とデータで上書きされます。

  5. [OK]をクリックします。

 
Top of page

テンプレートとしてのXMLファイルの保存

コンポーネントエディタに表示されるDOMは、(最初にDOMをファイルに保存してからテンプレートにインポートするのではなく)直接XMLテンプレートとして保存できます。ターゲットテンプレートは、その場で作成できるため、あらかじめ存在している必要はありません。

Procedure DOMをXMLテンプレートに保存する

  1. [ファイル]メニューから、[XMLに名前を付けて保存]を選択します。すると、[XMLに名前を付けて保存]ダイアログボックスが表示されます(前の図を参照)。

  2. [XMLドキュメント]の下にあるプルダウンメニューから、テンプレートとして保存するソースDOMを選択します。

  3. [テンプレートサンプルとして保存]ラジオボタンをオンにします。

  4. カテゴリをその場で作成する場合は、「カテゴリ」の名前を入力します(または、プルダウンメニューから既存のカテゴリを選択します)。

  5. テンプレートをその場で作成する場合は、[テンプレート名]に名前を入力します(または、プルダウンメニューから既存のXMLテンプレートの名前を選択します)。

  6. このXMLドキュメントの「サンプル名」を入力します(これは、ディスク上でのファイル名になります。ファイルは、プロジェクトディレクトリの\xmlcategories\[CategoryName]\importsに保存されます)。

  7. [OK]をクリックします。 すると、Composerのナビゲーションフレームにあるインスタンスペインに、新しいXMLテンプレートが表示されます。

この方法を使用してXMLテンプレートをその場で作成している際に、新しいテンプレートに関連付ける追加の情報(スキーマ名やXSLスタイルシートなど)を入力するよう求められることはありません。新しいテンプレートの検証、スタイルシート、またはその他のプロパティを検査したり編集したりする場合は、次に示す手順に従います。

 
Top of page

XMLテンプレートのプロパティの検査および編集

XMLテンプレートを作成すると、そのプロパティをいつでも検索または変更することができます。99XMLテンプレートの編集を参照してください。

 
Top of page

メモリ不足の問題の回避

容量の大きいDOMを操作している場合、設計時のメモリ不足の問題を回避するため、xconfig.xmlファイルに次の行を追加することをお勧めします。次に示すサンプルxconfigファイルの抜粋を参照してください。

追加(または編集する)行: <VM_PARAMS>-Xms64m-Xmx128m</VM_PARAMS>

展開後のサービス(ランタイム環境)で使えるメモリ容量を調整するには、アプリケーションサーバVMのコマンドラインオプションを変更する必要があります。 詳しくはアプリケーションサーバに関する資料を参照してください。

次の節で解説するパフォーマンスフィルタを適切に使えば、メモリ不足に起因する問題(設計時、ランタイムとも)の多くを解消できます。

 
Top of page

パフォーマンスフィルタの使い方

[パフォーマンスフィルタの定義]コマンド(Composerメインメニューバーの[コンポーネント]メニューから起動)を使えば、大容量の入力ドキュメントを処理する際、大幅に性能を改善できることがあります。 メモリ不足を回避する上でも大きな利点があります。ドキュメントをフィルタに通すと、必要なメモリ量を大幅に削減できるからです。

パフォーマンスフィルタには、入力XMLドキュメントから、不要なドキュメント要素(および属性)をはぎ取る働きがあります。 不要な要素を指定するだけで、残りの処理はComposerが自動的に行います。 入力ドキュメントの処理と同時に、サービスに必要ないXML要素を除去して書き直す、という処理を並行して実施するのです。 その結果、メモリ中に構築されるDOMが、通常よりも小規模になります。

ドキュメントのフィルタ処理が有用なのは、ドキュメントのタイプにもよりますが、XPathで示されるノードのうち、ごく一部しかサービスに関係しないことが多いからです。 たとえば、あるサービスでは注文書のうち「Customer Info」ノードのみを参照し、別のサービスでは同じ注文書の「Product Request Detail」ノードのみを参照する、ということです。 この場合、各サービスでは、ドキュメントのごく一部のみを参照すれば充分ということになります。

Procedure パフォーマンスフィルタの作成

  1. サービスxObjectが開いていない場合は、サービスxObjectを開きます。

    注記:   コンポーネント上でパフォーマンスフィルタを定義することはできません。 定義できるのはサービスxObject上に限ります。

  2. Composerのメインメニューバーにある[コンポーネント]メニューで、[パフォーマンスフィルタの定義]を選択します。ダイアログボックスが表示されます。

    8PerformanceFilter

    このダイアログにツリー形式で表示されるのは、サービスの「入力ドキュメント」であることに注意してください (これ以外のドキュメントは表示できません)。

  3. 除去せずに残しておきたいノードのチェックボックスをオンにします。 オフになっているノードは除去されるので、解析の結果得られるDOMには、該当する要素がありません (詳しくは後述)。

  4. [OK]をクリックして、ダイアログボックスを閉じます。

先の図に示した例で、入力されるドキュメントのルートノードは「DoctorResp」です。その直下に「/physician」ノードおよび「/patients」ノードがあり、さらに「/patients」要素の下には「PatientData」要素があります。 同様に、「PatientData」の子ノードとして、「LastName」および「FirstName」があります。 ただし、「Physician」のチェックボックスはオフになっているので、入力されるドキュメントで次のXPathを参照しても、何もないことになります。

  DoctorResp/physician/patients/PatientData/Physician

注記:   設計中、サービスを開いた直後の状態では、パフォーマンスフィルタを定義しても、入力ドキュメントをツリー形式で表示すると、ノードがすべて(すなわちフィルタを適用しない状態で)表示されます。 ただし、アニメーションモードでアクションモデルをステップスルー実行している間は、ランタイムと同じ、フィルタ適用後のツリー構造が表示されます。

 
Top of page

コンポーネントのプロパティの表示

コンポーネントのさまざまなプロパティは、いつでも検査(および、場合によっては編集)できます。

Procedure コンポーネントのプロパティを表示または変更する

  1. Composerの[ファイル]メニューから、[プロパティ]を選択します。すると、[プロパティ]ダイアログボックスが表示されます。このダイアログボックスには、次の3つのタブがあります。

    6properties

  2. このコンポーネントの説明的なコメントを表示または編集するには、[ヘッダ情報]タブをクリックし、希望の情報を入力します。

  3. XMLテンプレートの選択肢を表示または変更するには、[メッセージ]タブをクリックします。テンプレートドキュメントまたはテンプレートカテゴリ、あるいはその両方は、必要に応じて追加または削除できます。

  4. コンポーネントで特別な接続リソースが使用されている場合は、[接続情報]タブをクリックして、このコンポーネントの接続リソース情報を表示します(通常のXMLマップコンポーネントには適用されません)。

  5. [OK]をクリックして、ダイアログボックスを閉じます。

  6. コンポーネントを「保存」します。

 
Top of page

コンポーネントの印刷

コンポーネントのコンテンツは印刷することができます。印刷物には次の項目が含まれます。

Procedure コンポーネントを印刷する

  1. [ファイル]メニューから、[印刷]を選択します。

  2. プリンタを選択します。

  3. [OK]をクリックします。

 
Top of page

コンポーネントの設計、テスト、および実行

コンポーネントを設計、テスト、および実行する際にサンプルドキュメントが使用される方法については、次の表のとおりです。

表6-4

DOM

Composerでの設計時

Composerでのアニメーションツールの使用時

サーバでの実行時

入力

サンプルは、アクションとテストデータを作成するために設計時に役立つものとしてロードおよび使用できます。

デフォルトのサンプルドキュメントは、ランタイム入力パートをシミュレートするためにロードおよび使用されます。

XMLデータは、別のコンポーネント、サービス、またはサービストリガによって渡されます。

一時

サンプルは、アクションとテストデータを作成するために設計時に役立つものとしてロードおよび使用できます。

サンプルドキュメントはロードされません。 パートは、アクションモデルによって作成されます。

パートは、アクションモデルによって作成されます。

出力

サンプルは、アクションを作成するために設計時に役立つものとしてロードおよび使用できます。

サンプルドキュメントはロードされません。 パートは、アクションモデルによって作成されます。

パートは、アクションモデルによって作成されます。

障害

サンプルは、アクションとテストデータを作成するために設計時に役立つものとしてロードおよび使用できます。

サンプルドキュメントはロードされません。 パートは、アクションモデルによって作成されます。

パートは、アクションモデルによって作成されます。



Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.  more ...