指定可选字段和记录

关于此任务

在平面文件模式中创建可选字段或记录时,重要的是要了解平面文件数据的语法分析方式,以便可以设计平面文件模式,避免出现歧义。例如,如果要使用定界根节点和三个子字符串字段(其中,field1 为必选字段、field2 为可选字段、field3 为必选字段)来创建平面文件模式,那么模式的语法会引起歧义, 如以下数据在运行时期间进行语法分析时所示:

A,C

该平面文件数据可以下述两种方式进行语法分析:
  • field1 等于 A,field2 等于 B
  • field1 等于 A,field3 等于 C

在可选字段后指定必选字段定义了无法正确进行语法分析的歧义语法。 同样在可选字段后指定必选记录定义了无法正确进行语法分析的歧义语法。

重新定义该平面文件模式以包含三个子字符串字段(其中,field1 为必选字段、field2 为可选字段、field3 为可选字段),将无法修正此问题,这是因为当对平面文件数据 A,C 进行语法分析时,field1 等于 A,field2 等于 C。模式语法再一次引起歧义,因为这不是所要的结果,所要的结果是:C 值应分配给 field3。指定一个必选记录后跟两个可选记录,也会定义歧义的语法。