Altova MapForce 2024 Enterprise Edition

In diesem Beispiel wird gezeigt, wie Sie eine C#-Beispielbibliothek erstellen und in einer MapForce Function File (.mff) referenzieren. Diese .mff-Datei kann anschließend als MapForce-Bibliothek importiert werden. Eine C#-Bibliothek in einer .mff-Datei zu referenzieren, ist nur eine der Methoden, um C#-Bibliotheken in MapForce zu importieren. Eine einfacher Alternative wäre der direkte Import von .NET Assemblys. Nähere Informationen dazu finden Sie unter Beispiel: Import einer benutzerdefinierten .NET DLL-Assembly.

 

Konfigurationsschritte

Um eine C#-Bibliothek in einer .mff-Datei zu referenzieren, gehen Sie vor, wie unten beschrieben.

 

Anmerkung:Wenn Sie benutzerdefinierte NET-Funktionen in der integrierten Ausgabevorschau (im Fenster Ausgabe) verwenden möchten, müssen diese Funktionen für das .NET Framework 4.x oder :NET Standard 2.0 kompiliert werden.

 

Schritt 1. Erstellen einer neuen Klassenbibliothek in VS

Erstellen Sie ein neues Klassenbibliotheksprojekt in Visual Studio. Beachten Sie, dass die Funktion als public static definiert wurde.

 

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

 

Schritt 2. Hinzufügen einer Referenz zu Altova.dll

Wenn Sie spezielle XML-Schematypen (wie z.B. date und duration) benötigen, müssen Sie eine Referenz von Ihrem Visual Studio-Projekt zur Altova.dll-Bibliothek hinzufügen. Um diese Bibliothek zu erhalten, generieren Sie C#-Code anhand eines Mappings ohne benutzerdefinierte Funktionen. Sie finden die Datei Altova.dll relativ zum Verzeichnis, in dem der Code generiert wurde, im Verzeichnis ..\Altova\bin\debug. Um in Visual Studio die Referenz zu Altova.dll hinzuzufügen, klicken Sie in Visual Studio im Menü Projekt auf Verweis hinzufügen und navigieren Sie zur Datei Altova.dll. Fügen Sie anschließend die folgenden Zeile zu Ihrem Code hinzu: using Altova.Types;. Informationen dazu, wie Sie XML-Schematypen C#-Typen zuordnen, finden Sie unter Datentyp-Zuordnung.

 

Schritt 3. Erzeugen Ihres VS-Projekts mittels Build

Erzeugen Sie Ihr Visual Studio-Projekt mit Build. Die Datei MyLibrary.dll wird in Ihrem Projektausgabeverzeichnis generiert.

 

Schritt 4. Erstellen der .mff-Datei und Referenzieren Ihrer C#-Bibliothek

Erstellen Sie mit Hilfe eines XML-Editors eine neue .mff-Datei und validieren Sie diese anhand des Schemas C:\Programme\MapForceLibraries\mff.xsd. Stellen Sie sicher, dass alle Referenzen unter implementation language="cs" auf die korrekten C# Member und die zuvor erstellen Pfade verweisen. Die Zeile function name="SayHello" muss den Funktionsnamen außerdem genau, wie er in C# definiert war, referenzieren, siehe auch Konfigurieren der .mff-Datei.

 

<?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>

 

Schritt 5. Importieren der .mff-Datei als Bibliothek

Nachdem Sie Ihre benutzerdefinierte Bibliothek in der .mff-Datei referenziert haben, können Sie die .mff-Datei nun als Bibliothek in MapForce importieren. Nähere Informationen finden Sie unter Importieren von .mff-Dateien.

 

© 2018-2024 Altova GmbH