Developer

10 CPAN modules that will increase your XML Perl development

This document lists ten CPAN modules that you're sure to find helpful in your daily development activities.

The Comprehensive Perl Archive Network (CPAN), is a wonderful place, packed to the brim with all manner of goodies for Perl programmers. A little rummaging around, and you'll uncover ready-made widgets for everything from text processing to socket programming. And one category CPAN is particularly strong in is XML, especially as more and more people have begun integrating XML into their applications.

If you're one of those people, keep reading, because this document lists ten CPAN modules that you're sure to find helpful in your daily development activities.

Note: You can install CPAN modules directly from the Internet; just follow the provided instructions

Table A


Package Name

Description

URL

XML::Parser

This module provides an interface to the expat XML parser. It is one of the core Perl modules for XML parsing, and many of the other packages in this list depend on it. It uses the SAX approach to XML parsing, wherein different handlers are defined for the various types of XML elements in a document.

Use this module when you need to process an XML document using SAX.

XML::Parser

XML::DOM

This module represents XML data as a Document Object Model (DOM) tree, and makes available methods and properties to navigate and manipulate the tree and its contents. It can be used to both parse existing trees or to dynamically create new trees from scratch.

Use this module when you need to process an XML document using the DOM.

XML::DOM

XML::XSLT

This module implements the XSLT specification, making it possible to "transform" an XML document as per specific style sheet rules,

Use this module to convert XML-encoded data into some other format using an XSLT style sheet.

XML::XSLT

XML::XPath

This module provides an XPath implementation, making it possible to address XML nodes or node collections through the use of XPath expressions.

Use this module when you need to create custom node collections or capture nodes matching complex criteria.

XML::XPath

XML::Simple

This module simplifies the task of accessing individual nodes, attributes and other entities in an XML document, by representing the document as a hierarchical object tree. Individual elements of the document are accessed transparently using standard object notation.

Use this module to efficiently√ā extract information from XML documents, without the complexity of SAX or the overhead of DOM.

XML::Simple

XML::RSS::Parser

This module provides an object-oriented interface to parse RSS feeds. It extracts information from an RSS feed as an object, and lets you access individual elements of the feed as object properties.

Use this module when you need to parse RSS metadata.

XML::RSS::Parser

XML::Dumper

This module lets you convert Perl variables and structures into XML format, and vice-versa.

Use this module if you need to convert between Perl and XML structures, usually for compatibility or interoperability between different applications.

XML::Dumper

WDDX

This module lets you create serialized language- and platform-independent representations of data, for easier data exchange.

Use this module when you need to share data between applications written in different languages or running on different platforms.

WDDX

XML::EasySQL

This module serves as a translator between XML and SQL. It allows you to transform SQL data into XML, alter it using an XML path interface, and then save the changes back to the database in SQL.

Use this module when you need to convert XML data to database-compliant format, or vice-versa.

XML::EasySQL

XML::LibXML

This module provides a full-featured interface to the GNOME libxml2 library, a fast and efficient tool that is gradually becoming the de facto standard for XML parsing on *NIX. Both DOM and SAX are supported.

Use this module when your application needs to interface with libxml2, usually to use its pre-built parsing routines.

XML::LibXML

Editor's Picks

Free Newsletters, In your Inbox