如果将数据元素分隔设置为方法使用数据模式,则可对其中字段由字符集或字符串之一定界的消息进行解析。
例如,考虑带有可用字符‘;’或‘/’定界的两个数值字段的简单消息。可使用两种方法:
Composition = Sequence Data Element Separation = Use Data Pattern FieldA Data Pattern = [0-9]* Delim Data Pattern = [;/] optionally with a default value. FieldB Data Pattern = [0-9]*
解析之后,元素 FieldA 和 FieldB 每个都包含任意个 0 到 9 的数字,而元素 Delim 包含“;”或“/”。
Composition = Choice Data Element Separation = Use Data Pattern SubType1 Data Pattern = [0-9]*;[0-9]* (Composition = Sequence Data Element Separation = All Elements Delimited Delimiter = ';') FieldA FieldB SubType2 Data Pattern = [0-9]*/[0-9]* (Composition = Sequence Data Element Separation = All Elements Delimited Delimiter = '/') FieldA FieldB
正则表达式区分消息中出现的两个选项,然后将它们作为正常定界结构进行解析。进行解析之后,元素 FieldA 和 FieldB 每个都包含任意个 0 到 9 的数字。输入消息中找到的定界符不保存在元素中。
通过使用不同的子代名或 SubType1 和 SubType2 元素提供使用哪个定界符的信息,或控制哪个定界符包括在输出消息中,可细化此方法。