取得したデータの操作

このセクションでは、XPath 式を使用して、LiveCycle サーバーに送信されたタスクデータを操作する方法について説明します。

レビュー結果と承認結果の評価

XPath 式を使用して、Task Result Collection 値からのレビューと承認プロセスの結果を評価できます。「Assign Multiple Tasks」操作では、ドキュメントレビューの結果に基づいてルートを作成できます。ただし、XPath 式は次の状況で役立ちます。

  • 一連の 「Assign Task」操作が使用され、結果が Task Result Collection 値に累積される連続したレビュー

  • 「Assign Multiple Tasks」操作後しばらくして、ルーティングの決定を下す必要がある場合

例えば、連続したユーザーがドキュメントをレビューし、Approve または Reject のいずれかのユーザーアクションを選択したとします。大部分のレビュー担当者が承認した場合、ドキュメントは受け付けられます。最終レビュー後、プロセスはレビューの結果を含む電子メールをすべての参加者に送信します。XPath 式を使用して、各アクションが選択された回数を判断します。

Task Result 値には、タスクの完了に使われたユーザーアクションを格納する selectedUserAction データ項目が含まれます。Task Result Collection 値に XPath 関数を適用して、特定のアクションを使用して完了したタスク数を判断できます。

get-list-item-count:
アクションが選択された回数を返します。

get-list-item-percentage:
特定のユーザーアクションが選択されたタスクのパーセンテージを返します。

これらの関数には、Task Result Collection と、情報を必要とするアクションの名前に解決する XPath 式が必要です。次の XPath 式は Approve というアクションが選択された回数を返します。 Assign Multiple Tasks 結果は TRCvar という Task Result Collection 変数に保存されます。

get-list-item-count(/process_data/TRCvar/object/taskResults,'Approve','selectedUserAction')

関数の呼び出しには、プロパティ名パラメーターとして selectedUserAction を含めます。Task Result 値の selectedUserAction データ項目には、使われたユーザーアクションが格納されるため、このオプションのパラメーターを含めます。

Task Result Collection 値の場合のみ、get-list-item-count および get-list-item-percentage 関数を使用して、式を簡単にすることができます。Task Result Collection 値へのパスのみを指定し、プロパティを指定しません。

get-list-item-count(/process_data/TRCvar,'Approve')

XML 変数からのフォームデータの取得

Adobe XML フォームおよび Adobe PDF フォームは XML データパッケージ(XDP)形式でフィールドのデータを送信できます。XDP.

変数に格納されたフォームデータの取得と設定に、XPath 式を使います。データにアクセスするには、変数内のデータが内部でどのように表されているかを知っている必要があります。

次のプロセスデータモデルには、xmlVariable という XML 変数が含まれています。

フォームから収集されるデータのルートノードは MortgageApp という名前が付けられています。このノード下のデータの構造はフォームスキーマを表します。XDP データには、フォームデータのルートノードの上の複数レベルのノードが含まれます。

次の XPath 式はすべてのフォームデータを取得します。

/process_data/xmlVariable/xdp/datasets/data

ガイドまたは Flex アプリケーションおよびフォームを伴う送信済みデータの使用

一般的なシナリオには、Guide または Flex アプリケーションを使用したデータの収集と、フォームでの別のユーザーへのデータの表示などがあります。Guide または Flex アプリケーションに、フォームと共に送信されたデータを入力することもよくあります。

