XSDBindSpec

使用 ServiceSpecification.xml 文档的此元素来指定本机或供应商 XML 绑定文件 (XSDBind 文件) 的生成属性。

XSDBind 文件用于在 CICS® Transaction Server V 5.2 和更高版本下安装 XML 变换资源 (XMLTRANSFORM)。 XMLTRANSFORM 资源由 $TAG1 CICS $TAG2 EXEC API , TRANSFORM XMLTODATA 和 TRANSFORM DATAOXML 使用。

XMLTRANSFORM 资源可用于对一个 XML 文档和一个数据结构执行双向 XML 变换 (DATATOXML 和 XMLTODATA)。 这与 WEBSERVICE 资源形成对比,在该资源中,对 XML 文档的变换可能与对数据结构的变换不同。

可以生成两种类型的 XSDBind 文件: 本机 XSDBind 和供应商 XSDBind。

下面显示了哪些生成属性与每个 XSDBind 文件类型相关联以及如何指定这些属性的示例。
本机 XSDBind (解释 XML 转换):
  • 特征:
    • CICS 使用内部机制执行 XML 转换
    • 在元素 'PlatformProperties.xml/CodegenPropertyArray/CodegenProperty/@name="com 上指定 @type="interpretive" .ibm.etools.xmlent.ui.GEN_CONVERSION_TYPE"
    • 在 ServiceSpecification.xml/EISProject/EISService/Operation 元素内包含 "MessageSpec"。

  • PlatformProperties.xml:
    <PlatformArray>
       <Platform>
          <CodegenPropertyArray>
             <CodegenProperty name="com.ibm.etools.xmlent.ui.GEN_CONVERSION_TYPE" 
                      value="interpretive"/>
           </CodegenPropertyArray>
       </Platform>
    </PlatformArray>
  • ServiceSpecification.xml (自底向上):
    <EISProject 
             xmlns="http:///com/ibm/etools/xmlent/batch/emf/BatchProcessModel.ecore" 
             name="CICSPROGProject">
       <EISService name="CICSPROG">
          <Operation>
             <MessageSpec  importFile="CICSPRG.cbl" importDirectory="."
                nativeTypeName="DFHCOMMAREA"/>
             <XseSpec>
                <XSDBindSpec fileName="CICSPROG.xsdbind" logFileName="CICSPRG.log"/>
             </XseSpec>
          </Operation>
       </EISService>
    </EISProject>
供应商 XSDBind (编译的 XML 转换):
  • 特征:
    • CICS 使用单服务项目工具生成的 XML 转换程序来执行 XML 转换。
    • 在元素 'PlatformProperties.xml/CodegenPropertyArray/CodegenProperty/@name="com 上指定 @type="compiled" .ibm.etools.xmlent.ui.GEN_CONVERSION_TYPE"
    • 在 ServiceSpecification.xml/EISProject/EISService/Operation 元素内包含 "MessageSpec"。
  • PlatformProperties.xml:
    <PlatformArray>
       <Platform>
          <CodegenPropertyArray>
             <CodegenProperty name="com.ibm.etools.xmlent.ui.GEN_CONVERSION_TYPE" 
                      value="compiled"/>
          </CodegenPropertyArray>
       </Platform>
    </PlatformArray>
  • ServiceSpecification.xml (自底向上):
    <EISProject 
          xmlns="http:///com/ibm/etools/xmlent/batch/emf/BatchProcessModel.ecore" 
          name="CICSPROGProject">
       <EISService name="CICSPROG">
          <Operation>
             <MessageSpec  importFile="CICSPRG.cbl" importDirectory="." 
                   nativeTypeName="FHCOMMAREA"/>
             <XseSpec>
                <DriverSpec fileName="CICSPRGD.cbl" driverType="XML_TRANSFORM_CICS"
                      programName="CICSPRG"/>
                <ConverterSpecIn  fileName="CICSPRGD.cbl" programName="BUP001"/>
                <ConverterSpecOut fileName="CICSPRGD.cbl" programName="BUP001"/>
                <XSDBindSpec fileName="CICSPROG.xsdbind"  logFileName="CICSPROG.log"
                      mappingLevel="VENDOR" minimumRuntimeLevel="VENDOR"/>
             </XseSpec>
          </Operation>
       </EISService>
    </EISProject>

