Rational Developer for System z

Compatibility: Enterprise PL/I structures

This topic describes the compatibility of structures in Enterprise PL/I for z/OS® with XML structures.

Compatibility is supported for mapping elementary PL/I structures to simple XML structures. Table 1 shows examples of compatible items:

Note: The current mapping editor cannot perform the mapping from or to a PL/I multidimensional array element.
Table 1. Examples of compatible items
PL/I structure: Sample compatible XML structure:
PL/I Structure:
2 SimpleStructure,
  3 DEPOSIT_REQUEST1 CHAR; 
  <complexType name="structures_simplestructure">
    <sequence>
      <element name="DEPOSIT_REQUEST1">
        <simpleType>
          <restriction base="string">
            <maxLength value="1"/>
          </restriction>
        </simpleType>
      </element>
    </sequence>
  </complexType>
PL/I Nested Structures:
2 NestedStructure,
    3 SimpleItem FIXED BIN(15),
    3 NestingStructure1,
       5 DEPOSIT_REQUEST2 CHAR,
       5 Action_Code2 FIXED BIN(15);
  <complexType name="structures_nestedstructure">
    <sequence>
      <element name="SIMPLEITEM">
        <simpleType>
          <restriction base="short"/>
        </simpleType>
      </element>
      <element name="NESTINGSTRUCTURE1" 
         type="pli:structures_nestedstructure_nestingstructure1"/>
    </sequence>
  </complexType>
  <complexType name="structures_nestedstructure_nestingstructure1">
    <sequence>
      <element name="DEPOSIT_REQUEST2">
        <simpleType>
          <restriction base="string">
            <maxLength value="1"/>
          </restriction>
        </simpleType>
      </element>
      <element name="ACTION_CODE2">
        <simpleType>
          <restriction base="short"/>
        </simpleType>
      </element>
    </sequence>
  </complexType>
PL/I one dimensional array:
3 SimpleArray(-2:3) FIXED BIN(31);
<element maxOccurs="6" minOccurs="6" name="SIMPLEARRAY">
        <simpleType>
          <restriction base="int"/>
        </simpleType>
      </element>
PL/I multiple dimensional array:
Note: Not currently supported in mapping editor.
3 MultiArray(-2:3, -1:1, 3)
   FIXED BIN(31);
<complexType name="STRUCTURES">
   <sequence>
      <element maxOccurs="6" minOccurs="6" name="MULTIARRAY"
         type="pli:ArrayOfArrayOfStructures_multiarray"/>
   </sequence>
</complexType>
<complexType name="ArrayOfArrayOfStructures_multiarray">
   <sequence>
      <element maxOccurs="3" minOccurs="3" 
         name="ArrayOfArrayOfStructures_multiarray" 
         type="pli:ArrayOfStructures_multiarray"/>
   </sequence>
</complexType>
<complexType name="ArrayOfStructures_multiarray">
   <sequence>
      <element maxOccurs="3" minOccurs="3" 
         name="ArrayOfStructures_multiarray">
         <simpleType>
            <restriction base="int"/>
         </simpleType>
      </element>
   </sequence>
</complexType>

Feedback