gtpm2m2xMigration Guide: Program Update Tapes

XML Parser (APAR PJ27634)

The following section discusses the migration considerations for the XML parser.

Note:
The XML parser (APAR PJ27634) is replaced by XML4C Parser 3.5.1 (APAR PJ28176) shipped on PUT 16. See XML4C Parser 3.5.1 (APAR PJ28176) for more information about XML4C Parser 3.5.1 migration considerations.

Prerequisite APARs

There are no prerequisite APARs.

Functional Overview

The XML parser allows you to read (parse) Extensible Markup Language (XML) data on the TPF 4.1 system. XML is a markup language that combines the power of Standard Generalized Markup Language (SGML) and the simplicity of Hypertext Markup Language (HTML). XML allows you to mark up data based on what information the data contains rather than on how it is to be rendered. Data marked up in XML is easy to share across various platforms and across various companies. For more information about the XML specification, go to http://www.w3.org/.

The XML parser is the XML Parser for C++ (XML4C) Version 3.1.2 ported to the TPF 4.1 system. The parser is XML Version 1.0 compliant and allows TPF 4.1 applications written in C++ language to do the following:

Applications on the TPF 4.1 system interact with XML documents that are in the file system, coming in through standard input (stdin) or residing in memory. This interaction is made possible through application programming interfaces (APIs) specified by either the DOM or SAX specifications and can be either nonvalidating or validating against a DTD. The API definitions are contained within a set of header files that application programmers will need to have in their #include (or search) path. See General Use C/C++ Language Header Files for more information about these header files.

The TPF information for XML parser is exclusively online. Go to XML on TPF: An Online User's Guide for more information. See Publication Changes for more information about XML parser written information.

Architecture

