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 的模块
发布评论