Skip to main content
Group est une collection de plusieurs éléments (appelés sous-éléments). Les sous-éléments peuvent, à leur tour, être des éléments Group. Les éléments Group sont signalés par icône d’élément Group dans l’arborescence FlexiLayout.
Les éléments Group incluent également Header, Footer, First Found et Repeating Group.Utilisez les éléments Header et Footer pour détecter le début et la fin d’un document. Chacun ne peut apparaître qu’une seule fois dans un document.Repeating Group est un élément Group récurrent. Un élément Labeled Field peut également être représenté sous forme d’élément composé.

Détection des éléments Group

Si nécessaire, vous pouvez spécifier le nombre minimal de sous-éléments à détecter. Si moins de sous-éléments sont détectés lorsque le FlexiLayout est appliqué, l’élément composé est considéré comme non détecté. Un élément Group, tout comme un élément simple, peut être obligatoire, facultatif ou prohibé. Si un élément Group facultatif contient un élément obligatoire, l’impossibilité d’associer cet élément à un objet entraîne une hypothèse nulle pour l’élément Group, et le programme continue d’essayer d’associer le FlexiLayout. Évitez de conserver des éléments composés vides (c’est-à-dire des éléments composés sans sous-éléments). Si le programme rencontre un élément composé vide lors de la compilation d’un FlexiLayout, il affiche un message d’avertissement. Les éléments Header et Footer sont ajoutés par défaut. Si votre FlexiLayout ne les utilise pas, supprimez ces éléments redondants.

Quand utiliser les éléments Group

Les éléments Group sont utiles dans les cas suivants :
  • Pour faciliter le test de parties indépendantes d’un FlexiLayout. Par exemple, un FlexiLayout composé de 100 éléments peut ne contenir que 3 éléments Group : le titre, le corps du document et le bas du document. Chacun de ces trois éléments Group contient des éléments Group qui décrivent des portions plus petites du document. Cette approche limite à la fois le nombre de variantes possibles à prendre en compte et facilite le débogage du FlexiLayout, car chaque groupe peut être modifié et testé indépendamment.
  • Pour faciliter la navigation dans l’arborescence FlexiLayout.
  • Pour réduire le nombre de hypothèses d’élément et ainsi accélérer l’élaboration de l’hypothèse finale. Le regroupement des éléments permet au programme de considérer un jeu d’éléments comme un tout, pour lequel une seule hypothèse est formulée (bien qu’elle soit constituée des hypothèses des sous-éléments) et dont la qualité peut être calculée. Différentes combinaisons d’hypothèses de sous-éléments sont prises en compte à l’intérieur du groupe, et seul un certain nombre des meilleures hypothèses de groupe est utilisé pour la recherche dans les niveaux inférieurs de l’arborescence. Le nombre par défaut des meilleures hypothèses pour un élément Group est de 1.
    Il n’est pas recommandé d’augmenter le nombre maximal d’hypothèses, car cela peut entraîner une croissance incontrôlable de l’arborescence et empêcher d’associer le FlexiLayout aux images.
  • Pour spécifier une contrainte de recherche commune à tous les sous-éléments. La zone de recherche d’un élément particulier sera calculée comme l’intersection entre la zone de recherche spécifiée dans le sous-élément et la zone de recherche du groupe entier.
    Il arrive que l’intersection entre la zone de recherche d’un élément Group et celle de l’un de ses sous-éléments soit vide, et que le programme ne parvienne pas à trouver le sous-élément. Essayez de ne spécifier que des relations simples pour les éléments Group, par exemple Above: PageRect.Top + PageRect.Height/2; (c’est-à-dire « rechercher l’élément dans la moitié supérieure de l’image »), ou de ne spécifier aucune relation.