IBM contributed the XML4C parser to the Apache XML Project (http://xml.apache.org) as open source in November 1999. The XML Parser for C++ (XML4C) Version 3.1.2 is based on Xerces-C Version 1.1 and is fully compliant with the Unicode 3.0 specification. While the Apache Xerces-C parser can be updated by the open source community, the XML4C parser is maintained only by IBM and may differ slightly from the Xerces-C parser.

Operating Environment Requirements and Planning Information

There are none.

Interface Changes

The following section summarizes interface changes.

C/C++ Language

The following section summarizes C/C++ language changes. This information is presented in alphabetic order by the type of C/C++ language information. See the TPF C/C++ Language Support User's Guide and TPF Application Programming for more information about the C/C++ language.

Build Scripts

There are no changes.

Dynamic Load Module (DLM) Stubs

There are no changes.

General Use C/C++ Language Header Files

The ported XML4C parser code provides a set of header files (or #include files) that are needed for applications that use the XML4C parser to access XML data. These header files are included with APAR PJ27634 and must be copied into a directory accessible by application programmers. (Application programmers are instructed to concatenate the directory that contains these header files in their #include path.)

When copying the XML4C header files to your system, ensure that you retain the directory structure in which they reside. The following shows the directory structure for the files (note that there are many header files in each directory):

+--------------------------------------------------------------------------------+
|include                                                                         |
|    |- dom                                                                      |
|    |- framework                                                                |
|    |- internal                                                                 |
|    |- parsers                                                                  |
|    |- sax                                                                      |
|    |- util                                                                     |
|        |- Compilers                                                            |
|        |- MsgLoaders                                                           |
|            |- InMemory                                                         |
|        |- Platforms                                                            |
|            |- TPF                                                              |
|        |- Transcoders                                                          |
|            |- IconvTPF                                                         |
|    |- validators                                                               |
|        |- DTD                                                                  |
+--------------------------------------------------------------------------------+

See Publication Changes for more information about XML parser (APAR PJ27634) information. (For specific information about the XML4C header files, open XML on TPF: An Online User's Guide and click XML4C Version 3.1.2 Documentation.)

Note:
The XML4C header files cannot reside in a partitioned data set (PDS) because the first eight characters of all header files that reside in a PDS must be unique and the XML4C header file names do not follow this rule. To ensure that your application programs work, put the header files into a hierarchical file system (HFS); these header files cannot be renamed and each must reside in its native directory in the HFS.

Implementation-Specific C/C++ Language Header Files (IBM Use Only)

There are no changes.

Library Interface Scripts

There are no changes.

Library Members (Object Files)

Table 1059 summarizes the library member (object file) changes. This information is presented in alphabetic order by the name of the library member (object file).

Table 1059. Changes to Library Members (Object Files) for the XML Parser

Library Member (Object File) Library Module Name New, Changed, or No Longer Supported? Type Description of Change
CICONT CISO Changed Object Code Only Internal updates that support changes to the iconv function.

Link-Edited Modules

Table 1060 summarizes changes to the link-edited modules shipped by IBM, which should go into a data set with attributes DCB=(RECFM=U,LRECL=80,BLKSIZE=1200). This information is presented in alphabetic order by the name of the link-edited module.

Table 1060. Changes to Link-Edited Modules for the XML Parser

Link-Edited Module New, Changed, or No Longer Supported? Description of Change
CXML New Created for ported XML parser code.
CISO Changed Updated the CICONT library member (object file). See Table 1059 for more information about this change.

Members (Object Files)

There are no changes.

Object Code Only (OCO) Stubs

There are no changes.

Configuration Constant (CONKC) Tags

There are no changes.

Control Program Interface (CINFC) Tags

There are no changes.

Copy Members

There are no changes.

Fixed File Records

There are no changes.

Macros

The following section summarizes the macro changes. This information is presented in alphabetic order by the type of macro.

Advanced Program-to-Program Communications (APPC) Macros

There are no changes.

Communication Macros and Statements

There are no changes.

Data Macros

There are no changes.

General Macros

There are no changes.

Selected Equate Macros

There are no changes.

Structured Programming Macros (SPMs)

There are no changes.

System Initialization Program (SIP) Skeleton and Internal Macros (Inner Macros)

Table 1061 summarizes the system initialization program (SIP) skeleton and internal macro changes. This information is presented in alphabetic order by the name of the SIP skeleton and internal macro. If the SIP skeleton and internal macro (inner macro) is changed, you must reassemble the SIP Stage I deck and run the appropriate job control language (JCL) jobs from the SIP Stage II deck.

Table 1061. Changes to SIP Skeleton and Internal Macros for the XML Parser

SIP Skeleton and Internal Macro New, Changed, or No Longer Supported?
SPPGML Changed

System Initialization Program (SIP) Stage I Macros and Statements

There are no changes.

System Initialization Program (SIP) Stage II Macros

Table 1062 summarizes system initialization program (SIP) Stage II macro changes. This information is presented in alphabetic order by the name of the SIP Stage II macro. If IBMPAL is changed, you must run the system allocator (SALO) and load the new program allocation table (PAT) to the TPF 4.1 system.

Table 1062. Changes to SIP Stage II Macros for the XML Parser

SIP Stage II Macro New, Changed, or No Longer Supported?
IBMPAL Changed

System Communication Keypoint (SCK) Generation Macros

There are no changes.

System Macros

There are no changes.

System Macros (IBM Use Only)

There are no changes.

Segments

There are no changes.

System Equates

There are no changes.

User Exits

There are no changes.

Functional and Operational Changes

There are no changes.

Performance or Tuning Changes

There are no changes.

Storage Considerations and Changes

There are no changes.

System Initialization Program (SIP) and System Generation Changes

There are no changes.

Loading Process Changes

There are no changes.

Online System Load Changes

There are no changes.

Publication Changes

Table 1063 summarizes changes to the publications in the TPF library. This information is presented in alphabetic order by the publication title. See the TPF Library Guide for more information about the TPF library.

Table 1063. Changes to TPF Publications for the XML Parser

Publication Title Softcopy File Name Description of Change
TPF Migration Guide: Program Update Tapes GTPMG204 Updated with migration considerations the for XML parser.
TPF C/C++ Language Support User's Guide GTPCLU0E Added the list of classes that are supported by the XML Parser for C++ (XML4C) Version 3.1.2 but not documented in TPF C/C++ Language Support User's Guide.
XML on TPF: An Online User's Guide Not Applicable Created for the delivery of TPF information on the XML parser.

Host System Changes

There are no changes.

Application Programming Interface (API) Changes

XML4C supports the DOM and SAX specifications, which are each comprised of several APIs. These APIs are supported on the TPF 4.1 system but are not documented in the library. The information for the APIs was included with the ported parser and is available in XML on TPF: An Online User's Guide. See Publication Changes for more information.

Database Changes

There are no changes.

Feature Changes

There are no changes.

Installation Validation

There are no changes.

Migration Scenarios

Use the following procedure to install the XML parser on your TPF 4.1 system:

  1. Unpack program update tape (PUT) 14, which contains APAR PJ27634 for the XML parser. See TPF Memo to Licensees for more information about unpacking the tape.
  2. Copy the XML4C C/C++ language header files into an HFS so that they are available to application programmers. The directory structure must be maintained. See General Use C/C++ Language Header Files for more information about the XML4C header files.
  3. Run the system allocator (SALO) using IBMPAL and SPPGML additions for newly created segments to create an updated program allocation table (PAT) and system allocator (SAL) table.
  4. Assemble the SIP stage I deck to create a SIP stage II deck.
  5. Run SIP stage II.
  6. Link and load the CISO link-edited module listed in Table 1060, which includes the changed CICONT object code only library member (object file).
  7. Load the CXML link-edited module listed in Table 1060.
  8. IPL your TPF 4.1 system.

Listing files are available on a CD-ROM. See your IBM service representative for more information about these CD-ROMs.

Notes:

  1. The tar file xml4c3_1_2.tpf.ascii.tar.z is provided and contains the XML Parser for C++ (XML4C) Version 3.1.2 source code. The files created after extracting this tar file contain source code, listings, samples, written information, and makefiles. (IBM does not, however, warrant that these makefiles will run in your development environment because these files may use tools that are not required for your TPF 4.1 system.) The tar file is provided for your information only and this source code is not supported on the TPF 4.1 system.

  2. Extracting the contents of the tar file will create a samples directory. The samples in this directory may be useful to programmers who are writing applications that interact with XML data. Directions for using these samples (included in XML on TPF: An Online User's Guide) assume that the programmers have access to the extracted samples directory.