XML data types derived from Enterprise PL/I data types

This topic describes how the PL/I-to-XML converter generators derive XML schema data types from Enterprise PL/I for z/OS® data types.

Note: PL/I XML converter does not support PICTURE data type with the currency symbol.

Table 1. PL/I to XML type derivation, Fixed Binary and Unsigned Fixed Binary
PL/I Type Corresponding XSD Type
Fixed Binary (n)
      where  n <= 7
<xsd:simpleType>
   <xsd:restriction base="xsd:byte"/>
<xsd:simpleType>
Fixed Binary (n)
      where  8 <= n <= 15
<xsd:simpleType>
    <xsd:restriction base="xsd:short"/>
</xsd:simpleType>
Fixed Binary (n)
      where  16 <= n <= 31
<xsd:simpleType>
    <xsd:restriction base="xsd:int"/>
</xsd:simpleType>
Fixed Binary (n)
      where  32 <= n <= 63
<xsd:simpleType>
    <xsd:restriction base="xsd:long"/>
</xsd:simpleType>
Unsigned Fixed Binary (n)
      where  n <= 8
<xsd:simpleType>
    <xsd:restriction base="xsd:unsignedByte"/>
</xsd:simpleType>
Unsigned Fixed Binary (n)
      where  9 <= n <= 16
<xsd:simpleType>
    <xsd:restriction base="xsd:unsignedShort"/>
</xsd:simpleType>
Unsigned Fixed Binary (n)
      where  17 <= n <= 32
<xsd:simpleType>
    <xsd:restriction base="xsd:unsignedInt"/>
</xsd:simpleType>
Unsigned Fixed Binary (n)
      where  33 <= n <= 64
<xsd:simpleType>
    <xsd:restriction base="xsd:unsignedLong"/>
</xsd:simpleType>

 

Table 2. PL/I to XML type derivation, Binary Float and Decimal float
PL/I Type Corresponding XSD Type
Binary Float  (n)
      where  n <= 21
<xsd:simpleType>
    <xsd:restriction base="xsd:float"/>
</xsd:simpleType>
Binary Float (n)
      where  22 <= n <= 53
<xsd:simpleType>
    <xsd:restriction base="xsd:double"/>
</xsd:simpleType>
Decimal Float  (n)
      where  n <= 6
<xsd:simpleType>
    <xsd:restriction base="xsd:float"/>
</xsd:simpleType>
Decimal Float (n)
      where  7 <= n <= 16
<xsd:simpleType>
    <xsd:restriction base="xsd:double"/>
</xsd:simpleType>

 

Table 3. PL/I to XML type derivation, Fixed Decimal
PL/I Type Corresponding XSD Type
Fixed Decimal  (n, m)
<xsd:simpleType>
    <xsd:restriction base="xsd:decimal">
        <xsd:totalDigits value="n"/>
        <xsd:fractionDigits value="m"/>
    </xsd:restriction>
</xsd:simpleType>

 

Table 4. PL/I to XML type derivation, Pic
PL/I Type Corresponding XSD Type
Pic  '(n)9'
Pic  '(n)A'
Pic  '(n)X'
Note: PICTURE data type with the currency symbol is not supported.
<xsd:simpleType>
    <xsd:restriction base="xsd:string">
        <xsd:length value="n"/>
    </xsd:restriction>
</xsd:simpleType>

 

Table 5. PL/I to XML type derivation, Bit, Character, Graphic, Widechar
PL/I Type Corresponding XSD Type
Bit (n)

where n is a multiple of 8. Other values are not supported.

<xsd:simpleType>
    <xsd:restriction base="xsd:hexBinary">
        <xsd:length value="m"/>
    </xsd:restriction>
</xsd:simpleType>
where m = n/8
Character (n)
<xsd:simpleType>
    <xsd:restriction base="xsd:string">
        <xsd:maxlength value="n"/>
    </xsd:restriction>
</xsd:simpleType>
Graphic (n)
Widechar  (n)
<xsd:simpleType>
    <xsd:restriction base="xsd:hexBinary">
        <xsd:length value="m"/>
    </xsd:restriction>
</xsd:simpleType>
where m = 2*n