Codieren von Zeichen mithilfe von Freitext
Ab BizTalk Server 2013 R2 kann "FreeText" in einem Feld oder Segment verwendet werden. Daten im Feld/Segment "FreeText" werden nicht analysiert.
Wichtige Informationen
Trennzeichen | Verhalten | Beispiel |
---|---|---|
~: Wiederholungstrennzeichen | In einem Feld wird Wiederholung (~) als wiederholtes Trennzeichen behandelt. In einem nicht freien Segment wird Wiederholung (~) als wiederholtes Trennzeichen behandelt. In einem freien Segment wird Wiederholung (~) als Teil von Freitext und nicht als neue Wiederholung behandelt. | Im folgenden Beispiel ist FRE ein kostenloses Segment. Es kann ein beliebiges Zeichen als Freitext haben, einschließlich ~. Alle zusätzlichen Wiederholungen (~) gelten nicht als Wiederholungstrennzeichen und werden als Freitextinhalt behandelt. Die Überprüfung ist auch dann erfolgreich, wenn das untergeordnete Element des Freien Segments nicht wiederholbar ist und eine Wiederholung (~) enthält. FRE-Beispiel: FRE| Foo&^|Foo&^|Foo&^|Foo&^~Foo&^|Foo&^|Foo&^|Foo&^ Im folgenden Beispiel wird EVN4 als Freitext definiert, da es &^enthält. Wenn das Trennzeichen "|" gefunden wird, wird es als Das Ende des aktuellen Freitexts behandelt. EVN-Beispiel: EVN||||Foo&^Foo&^Foo&^Foo&^Foo&^|| Im folgenden Beispiel wird das erste untergeordnete Element von EVN5 als Freitext definiert, da er &enthält. Wenn das Trennzeichen "^" gefunden wird, wird es als Das Ende des aktuellen Freitexts behandelt. EVN5-Beispiel: EVN|||| | Foo&Foo&Foo&Foo&Foo&^5.2| Im folgenden Beispiel können 5.2.1 und 5.2.2 keine Trennzeichen als Freitext aufweisen, auch wenn sie im Schema als FreeText definiert sind. 5.2.1 und 5.2.2 Beispiel: EVN|||| | Foo1^5.2.1&5.2.2| Im folgenden Beispiel wird davon ausgegangen, dass EVN4 wiederholt werden kann und vom Typ "Freitext" ist. Foo1&^ wird als erste Wiederholung behandelt und Foo2&^ wird als zweite Wiederholung behandelt. Wenn EVN4 nicht wiederholbar ist (MaxOccurs = 1), schlägt die Überprüfung fehl, wenn sie ~enthält, auch wenn es den Typ "Freitext" aufweist (z. B. bei Nicht-Freitext-Feldern). EVN4-Beispiel: EVN |||| Foo1&^~ Foo2&^ || |
|: Feldtrennzeichen | Wenn nach dem Segmenttag eines freien Segments ein Feldtrennzeichen fehlt, ist die Validierung erfolgreich. | In den folgenden Beispielen ist FRE ein Freitexttyp. Freitextinhalte können unmittelbar nach dem FRE-Segmenttag gestartet werden, mit oder ohne Feldtrennzeichen "|". Beide Beispiele sind erfolgreich: FREabc FRE|abc In den folgenden Beispielen ist die Validierung erfolgreich: Eingabenachricht an DASM: FRE|abcd Ausgabe von DASM: <SegmentData>|abcd</SegmentData> Ausgabe von ASM: FRE|abcd Eingabenachricht an DASM: FREabcd Ausgabe von DASM: <SegmentData>abcd</SegmentData> Ausgabe von ASM: FREabcd |
Parent-Child optional | Die optionalen Validierungsregeln für über- und untergeordnete Elemente gelten weiterhin. | Angenommen, das übergeordnete Element ist optional und eines seiner untergeordneten Elemente ist obligatorisch. - Wenn keines der anderen untergeordneten Elemente und das obligatorische untergeordnete Element nicht aufgefüllt werden, ist die Nachrichtenüberprüfung erfolgreich. - Wenn mindestens ein untergeordnetes Element aufgefüllt wird, sollte auch das obligatorische untergeordnete Element aufgefüllt werden. Andernfalls schlägt die Nachrichtenüberprüfung fehl. Im folgenden Beispiel ist Feld 1 optional. Sein untergeordnetes 1.a-Element ist optional und der Freitexttyp. Sein 1.b-Kind ist obligatorisch: xyz|1.a^1.b|2 In der folgenden Beispielmeldung wird dfssdf&sdf als ein einzelnes Element betrachtet– 1.a. Der Parser überprüft, ob 1.b vorhanden ist. Wenn erreicht | wird, wird davon ausgegangen, dass 1.b nicht aufgefüllt ist, und die Nachrichtenüberprüfung schlägt fehl: xyz|dfssdf&sdf|2 |
MSH-, FSH- und BSH-Segmente | Freitext wird für alle Felder ignoriert. Diese Segmente entsprechen dem Headerabschnitt. Die Überprüfung erfolgt wie gewohnt, auch wenn sie als Freitext definiert sind. | |
\:Escapezeichen | Wenn im Element eine gerade Anzahl von "\" vorhanden ist, ist die Überprüfung erfolgreich (auch wenn sie nicht zusammenhängend sind). Wenn eine ungerade Zahl vorhanden ist, schlägt die Überprüfung fehl. Das gleiche Verhalten wird auch für Nicht-Freitext-Felder fortgesetzt. Bei Freitext-Feldern gibt es keine Validierung der Zahl; es wird als Freitextinhalt behandelt. |
Nachrichtentrennzeichen bieten weitere Informationen zu den Trennzeichen in diesen Beispielen.
Verwenden von Freitext
Öffnen Sie im Projekt in Visual Studio das Schema.
Klicken Sie mit der rechten Maustaste auf einen Datensatz, wählen Sie Schemaknoten einfügen und untergeordnetes Feldelement aus.
Wählen Sie unter Eigenschaften die Option Datentyp und dann Freitext (SimpleType) aus.