Altova MapForce 2023 Enterprise Edition

Obtener valores de cadena de una asignación

Inicio Anterior Inicio Siguiente

Cuando necesite devolver un valor de cadena de una asignación, puede usar un componente de salida simple. En el área de asignación los componentes de salida simples desempeñan el papel de componente de destino que tiene un tipo de datos de cadena en lugar de una estructura de elementos y secuencias. Por tanto, puede crear un componente de salida simple en lugar de (o además de) un componente de destino basado en un archivo. Por ejemplo, puede usar un componente de salida simple para probar y obtener una vista previa del resultado de una función (véase Ejemplo: vista previa de resultados de una función). Esta técnica también puede ser muy práctica cuando se trabaja con asignaciones que usan serialización de cadenas (véase Analizar y serializar cadenas de texto). No obstante, debe destacarse que el objetivo principal de los componentes de salida simples es recuperar una cadena cuando se llama a la API de MapForce Server sin necesidad de escribir ningún archivo.

 

Los componentes de entrada simples no se deben confundir con los parámetros de salida de las funciones definidas por el usuario (véase Funciones definidas por el usuario). En esta tabla puede ver en qué se parecen y en qué se diferencian:

 

Componentes de salida

Parámetros de salida de funciones definidas por el usuario

Se añaden desde el comando de menú Función | Insertar componente de salida.

Se añaden desde el comando de menú Función | Insertar componente de salida.

Tienen el tipo de datos "string".

Puede tener tipos de datos simples y complejos.

Afectan a toda la asignación.

Afectan solo al contexto de la función donde se definen.

 

Si lo necesita, puede añadir varios componentes de salida simples a la asignación. También puede usar componentes de salida simples junto con componentes de destino de base de datos y basados en archivos. Si la asignación contiene varios componentes de destino, puede consultar la vista previa de los datos que devuelve cada componente haciendo clic en el botón Vista previa ( ic-preview ) de la barra de título del componente correspondiente y haciendo clic en el panel Resultados de la ventana de asignación.

 

 

Los componentes de salida simples se pueden usar en estos lenguajes de transformación de MapForce:

 

Lenguaje

Funcionamiento

BUILT-IN (cuando se genera la vista previa de la transformación de la asignación)

Puede consultar la vista previa de componentes de salida igual que los resultados de una asignación basada en archivos (haciendo clic en el panel Resultados de la ventana de asignación.

BUILT-IN (cuando se ejecuta el archivo de ejecución de MapForce Server)

Cuando ejecute un archivo de ejecución de MapForce Server compilado (véase Compilar una asignación de MapForce), el resultado de la asignación se devuelve en la secuencia de datos de salida estándar (stdout). De este modo podrá ver los resultados o redirigirlos a un archivo. Por ejemplo, si imaginamos que el nombre del archivo de ejecución de MapForce Server es MiAsignación.mfx, puede usar esta sintaxis para redirigir el resultado de la asignación al archivo resultado.txt y los errores al archivo log.txt:

 

MapForceServer.exe run MiAsignación.mfx >resultado.txt 2>log.txt

 

XSLT 1.0, XSLT 2.0, XSLT 3.0

En los archivos XSLT que se generan, el componente de salida simple definido en la asignación se convierte en el resultado de la transformación XSLT.

 

Si usa un servidor RaptorXML Server, puede ordenar al servidor que escriba el resultado de la asignación en el archivo que se pasa como valor del parámetro --output.

 

Para escribir el resultado en un archivo, añada o edite el parámetro --output en el archivo DoTransform.bat. Por ejemplo, el archivo DoTransform.bat que aparece en el comando siguiente se editó para que se escriba el resultado de la asignación en el archivo Resultado.txt (véase el texto resaltado).

 

RaptorXML xslt --xslt-version=2 --input="MappingMapToResult1.xslt" --output="Resultado.txt" %* "MappingMapToResult1.xslt"

 

Si no se definió el parámetro --output, el resultado de la asignación se escribirá en la secuencia de datos de salida estándar (stdout) cuando se ejecute la asignación.

C++, C#, Java

En el código C++, C# y Java que se genera, el resultado de la asignación se escribe en el resultado estándar de la aplicación generada.

 

Si la asignación contiene varios componentes de destino, la aplicación generada concatena el resultado estándar de cada componente de salida y lo devuelve como resultado estándar unificado.

 

Cuando cree una asignación invertida (con el comando de menú Herramientas | Crear asignación inversa), los componentes de salida simples se convertirán en componentes de entrada simples.

© 2017-2023 Altova GmbH