例: カスタム C# ライブラリの作成

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  関数 > Java、C# および C++ ライブラリを手動で参照する >

例: カスタム C# ライブラリの作成

このトピックでは MapForce ライブラリウィンドウに表示されるように、サンプル C# ライブラリの作成方法と、 .mff ファイルの構成方法について説明されています。

 

1.Visual Studio 内に新規クラスライブラリを作成します。関数は、 public static として定義されていることに注意してください。

 

using System;
 
namespace HelloWorldLibrary
{
  public class Greetings
  {
      public static string HelloFunction(bool GreetingType)
      {
          if (GreetingType)
              return "Hello World!";
          return "Hello User!";
      }
  }
}

 

2.特別な XML スキーマ型 (日付および期間)が必要な場合は Visual Studio プロジェクトから Altova.dll ライブラリにレファレンスを追加する必要があります。このライブラリを取得するには、カスタム関数を使用しないマッピングから C# コードを生成します。Altova.dll ファイルはコードが生成されたディレクトリに相対する ..\Altova\bin\debug ディレクトリ内にあります。Visual Studio 内の Altova.dll にレファレンスを追加するには、 「プロジェクト」 メニューから 「レファレンスを追加」 をクリックして、 Altova.dll ファイルを参照します。また、コードに以下のラインを追加してください: using Altova.Types;XML スキーマ型を C# 型にマップする方法に関する情報は、 以下を参照してください: データ型のマッピング.
3.Visual Studio プロジェクトを構築します。HelloWorldLibrary.dll がプロジェクト出力ディレクトリに生成されます。
4.XML エディターを使用して、新規の .mff ファイルを作成し、 ..\Program Files\MapForceLibraries\mff.xsd フォルダーに対して検証します。下でハイライトされているテキストが HelloWorldLibrary.dll ファイルを指していることを確認してください。  詳細に関しては、 以下を参照してください: .mff ファイルの構成

 

<?xml version="1.0" encoding="UTF-8"?>
<mapping version="9" library="helloworld" 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="HelloWorldLibrary"/>
        <setting name="class" value="Greetings"/>
        <setting name="reference" value="C:\Projects\HelloWorldLibrary.dll"/>
    </implementation>
  </implementations>
  <group name="Greetings">
    <component name="HelloFunction">
        <sources>
          <datapoint name="greeting_type" type="xs:boolean"/>
        </sources>
        <targets>
          <datapoint name="result" type="xs:string" />
        </targets>
        <implementations>
          <implementation language="cs">
              <function name="HelloFunction"/>
          </implementation>          
        </implementations>
        <description>
          <short>result = hello(greeting_type)</short>
          <long>Returns a greeting according to the given greeting type.</long>
        </description>
    </component>
  </group>
</mapping>

 

MapForce に適応するカスタムライブラリと .mff ファイルの作成が完了しました。カスタム .mff ファイルを MapForce で使用することができるようになりました(以下を参照してください: .mff ファイルを MapForce にインポートする)。


(C) 2019 Altova GmbH