IBM Support

XML Toolkit for IBM i 简介

Technical Blog Post


Abstract

XML Toolkit for IBM i 简介

Body

XML Toolkit for IBM i IBM i上的软件产品,用于提供在IBM i 上的XML解析及XSL转换的功能。XML Toolkit for IBM i 主要分为两个子产品,分别为5733XT1 5733XT2。其中5733XT2IBM i上版本最新的XML解析器及XSL转换器产品,它比5733XT1提供更稳定,性能更优的服务。5733XT1 v6r1及以后的系统版本上已不再支持使用,我们推荐用户使用5733XT2作为首选的XML解析器在V5R3以后的IBM i系统上。在这里我们将具体介绍5733XT2的内容。

 

        5733XT2提供了支持C++XML解析器(XML4C,支持ProceduralXML解析器(XML4PR) 以及支持C++XS转换器(XSL4C)。在该产品下包含若干个安装选项,每个安装选项中包含若干个Service Program,分别支持不同要求的XML解析器及XSL转换器。产品中所支持的XML解析器及XSL转换器均为符合W3C XML规范的验证解析器(Validating parser )。通过iSeries上的XML4CXML4PR这两款XML解析器,用户可以在IBM i 上编写可操作XML数据的 ILE RPG, C, COBOL or C++ 应用程序,同样的通过XSL4C转换器,用户可以在IBM i 上编写CC++程序将XML文档转换成其他格式(如HTML等)。

 

        在完成安装选项47后,会有很多新的Service Program,这些新的Service Program提供与选项1 2中相同的功能,但是对一些应用能提供更好的性能,不同选项中的Service Program的名字是类似的,有的会有一个后缀字母不同,用来标识teraspace选项是否在改Service Program中支持。需要指出的是,teraspace 版本的Service Program 只在C++ XML解析器和C/C++ XSL转换器中支持,在RPGCobolde的应用程序调用以及C XML解析器的调用只支持non-teraspace的模式。 在这里我们列举了一个列表用来帮助用户决定使用哪个Service Program。选项45 67所对应的XML Toolkit的代码是完全一致的,但是选项67对应的编译选项已完全转换为IBM i V6R1 及更新版本的OS所对应的要求,虽然选项45也能在IBM i  V5R3以后的版本中正常使用,但是我们还是推荐在OS版本为V6R1以后的IBM i机器上使用选项67.

 

安装选项

支持的系统版本

选项描述

对应库文件

包含的Service Program

1

 V5R4, V6R1, V7R1

XML Parser version 5.6 and XSL version 1.10

QXMLLIB

QXML4C560

QXML4PR560

QXSL4C110

2

XML Parser version 5.6 and XSL version 1.10 开发环境,包含样RPGCobolCC++示例代码

C/C++ 头文件IFS路径:

/qibm/proddata/xmltoolkit2/xml_5_6_0
/qibm/proddata/xmltoolkit2/xsl_1100

QXMLLIB

QXMLDEV560

QXSLDEV110

 

3

XML Scripting for IBM System i5

QXMLLIB

QXMLSCR10

4

V5R3, V5R4, V6R1, V7R1

XML Parser version 5.6.3 and XSL version 1.10.2

QXMLLIBV4

QXML4C563

QXML4C563T

QXML4C563U

QXML4PR563

QXSL4C112

QXSL4C112T

QXSL4C112U

5

XML Parser version 5.6.3 and XSL version 1.10.2 开发环境,包含样RPGCobolCC++示例代码

C/C++ 头文件IFS路径:

/qibm/proddata/xmltoolkitv4/xml_5_6_3
/qibm/proddata/xmltoolkitv4/xsl_1102

QXMLLIBV4

QXML563V4

QXSL112V4

 

6

V6R1, V7R1

XML Parser version 5.6.3 and XSL version 1.10.2

QXMLLIBV6

QXML4C563

QXML4C563T

QXML4C563U

QXML4PR563

QXSL4C112

QXSL4C112T

QXSL4C112U

7

XML Parser version 5.6 and XSL version 1.10.2 开发环境,包含样RPGCobolCC++示例代码

C/C++ 头文件IFS路径:

/qibm/proddata/xmltoolkitv6/xml_5_6_3
/qibm/proddata/xmltoolkitv6/xsl_1102

QXMLLIBV6

QXML563V6

QXSL112V6

 

 

 

Service Program

后缀字母

样例

意义

none

QXML4C563

QXSL4C112

这些是标准的 service programs既可以被teraspace模式的 应用程序调用,也可以被 non-teraspace模式的应用程序所调用,但是这些service programs本身并没有使用teraspace的存储模式,也没有应用64位的指针。

T

QXML4C563T

QXSL4C112T

这些是teraspace模式的service program,它们包含了C/C++ 64 位运行环境并且要求调用他们的应用程序也必须使用64bit的运行环境及teraspace相关的编译选项。需要说的是,这些service program在一般情况下能够提供更佳的运行性能。

U

QXML4C563U

QXSL4C112U

这些service program类似与‘T’的那些service program,但是他们并不包含C/C++ 64 位运行环境。它们既可以被teraspace模式的 应用程序调用,也可以被 non-teraspace模式的应用程序所调用。因为他们并不要求用64位的运行环境,也就无法达到与‘T’版本的那些service program一致的运行性能。并且我们推荐在编译调用该service program的应用程序时添加teraspace的编译选项。

 

XML4C

        XML4C是用C++的可移植子集实现的带验证的XML解析器,应用程序可以非常方便的通过它实现对XML数据的读写。它包含了一个公共的函数库提供对XML文档的解析,生成,操作和验证等功能。XML4C完全符合XML1.0的要求和其他一些相关的标准规范,在下面会具体列出这些标准:

·  XML 1.0(第三版),W3C Recommendation

·  XML 1.1(第一版),W3C Recommendation

·  DOM Level 1 SpecificationW3C Recommendation

·  DOM Level 2 Core SpecificationW3C Recommendation

·  DOM Level 2 Traversal and Range Specification, W3C Recommendation

·  SAX 1.0 and SAX 2.0

·  Namespaces in XML, W3C Recommendation

·  Namespaces in XML 1.1, W3C Recommendation

·  XML Schema Part 1: Structure, W3C Recommendation

·  XML Schema Part 2: Datatyoes, W3C Recommendation

 

XML4PR

XML4PR 是一个带验证的XML解析器,它使得Procedural Language可以完成对XML4C解析器接口的调用。通过它ILE C RPGCOBOL程序可以在iSeries上方便的调用XML解析器,实现对XML文档的读写。XML4PR是一个Service Program提供了对XML文档进行解析,生成,处理和验证的函数接口。它支持DOM level 1 SAX level 1规范中定义的API,同时也支持部分DOM level 2 SAX level 2规范中所定义的API 它也支持通过XML模式来验证XML文档的正确性。

 作者:Wang Ke Wei, Title: Staff Software Engineer

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

UID

ibm11146034