Altova MapForce 2023 Enterprise Edition

Este apartado explica cómo se puede crear una biblioteca C# de muestra y hacer referencia a ella en un archivo de funciones MapForce (.mff). El archivo .mff se puede importar como biblioteca MapForce. Hacer referencia a una biblioteca C# en un archivo .mff es una de las formas que existen de importar bibliotecas C# en MapForce. Una opción más sencilla es importar los ensamblajes .NET directamente (véase Ejemplo: importar ensamblado .NET DLL personal).

 

Configuración

Siga estos pasos para hacer referencia a una biblioteca C# en un archivo .mff:

 

Nota:si quiere usar funciones .NET personales en la vista previa del resultado (en el panel Resultados), esas funciones deben estar compiladas para .NET Framework 4.x o .NET Standard 2.0.

 

Paso 1. Crear un proyecto de bibliotecas de clases nuevo en Visual Studio

Cree un proyecto de bibliotecas de clases nuevo en Visual Studio. Observe que la función se definió como public static.

 

namespace MyLibrary
{
   public class Greetings
   {
       public static string SayHello(bool isMorning)
       {
           if (isMorning)
               return "Good morning!";
           return "Good Day!";
       }
   }
}

 

Paso 2. Agregar una referencia a Altova.dll

Si necesita tipos XML Schema especiales (como date y duration), deberá agregar una referencia desde el proyecto de Visual Studio a la biblioteca Altova.dll. Para obtener esta biblioteca debe generar código C# a partir de una asignación de datos de MapForce sin funciones personales. El archivo Altova.dll se guarda en el directorio ..\Altova\bin\debug relativo al directorio donde se generó el código. Para agregar una referencia a Altova.dll en Visual Studio haga clic en Proyecto | Agregar referencia y navegue hasta el archivo Altova.dll. Además, debe añadir esta línea a su código: using Altova.Types;. Para más información sobre las correspondencias entre tipos XML Schema y tipos C# consulte el apartado Correspondencias entre tipos de datos.

 

Paso 3. Generar un proyecto de Visual Studio

Genere su proyecto de Visual Studio. El archivo MyLibrary.dll se genera en el directorio de salida del proyecto.

 

Paso 4.Crear el archivo .mff y hacer referencia a su biblioteca C#

En un editor XML cree un archivo .mff nuevo y valídelo con el esquema C:\Program Files\MapForceLibraries\mff.xsd. Asegúrese de que todas las referencias bajo implementation language="cs" apuntan a los miembros y las rutas C# correctos, es decir, los que creó anteriormente. La línea function name="SayHello" debe hacer referencia al nombre de función exactamente como esté definido en C#. Para más información consulte el apartado Configurar el archivo .mff.

 

<?xml version="1.0" encoding="UTF-8"?>
<mapping version="9" library="mylib" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="mff.xsd">
  <implementations>
     <implementation language="cs">
        <setting name="namespace" value="MyLibrary" />
        <setting name="class" value="Greetings" />
        <setting name="reference" value="C:\Libraries\cs\MyLibrary\bin\debug\MyLibrary.dll" />
     </implementation>            
  </implementations>
  <group name="string functions">
     <component name="sayhello">
        <sources>
           <datapoint name="ismorning" type="xs:boolean"/>
        </sources>
        <targets>
           <datapoint name="result" type="xs:string"/>
        </targets>
        <implementations>
           <implementation language="cs">
              <function name="SayHello"/>
           </implementation>
        </implementations>
        <description>
           <short>result = sayhello(ismorning)</short>
           <long>Returns "Good morning" or "Good day", depending on the input parameter.</long>
        </description>
     </component>      
  </group>
</mapping>

 

Paso 5. Importar .mff como biblioteca

Ahora que el archivo .mff hace referencia a su biblioteca personal puede importarlo en MapForce como biblioteca.Para más información véase Importar bibliotecas .mff.

 

© 2017-2023 Altova GmbH