group-starting-with

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

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

group-starting-with

group-starting-with 関数はブール式の条件を引数として取ります。関数はブール式の条件が true の場合、条件を満たすレコードから、新規のグループが作成されます。 下のサンプルでは、 「Key」が「heading」と等価であることが条件です。 最初と4番目のレコードのために、この条件が true の場合、 2つのグループが結果として作成されます:

mf_group-starting-with

メモ:条件を満たす最初のレコードの前にレコードが存在する場合、追加のグループが作成されます。例えば、  「line」 レコードが最初の 「heading」 レコードよりも多く存在する場合、 これらは新しいグループ内に配置されます。

 

引数

名前

詳細

nodes/rows

アイテムのシーケンス

ノードまたは行のシーケンス (例えば、 接続は子アイテム、 CSV レコードなどを持つ、ソース XML ノードを基にすることができます)。

bool

xs:boolean

true の場合、新規のグループを開始するブール式を指定します。

 

サンプル

使用するソースデータは次のコンテンツを持つ XML ファイルです (下のコードリストでは名前空間と XML 宣言は簡素化のために削除されていることに注意してください)。

 

<records>
  <record key="heading" value="Intro"/>
  <record key="line" value="A"/>
  <record key="line" value="B"/>
  <record key="heading" value="Body"/>
  <record key="line" value="C"/>
</records>

 

ビジネスの条件は、各 「heading」 レコードのためにグループを作成することです。 各グループは 「heading」 レコードの後にある 「line」レコードを含んでいる必要があります。これを達成するには、 次のマッピングが group-starting-with 関数を呼び出します。 下のマッピングでは、key 名が 「heading」 に等しい場合、bool に与えられている引数が true になり、新規のグループが作成されます。

mf_group-starting-with_map

マッピングの結果は以下のとおりです:

 

<groups>
  <group>
    <record key="heading" value="Intro"/>
    <record key="line" value="A"/>
    <record key="line" value="B"/>
  </group>
  <group>
    <record key="heading" value="Body"/>
    <record key="line" value="C"/>
  </group>
</groups>

 

他のグループサンプルと共に、このサンプルは、 次のマッピングファイルの一部です: <マイ ドキュメント>\Altova\MapForce2019\MapForceExamples\Tutorial\GroupingFunctions.mfd. Output タブをクリックする前に、プレビューする関数に適用することのできる プレビュー mf_ic_preview ボタンをクリックします。


(C) 2019 Altova GmbH