分组示例

关于此任务

此示例显示了一个使用组来解析重复记录集的平面文件模式。每个重复记录集都包含不同类型的记录(如以下示例输入平面文件数据所示):

图 1. 示例输入平面文件

在此示例数据中,第一、第二和第三个重复记录集各自包含不同类型的记录。此外,此示例还显示了如何在平面文件模式中使用存储在类型库选项卡中的类型。在此示例中,您可以查看和测试现有平面文件模式,而不是从头开始创建平面文件模式。

要打开、查看和测试用于解析图 1 中所示输入数据的平面文件模式:

过程

  1. 在此示例中,已在 FlatFileSchemasExample 项目中构建了平面文件模式。要查看该平面文件模式,必须先抽取 FlatFileSchemasExample 项目:
    1. 查找在 Studio 中定义的缺省创建路径,即新项目的创建目录。要查看当前缺省创建路径,请从 Studio 工具栏菜单中选择文件 > 首选项...。这样会打开“首选项”对话框。当前缺省创建路径显示在窗格底部。缺省情况下,缺省创建路径位于以下目录中:

      C:\Documents and Settings\myLogin\My Documents

      其中的 myLogin 表示您的 Windows 登录名。

    2. 查找 FlatFileSchemasExample.zip 文件,该文件包含用于构成 FlatFileSchemasExample 项目的文件。 如果已在 Studio 安装期间接受缺省值,那么此文件位于以下目录中:

      C:\Program Files\IBM\WebSphere Cast Iron Studio 3.X\Samples\FlatFileSchema

    3. FlatFileSchemasExample.zip 文件从 FlatFileSchema 目录复制到缺省创建路径目录。
    4. FlatFileSchemasExample.zip 文件的内容抽取到缺省创建路径目录中。
  2. 打开 FlatFileSchemasExample 项目:
    1. Studio 工具栏菜单中选择文件 > 打开项目... 这样会显示“打开”对话框。
    2. 浏览并打开 FlatFileSchemasExample 目录。
    3. 单击 FlatFileSchemasExample.sp3 文件,然后单击打开 这样会显示项目。
  3. 打开预构建的 vegPO 平面文件模式。在项目选项卡的平面文件模式文件夹中,双击 vegPO 平面文件模式。这样会在模式布局选项卡中显示 vegPO 平面文件模式的节点,并且会在右窗格中显示 vegPO 根节点的属性。
  4. 测试 vegPO 平面文件模式:
    1. 在测试窗格中,单击浏览 这样会打开“打开样本测试数据文件”对话框。
    2. 浏览查找包含输入数据的 vegPO.txt 文件。如果已在 Studio 安装期间接受缺省值,那么此文件位于以下目录中:

      C:\Program Files\IBM\WebSphere Cast Iron Studio 3.X\Samples\FlatFileSchema

    3. 单击打开 这样会在测试选项卡的左窗格中显示 vegPO.txt 文件中的输入数据。
    4. 单击测试 (“测试”图标) 图标。在“结果”窗格中,将以 XML 数据形式显示转换结果。
  5. 模式布局选项卡中,单击 vegPO 根节点。这样会显示具有以下属性的 vegPO 根节点:
    1. 结构属性等于定界式 - 根节点的结构为定界式结构。
    2. 子定界符等于行末 - 子记录采用行末定界符。
    3. 子定界符位置等于之后 - 期望每条记录后面都有定界符
    4. 重复定界符等于行末 - 重复记录也采用行末定界符。
  6. 模式布局选项卡中,单击 orderingStore 节点。这样会在测试窗格中突出显示第一行输入数据,如下图所示:
    VegPO 头图

    vegPO 平面文件模式的第一条记录是名为 orderingStore 且只会出现一次的头记录。在模式布局选项卡中,用于构成 orderingStore 记录的字段和记录将以子代形式显示。这第一行将被解析为构成 orderingStore 记录的字段和记录。

    重复元素集将从第一条头记录之后开始。每个重复元素集都包含三条不同类型的子记录,如下图所示:

    显示了一个包含三条不同类型子记录的重复元素集的 VegPO。

    包含三条不同类型子记录的重复记录可在“平面文件模式编辑器”中使用组进行建模。仅当数据未提供任何其他定界符或结构以清楚标记包含多条记录的重复内容的开头和结尾时,才需要使用组。重复内容的定界符继承自父记录或根节点。在 vegPO 根节点的这一示例中,重复定界符被设置为行末符。订单组节点将使用行末定界符来解析其重复记录

  7. 模式布局选项卡中,单击订单组节点。请注意窗格中的以下图形变化。
    • 在测试窗格的左侧子窗格中,头行之后的所有行都将突出显示。这种突出显示表明在完成解析之后第一条记录后面的所有数据都已被分配到订单组节点中。
    • 在“基本属性”窗格中,订单组的出现次数无限。 此设置意味着该组可以有一个或多个实例。
    • 在“基本属性”窗格中,“订单”组的类型等于订单。 此设置意味着“订单”组基于订单组类型。订单组类型的内容和属性可在类型库选项卡中进行定义。
  8. 选择类型库选项卡。这样会显示 vegPO 平面文件模式中所用的记录类型和组类型。订单组类型包含三条记录,如下图所示:
    vegPO 订单组

    以下图标表示基于记录类型的记录:

    “基于类型的记录”图标。

    由于具有以下特征,因此采用订单组类型的订单组可以定义一个由不同记录构成的重复记录集:

    • 可以有一个到多个订单组实例。
    • 订单组类型包含三条不同类型的记录。
    • 订单组基于或继承自订单组类型。
    下图中显示了订单组和订单组类型间的重复关系:
    vegPO 重复模式
  9. 类型库选项卡中,单击订单组类型的标识记录节点。请注意窗格中的以下图形变化。
    • 在“基本属性”窗格中,标识记录的类型等于名为订单标识的记录类型。此设置意味着标识记录基于订单标识记录类型。
    • 在测试窗格的左侧子窗格中,每条重复记录的第一行都会突出显示,如下图所示:
      VegPO 测试标识
      这种突出显示表明每条重复记录的第一行都已被分配到标识记录中。
  10. 类型库选项卡中,单击订单组类型的装运日期记录节点。请注意窗格中的以下图形变化。
    • 在“基本属性”窗格中,装运日期记录的类型等于名为装运日期的记录类型。此设置意味着装运日期记录基于装运日期记录类型。
    • 在“基本属性”窗格中,装运日期记录的结构位置式。此设置意味着装运日期记录的子字段将由其在记录中的位置和长度(而非定界符)来确定。
    • 在测试窗格的左侧子窗格中,每条重复记录的第二行都会突出显示,如下图所示:
      表明每条记录的第二行(装运日期行)都会突出显示的图。
      这种突出显示表明每条重复记录的第二行都已被分配到装运日期记录中。装运日期记录包含继承自装运日期记录类型的三个位置子字段()。
  11. 类型库中,单击装运日期记录类型的字段节点。 在测试窗格的左侧子窗格中,分配给字段的值将突出显示,如下图所示:
  12. 类型库中,单击订单组类型的目录记录节点。请注意窗格中的以下图形变化。
    • 在“基本属性”窗格中,目录记录的类型等于名为订单目录的记录类型。此设置意味着目录记录基于订单目录记录类型。
    • 在测试窗格的左侧子窗格中,每条重复记录的第三行都会突出显示,如下图所示:
      显示重复记录的第三行(显示蔬菜名称和以磅为单位的重量)会突出显示的图。
      订单目录记录类型包含蔬菜记录。蔬菜记录包含重复蔬菜记录集。蔬菜记录包含名称字段和磅数字段。
  13. 类型库中,单击订单目录记录类型的名称记录节点。在测试窗格的左侧子窗格中,分配给名称字段的值将突出显示,如下图所示:
    此图显示分配给“名称”字段的值会突出显示。