Usar variables

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Diseño de asignaciones >

Usar variables

Las variables son un tipo especial de componente utilizado para almacenar un resultado de asignación intermedio y poder seguir procesándolo. Pueden ser necesarias cuando hace falta recordar temporalmente ciertos datos de la asignación y procesarlos de alguna manera (p. ej. filtrándolos o aplicándoles funciones) antes de copiarlos en el componente de destino.

 

Las variables pueden ser de tipo simple (p. ej. cadena, entero, valor booleano, etc) o de tipo complejo (estructuras jerárquicas).

mf_variable_simple

Variable simple

Puede crear una variable de tipo complejo suministrando un esquema XML que exprese la estructura de la variable. Si el esquema define elementos globalmente, podrá elegir cuál de ellos debe ser el nodo raíz de la estructura de la variable. Recuerde que una variable no tiene ningún archivo XML de instancia asociado sino que sus datos se calculan cuando se ejecuta la asignación.

mf_variable_complex_schema

Variable compleja creada a partir de un esquema XML

En las imágenes anteriores observará que cada variable tiene un elemento llamado compute-when. Conectar este elemento es opcional y sirve para controlar cómo se debe calcular el valor de la variable en la asignación (véase Cambiar el contexto y el ámbito de las variables).

 

Si es necesario, los elementos de la estructura de una variable se pueden duplicar para que acepten datos de más de una conexión de origen, igual que se hace con componentes estándar (véase Duplicar entradas). Sin embargo, esto no se puede hacer en las variables creadas a partir de tablas de BD.

mf_variable_simple_duplicated

Variable simple con entradas duplicadas

Una de las cosas más importantes de las variables es que son secuencias y que pueden utilizarse para crear secuencias. En este sentido el término secuencia significa "una lista de cero o más elementos" (véase Reglas y estrategias de asignación de datos). Esto permite a las variables poder procesar varios elementos durante todo el ciclo de vida de la asignación. No obstante, también puede asignar un valor a una variable una sola vez y conservarlo para el resto de la asignación (véase Cambiar el contexto y ámbito de las variables).

 

Hasta cierto punto las variables pueden compararse con los componentes intermedios de una asignación en cadena (véase Asignaciones en cadena). Sin embargo, son mucho más flexibles y prácticas cuando no se necesita generar archivos intermedios en cada fase de la asignación. A continuación se explican las diferencias que existen entre las variables y las asignaciones en cadena.

 

Asignaciones en cadena

Variables

Las asignaciones en cadena se desarrollan en dos fases totalmente independientes. Por ejemplo, imaginemos que una asignación tiene tres componentes llamados A, B y C. La ejecución de la asignación se desarrolla en dos fases: la ejecución de la asignación desde A hasta B y la ejecución de la asignación desde B hasta C.

Mientras se ejecuta la asignación, las variables se evalúan en función de su contexto y su ámbito. Su contexto y ámbito puede modificarse (véase Cambiar el contexto y ámbito de las variables).

Cuando se ejecuta la asignación, los resultados intermedios se almacenan de forma externa en archivos.

 

Cuando se ejecuta la asignación, los resultados intermedios se almacenan de forma internan. No se producen archivos externos con los resultados de la variable.

Con el botón btn_component_preview_pressed se puede consultar la vista previa del resultado intermedio.

No se puede consultar la vista previa del resultado de una variable porque éste se calcula en tiempo de ejecución.

 

Nota:no se admite el uso de variables si el lenguaje de transformación elegido es XSLT 1.0.

© 2019 Altova GmbH