スキーマ作成 Tipsまとめ

今回は、BizTalkでのスキーマ作成 Tipsをまとめたいと思います。

  • スキーマのインポート
     BizTalkでは、XMLデータからスキーマを作成することができます。
     要素や属性をひとつずつ手動で定義していくよりも簡単なので、この方法は良く使います。
     インポートしたスキーマの要素は、Max Occursプロパティが複数個許可する設定になるので
     そこを修正することを忘れないでください。
     この機能を利用するにはSDK付属のスクリプトを一回実行する必要があります。

 (BizTalk Program Files)\SDK\Utilities\Schema Generator\InstallWFX.vbs

  • インスタンスの検証
     作成したスキーマXMLデータを比較・検証する機能です。
     作成したスキーマのテストとデバッグ時によく利用する機能になります。
     スキーマファイルのプロパティで入力ファイルを指定します。
     またフラットファイルの検証も可能です。
  • インスタンスの生成
     作成したスキーマに従ったXMLデータを作成する機能です。
     サンプルデータを作成したり、作成したスキーマが正しいか確認するときに利用します。
     スキーマファイルのプロパティで出力ファイルを指定します。
     またフラットファイルの生成も可能です。
  • フラットファイルのスキーマ作成
     以前のブログにまとめてあるので、そちらを参照してください。
     スキーマのインポート機能を拡張したサンプルでもあります。
  • スキーマチェックを回避するテクニック
     前回のブログにまとめてあるので、そちらを参照してください。
  • 要素の出現する順番を指定する
     BizTalkのXSDはデフォルトで<sequence>となり、
     定義されている順番どうりに要素が並んでいないと駄目という定義になります。
     余談ですが、「シーケンスグループ」を追加すると、<sequence>が入れ子で作成されます。
     XSDの定義上美しく無い気もしますが愛嬌といったところでしょうか...(^^;;
  • 要素の出現する順番を指定しない
     親要素のGroup Order Type属性をsequenceからallに変更することで、
     順番を問わない設定になります。
  • 指定の要素がなくてもOKにする
     要素のMinOccursプロパティを0に設定すると、
     その要素が有っても無くても良い設定になります。

以上は、BizTalkのスキーマ作成でよく使うテクニックでもありますし、
よく聞かれる質問でもあります。BizTalk開発者の方は覚えておいて損はないです。

次回からのテーマは、「メッセージング」です。