Interfaz de la línea de comandos de MapForce
La interfaz de la línea de comandos de MapForce permite automatizar tareas como:
•Abrir asignaciones de datos
•Generar código de asignación de datos
•Compilar asignaciones para MapForce Server (ediciones Professional y Enterprise)
•Generar código para proyectos (ediciones Professional y Enterprise)
•Crear archivos de registro
•Comparar dos asignaciones de datos
Sintaxis
La sintaxis para la línea de comandos es la siguiente:
MapForce.exe <nombreArchivo> [/{destino} [[<directorioSalida>] [/opciones]]]
Cómo ejecutar comandos
Para ejecutar comandos en la línea de comandos, acceda al directorio de instalación de MapForce. Por ejemplo:
C:\Archivos de programa\Altova\MapForce2027
Para más información sobre cada parámetro del comando, consulte la lista Parámetros más abajo.
Notación
Para indicar la sintaxis de la línea de comandos se usa la siguiente notación:
Notación | Descripción |
|---|---|
Texto sin corchetes ni llaves | Elementos que puede teclear tal y como aparecen |
<Texto entre corchetes angulares> | Marcador de posición para el que debe indicar un valor |
[Texto entre corchetes] | Elementos opcionales |
{Texto entre llaves} | Conjunto de elementos obligatorios; elija uno |
Barra vertical (|) | Separador para elementos mutuamente excluyentes; elija uno |
Puntos suspensivos (...) | Elementos que pueden repetirse |
Parámetros
<nombreArchivo>
Se refiere al archivo del diseño de la asignación (.mfd) o del proyecto de la asignación (.mfp) (ediciones Professional y Enterprise) a partir del cual se genera el código. Para generar código para todo el proyecto, indique el destino /GENERATE (véase /{destino} a continuación) e introduzca la ruta del proyecto en el campo <nombreArchivo> (p.ej., MapForceExamples.mfp).
/{destino}
Indica el lenguaje o entorno de destino para el que se genera el código. En la tabla siguiente se resumen los destinos de generación de código compatibles.
Destino de generación de código | Descripción |
|---|---|
/XSLT | |
/XSLT2 | |
/XSLT3 | |
/COMPILE[:opcionesCompilación] | Compila una asignación en un archivo de ejecución de MapForce Server (.mfx). También puede elegir las siguientes opciones separadas por una coma:
•La opción JDBC transforma todas las conexiones DB en JDBC usando el driver JDBC y la URL definidos en el cuadro de diálogo Configuración de componentes de BD. •La opción NOXMLSIGNATURES elimina la generación de firmas digitales en el archivo de ejecución de MapForce Server. Tenga en cuenta que no se admiten las firmas digitales en MapForce Server.
|
/GENERATE | Genera código de proyecto para todas las asignaciones del archivo del proyecto usando la configuración actual de la carpeta (véase Gestionar las carpetas de proyecto). Si selecciona este destino, indique un proyecto de MapForce (.mfp) en el campo <nombreArchivo>.
|
/XQuery | |
Java | |
/CS | Genera código C#. Este comando permite configurar las siguientes opciones de generación de código:
/CS[:{VS2013|VS2015|VS2017|VS2019|VS2022|DOTNETCORE31|DOTNET50|DOTNET60}]
Si no se especifica ninguna versión de Visual Studio, el código se generará usando la versión del programa que esté definida en las opciones del generador de código.
|
/CPP | Genera código C++. Este comando permite configurar las siguientes opciones de generación de código:
/CPP[:{VS2013|VS2015|VS2017|VS2019|VS2022|DOTNETCORE31|DOTNET50|DOTNET60},{MSXML|XERCES3},{LIB|DLL},{MFC|NoMFC}]
El primer grupo de opciones indica el entorno de desarrollo (p.ej., VS2022 significa Visual Studio 2022).
El segundo grupo de opciones indica la biblioteca XML de destino para el código generado. Los siguientes valores son válidos:
•MSXML (genera código para MSXML 6.0) •XERCES3 (genera código para Xerces 3)
El tercer grupo de opciones indica si deben generarse bibliotecas estáticas o dinámicas. Los valores válidos son los siguientes:
•LIB (genera bibliotecas LIB estáticas) •DLL (genera bibliotecas DLL)
El cuarto grupo de opciones indica si el código generado debe ser compatible o no con MFC. Los valores válidos son los siguientes:
•MFC (habilita la compatibilidad con MFC) •NoMFC (deshabilita la compatibilidad con MFC)
Si no se especifican estas opciones, el código se generará usando la versión del programa que esté definida en las opciones del generador de código.
|
<directorioSalida>
Parámetro opcional que indica el directorio de salida. Si no se indica, se usa el directorio de trabajo actual. Las rutas de acceso relativas son relativas al directorio de trabajo actual.
Cuando el objetivo está establecido en /GENERATE, se aplica lo siguiente:
•Si no se especifica <directorioSalida>, se utilizan el lenguaje de generación de código y la ruta de salida definidos para cada carpeta de proyecto (véase Carpetas de proyecto).
•Si se especifica <directorioSalida>, este anula el directorio de salida definido en el nivel raíz del proyecto, pero no la configuración de generación de código definida para las carpetas de cada proyecto.
Se pueden indicar una o más de las siguientes opciones.
Opción | Descripción |
|---|---|
/DIFF | Permite comparar una versión anterior y una más reciente de la misma asignación. Para obtener más información, consulte Comparación de asignaciones. Para comparar dos versiones de una asignación desde la línea de comandos, utilice el siguiente comando:
MapForce.exe <asignación-nueva>.mfd /DIFF <asignación-antigua>.mfd
|
/DIFFREPORT <informe> | Genera un archivo XML en el que se describen las diferencias entre las asignaciones especificadas con la opción /DIFF.
Para generar un informe XML con las diferencias encontradas entre las dos asignaciones, debe utilizar las opciones /DIFF y /DIFFREPORT conjuntamente:
MapForce.exe <asignación-nueva>.mfd /DIFF <asignación-antigua>.mfd /DIFFREPORT <informe>.xml
Cuando se utiliza /DIFFREPORT, MapForce no abre la ventana principal. El archivo de informe se genera tanto si las asignaciones son idénticas como si presentan diferencias.
El comando devuelve uno de los siguientes códigos de salida:
•0 – Las asignaciones son idénticas. •1 – Las asignaciones son diferentes. •2 – Se ha producido un error durante la comparación.
Nota: Cuando ejecute MapForce desde la línea de comandos de Windows, utilice start /wait para esperar a que MapForce finalice antes de obtener el código de salida mediante %ERRORLEVEL%. Por ejemplo:
start "" /wait MapForce.exe <asignación-nueva>.mfd /DIFF <asignación-antigua>.mfd /DIFFREPORT <informe>.xml echo %ERRORLEVEL%
De lo contrario, es posible que la línea de comandos no espere a que MapForce finalice y que %ERRORLEVEL% no contenga el código de salida de MapForce. En un archivo por lotes, la línea de comandos espera a que MapForce finalice, por lo que no es necesario utilizar start /wait.
|
/GLOBALRESOURCEFILE <nombreArchivo> | Pertinente si la asignación utiliza recursos globales para resolver un archivo de entrada o salida, rutas de carpetas o bases de datos. Para más información, consulte Recursos globales de Altova. Especifica la ruta al archivo XML de recursos globales. Si se establece /GLOBALRESOURCEFILE también se debe establecer /GLOBALRESOURCECONFIG.
|
/GLOBALRESOURCECONFIG <config> | Especifica el nombre de la configuración de recursos globales. Si se establece /GLOBALRESOURCEFILE también se debe establecer /GLOBALRESOURCECONFIG.
|
/LOG <nombreArchivoRegistro> | Genera un archivo de registro en la ruta indicada. Si se especifica una ruta absoluta, el directorio debe existir. Si solo se especifica un nombre de archivo, el archivo de registro se crea en el directorio actual del símbolo del sistema de Windows.
|
[/MFXVERSION[:<versión>] | Pertinente si el destino es /COMPILE. Compila un archivo de ejecución de MapForce Server (.mfx) para una versión específica de MapForce Server. Puede especificar cualquier versión de MapForce Server a partir de la versión 2013r2. Consulte también Compilar una asignación para una versión específica de MapForce Server.
|
/LIBRARY <nombreBiblioteca> (...) | Se utiliza junto con un lenguaje de generación de código de destino para especificar bibliotecas de funciones adicionales. Se puede usar varias veces para cargar varias bibliotecas. Consulte también Gestionar bibliotecas de funciones.
|
Notas
•Las rutas relativas son relativas al directorio actual de la aplicación que invoca a MapForce. Esto se aplica a las rutas de acceso de los archivos .mfd y .mfp, al directorio de salida, al archivo de registro y al archivo de recursos globales.
•No utilice una barra diagonal inversa al final antes de la comilla de cierre en la línea de comandos (por ejemplo, "C:\Mi directorio\"). El analizador de la línea de comandos interpreta la barra diagonal inversa y la comilla de cierre como una comilla doble literal. Si una ruta contiene espacios y debe ir entre comillas, utilice una barra diagonal inversa doble antes de la comilla de cierre (p. ej., "c:\Mi Directorio\\").
Ejemplos
1) Para iniciar MapForce y abrir la asignación <filename>.mfd, use este comando:
MapForce.exe <filename>.mfd
2) Para generar código XSLT 2.0 y crear también un archivo de registro con el nombre <logfilename>, use este comando:
MapForce.exe <filename>.mfd /XSLT2 <outputdir> /LOG <logfilename>
3) Para generar código XSLT 2.0 teniendo en cuenta la configuración del recurso global <grconfigname> del archivo de recurso global <grfilename>, use este comando:
Mapforce.exe <filename>.mfd /XSLT2 <outputdir> /GLOBALRESOURCEFILE <grfilename> /GLOBALRESOURCECONFIG <grconfigname>
Ejemplos para las ediciones Professional y Enterprise
1) Para generar una aplicación en código C# para Visual Studio 2022 y generar un archivo de registro, use este comando:
MapForce.exe <filename>.mfd /CS:VS2022 <outputdir> /LOG <logfilename>
2) Para generar una aplicación en C++ usando las opciones de generación de código definidas en Herramientas | Opciones y generar un archivo de registro, use este comando:
MapForce.exe <filename>.mfd /CPP <outputdir> /LOG <logfilename>
3) Para generar una aplicación en C++ para Visual Studio 2022, MSXML, con bibliotecas estáticas, compatible con MFC y sin archivo de registro, use este comando:
MapForce.exe <filename>.mfd /CPP:VS2022,MSXML,LIB,MFC
4) Para generar una aplicación en C++ para Visual Studio, Xerces, con bibliotecas dinámicas, sin compatibilidad con MFC y con archivo de registro, use este comando:
MapForce.exe <filename>.mfd /CPP:VS2022,XERCES,DLL,NoMFC <outputdir> /LOG <logfilename>
5) Para generar una aplicación en código Java y generar un archivo de registro, use este comando:
MapForce.exe <filename>.mfd /JAVA <outputdir> /LOG <logfilename>
6) Para generar código para todas las asignaciones del proyecto usando el lenguaje y el directorio de salida definidos en las opciones de la carpeta (de cada carpeta dentro del proyecto), use este comando:
MapForce.exe <filename>.mfp /GENERATE /LOG <logfilename>
7) Para generar código Java para todas las asignaciones del archivo del proyecto, use este comando:
MapForce.exe <filename>.mfp /JAVA /LOG <logfilename>
Con esta opción se ignora el lenguaje de generación de código definido en las opciones de la carpeta y se usa Java para todas las asignaciones.
8) Para indicar los archivos de entrada y de salida en la línea de comandos para una asignación en Java compilada con anterioridad, use este comando:
java -jar <mappingfile>.jar /InputFileName <inputfilename> /OutputFileName <outputfilename>
Los parámetros /InputFileName y /OutputFileName son nombres de componentes especiales de entrada de la asignación de datos de MapForce que permiten usar parámetros en la ejecución de la línea de comandos (véase Pasar parámetros a la asignación).
9) Para compilar una asignación en un archivo de ejecución de MapForce Server para la versión de MapForce 2027 y eliminar las firmas XML, use este comando:
MapForce.exe <filename>.mfd /COMPILE:NOXMLSIGNATURES <outputdir> /MFXVERSION:2027 /LOG <logfilename>