フリー テキストを使用する文字のエンコード
BizTalk Server 2013 R2 以降では、フィールドまたはセグメントで "FreeText" を使用できます。 "FreeText" フィールドまたはセグメント内のデータは解析されません。
知っておくべきこと
区切り記号 | 動作 | 例 |
---|---|---|
~: 繰り返し区切り記号 | フィールドでは、繰り返し (~) は繰り返し区切り記号として扱われます。 フリーでないセグメントでは、繰り返し (~) は繰り返し区切り記号として扱われます。 フリー セグメントでは、繰り返し (~) は新しい繰り返しではなく、フリー テキストの一部として扱われます。 | 次の例では、FRE は Free Segment です。 ~を含む任意の文字をフリー テキストとして使用できます。 追加の繰り返し (~) は繰り返し区切り記号とは見なされず、フリー テキスト コンテンツとして扱われます。 Free Segment の子が繰り返し不可能で、繰り返し (~) が含まれている場合でも、検証は成功します。 FRE の例: FRE|Foo&^|Foo&^|Foo&^|Foo&^~Foo&^|Foo&^|Foo&^|Foo&^ 次の例では、EVN4 は ^&含まれているため、フリー テキストとして定義されています。 "|" 区切り記号が検出されると、現在のフリー テキストの末尾として扱われます。 EVN の例: EVN||||Foo&^Foo&^Foo&^Foo&^Foo&^|| 次の例では、 が含まれているため、EVN5 の最初の子はフリー テキストとして定義 &。 "^" 区切り記号が検出されると、現在のフリー テキストの末尾として扱われます。 EVN5 の例: EVN|||||Foo&Foo&Foo&Foo&Foo&^5.2| 次の例では、5.2.1 と 5.2.2 は、スキーマで FreeText として定義されている場合でも、フリー テキストとして区切り記号を持つことはできません。 5.2.1 と 5.2.2 の例: EVN|||||Foo1^5.2.1&5.2.2| 次の例では、EVN4 を繰り返し実行でき、フリー テキスト型であるとします。 Foo1&^ は最初の繰り返しとして扱われ、 Foo2&^ は 2 番目の繰り返しとして扱われます。 EVN4 が繰り返し可能でない場合 (MaxOccurs = 1)、フリー テキスト型の場合 (フリー テキスト以外のフィールドの場合など) であっても~が含まれている場合、検証は失敗します。 EVN4 の例: EVN ||||Foo1&^~ Foo2&^ || |
|: フィールド区切り記号 | 空きセグメントのセグメント タグの後にフィールド区切り記号がない場合、検証は成功します。 | 次の例では、FRE はフリー テキスト型です。 フリー テキスト コンテンツは、FRE セグメント タグの直後に、"|" フィールド区切り記号の有無にかかわらず開始できます。 どちらの例も成功します。 FREabc FRE|abc 次の例では、検証は成功します。 DASM への入力メッセージ: FRE|abcd DASM からの出力: <SegmentData>|abcd</SegmentData> ASM からの出力: FRE|abcd DASM への入力メッセージ: FREabcd DASM からの出力: <SegmentData>abcd</SegmentData> ASM からの出力: FREabcd |
Parent-Child 省略可能 | 親子の省略可能な検証規則は引き続き適用されます。 | 親が省略可能であり、その子の 1 つが必須であるとします。 - 他の子と必須の子が入力されていない場合、メッセージの検証は成功します。 - 少なくとも 1 つの子が設定されている場合は、必須の子も設定する必要があります。 それ以外の場合、メッセージの検証は失敗します。 次の例では、フィールド 1 は省略可能です。 その 1.a 子は省略可能であり、フリー テキスト型です。 その 1.b 子は必須です。 xyz|1.a^1.b|2 次のサンプル メッセージでは、 dfssdf&sdf は 1 つの 1 つの要素 (1.a) と見なされます。 パーサーは、1.b が存在するかどうかを確認します。 に | 達すると、1.b が設定されておらず、メッセージの検証が失敗すると想定されます。 xyz|dfssdf&sdf|2 |
MSH、FSH、BSH の各セグメント | フリー テキストは、すべてのフィールドで無視されます。 これらのセグメントは、ヘッダー セクションに対応しています。 検証は、フリー テキストとして定義されている場合でも、通常と同様に行われます。 | |
\: エスケープ文字 | 要素に偶数の "\" がある場合は、(連続していない場合でも) 検証は成功します。 奇数の場合、検証は失敗します。 フリー テキスト以外のフィールドでも同じ動作が続きます。 フリー テキスト フィールドでは、数値に対する検証はありません。これは、フリー テキスト コンテンツとして扱われます。 |
メッセージ区切り記号は、 次の例の区切り記号の詳細を提供します。
フリー テキストの使用
Visual Studio のプロジェクトで、スキーマを開きます。
レコードを右クリックし、[ スキーマ ノードの挿入] を選択し、[ 子フィールド要素] を選択します。
[プロパティ] で [ データ型] を選択し、[ フリー テキスト (SimpleType)] を選択します。