2024年6月13日发(作者:)

Perl 为 XML 开发人员提供了一套非常丰富的模块和库,足以与其它语言相媲美。

Perl 社区早期曾快速开发出 XML 工具。Perl/XML 社区现在仍保持着相当的活

力,它不仅以惊人地速度支持新的协议和标准,还在 XML 的常规发展中起到了

积极作用。Perl 的可扩展性使 C 和 C++ 模块能够简便地集成到 Perl 框架中,

从而提供了一种速度和易用性的组合。

下列工具是我从开发 Perl/XML 工具和应用程序的经历中选出的比较中意的工

具,也有从各种邮递列表、杂志和 Web 页面中收集的广受欢迎的工具。 这些工

具将帮助您立即开发专业的基于 XML 的应用程序。

语法分析器和对象模型

从 XML 早期开始,XML 语法分析器就已经可用于 Perl。XML::Parser 模块是一

个用于 James Clark 的出色的 expat 语法分析器的 Perl 接口,它是大多数其

它分析和操纵模块的基础。XML::Simple 为简单的 XML 文件提供了一个直观的

纯 Perl 语法分析器,而且大多数分析模块都支持 SAX API。

Perl 还对各种 XML 对象模型(包括 DOM、Grove 和 Twig)有很好的支持。各

种各样的软件包提供了 DOM 或类似 DOM 的处理选项, 包括纯 Perl XML::DOM

模型、XML::LibXML、XML::XPath、Orchard 和即将发行的 Sablotron::DOM 软

件包。 通过 Grove、Twig 和 PYX 模型,也可使用备用的处理模型。Twig 对大

型文档尤其有用,它允许处理文档的各个段而无需对整个文档进行分析。

XML::Parser

XML::Simple

XML::XPath

XML::DOM

XML::LibXML

XML::Grove

XML::Twig

libxml-perl

用于 James Clark 的 XML 语法分析器 expat 的 Perl 接口

用于读写 XML 的普通 API,最好与 XML 格式的配置文件一起

使用

XPath 规范的完整实现。

XML::Parser 的 Perl 扩展,构建面向对象的数据结构并具有

遵从 DOM 级别 1 的接口。作为 libxml-enno 的一部分分发。

gnome libxml2 库的 Perl 接口,用于高性能的 DOM 处理。

使用 Perl 散列树对已分析的 XML、HTML 或 SGML 实例组成

的信息集进行简单访问

XML 文档的树型接口,允许对超大型文档一段段地处理

Perl 模块、脚本和文档的集合,用于在 Perl 中使用 XML。

libxml-perl 软件与 XML::Parser、PerlSAX、XML::DOM、

XML::Grove 等一起工作。

用于 XML 和 XML 表示的数据的事件流和树型视图的轻量级

API

“Apache XML 项目”中的 Xerces XML 语法分析器的 Perl

接口

XML::Schematron 基于 XSLT 的 XML 验证模块

Orchard

Xerces Perl

REX

PYX

对有常规表达式的 XML 文档进行初步分析

至 PYX 生成器的 XML

回页首

XML 转换器、编写器和读取器

Perl 因其在与各种类型的旧有系统的连接中拥有丰富的选项而闻名。利用这些

连接和将 Perl 数据结构转换成 XML 的设施,Perl 成为一个为现有系统创建

XML 接口的出色平台。 诸如 XML::Edifact、DBIx::XML_RDB、XML::CSV、

XML::Generator、XML::Dumper 和 XML::Writer 等扩展都可以对 Perl 数据结

构、XML 和其它格式之间的数据进行各个方面的序列化和非序列化处理。

XML::Generator 在 Perl 内生成 XML 的模块

XML::Dumper 将 Perl 数据序列化和非序列化为 XML 的模块

XML::Writer

编写 XML 文档的 Perl 程序的帮助器模块。该模块处理所有属

性值和字符数据的转义,并构造各种标记。

回页首

协议和库

通常,Perl 会迅速支持新的协议和标准。 对于 SOAP、WDDX、RSS、XML-RPC 和

Microsoft 的 BizTalk 都有扩展。

SOAP::Lite SOAP 协议的卓越实现

基于 XML 的协议,用于以与平台无关的方式访问服务、对象和服务

SOAP/Perl

XML::RSS

在 Perl、Java 和 Cold Fusion 等各种语言之间交换数据的协议。

该模块将 Perl 变量和 WDDX 信息包互相转换。

创建和维护 Rich Site Summary (RSS) 文件的基本框架。RSS 主要

用来分发新闻标题(通常称为通道)。

回页首

商业产品

XML::Edifact 将 UN/Edifact 文档转换成 XML 的模块