包含于

包含

属性

表 1 显示了 XSDBindSpec的属性。

表 1. XSDBindSpec 的属性规范
字段 描述
属性: arithExtend
有效值: NO | YES
必需?:
缺省值: NO
控制映射到 COBOL 语言结构的包十进制变量长度的最大大小,如果设置为 YES,则将对 DECIMAL 和 INTEGER 类型使用 31 位数字。 如果设置为 NO (缺省值) ,那么位数保持为 18。 此选项在所有映射级别都可用。
属性: bundle
有效值: 请参阅描述
必需?:
缺省值:
指定捆绑软件目录的路径和名称。 如果指定此值,那么将在捆绑软件目录中生成 XML 模式 (必须在 XSDSpec 元素中指定) 和 XML 绑定文件,并且还会创建捆绑软件清单。 此参数上的路径信息将覆盖 XSDSpec fileName 属性和 XSDBindSpec fileName 属性上的任何路径信息。
属性: ccsid
有效值: 请参阅描述
必需?:
缺省值: 请参阅描述
指定在运行时用于在应用程序与 XML 绑定文件之间对数据进行编码的 CCSID。 此参数的值将覆盖 LOCALCCSID 系统初始化参数的值。 该值必须是 Java™ 和 z/OS® 转换服务支持的 EBCDIC CCSID。 如果未指定此参数,那么应用程序将使用系统初始化参数中指定的 CCSID ,并且 XML 绑定文件将以 US EBCDIC (Cp037) 编码。
属性: charVarying (EISService)
有效值: NO | NULL |
折叠 | BINARY
必需?:
缺省值: NULL 或折叠
(请参阅 "描述")
指定当映射级别为 1.2 或更高 时,应如何映射语言结构中的字符数组。
注: 该参数不适用于企业版和其他 PL/I 语言结构。
您可以选择的选项包括:
  • NO-字符数组映射到 xsd: string ,并作为固定长度字段进行处理。 数据的最大长度等于数组的长度。
  • NULL-字符数组映射到 xsd: string ,并作为以 null 结束的数组进行处理。 CICS 在从 XML 文档进行变换时添加终止空字符。 字符串的最大长度计算为比语言结构中指示的长度小一个字符。 此值是映射级别 1.2 和 2.0的缺省值。
  • 折叠-在将空格属性设置为 "折叠" 的情况下生成 XML 字符数据描述。 此值仅在 1.2 及更高级别的映射级别可用。 此值是映射级别 2.1 及更高版本的缺省值。
  • BINARY-语言结构中定义的任何字符数组都将映射到 WSDL 中的固定长度 xsd:base64Binary 字段,而不是映射到 xsd: string 字段。
必须元素:
  • PlatformProperties.xml/CodegenPropertyArray/CodegenProperty
    • @name= "CONVERSION_TYPE "
    • @value= "解释"
  • ServiceSpecification.xml/EISService
属性: charVarying
(EISServiceImplementation)
有效值: NO | NULL | YES
必需?:
缺省值: NO  
指定当映射级别为 1.2 或更高时如何映射可变长度字符数据。 可变长度二进制数据类型始终映射到容器或不同的结构。 如果未指定此参数,那么缺省映射取决于指定的语言。 您可以选择的选项包括:
  • NO-可变长度字符数据映射为固定长度字符串。
  • NULL-可变长度字符数据映射到以 null 结束的字符串。
  • 是 - 长度可变的字符数据在 PL/I 中被映射为 CHAR VARYING 数据类型。 在 COBOL、C 和 C++ 语言中,长度可变的字符数据被映射为由两个相关元素(数据长度和数据)组成的等价表示。
必需的批处理选项:
  • PlatformProperties.xml/CodegenPropertyArray/CodegenProperty

    @name= "CONVERSION_TYPE " @value=" 解释 "

  • ServiceSpecification.xml/EISService
