以前のリリースの BizTalk Server では、フラット ファイル 逆アセンブラーやフラット ファイル アセンブラーなどのフラット ファイル パイプライン コンポーネントでこれらのスキーマを理解できるように、BizTalk スキーマ エディターで XML スキーマ定義言語 (XSD) スキーマに注釈を手動で追加する必要がありました。 これは引き続き BizTalk Server スキーマ エディターを使用して行うことができます。 ソリューションの作成に必要な手動の手順と時間を減らすには、BizTalk フラット ファイル スキーマ ウィザードを使用します。このウィザードには、次の機能があります。
実際のフラット ファイル インスタンスを入力として使用します。
区切りフラット ファイル スキーマと位置指定フラット ファイル スキーマを操作するためのビジュアル デザイン サーフェイスが含まれています。
再入ウィザードベースのプロセスを使用して、スキーマに要素を追加し、フラット ファイル関連の注釈を対話形式で定義します。
タグ識別子と文字および 16 進区切り記号のサポートを提供します。
タグ識別子のオフセットと子区切りの順序を自動的に決定します。
ファイル形式のプレビュー機能を提供します。
フラット ファイル スキーマの定義に使用するインターチェンジ インスタンス内の優先サブデータを選択できます。
BizTalk フラット ファイル スキーマ ウィザードを開始する方法
ウィザードは、Microsoft Visual Studio ソリューション エクスプローラーまたは BizTalk スキーマ エディターから開始できます。
ソリューション エクスプローラーからウィザードを開始するには
Microsoft Visual Studio で、 ソリューション エクスプローラーを開きます。
新しいフラット ファイル スキーマを追加するには、BizTalk プロジェクトを右クリックし、[ 追加] を選択します。
[ 新しい項目] をクリックします。
[ 新しい項目の追加] ウィンドウで、次の操作を行います。
[ カテゴリ ] セクションで、[ スキーマ ファイル] を選択します。
[テンプレート] セクション で 、[ フラット ファイル スキーマ ウィザード] を選択します。
[ 名前 ] テキスト ボックスに、新しいスキーマの名前を入力します。
追加をクリックします。
BizTalk フラット ファイル スキーマ ウィザードが開きます。
スキーマ エディターからウィザードを開始するには
Visual Studio で、 ソリューション エクスプローラーを開きます。
新しいフラット ファイル スキーマを追加するには、BizTalk プロジェクトを右クリックし、[ 追加] を選択します。 [ 新しい項目] を選択し、[ 新しい項目] をクリックします。
[ 新しい項目の追加] ウィンドウで、次の操作を行います。
[ カテゴリ ] セクションで、[ スキーマ ファイル] を選択します。
[テンプレート] セクション で 、[ フラット ファイル スキーマ] を選択します。
[ 名前 ] テキスト ボックスに、新しいスキーマの名前を入力します。
追加をクリックします。
[ ルート ]を右クリックし、[ フラット ファイル インスタンスからレコードを定義]を選択します。
BizTalk フラット ファイル スキーマ ウィザードが起動します。
注
スキーマ エディターで作業スキーマを開いている場合は、選択したノードを右クリックし、[ フラット ファイル インスタンスからレコードを定義] を選択するだけです。
注
選択したノードが子要素のないレコードである場合は、[ フラット ファイル インスタンスからレコードを定義] オプションが有効になります。 選択したノードに子要素がある場合、ウィザードは現在のすべての子要素を削除し、新しい子要素を生成します。 ウィザードでは、既存の子要素を削除する前に確認を求められます。
フラット ファイル スキーマ ウィザードの使用に関する考慮事項
このセクションでは、BizTalk フラット ファイル スキーマ ウィザードを使用するときに考慮する必要がある問題について説明します。
マルチバイト文字セット (MBCS) の操作
既定では、[フラット ファイル スキーマ情報] 画面 の [Count positions in bytes ]\(バイト単位の位置\) チェック ボックスはオフになっています。 ウィザードは位置を文字数でカウントします。これは、位置フラット ファイル インスタンスに MBCS 文字がある場合、位置が正しくカウントされないことを意味します。 [ バイト単位の位置数 ] チェック ボックスをオンにすると、ウィザードによって MBCS 文字が表示され、位置の長さが追加で示されます。 文字はディスプレイ上で 1 つの位置を取り、残りの長さはドット記号 "•" で埋められます。 入力されるドット記号の数は、2 バイト文字セット (DBCS)、Unicode、または UTF-8 形式で保存されたファイルによって異なります。
フラット ファイル スキーマ ウィザードでサポートされるコード ページ
ウィザードでサポートされているコード ページの一覧を次に示します。
アラビア語 (1256)
ASCII (20127)
バルティック語 (1257)
ビッグ-Endian-UTF16 (1201)
Central-European (1250)
キリル文字 (1251)
ギリシャ語 (1253)
ヘブライ語 (1255)
日本語 -Shift-JIS (932)
韓国語 (949)
Little-Endian-UTF16 (1200)
簡体字-Chinese-GBK (936)
簡略化されたChinese-GB18030 (54936)
タイ語 (874)
Traditional-Chinese-BIG5 (950)
トルコ語 (1254)
UTF-7 (65000)
UTF-8 (65001)
ベトナム語 (1258)
Western-European (1252)
フラット ファイル スキーマ ウィザードのレコードの種類
フラット ファイルには、位置指定レコード内に区切りレコードを含めることはできません。 ウィザードは再入に基づいているため、 区切り記号 の種類と 相対位置を 定義するラジオ ボタンは、ウィザードで定義した子の親レコードの形式に基づいて有効または無効になります。 たとえば、
区切られたレコードの子に対してウィザードを実行した場合、両方のラジオボタンが選択されます。
位置指定レコードの子に対してウィザードを実行すると、[ 区切り記号で ] ラジオボタンがオフになります。
フラット ファイル スキーマ ウィザードの区切り記号
子区切り記号プロパティのドロップダウン リストには、次の一般的な区切り記号が含まれています。
{CR}{LF}
{CR}
{LF}
{TAB}
{SPACE}
{0x1A}
|
,
;
このプロパティの既定値は {CR}{LF} です。 このプロパティは編集可能なテキスト ボックスでもあり、子区切り記号を文字のシーケンスとして、または文字の 16 進値として指定できます。 子区切り記号に文字を使用する例として、"a" または "street" があります。16 進数の区切り記号は、次の形式を使用して指定します。
{0xnnnn}。 たとえば、{0x0D}{0x0A}、{0x09} または {0x20} です。
一連の 16 進数の値を使用する例として、{0x0D}{0x0A}、{0x09}{0x20} があります。
区切り記号として記号 \、{、または } を使用する場合は、区切り記号の前に円記号を追加する必要があります。それ以外の場合は、エラー メッセージが表示されます。 たとえば、
\\、\{、または \}。
フラット ファイル スキーマ ウィザードの相対位置
位置マーカーの設定
マウスの左ボタンを使用して位置選択ボックス内の位置マーカーをクリックし、新しい位置マーカーの線を設定します。 位置マーカーは実線として表されます。 既定では、位置マーカーの行は、位置 0 のレコードの先頭に存在します。 既存の位置マーカー線を削除するには、マウスの左ボタンを使用してクリックします。
フラットファイルスキーマウィザードにおけるエスケープ文字
エスケープ文字は、その後に続く文字の特別な意味を抑制する 1 文字です。 詳細については、「特殊文字をフィールド値の一部として解釈する方法」の「エスケープ文字」トピックを参照してください。 ウィザードのエスケープ文字プロパティを使用して、フラット ファイル インスタンスの解析時に使用するエスケープ文字を指定します。 既定値は null です。つまり、スキーマ レベルで定義されている既定のエスケープ文字が使用されます。
エスケープ文字は、文字または 16 進値として指定できます。 16 進数の値は、次の形式を使用して指定します。
{0xnnnn}。 たとえば、{0x0D}{0x0A}、{0x09}、{0x20} などです。
エスケープ文字として記号 \、{、または } を使用する場合は、区切り記号の前に円記号を追加する必要があります。それ以外の場合は、エラー メッセージが表示されます。
\\, \{, \}.
フラット ファイル スキーマ ウィザードの子要素
各子要素には、 要素名、 要素の種類、 データ型 、 およびコンテンツが含まれます。 [ 要素名] テキスト ボックスを使用して、ノードのわかりやすい名前を入力します。 要素の種類は、次の値を持つドロップダウン リストです。
Field 要素: このノードを要素としてスキーマに作成することを指定します。
フィールド属性: このノードを属性としてスキーマに作成することを指定します。
Record: 子のないレコードをスキーマに作成することを指定します。
繰り返しレコード: 子を含まないレコードをスキーマに作成し、その最大出現回数を Unbounded に設定することを指定します。
無視: このノードのスキーマには何も作成されません。
既定では、すべての要素は Field 要素 型で、データ型は string です。
注
子要素を Field 属性 として宣言できるのは、その前に Field 要素、 Record 、または Repeating レコードとして宣言されている子が存在しない場合のみです。
注
次のインスタンスの 子ノード の前に感嘆符が表示されます。
Field 属性は、Field 要素、Record、または Repeating レコードの後に定義されます。
子要素に名前がありません。
子要素の名前が重複しています。
子要素に対して選択されたデータ型は、コンテンツに適していません。