Skip to main content
Un Grupo es una colección de varios elementos (llamados subelementos). A su vez, los subelementos pueden ser elementos de grupo. Los elementos de grupo se marcan con Icono de elemento de grupo en el árbol de FlexiLayout.
Los elementos de grupo también incluyen Encabezado, Pie de página, Primero encontrado y Grupo repetido.Use los elementos Encabezado y Pie de página para detectar el principio y el final de un documento. Cada uno solo puede aparecer una vez en un documento.Grupo repetido es un elemento de grupo recurrente. Un elemento Campo etiquetado también puede representarse como un elemento compuesto.

Cómo se detectan los elementos de grupo

Si es necesario, puede especificar el número mínimo de subelementos que se deben detectar. Si al aplicar el FlexiLayout se detectan menos subelementos, el elemento compuesto se considera no detectado. Un elemento de grupo, al igual que un elemento simple, puede ser obligatorio, opcional o prohibido. Si un elemento de grupo opcional incluye un elemento obligatorio, y no se puede hacer coincidir este elemento con un objeto, el resultado es una hipótesis nula para el elemento de grupo, y el programa sigue intentando hacer coincidir el FlexiLayout. Evite conservar elementos compuestos vacíos (es decir, elementos compuestos sin ningún subelemento). Si el programa encuentra un elemento compuesto vacío al compilar un FlexiLayout, muestra un mensaje de advertencia. Los elementos de Header y Footer se agregan de forma predeterminada. Si su FlexiLayout no los utiliza, elimine estos elementos redundantes.

Cuándo usar elementos de grupo

Los elementos de grupo son útiles en los siguientes casos:
  • Para facilitar las pruebas de partes independientes de un FlexiLayout. Por ejemplo, un FlexiLayout compuesto por 100 elementos puede incluir solo 3 elementos de grupo: el título, el cuerpo y la parte inferior del documento. Cada uno de estos tres elementos de grupo contendrá elementos de grupo que describen partes más pequeñas del documento. Este enfoque no solo limita el número de variantes posibles que deben considerarse, sino que también facilita la depuración del FlexiLayout, ya que cada grupo puede editarse y probarse de forma independiente.
  • Para facilitar la navegación en el árbol de FlexiLayout.
  • Para reducir el número de hipótesis de elementos y, de este modo, acelerar la formulación de la hipótesis final. Agrupar elementos permite al programa considerar un conjunto de elementos como una sola unidad, para la cual se ha formulado una única hipótesis (aunque esté compuesta por las hipótesis de los subelementos) y cuya calidad puede calcularse. Dentro del grupo se consideran varias combinaciones de hipótesis de subelementos, y solo se utiliza un número determinado de las mejores hipótesis de grupo en la búsqueda descendente por el árbol. El número predeterminado de mejores hipótesis para un elemento de grupo es 1.
    No se recomienda aumentar el número máximo de hipótesis, ya que esto puede provocar un crecimiento incontrolable del árbol e impedir que el FlexiLayout coincida con las imágenes.
  • Para especificar una restricción de búsqueda común a todos los subelementos. El área de búsqueda de un elemento concreto se calculará como la intersección entre el área de búsqueda especificada en el subelemento y el área de búsqueda de todo el grupo.
    A veces, la intersección entre el área de búsqueda de un elemento de grupo y uno de sus subelementos puede estar vacía, y el programa no podrá encontrar el subelemento. Intente especificar solo relaciones simples para los elementos de grupo, por ejemplo, Above: PageRect.Top + PageRect.Height/2; (es decir, “busque el elemento en la mitad superior de la imagen”), o no especifique ninguna relación en absoluto.