属性: charVaryingLimit'
有效值: 参见描述
'必需?
缺省值: 32767
指定映射级别为 1.2 或更高时映射到语言结构的二进制数据和可变长度字符数据的最大大小。 如果字符或二进制数据大于此参数中指定的值,那么会将其映射到容器,并在生成的语言结构中使用容器名称。 该值的范围可以从 0 到缺省 32767 字节。
必需的批处理选项:
  • PlatformProperties.xml/CodegenPropertyArray/CodegenProperty

    @name= "CONVERSION_TYPE " @value=" 解释 "

  • ServiceSpecification.xml/EISService
属性: defaultCharMaxLength'
有效值: 参见描述
'必需?
缺省值: 255  
当映射级别为 1.2 或更高时,指定映射的字符数据的缺省数组长度 (以字符计) ,其中不包含任何长度 在 XML 模式中。 此参数的值可以是 1 到 2147483647 范围内的正整数。
必需的批处理选项:
  • PlatformProperties.xml/CodegenPropertyArray/CodegenProperty

    @name= "CONVERSION_TYPE " @value=" 解释 "

  • ServiceSpecification.xml/EISService
属性: fileName
有效值: 请参阅描述
必需?:
缺省值: 请参阅描述
指定输出文件的名称

缺省值为: 数据源文件名与 ". xsdbind" 并置

属性: inlineMaxOccursLimit'
有效值: 0 至 32767
'必填:
缺省值: 1
此属性等同于 CICS XML Assistant DFHLS2SC的 INLINE-MAXOCCURS-LIMIT 参数。 该值用于根据源 WSDL 中 maxOccurs 属性的值来决定是否直接插入变量重复内容。 完整说明可在 CICS Transaction Server V 5.3 IBM® 文档中找到,请参阅:
属性: logFileName'
有效值: 请参阅说明
'必需?
缺省值: 请参阅描述
指定由 XML 助手生成的日志文件的名称。 This attribute value is used only when the following is specified in thePlatformProperties.xml file:<CodegenPropertyname="comibm.etools.xmlent.ui. GEN_CONVERSION_TYPE "value = "之解释" />

缺省值为: fileName 与 ". log" 并置

