为 COBOL XML 转换器设置首选项

要为 COBOL XML 转换器设置首选项,请打开企业服务工具首选项中的 COBOL XML 转换器页面。

这些首选项会影响 单服务项目,包括:
  • CICS® Web Service
  • JSON 服务 forCICS 项目
  • XML Transformation for CICS
  • IMS Enterprise Suite SOAP Gateway
  • 批处理, TSO , z/OS® UNIX System Services

这些首选项会影响企业服务工具中单一服务向导生成的运行时 XML 转换程序如何在服务请求和响应中使用的 XML 格式与 COBOL 使用的高级语言数据结构之间转换数据:

要设置运行时 XML 转换程序的生成首选项,请执行以下操作:
  1. 在 "首选项" 窗口的左侧窗格中,选择 企业服务工具
  2. 更改首选项:
    1. 下表描述了 基本 选项卡上的首选项:
      首选项: 此首选项的影响:
      转换器程序名前缀 该输入字段指定了每个生成的 COBOL 程序的 IDENTIFICATION DIVISION 中包含的程序名称的词干。 例如,如果输入 ACCT ,那么向导将输入转换器程序标识为 ACCTI ,输出转换器程序标识为 ACCTO ,驱动程序标识为 ACCTD
      作者姓名 该输入字段指定了要包含在每个生成的 COBOL 程序的 AUTHOR 段落中的字符串。
      请求代码页 此列表框指定要用于对 request XML 消息进行编码的代码页。
      主机代码页 此列表框指定 z/OS 主机系统使用的代码页。
      响应代码页 此列表框指定要用于对 response XML 消息进行编码的代码页。
      小数点是逗号 此复选框控制如何在数字字符串中解释逗号和句点字符:
      • 选中此复选框时:
        • 逗号解释为小数点。
        • 句点解释为千位分隔符。
      • 清除此复选框 (这是缺省设置) 时:
        • 逗号解释为千位分隔符。
        • 句点解释为小数点。
  3. 高级 选项卡上的首选项如下所示:
    • 指定 XML 模式生成选项 组中:

      在 XML 模式中生成最小层次结构
      此复选框控制生成的 XML 模式的消息格式,从而控制 XML 转换器中 XML 的解析和生成。 基于具有最小化层次结构的 XML 模式的 XML 转换器通常具有更好的性能。
      • 如果希望生成 XML 转换器以便在不需要更详细的结构层次结构来唯一地标识结构中的每个元素时使用缩小的 XML 结构层次结构,请选中此复选框。

        如果存在具有相同标记名称的元素,那么稍后在文档中出现的元素的名称将以生成唯一名称所需的其父标记数作为前缀。 此方法可提高消息处理客户机的效率,并降低需要实例化的对象的数量和复杂性。

      • 如果希望向导生成表示语言结构完整层次结构的 XML 模式,请清除此复选框。
      在 XML 模式中生成组
      此复选框控制 XML 转换器是否在生成的 XML 模式中包含组:
      • 如果 您希望 XML 转换器在生成的 XML 模式中包含组,请选中此复选框。
      • 如果希望 XML 转换器包含内联组 "内容" ,而不是使用组引用,请清除此复选框。 对于不支持在 XML 模式中使用组和组引用的应用程序,此选项很有用。
      生成简短的复杂类型名称
      生成复杂类型名称的正常方法是将组的名称与组的所有父代的名称并置,在除最后一个名称以外的每个名称后使用下划线字符 "_"。
      但是,如果选中此复选框,那么将仅采用组的名称来生成复杂类型名称。
      例如,在这个 COBOL 小组中:
      
      01 ServiceRequest.
        02 CommonHeader.
          05 HeaderType1.
            10 Element1     PIC X(10).
      
      HeaderType1 元素的复杂 XML 类型名称为:
      • servicerequest_commonheader_headertype1 (如果未选中该复选框)。
      • HeaderType1 (如果选中此复选框)。
      通过缩短复杂类型名称,可以从包含复杂 XML 类型的 WSDL 和 XSD 文件生成更紧凑的客户机代码 (通常为 Java™ 类代码)。
      此复选框的设置不会影响自顶向下或中间的场景。
      尝试缩短复杂类型名称时,如果由于先前为具有相同名称但父组名不同的组定义的类型而导致该类型的短名称已存在,那么可能会发生冲突。 例如,在以下 COBOL 结构中:
      
      01 ServiceRequest.
        02 CommonHeader.
          05 HeaderType.
            10 Element         PIC X(10).
        02 SpecificHeader.
          05 HeaderType.
            10 Element         PIC X(10).
      
      SpecificHeaderHeaderType 组的类型名称与 CommonHeaderHeaderType 组的类型名称冲突。
      如果发生冲突,那么所有冲突名称将保留原始长类型名称。 因此,根据此示例, 生成的类型名称为:
      • servicerequest_commonheader_headertype 以及
      • servicerequest_specificheader_headertype.
      复杂类型的短名称通过采用具有该类型的 XML 元素的名称以及一些可能的修改来构成。 构成短名称的规则如下:
      1. 采用具有类型 (例如 HeaderType1) 的 XML 元素的名称。
      2. 如果名称以对于 Java 名称无效字符 (例如,数字) 的字符开头,那么会以双下划线 "__" 作为前缀。
      3. 如果 COBOL 原始组名中有连字符"-",则用单个下划线"_"代替。
      4. 保留组名的大小写。
      例如,以下组:
      03 2-In--B.
         04 var2 blank zero pic 999.99.
      生成缩短的复杂类型名称 __2_In__B
      生成 XSD 注释
      选中此复选框可将 COBOL 源代码文件中的注释生成为生成的 XSD 和 WSDL 文件中的注释文档(请参阅在生成的 XSD 和 WSDL 文件中包含 COBOL 源代码注释
      此选项仅适用于用于生成 Web Service 的自底向上开发方案,并且仅当您指定 "编译的 XML 转换" 时适用。
      在 XML 模式中生成限定 XML 元素
      此复选框允许在 XML 模式中生成合格的 XML 元素。

      这允许该选项要求使用名称空间限定所有 XML 元素,并支持生成可包含在其他模式中的 XML 模式,但发生名称空间冲突的可能性较小。

    • 指定请求 XML 转换器行为 组中:

      验证根元素名称空间名称
      选中此复选框以启用对 XML 文档中根元素的目标名称空间的验证。 可以在定义根元素的 XML 模式中找到该元素的目标名称空间。
      使用 VALUE 文字来对省略的数据项进行初始化
      选中此复选框可以对已从 Web 服务输入数据结构中排除的请求语言结构中的数据项启用初始化(请参阅初始化 COBOL 应用程序的输入数据结构中的数据项 )。
      此选项仅适用于用于生成 Web Service 的自底向上开发方案,并且仅当您指定 "编译的 XML 转换" 时适用。
      使用 VALUE 文字来对空数据项进行初始化
      选择该复选框可启用请求语言结构中的数据项初始化,这些数据项已包含 在 Web 服务输入数据结构中(请参阅初始化 COBOL 应用程序输入数据结构中的数据项 )。
      此选项仅适用于用于生成 Web Service 的自底向上方案,并且仅在指定 "编译的 XML 转换" 时适用。
    • 指定响应 XML 转换器行为 组中:

      语言数据
      该选项控制响应运行时 XML 转换程序如何处理响应 COBOL 数据中在 XML 1.0 规范中不合法的字符:
      • 如果希望转换程序扫描语言结构中的非数字和数字数据,并将 XML 1.0 规范中非法的任何字符转换为 EBCDIC , ASCII 或 UNICODE 空间 (取决于 响应 代码页) ,请选择 XML 1.0 中的过滤器字符非法
      • 如果希望转换程序扫描语言结构中的非数字和数字数据,并在 XML 1.0 中找到非法字符时导致异常,请选择 在 XML 1.0
      • 如果您希望转换程序不检查 XML 1.0 规范中的非法字符,请选择 不检查非法字符

      更多信息请参阅处理非法XML字符的选项

    • 指定与编译器相关的首选项 组中:
      优化
      选择 COBOL 编译器是否启用优化选项。 选中复选框后, COBOL 编译器将使用优化技术从 COBOL 源代码生成运行时代码。

      如果要调试 COBOL 源代码中的编译错误,最好清除该复选框并重新编译。 在未开启优化的情况下,更容易确定 COBOL 源代码的哪一部分导致了错误。

      指定 Enterprise COBOL 编译器版本
      选择要使用的 COBOL 编译器版本。
  4. 完成上述步骤后单击确定