Altova MobileTogether Designer

Las tablas extensibles funcionan de la siguiente manera:

 

En la fuente de página hay un elemento que se repite y que se asocia a la tabla extensible (ver ejemplos más abajo). Por ejemplo, el elemento //Department/Person cuenta como elemento extensible si un elemento principal Department tiene más de un elemento secundario Person.

Para cada instancia del elemento extensible se generará una tabla, y estas tablas se incorporarán en una secuencia vertical. En nuestro ejemplo se generará entonces una tabla por cada elemento Person, y cada tabla posterior se colocará debajo de la tabla anterior.

La tabla extensible puede contener un número indeterminado de filas estáticas y columnas. Las columnas no tienen que ser estáticas, también pueden ser extensibles.

Por cada instancia de la estructura de datos se repite el diseño de la tabla entera. Por tanto, si el diseño de tabla contiene dos filas, se creará una tabla con dos filas por cada instancia del elemento de repetición de la fuente de datos.

El contenido de la tabla será dinámico. Esto significa que las expresiones XPath dentro de cada tabla tendrán como nodo de contexto la instancia asociada del elemento extensible (ver los ejemplos a continuación).

Puede agregar un control Anexar/Eliminar al diseño de la tabla extensible. Este control le permite al usuario final agregar una nueva instancia de la tabla extensible o eliminar cualquiera de las tablas extensibles individuales. Al agregar o modificar una tabla, se modificarán automáticamente los datos correspondientes de nivel inferior. Por ejemplo: (i) si a nuestra estructura de datos de muestra se agrega una tabla nueva, entonces se añade un nuevo elemento Person correspondiente a los datos, y (ii) si se elimina una tabla de la estructura, el elemento Person correspondiente se borrará de la estructura de datos. Estas modificaciones se podrán guardar en la fuente de datos. Es decir, estos botones permiten al usuario final modificar la fuente de datos.

 

Para crear y definir una tabla extensible arrastre el control Tabla hasta la posición deseada del diseño. Tenga en cuenta que, en cualquier caso, también es posible crear una tabla extensible convirtiendo una tabla estática en una tabla extensible. Para ello, primero debe configurar la propiedad Extensible de la tabla estática en true y, a continuación, asignar el elemento extensible que desea conectar a la tabla extensible.

 

Ejemplo

La fuente de página tiene un elemento llamado Person que contiene tres elementos secundarios: First, Last y Phone. El elemento Person, es decir sus instancias, pueden aparecer varias veces. Ahora queremos crear esta tabla:

 

 

<Nombre>

<Apellido>

<Teléfono>

<Persona>

 

 

 

<Persona>

 

 

 

<Persona>

 

 

 

 

Como el elemento Person se repite, podemos crear una tabla extensible que esté asociada a este elemento y en el cuadro de diálogo ‘Tabla nueva’ (ver a continuación) podemos especificar que la tabla tiene una fila y cuatro columnas. Dentro de esta table el nodo de contexto es Person. En cada columna creamos vínculos de fuente de página con los nodos secundarios correspondiente (imagen siguiente). La primera columna contiene una expresión XPath que sirve para numerar el elemento Person actual (p. ej. count(preceding-sibling::*)+1). El diseño tendría este aspecto:

MTDTablesDynamicRowsDes01

Y la tabla que se genera tendría este aspecto:

MTDTablesDynamicRowsSim01
Nota:Puede generar una secuencia de datos a partir de una expresión XPath/XQuery y utilizarla como fuente de datos. Sin embargo, este tipo de fuente de datos se crea solamente para dicho uso y no estará disponible como fuente de página en ninguna otra posición del documento.

 

Diferencia entre una tabla extensible y una tabla dinámica con filas extensibles

Una tabla extensible no es lo mismo que una tabla dinámica con filas extensibles:

 

En una tabla extensible la tabla entera está asociada a la estructura de datos de repetición. Por cada instancia de la estructura de datos se genera una tabla nueva.

En una tabla dinámica con filas extensibles hay un grupo de filas dentro de la tabla que está asociado a la estructura de datos de repetición. Por cada instancia de la estructura de datos se genera un grupo de filas.

 

Estas diferencias tienen dos efectos en el diseño:

 

Una tabla dinámica con filas extensibles puede tener un encabezado y un pie de tabla que se aplica a toda la tabla. Sin embargo, si necesita un encabezado o un pie de tabla para una tabla extensible, debería añadirlos a mano fuera de esa tabla. Si los añade dentro de la tabla extensible, el encabezado o pie se repetirá con cada tabla por cada instancia del elemento de repetición.

En los dispositivos las tablas se suelen presentar entre dos bloques de espacios. Esto significa que los pares de las tablas extensibles contendrán espacio vertical entre ellas.

 

Para convertir una tabla estática en una tabla extensible cambie el valor de su propiedad Extensible por el valor true y después asocie la tabla a un elemento de repetición de una fuente de página.

 

Crear una tabla extensible

Para configurar una tabla extensible, siga estos pasos:

 

1.En el cuadro de diálogo ‘Tabla nueva’ que aparece cuando se coloca el control Tabla en el diseño (imagen siguiente), marque la casilla Tabla extensible. Por cada instancia de la fila de datos de repetición se crea una instancia nueva de la tabla.

Haga clic para expandir/contraer

2.Especifique el número de columnas y filas estáticas que tendrá la tabla extensible. Más adelante podrá agregar columnas y filas con los comandos del menú contextual de la tabla.

3.Indique si se deben añadir controles Anexar/Eliminar automáticos. Si se añaden, cada tabla extensible de la solución (que en realidad son filas) tendrá un botón Eliminar y toda la estructura de la tabla extensible tendrá un botón Anexar para anexar tablas extensibles a la estructura. Veamos un ejemplo en la simulación de una solución:

MTDDBCSimulator01Cropped

4.Haga clic en Aceptar para terminar y agregar la tabla al diseño. La tabla extensible debe tener asociado un elemento de repetición de la fuente de página (imagen siguiente).

MTDTablesDynamic01

5.Cree una asociación entre un elemento de repetición y la tabla extensible. Esto se hace arrastrando el elemento correspondiente desde el panel Fuentes de página hasta la tabla.

6.Ahora puede agregar contenido a las celdas de la tabla. El nodo de contexto para las expresiones XPath situadas dentro de celdas de una tabla es el nodo de elemento que está asociado a la tabla extensible (ver paso anterior). Para poder usar el nodo de contexto las expresiones XPath de las celdas de la tabla deben ser relativas al nodo de contexto. El contenido de la celda puede ser una tabla anidada (estática o dinámica), un control de página (con o sin un vínculo a un nodo de la fuente de página) o incluso nodos de la fuente de página. Si arrastra y coloca un nodo de la fuente de página dentro de una celda, los datos de la celda serán editables. Por ejemplo, en el diseño que aparece a continuación se añadieron cuatro controles (de izquierda a derecha): una etiqueta, un campo de edición, otra etiqueta y otro campo de edición.

MTDDBCTableRepeating02
 
Esta tabla extensible produce esta estructura extensible en la solución de MobileTogether.
 
MTDDBCSimulator01Cropped

Para modificar la estructura de la tabla utilice los comandos del menú contextual de la tabla. Las propiedades de formato de la tabla se pueden modificar en el panel Estilos y propiedades. Consulte también los apartados Filas extensibles y Columnas extensibles.

 

© 2017-2023 Altova GmbH