フラットファイルのスキーマ作成

初回なので何を書こうかちょっと悩んだのですが、
BizTalkの開発で使う順を追って、しばらくはスキーマのネタを書こうと思います。

BizTalk ServerはXMLを基盤とした製品で、基本はXML形式のメッセージを送受信します。
これは他の形式のファイルは扱えないということではなく、
フラットファイル(固定長ファイルやCSVなど)も扱うことができます。
実際、ホストなどと接続する場合、CSVファイルでデータをやり取りするケースが多いです。

フラットファイルを扱うためには、フラットファイル用のスキーマを作成する必要があります。
作り方は、通常のXMLスキーマの作成に加えてフラットファイル用のプロパティ設定をいくつか行うだけです。
設定するプロパティをいくつか挙げます。

  • スキーマエディタ拡張機能」 -> 「フラットファイル拡張子」
  • 「構造」->「位置指定」or「区切り記号」

それとフラットファイル用のカスタムパイプラインを作成し、
送受信メッセージポートの設定画面で設定することも忘れないでください。
デフォルトだとXML用パイプラインが使用されますので正しくフラットファイルを送受信できません。


GOTDOTNETに区切り記号ファイルのスキーマを自動生成してくれるウィザードのサンプルがあります。

Delimited File Schema Generator

http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=b191423e-5db7-45aa-bf8c-3a38569cfafe

上記サンプルは、正直なところUIは洗練されていない(入力チェックなども行っていない...)のですが、
ソースコードが付属していますので、日本語化やUIの洗練なども行うことが可能です。
これを使用して独自ファイルフォーマットのスキーマ自動生成ウィザードを作るというのもアリですね。