Advanced Options tab

The Advanced Options tab allows you to specify XML Schema generation properties, request and response XML converter behavior, and compiler-related preferences.

This tab contains the following fields:

  • In the Specify XML Schema generation properties group:

    Generate minimum hierarchy in XML Schemas
    This checkbox controls the message format of the generated XML schema and consequently the parsing and generation of XML in the XML converters. XML converters based on XML schemas having minimized hierarchies tend to have better performance.
    • Select this checkbox if you want the XML converters to be generated so as to use a reduced XML structure hierarchy, when a more detailed structure hierarchy is not needed to uniquely identify each element in the structure.

      When there are elements with the same tag name, the name of the element that occurs later in the document is prefixed with as many of its parent tags as are required produce a unique name. This method increases the efficiency of message processing clients and reduces the number and complexity of objects that need to be instantiated.

    • Clear this checkbox if you want the wizard to generate an XML schema that represents the full hierarchy of the language structure.
    Generate groups in XML Schemas
    This checkbox controls whether the XML converter includes groups in the generated XML schemas:
    • Select this checkbox if you want the XML converter to include groups in the generated XML schemas.
    • Clear this checkbox if you want the XML converter to include group "contents" inline instead of using group references. This option is useful for applications that do not support the use of groups and group references in XML schemas.
    Generate short complex type names
    The normal method for generating a complex type name is to concatenate the name of the group to the names of all the parents of the group, with an underscore character "_" after each name except the last.
    However, if this checkbox is selected, then a complex type name is generated by taking just the name of the group.
    For example, in this COBOL group:
    
    01 ServiceRequest.
      02 CommonHeader.
        05 HeaderType1.
          10 Element1         PIC X(10).
    
    the complex XML type name for the HeaderType1 element is:
    • servicerequest_commonheader_headertype1 if the checkbox is not selected.
    • HeaderType1 if the checkbox is selected.
    The shortening of complex type names allows for the generation of more compact client code (usually, Java™ class code) from the WSDL and XSD files containing the complex XML types.
    The setting of this checkbox has no effect on top-down or meet-in-middle scenarios.
    When shortening of a complex type name is attempted, a collision is possible if the short name of the type already exists as the result of a previously defined type for a group with an identical name but different parent group names. For example, in the following COBOL structure:
    
    01 ServiceRequest.
      02  CommonHeader.
        05  HeaderType.
          10  Element         PIC X(10).
      02  SpecificHeader.
        05  HeaderType.
          10  Element          PIC X(10).
    
    the type name of the HeaderType group under SpecificHeader collides with the type name of the HeaderType group under CommonHeader.
    In case of a collision all colliding names keep the original long type names. Thus, in this example, the resulting type names are:
    • servicerequest_commonheader_headertype and
    • servicerequest_specificheader_headertype.
    The short name for a complex type is formed by taking the name of the XML element that has that type, plus some possible modifications. The rules for forming short names are:
    1. Take the name of the XML element that has the type (such as HeaderType1).
    2. If the name starts with a character that is an invalid character for Java names (for example, a digit), it is prefixed with a double underscore "__".
    3. If a hyphen "-" is present in the original COBOL group name it is replaced with a single underscore "_".
    4. The case of the group name is preserved.
    For example, the following group:
    03 2-In--B.
       04 var2 blank zero pic 999.99.
    results in the shortened complex type name __2_In__B.
    Generate comments in XSD
    Selecting this checkbox causes the comments from the COBOL source code file to be generated as annotation documentation in the generated XSD and WSDL files (see Including COBOL source code comments in generated XSD and WSDL files)
    This option applies only to the bottom-up development scenario for generating a Web service, and applies only if you specify Compiled XML Conversion.
    Generate qualified XML elements in XML schemas
    This checkbox allows for generation of qualified XML elements in the XML schemas.

    This allows for the option to require all XML elements be qualified with a namespace and support generation of XML schemas that can be included in other schemas with lesser chance of namespace collision.

  • In the Specify XML to language structure converter behavior group:

    Validate the target namespace of the root XML element
    Select this checkbox to enable validation of the target namespace of the root element in XML documents. The target namespace of the root element can be found in the XML schema which defines it.
    Initialize language structure members before XML conversion
    Select the option to initialize all numeric and non-numeric data items to zeros and spaces respectively before XML is converted into the language structure.
    Use VALUE literals to initialize omitted data items
    Select this checkbox to enable initialization for data items in the request language structure that you have excluded from the Web service input data structure (see Initializing data items in the COBOL application's input data structure ).
    This option applies only to the bottom-up development scenario for generating a Web service, and applies only if you specify Compiled XML Conversion.
    Use VALUE literals to initialize empty data items
    Select this checkbox to enable initialization for data items in the request language structure that you have included in the Web service input data structure (see Initializing data items in the COBOL application's input data structure ).
    This option applies only to the bottom-up scenario for generating a Web service, and applies only if you specify Compiled XML Conversion.
  • In the Specify language structure to XML converter behavior group:

    Language data
    This option controls how the response runtime XML conversion program handles characters in the response COBOL data that are illegal in the XML 1.0 specification:
    • Select Filter characters illegal in XML 1.0 if you want the conversion program to scan both non-numeric and numeric data in the language structure and convert any character that is illegal in the XML 1.0 specification to an EBCDIC, ASCII, or UNICODE space (depending on the response code page).
    • Select Halt on characters illegal in XML 1.0 if you want the conversion program to scan both non-numeric and numeric data in the language structure and cause an exception if characters illegal in XML 1.0 are found.
    • Select Do not check for illegal characters if you want the conversion program not to check for characters that are illegal in the XML 1.0 specification.

    For more information see Options for handling illegal XML characters.