XML stands for eXtensible Markup Language. XML is a flexible, open and powerful way to help you exchange information among diverse platforms and applications, geographic boundaries and businesses. XML is widely touted as a key component in the solution to the problem of information exchange between applications and within BtoB environments. XML is simple, extensible and, best of all, nonproprietary.
In order for your applications to work with XML content, you need an XML parser. An XML parser is a set of APIs that assist in the creation, navigation (retrieval) or modification of XML document content. Ideally, you want to find an XML parser interface that accommodates your application language of choice. IBM i applications are typically written in RPG IV, ILE COBOL, ILE C, ILE C++, Java or CL.
XSL stands for Extensible Stylesheet Language (XSL) and allows you to format and re-organize existing XML documents into a different format (e.g., XML or HTML).
You can use XSL (in Java or C++) to reformat an XML file to specify the how the data is to be presented on the web via XSLT stylesheets. You can also write XSLT stylesheets to reorganize an XML document to remove or add elements or to simply change it into another XML document. XSLT stylesheets are written in XML to achieve this.
XML Toolkit for IBM i (5733XT1) and it's follow-on product XML Toolkit for IBM i (5733XT2) provides this key application enabling component, XML parsers, to assist you in using XML for general application or business-to-business (BtoB) solutions. This toolkit for C++, RPG, COBOL and C languages. In addition, XSL provides the capability to format and re-organize existing XML documents using either C or C++ languages. These XML parsers and XSL transformers are based on cross-platform, Apache open-source code that is compliant with the World Wide Web Consortium (W3C) XML industry standards. Also included in the XML Toolkit is XML Scripting for IBM i, which provides an XML based build tool.
The XML Toolkit for i includes software developed by the Apache Software Foundation (link resides outside of ibm.com), of which IBM is a key contributor. This latest offering of XML Toolkit parsers is consistent with Apache Software Foundation's Xerces-C 2.6 with fixes and Xalan-C 1.10. In addition, this offering of the XML Toolkit will also continue to provide previously supported XML parsers. The Apache code name for XML parsers is Xerces and for the XSL transformer is Xalan.
Although an XML parser or XSL transformer for Java is not included as part of the XML Toolkit, XML for Java parsers and XSL for Java transformers are still available for use on IBM i. XML Scripting for IBM i version 1.0 includes C++ code that used Apache Software Foundation's Ant version 1.5.4 written in Java as a base.
Development shops using XML Toolkit for IBM i (5733XT1), will need to upgrade to the most current version of the toolkit, XML Toolkit for IBM i (5733XT2) when moving to IBM i 6.1. Earlier versions (XT1) will not be supported at i 6.1.
Migration from XT1 to XT2 could be as simple as recompiling their application, but it depends on what version of the parser is currently being used in XT1. For example, the oldest parser in XT1 is version 4.0. Migrating from the 4.0 parser to any 5.0+ parser requires code changes. Migration information is contained in the documentation shipped with the XML Toolkit. The easiest way to tell whether code changes are required is to look at the documentation to determine the types of changes that have been made to the parsers. For example, if XT2 is installed, the documentation for the 5.6.3 C++ parser can be located on the IBM i system in the IFS directory: /qibm/proddata/xmltoolkitv6/xml5_6_3/doc/xml4c. The index.html file is a good place to start. There's a link off that page to the Migration Guide. Or from the IFS directory listed above, it is possible to go directly to the Migration Guide via the migrate.html file.
Another change when moving from XT1 to XT2 is that the IBM Web Services Client for C++ (based on the Apache Axis C++ client), which is used for building Web Services client applications requiring SOAP/HTTP messaging in C++ environments, is not longer packaged with the XML Toolkit. Instead, the Web Services Client for C++ will be available in the IBM i operating system.
See Components for information about the various features of the XML Toolkit for IBM i.