属性: mappingLevel
有效值: 1.0 | 1.1 | 1.2 |
2.0 | 2.1 |2.2 | 3.0 | 4.0
Required?:
缺省值: 2.1
指定 CICS 和应用程序之间共享的编程接口的版本 (请参阅 CICS® Transaction Server for z/OS ,Version 5 Release 2 IBM 文档。 通常,最好指定可用的最高映射级别:
  • 在应用了 APAR PK23547 的 CICS TS 3.1 中支持将级别 1.0 映射到 1.2 。
  • 在应用了 APAR PK59794 的 CICS TS 3.2 中支持将级别 1.0 映射到 2.1 。
  • 在应用了 APAR PK69738 的 CICS TS 3.2 中支持将级别 1.0 映射到 2.2 。
  • CICS TS 4.1中支持将级别 1.0 映射到 3.0 。
  • 在 CICS TS 5.2 和 5.3中支持将级别 1.0 映射到 4.0 。

仅当为先前使用旧映射级别部署的 XML 变换资源重新生成 XML 绑定文件时,才建议使用旧映射级别。

1.0
这是 CICS 运行时缺省映射级别。 如需了解有关地图级别的更多信息,请参阅 CICS TS 4.1 文档: CICS 网络服务助手
1.1
如果需要在此特定级别重新生成绑定文件,请使用此映射级别。
1.2
此映射级别提供以下功能:
  • 它在首选项的 DFHLS2SC 选项卡上和 DFHSC2LS 选项卡上启用 CHAR-VARYING 参数。
  • 它支持 VARYING 和 VARYINGZ 阵列,
注: 映射级别 1.2 需要 APAR PK23547。
2.0
将此映射级别用于 CICS TS 3.2。

如需了解关于地图级别的更多信息, 请参阅 CICS TS 5.3 文档: CICS 助手的地图级别

2.1
将此映射级别用于具有 APAR PK59794 和更高版本的 CICS TS 3.2 。 在此级别,您可以使用以下功能:
  • INLINE-MAXOCCURS-LIMIT (在向导页面 DFHSC2LS上可用)

    选项 允许您决定是以内联方式映射可变重复内容还是使用基于容器的现有映射。 如需了解更多详情,请参阅: CICS 助手的分级

已添加对 xsd:any 和 xsd:anyType 支持(针对 DFHSC2LS ),请参阅: 对 xsd:any 和 xsd:anyType 的支持

2.2
将此映射级别与应用了 APAR PK69738 的 CICSS TS 3.2 区域配合使用。 映射级别 2.2 提供以下支持:
  • 具有固定值的元素
  • 增强了对<xsd:choice>元素
  • 抽象数据类型
  • 抽象元素
  • 替换组。
3.0
将此映射级别用于 CICS TS 4.1。
4.0
将此映射级别用于 CICS TS 5.2 和 5.3。
属性: mappingOverides
有效值: 请参阅描述
必需?:
缺省值: 请参阅描述
指定在生成语言结构时是否覆盖指定映射级别的缺省行为。

您可以选择的选项包括:

  • LESS-DUP-NAMES - 仅用于 PL/I。 此参数生成名称末尾带有 _value 的非结构结构字段名称,以允许直接引用该字段。 仅当结构名称与非结构名称之间存在名称冲突时,才会追加后缀 _value。
  • UNDERSCORES-AS-HYPHENS - 仅适用于 COBOL。 该参数将 WSDL 文档中的下划线转换为连字符,而不是 X 字符,以提高生成的 COBOL 语言结构的可读性。 如果发生任何字段名称冲突,那么将对这些字段进行编号以确保它们是唯一的。
属性: minimumRuntimeLevel'
有效值: MINIMUM | '
33.0 4.0CURRENT '
'必需?
缺省值: MINIMUM
指定可以将 XML 绑定文件部署到的最低 CICS 运行时环境。 如果选择的级别与指定的其他参数不匹配,那么将显示错误消息。
MINIMUM
如果指定了参数,那么将自动分配 CICS 的最低可能运行时级别。
3.0
生成的 XML 绑定文件成功部署到 CICS TS 4.1
4.0
生成的 XML 绑定文件成功部署到 CICS TS 5.2 和 5.3
CURRENT
生成的 XML 绑定文件成功部署到具有最高可用运行时级别的 CICS 区域中,因为您正在使用该文件来生成 XML 绑定文件
属性: nameTruncation
有效值: RIGHT | LEFT
必需?:
缺省值: right
指定如果生成的字段名称太长而无法在指定的高级语言中使用,那么如何缩短该字段名称。 此选项在所有映射级别都可用。
RIGHT
将从右侧截断字段名称,必要时将添加数字后缀。
LEFT
字段名称从左侧截断,如果需要,将添加数字后缀。
属性: vendorConverterName'
有效值: 参见描述
'必填:
缺省值: 请参阅描述
指定主程序项的程序名。

默认值为DriverSpec/@fileName

属性: dateTime
有效值: 请参阅描述
必需?:
缺省值: 请参阅描述

指定如何将 xsd:dateTime 类型的 XML 元素映射为 CICS ASKTIME 格式。 此属性仅对 CICS 解释转换类型有效。 如果为 "供应商 (已编译)" 转换类型指定了该值,那么将忽略该值。

此属性仅在映射级别 3.0 及更高版本上有效。

如果在自顶向下方案中指定了此属性 (即在 EISServiceImplementation中指定了 XSDBindSpec ) ,那么有效值为:
  • PACKED15 (缺省值)

    或者

  • STRING
如果在自底向上 (即,在 EISService 中指定了 XSDBindSpec ) 中指定了此属性,那么有效值为:
  • 未用 (缺省值)

    或者

  • PACKED15
属性: dataTruncation
有效值: DISABLED | ENABLED
必需?:
缺省值: DISABLED
指定 CICS 本机转换机制如何处理截断的数据:
  • 如果设置为 ENABLED ,那么 CICS 允许截断应用程序数据,并假定缺失数据设置为空。
  • 如果设置为 DISABLED ,那么 CICS 将拒绝截断的数据并发出错误消息。
注: 仅在映射级别 3.0 及更高版本上支持 ENABLED 设置。

相关参考

CICS 网络服务助理:
CICS 网络服务助理

示例

<XSDBindSpec fileName="CICSPROG.xsdbind"
         mappingLevel="VENDOR" logFileName="CICSPROG.log" ccsid="37" 
         minimumRuntimeLevel="VENDOR">
</XSDBindSpec>