メインコンテンツへスキップ
Group は、複数の要素 (サブ要素と呼ばれます) から成るコレクションです。サブ要素は、さらに グループ要素にすることもできます。 Group 要素は、FlexiLayout ツリー内で で示されます。
グループ 要素には、Header,FooterFirst Found、および Repeating Group も含まれます。ドキュメントの先頭と末尾を検出するには、Header 要素と Footer 要素を使用します。Header 要素と Footer 要素は、それぞれドキュメント内に 1 回しか出現できません。Repeating Group は繰り返し出現する グループ 要素です。Labeled Field 要素も複合要素として表すことができます。
必要に応じて、検出されるサブ要素の最小数を指定できます。FlexiLayout の適用時にこれより少ない要素しか検出されなかった場合、その複合要素は未検出と見なされます。 グループ要素は、単純要素と同様に、必須、オプション、または禁止にできます。オプションの グループ要素に必須要素が含まれている場合、その要素をオブジェクトと照合できなければ、グループ要素に対してヌル仮説が生成され、プログラムは FlexiLayout の照合を続行します。 空の複合要素 (つまり、サブ要素をまったく含まない複合要素) を残さないようにしてください。FlexiLayout のコンパイル時にプログラムが空の複合要素を検出すると、警告メッセージが表示されます。デフォルトで追加される複合 Header 要素および Footer 要素を FlexiLayout で使用しない場合は、これらの不要な要素を削除してください。 グループ要素は、次のような場合に役立ちます。
  • FlexiLayout の独立した部分をテストしやすくするため。たとえば、100 個の要素から成る FlexiLayout に、タイトル、本文、ドキュメントの下部という 3 つの グループ要素だけを含めることができます。これら 3 つの グループ要素それぞれに、ドキュメントのより小さな部分を記述する グループ要素を含めます。この方法により、検討すべき候補の数を抑えられるだけでなく、各グループを個別に編集してテストできるため、FlexiLayout のデバッグも容易になります。
  • FlexiLayout ツリー内でのナビゲーションを容易にするため。
  • 要素仮説の数を減らし、それによって最終仮説の生成を高速化するため。要素をグループ化すると、プログラムは要素の集合を 1 つのまとまりとして扱えるようになります。このまとまりに対しては 1 つの仮説が生成されます (ただし、これはサブ要素の仮説で構成されます) 。また、その品質も計算できます。サブ要素仮説のさまざまな組み合わせの検討はグループ内で行われ、ツリーを下方向に探索する際には、最良のグループ仮説のうち所定数のみが使用されます。グループ要素に対する最良仮説のデフォルト数は 1 です。 注。 仮説の最大数を増やすことは推奨しません。ツリーが制御不能なほど増大し、FlexiLayout を画像に照合できなくなるおそれがあるためです。
  • グループ要素では、すべてのサブ要素に共通する検索制約を指定できます。特定の要素の検索領域は、そのサブ要素で指定された検索領域とグループ全体の検索領域との共通部分として計算されます。 注。 グループ要素の検索領域とそのサブ要素の 1 つの検索領域との共通部分が空になる場合があり、その場合プログラムはそのサブ要素を見つけられません。グループ要素には、たとえば “Above: PageRect.Top + PageRect.Height/2;” (つまり “画像の上半分で要素を探す”) のような、より単純なリレーションだけを指定するようにするか、あるいはリレーションをまったく指定しないようにしてください。“

関連項目:

要素の作成と削除 要素のプロパティの概要 検索領域 追加の検索条件