文
文は、ソーススキーマの階層入力をターゲットスキーマの階層出力にマッピングする方法を定義します。ソース要素をターゲット要素にドラッグすると、階層マッパーによって編集可能な文が生成されます。
ソース要素ごとに文を作成することも、文をネストして他の文に依存させることもできます。文は、子の文のグループの親になることができ、その場合は親の文が実行されるたびに子の文も実行されます。子の文は、親の文の下にインデントされて表示されます。
文を作成するには、ソース要素をターゲット要素にドラッグします。階層マッパーは、文のタイプ、入力、および出力を識別し、文の生成と検証を行います。また、文を手動で追加して設定したり、CSVファイルから文をインポートしたりすることもできます。
例えば、CSVファイル内の次のレコードは、入力Candidate/Profile/Idと出力Candidate/Profile/FirstNameを含む文に対応します。
input,output
Candidate/Profile/Id,Candidate/Profile/FirstName
文を削除するには、[削除]をクリックするか、ソーススキーマとターゲットスキーマ間のリンクを選択して[削除]を押します。
文のタイプ
文の各タイプは、ソーススキーマとターゲットスキーマの間でマッピングされる要素のタイプを表します。Router文の場合、文のタイプは、要素をマッピングするために実行するアクションを表します。
次のタイプの文を定義できます。
- マップ
Map文は、単純なソース要素を単純なターゲット要素にリンクします。
- グループ
Group文は、複合ソース要素を複合ターゲット要素にリンクします。
- 繰り返しグループ
Repeating Group文は、繰り返し複合ソース要素を繰り返し複合ターゲット要素にリンクします。
- ルーター
Router文は、条件を使用して各ソース要素を評価し、入力値に基づいて処理します。
- オプション
Option文は、Router文で条件を定義します。条件がtrueと評価された場合、階層マッパーはOption文を実行します。
- デフォルト
Default文は、Option文がどれも適用されない場合にRouter文で実行するDefault文を定義します。
Map文
Map文は、単純なソース要素を単純なターゲット要素にリンクします。入力は単一の値か定数値である必要があります。Map文は、Group文、Repeating Group文、またはOption文の子にすることができます。
Map文は、ソースのname要素とターゲットのname要素など、2つの要素間の単純なマッピングにすることも、式を使用する複雑なマッピングにすることもできます。例えば、ソーススキーマのId、FirstName、およびLastName要素を、ターゲットスキーマのName属性にマッピングするとします。入力式concat(Profile/Id, "-", Profile/FirstName, "-", Profile/LastName)と出力式@Nameを使用して、Map文を設定できます。
Group文
Group文は、複合ソース要素を複合ターゲット要素にリンクします。他のタイプの文をGroup文の子としてネストできます。
Group文を使用すると、すべての子の文が同時に合格または不合格になる共通のコンテキストを提供できます。また、Group文を使用して、他の文を整理したり簡略化したりすることもできます。
例えば、ソーススキーマのEmployee親要素をターゲットスキーマのWorker親要素にマッピングし、両方の親要素にFirstNameやLastNameなどネストになった子要素が含まれているとします。Group文を作成してEmployee親要素をWorker親要素にマッピングし、ネストになったMap文を作成してEmployee親要素の子要素をWorker親要素の子要素にマッピングできます。
次の図は、階層マッパーで要素がどのようにマッピングされるかを示しています。
次の図は、Group文とネストになったMap文を示しています。
繰り返しグループ文
Repeating Group文は、繰り返し複合ソース要素を繰り返し複合ターゲット要素にリンクします。Repeating Group文は、ソーススキーマにソース要素が登場するたびに実行されます。
Repeating Group文には、反復したMap文が含まれています。Repeating Groupへの入力は、要素または値のシーケンスとして評価される式です。
Router文、Option文、Default文
Router文は、条件を使用して各ソース要素を評価し、入力値に基づいて処理します。
Router文はOption文を1つ以上含み、Default文を1つ含むことができます。階層マッパーは、ソース要素を処理するときに、入力値と一致する条件を持つOption文のみを実行します。どの条件も入力値と一致しない場合、階層マッパーはDefault文を実行します。
例えば、組織の従業員を雇用しようとしていて、そのスキルを従業員プロファイルの報酬スコアにマッピングするとします。Router文をOption文と共に使用して、候補者がスキルAまたはスキルBのどちらを持っているかを評価し、適切な報酬スコアを割り当てることができます。候補者がどちらのスキルも持っていない場合は、Default文が実行されて報酬スコアが割り当てられます。
次の図は、Router文とネストになったOption文およびDefault文を示しています。
文のプロパティ
階層マッパーは、文の生成時に文のプロパティを自動的に設定しますが、ユーザーが文のプロパティを編集したり、文を手動で構成したりすることもできます。
行を追加または削除するには、[設定]ボタンを使用します。文字列を使用して文を検索することもできます。文の行を選択すると、対応するマッピングが[階層マッパー]領域で強調表示されます。同様に、階層マッパーで要素を選択すると、対応する文が[文]領域で強調表示されます。
以下の表に、文のプロパティを示します。
プロパティ | 説明 |
---|
行 | 文を識別する行番号。行番号は自動的に生成されます。 |
名前 | 文を識別するための名前。この名前はいつでも変更でき、文の名前は一意である必要はありません。文の名前を使用すると、セッションログで文を見つけやすくなります。 |
文のタイプ | ソース要素がソーススキーマに出現した場合の文の実行方法を定義する型。 |
入力 | ソーススキーマの入力要素を定義するXPathまたはXPathで構成される式。式は、要素または値として評価できます。 |
条件 | ソース要素をターゲット要素にマップする条件を定義するXPathまたはXPathで構成される式。 例: normalize-space(string(.)) = 'A' |
欠落している入力をスキップ | 入力式がソーススキーマの要素と一致しない場合にマッピング文をスキップするかどうかを決定します。次のいずれかのオプションを選択します。 - - 有効。ソース要素が存在しない場合、階層マッパーはエラーなしで文をスキップします。
- - 無効: ソース要素が存在しない場合、文は失敗します。
|
デフォルト | デフォルト値は、階層マッパーがソース要素を見つけられない場合のターゲット要素の値を設定します。 |
失敗時 | 文が失敗した場合の対処方法を決定します。次のいずれかのオプションを選択します。 - - 文のスキップ。文が失敗した場合、文をスキップします。
- - 反復のスキップ。文が失敗し、それがグループの一部である場合は、文のすべての反復をスキップします。
- - プロパゲート。文が失敗すると、親の文も失敗します。
|
出力 | ターゲットスキーマの出力要素を定義するXPathまたはXPathで構成される式。 |
モード | 階層マッパーが出力要素をターゲットスキーマに追加するか、出力式の値をターゲットスキーマの既存の要素と一致させるかを決定します。次のいずれかのオプションを選択します。 - - 追加。ターゲットスキーマに要素を作成します。その要素が複数出現する要素ではなく、ターゲットスキーマにすでに存在する場合、文は失敗します。
- - 一致。出力式の値をターゲットスキーマの既存の要素と照合します。要素が存在しない場合、文は失敗します。
- - 一致または追加。出力式の値がターゲットスキーマに存在する場合、階層マッパーは出力をターゲット要素と照合します。要素がターゲットスキーマに存在しない場合、階層マッパーはターゲットスキーマに要素を作成します。
|
コメント | 文についてのコメント。 |