Extensible Program Call Markup Language (XPCML) offers several valuable enhancements over PCML.
XPCML uses an XML schema to define program parameter types; PCML uses a data type definition (DTD). At parse time, the XML parser validates data values entered as parameters against the appropriate parameters as defined in the schema. Data types exist for parameters of many types: strings, integers, longs, and so on. This ability to specify and pass values for program parameters is a significant improvement over PCML. In PCML, you can verify values for parameters only after parsing the PCML document. Additionally, verifying parameter values in PCML often requires coding your application to perform the validation.
XPCML also provides the capability to retrieve program call results as XPCML. In PCML, you obtain program call results by calling one of the getValue methods of the ProgramCallDocument class after you make the call to the program. In XPCML, you can use the getValue methods, but you can also have your XPCML call a generateXPCML method, which returns the results of a program call as XPCML.
A new method of the ProgramCallDocument class, transformPCMLToXPCML, enables you to transform existing PCML documents to equivalent XPCML documents. This allows you to take advantage of new XPCML function without writing XPCML source for your existing iSeries program call documents.
XPCML is extensible which means you can define new parameter types that extend those specified by the XPCML schema. Condensing XPCML extends the XPCML schema to create new data type definitions that simplify and improve the readability and usability of your XPCML documents.