Codifica di caratteri con testo libero
A partire da BizTalk Server 2013 R2, è possibile usare "FreeText" in un campo o segmento. I dati nel campo /segmento "FreeText" non vengono analizzati.
Informazioni importanti
Separatore | Comportamento | Esempio |
---|---|---|
~: Separatore di ripetizione | In un campo la ripetizione (~) viene considerata come delimitatore ripetuto. In un segmento non libero la ripetizione (~) viene considerata come delimitatore ripetuto. In un segmento libero, la ripetizione (~) viene considerata come parte del testo libero, non una nuova ripetizione. | Nell'esempio seguente fre è segmento libero. Può avere qualsiasi carattere come testo libero, incluso ~. Le ripetizioni aggiuntive (~) non vengono considerate delimitatori di ripetizione e vengono considerate come contenuto di testo libero. La convalida riesce anche se l'elemento figlio del segmento libero non è ripetibile e contiene ripetizioni (~). Esempio FRE: FRE| Foo&^|Foo&^|Foo&^|Foo&^~Foo&^|Foo&^|Foo&^|Foo&^ Nell'esempio seguente EVN4 viene definito come testo libero perché contiene &^. Quando viene rilevato il delimitatore "|", viene considerato come la fine del testo libero corrente. Esempio EVN: EVN||||Foo&^Foo&^Foo&^Foo&^Foo&^|| Nell'esempio seguente il primo figlio di EVN5 viene definito come testo libero perché contiene &. Quando viene rilevato il delimitatore "^", viene considerato come fine del testo libero corrente. Esempio EVN5: EVN|||| | Foo&Foo&Foo&Foo&Foo&^5.2| Nell'esempio seguente, 5.2.1 e 5.2.2 non possono avere delimitatori come testo libero, anche se è definito come FreeText nello schema. Esempio 5.2.1 e 5.2.2: EVN|||| | Foo1^5.2.1&5.2.2| Nell'esempio seguente si presuppone che EVN4 possa essere ripetuto ed è del tipo Di testo libero. Foo1&^ viene considerato come la prima ripetizione e Foo2&^ viene considerato come la seconda ripetizione. Se EVN4 non è ripetibile (MaxOccurs = 1), la convalida ha esito negativo se contiene ~, anche se è di tipo Testo libero (ad esempio nei casi di campi testo non liberi). Esempio EVN4: EVN |||| Foo1&^~ Foo2&^ || |
|: Separatore di campi | Se un delimitatore di campo manca dopo il tag segmento di un segmento libero, la convalida ha esito positivo. | Negli esempi seguenti, FRE è un tipo di testo libero. Il contenuto testo libero può essere avviato immediatamente dopo il tag di segmento FRE, con o senza delimitatore di campo "|". Entrambi gli esempi hanno esito positivo: FREabc FRE|abc Negli esempi seguenti la convalida ha esito positivo: Messaggio di input a DASM: FRE|abcd Output da DASM: <SegmentData>|abcd</SegmentData> Output da ASM: FRE|abcd Messaggio di input a DASM: FREabcd Output da DASM: <SegmentData>abcd</SegmentData> Output da ASM: FREabcd |
Parent-Child facoltativo | Le regole di convalida facoltative padre-figlio si applicano ancora. | Si supponga che l'elemento padre sia facoltativo e uno dei relativi elementi figlio sia obbligatorio, quindi: - Se nessuno degli altri elementi figlio e l'elemento figlio obbligatorio non vengono popolati, la convalida dei messaggi ha esito positivo. - Se almeno un figlio viene popolato, il figlio obbligatorio deve essere popolato anche. In caso contrario, la convalida dei messaggi ha esito negativo. Nell'esempio seguente campo 1 come facoltativo. Il suo elemento figlio è facoltativo ed è il tipo di testo libero. Il suo figlio 1.b è obbligatorio: xyz|1.a^1.b|2 Nel messaggio di esempio seguente, dfssdf&sdf viene considerato come un singolo elemento - 1.a. Il parser controlla se esiste 1.b. Quando viene | raggiunto, si presuppone che 1.b non sia popolato e la convalida dei messaggi non riesce: xyz|dfssdf&sdf|2 |
Segmenti MSH, FSH e BSH | Il testo libero viene ignorato per tutti i campi. Questi segmenti corrispondono alla sezione intestazione. La convalida si verifica normalmente, anche se sono definite come testo libero. | |
\: Carattere di escape | Se nell'elemento è presente un numero pari di "\", la convalida riesce (anche se non sono contigue). Se sono presenti numeri dispari, la convalida ha esito negativo. Lo stesso comportamento continua per i campi testo non liberi. Con i campi Testo libero non esiste alcuna convalida sul numero; considerato come contenuto di testo libero. |
I delimitatori di messaggi forniscono altre informazioni sui separatori in questi esempi.
Uso di testo libero
Nel progetto in Visual Studio aprire lo schema.
Fare clic con il pulsante destro del mouse su un record, selezionare Inserisci nodo schema, selezionare Elemento campo figlio.
In Proprietà selezionare Tipo di dati e quindi Free Text (SimpleType).