Guides、flex アプリケーション、フォームでは XML データが使われます。Designer を使用して作成されるフォームでは、XML を XDP 形式にする必要があります。ただし、Guide および Flex アプリケーションデータには XDP 固有の要素が含まれません

  • Guide または Flex アプリケーションから送信されるデータをフォームに入力するには、データを XDP として格納するように設定された XML 変数にデータを保存する必要があります(XDP データの XML 変数の設定を参照)。

  • Guide または Flex アプリケーションに、フォームから送信されるデータを入力するには、XML から XDP 固有の要素を削除する必要があります。Set Value サービスを使用して、フィールドデータを抽出し、それを別の xml 変数に保存します。XML 変数からのフォームデータの取得の XML データ例を使用して、次の Set Value マッピングはフィールドデータを xmlVariable から別の xml 変数の xmlGuide にコピーします。

    /process_data/xmlGuide = /process_data/xmlVariable/xdp/datasets/data/*

添付ファイルとメモのドキュメント属性

タスクにファイルまたはメモを添付する場合、ドキュメント値を作成して、添付ファイルまたはメモを表します。ドキュメント値に、添付ファイルまたはメモに関する情報を格納するために使用するいくつかの属性を作成します。

属性名

説明

デフォルト

wsfilename

添付されたドキュメントのファイル名またはドキュメントが表すメモのタイトル。値はファイルの場所へのパスとファイル名、またはファイル名だけを指定できます。

Attach numbernumber は添付ファイルとメモの格納に使用されるリスト変数内のドキュメントの位置を示すインデックスです。

wsdescription

添付ファイルの説明またはメモのテキスト

空文字列

wscreatorid

タスクにドキュメントを添付したか、メモを提供したユーザーのユーザー ID

ユーザーの ID を表す一意の文字列

wspermission

ドキュメントのアクセス権限を表すビットマスク数値

アクセス権限によって、ドキュメントがタスクに添付された場合の使用方法が決定されます。数値の値は、ドキュメントに指定された各アクセス権限を表す数の合計です。

読み取りアクセス:1

書き込みアクセス:2

削除アクセス:4

有効な値は 1、3、5、7 です。例えば、読み取りおよび書き込みアクセスを持つドキュメントの wspermission の値は 3 です。

7(読み取り、書き込み、削除アクセス)

wsattachtype

ドキュメントが添付ファイルかメモかを表す string 値:

  • attachment はバイナリの添付ファイルを示します。

  • note はテキスト形式のメモを示します。

添付ファイルのタイプによって常に値が決まります。

XPath 式を使用して、属性の値を取得または設定できます(getDocAttribute および setDocAttribute を参照)。

たとえば、タスクのメモと添付ファイルが attachmentVar というリスト変数に保存されているとします。次の XPath 式は、リストの最初の添付ファイルの名前、説明、作成者 ID、権限に評価されます。

getDocAttribute(/process_data/attachmentVar[1],"wsfilename") 
getDocAttribute(/process_data/attachmentVar[1],"wsdescription") 
getDocAttribute(/process_data/attachmentVar[1],"wscreatorid") 
getDocAttribute(/process_data/attachmentVar[1],"wspermission")

次の XPath 式は、リストの最初の添付ファイルの名前、説明、作成者 ID、権限の値を置換します。

setDocAttribute(/process_data/attachmentVar[1],"wsfilename", "BetterByAdobeRules.pdf") 
setDocAttribute(/process_data/attachmentVar[1],"wsdescription", "desc") 
setDocAttribute(/process_data/attachmentVar[1],"wscreatorid","00ECB211-F3A1-D93E-0EBE-EB13811A1C25") 
setDocAttribute(/process_data/attachmentVar[1],"wspermission", "1")

xml 変数へのデータノードの追加

xml 変数のデータツリーにノードを追加し、プロセス実行時に、それらを使用して情報を格納できます。

注意: 追加したノードは、XPath Builder のデータツリーに表示されません。

XPath 式を使用して、ノードを追加します。存在しないノードを検索する式を使用すると、LiveCycle は式の評価時にノードを作成します。ノードが作成されたら、それを、ツリーの他のノードを使用する場合と同じように、使用できます。

ノードの追加時には次のルールが適用されます。

  • ノードは、フォームのスキーマルートノードの下にのみ追加できます。

  • ノードの完全修飾パスを使用します。

例えば、次のデータツリーは、xmlLoanForm という XML 変数を含むプロセスの場合です。フォームスキーマのルート要素は MortgageSchema という名前です。

次の式は、newNode というノードをスキーマに追加します。

/process_data/xmlLoanForm/xdp/datasets/data/MortgageSchema/newNode