position

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  関数 > 関数ライブラリレファレンス > core | sequence functions >

position

シーケンス内にあるノードの位置を返します。

 

fn-position

 

position 関数を使用することで、シーケンス内部にある特定ノードの位置を決定し、位置を元にしたフィルタリングを行うことができるようになります。

 

position 関数の node パラメーターへアイテムを接続することで、コンテキストアイテムが定義されます(以下の例では Person ノード)。

 

以下のマッピングでは、各部署 (Department) の従業員 (Person) に対して、(ソース XML にある要素の)位置番号が追加されます。

position-3

位置番号は、各部署ならびに各オフィスごとにリセットされます。

position-4

ポジション 関数は特定のノードをフィルターするために使用されます。

 

ポジション関数はフィルターを使用して、ソースコンポーネント内に特定のポジションを持つ特定のノードをフィルターと共にマップすることができます。

 

フィルター "node/row" パラメーターとポジション "ノード" は、そのシーケンスの特定のポジションをフィルターアウトするために、同じソースコンポーネントのアイテに接続されている必要があります。

position-1a

このマッピングは以下を出力します:

各Department 内の第2番目のPerson
Altova 内の各オフィス.

position-2a

フィルターされたシーケンス内のアイテムの位置を検索する:

 

フィルターコンポーネントはシーケンス関数ではないため、フィルターされたアイテムのポジションを検索する関数と共には position 関数と共に直接使用することはできませんこれを行うには、"変数" コンポーネントを使用します。

 

変数コンポーネントの結果は常にシーケンスです。例: シーケンスの作成のために使用することのできる区切られた値のリスト。

 

苗字 (Last) の頭文字が M より後(つまり N 以降)の文字で始まる Contact のデータがフィルタリングされ、変数コンポーネントへ集められます。
これらの Contact 情報が(変数コンポーネントから)ターゲットコンポーネントへ渡されます。
position 関数により、フィルタリングされた順にデータが番号付けされます。

position-5


(C) 2019 Altova GmbH