【问题标题】:String length in COBOL copybooksCOBOL 字帖中的字符串长度
【发布时间】:2013-10-30 00:54:54
【问题描述】:

我正在使用托管在 Mainframe 上的 Java Web 服务,我们正在为其生成 Copybook 文件。我有一个包含字符串字段的复杂类型的 XSD。我想将字符串字段的长度指定为 1024。目前,它正在生成 PIC X(255) 类型的元素,长度为 255 个字符。如何绕过将其更改为 1024?

复杂类型:

<xs:complexType name="GetPatientResponse">
    <xs:sequence>
        <xs:element minOccurs="1" name="message" type="xs:string"/>
    </xs:sequence>
</xs:complexType>

生成的字帖:

protected static StringField MESSAGE factory.getStringField(255);

不幸的是,其余代码位于安全网络中,我不允许将其复制出来。任何帮助表示赞赏。谢谢!

编辑:我尝试了建议的解决方案并且它有效。但是文本现在包含很多空格。很抱歉之前没有提到这一点 - 我是介于 0 到 1024 个字符之间的字符串。我只尝试了 maxLength,但它为我抛出了 LENGTH_TOO_LONG CICS 错误。如果需要更多信息来提出解决方案,请告诉我。谢谢!

【问题讨论】:

    标签: java xsd cobol copybook


    【解决方案1】:

    添加属性minLength="1024"maxLength="1024"

    【讨论】:

    • 我收到一个错误“属性 minLength 不能添加到元素”。 maxLength 也有同样的错误。
    • 您可能必须使用这些属性定义从xs:string 派生的类型。很久没有做任何 XML 架构工作了,抱歉。
    【解决方案2】:

    这就是你需要的。

    <xs:complexType name="GetPatientResponse">
      <xs:sequence>
        <xs:element name="message" minOccurs="1">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="1024" />
              <xs:minLength value="1024" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
    

    【讨论】:

      猜你喜欢
      • 2017-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-06
      相关资源
      最近更新 更多