Perl-XML Module List

Maintained by Jonathan Eisenzopf <eisen@pobox.com>

Credits

Thanks to Ken MacLeod who contributed a significant portion of this content.

Introduction

This list was compiled to inform Perl users what modules are currently available for manipulating XML. It's also for module authors who would like to contribute, but don't know what's already available and don't want to duplicate effort. Please send additions or corrections to eisen@pobox.com. This list can be found at http://www.perlxml.com/modules/perl-xml-modules.html. For more information on Perl-XML development, read the Perl-XML FAQ located at http://www.perlxml.com/faq/perl-xml-faq.html and join the perl-xml mailing list by sending an email to Lyris@ActiveState.com with the message: SUBSCRIBE Perl-XML. You can also find more information about becoming a CPAN author at http://www.perl.com/CPAN/modules/04pause.html.

Understanding the List

The modules in this list can be found at your favorite CPAN archive. Visit http://www.perl.com/CPAN for more information on CPAN. Downloading and installing modules can be done is several different ways. The easiest is to visit the author's CPAN directory. Links to author directories can be found in the Author section below. An easier method is to use the CPAN module, i.e.:
perl -MCPAN -e shell 'install XML::Parser' which installs the module automagically.
If you're using the ActiveState distribution on a win32 system, you might try: ppm install XML-Parser for example.

The Perl XML Module List

Module          DLSI    Description                                 Author
XML::
DOM             bmpO    Implements Level 1 of W3's DOM              ENNO  
Dumper          ampO    Converts XML from/to Perl code              EISEN
Encoding        ????    Parses encoding map XML files               COOPERCL
Edifact         ????    Scripts for translating EDIFACT into XML    KRAEHE
Generator       adpn    Generates XML documents                     BHOLZMAN
Grove           RmpO    Flexible lightweight mid-level XML objects  KMACLEOD 
miniXQL         ????    Simplistic XQL-like search using streams    MSERGEANT
Parser          bmcO    Flexible fast parser with plug-in styles    COOPERCL
QL              ????    Implements the XML Query Language           MSERGEANT
Registry        ampO    Implements a generic XML registry           EISEN
Writer          ????    Module for writing XML documents            DMEGG
XQL             ampO    Performs XQL queries on XML object trees    ENNO

Apache::
MimeXML         ????    mod_perl mime encoding sniffer for XML      MSERGEANT

CGI::
Formalware      Mdpo    Convert an XML file into CGI forms          RSAVAGE
XML             ampO    Convert CGI.pm variables to/from XML        EISEN
XMLForm         ????    Creates form field values from XQL queries  MSERGEANT

DBIx::
:XML_RDB        ????    Creates XML from DBI datasources            MSERGEANT

Frontier::
RPC             ????    Performs Remote Procedure Calls using XML   KMACLEOD

Perl XML modules by category

Modules using XML::Parser

  CGI::Formalware          CGI-Formalware
  CGI::XML                 CGI-XML  
  CGI::XMLForm             CGI-XMLForm
  Frontier::RPC2           Frontier-RPC
  XML::DOM::Parser         XML-DOM
  XML::Encoding            XML-Encoding
  XML::miniXQL             XML-miniXQL
  XML::Parser::Debug       XML-Parser
  XML::Parser::Objects     XML-Parser
  XML::Parser::PerlSAX     libxml
  XML::Parser::Stream      XML-Parser
  XML::Parser::Subs        XML-Parser
  XML::Parser::Tree        XML-Parser
  XML::QL                  XML-QL

Modules for XML objects

  XML::DOM                 XML-DOM
  XML::Grove               XML-Grove
  XML::Parser::Objects     XML-Parser
  XML::Parser::Tree        XML-Parser

Modules using XML::DOM

  XML::DOM::Parser         XML-DOM
  XML::XQL                 XML-XQL

Modules writing generic XML

  XML::Generator           XML-Generator
  XML::Grove::AsCanonXML   XML-Grove
  XML::Writer              XML-Writer

Modules for querying or searching XML

  XML::DOM                 XML-DOM
  XML::Grove::IDs          XML-Grove
  XML::Grove::Path         XML-Grove
  XML::QL                  XML-QL
  XML::XQL                 XML-XQL

Modules using PerlSAX

  XML::ESISParser          libxml
  XML::Grove::Builder      XML-Grove
  XML::Grove::PerlSAX      XML-Grove
  XML::Handler::Sample     libxml
  XML::Parser::PerlSAX     libxml
  XML::Perl2SAX            libxml
  XML::SAX2Perl            libxml

Modules using XML::Grove

  XML::Grove::AsCanonXML   XML-Grove
  XML::Grove::AsString     XML-Grove
  XML::Grove::Builder      XML-Grove
  XML::Grove::IDs          XML-Grove
  XML::Grove::Path         XML-Grove
  XML::Grove::PerlSAX      XML-Grove
  XML::Grove::Sub          XML-Grove
  XML::Grove::Subst        XML-Grove
  XML::Grove::ToObjects    XML-Grove

Modules using Data::Grove

  Data::Grove::Visitor     libxml
  XML::Grove               XML-Grove

Modules converting XML in to or out of other stuff

  CGI::XML                 CGI-XML
  CGI::XMLFrom             CGI-XMLForm
  DBIx::XML_RDB            DBIx-XML_RDB
  Frontier::RPC2           Frontier-RPC
  XML::DOM                 XML-DOM
  XML::Dumper              XML-Dumper
  XML::Edifact             XML-Edifact
  XML::Grove::AsString     XML-Grove
  XML::Grove::ToObjects    XML-Grove
  XML::Parser::Debug       XML-Parser

Modules not in any other category

  Apache::MimeXML          Apache-MimeXML
  XML::DOM::UTF8           XML-DOM

All Perl XML Modules with Package Name

  Apache::MimeXML          Apache-MimeXML
  CGI::Formalware          CGI::Formalware
  CGI::XML                 CGI-XML
  CGI::XMLForm             CGI-XMLForm
  DBIx::XML_RDB            DBIx::XML_RDB
  Data::Grove              libxml
  Data::Grove::Visitor     libxml
  Frontier::RPC2           Frontier-RPC
  XML::DOM                 XML-DOM
  XML::DOM::UTF8           XML-DOM
  XML::Dumper              XML-Dumper
  XML::ESISParser          libxml
  XML::Edifact             XML-Edifact
  XML::Encoding            XML-Encoding
  XML::Generator           XML-Generator
  XML::Grove               XML-Grove
  XML::Grove::AsCanonXML   XML-Grove
  XML::Grove::AsString     XML-Grove
  XML::Grove::Builder      XML-Grove
  XML::Grove::IDs          XML-Grove
  XML::Grove::Path         XML-Grove
  XML::Grove::PerlSAX      XML-Grove
  XML::Grove::Sub          XML-Grove
  XML::Grove::Subst        XML-Grove
  XML::Grove::ToObjects    XML-Grove
  XML::Handler::Sample     libxml
  XML::miniXQL             XML-miniXQL
  XML::miniXQL::Parser     XML-miniXQL
  XML::Parser              XML-Parser
  XML::Parser::DOM         XML-DOM
  XML::Parser::Debug       XML-Parser
  XML::Parser::Objects     XML-Parser
  XML::Parser::PerlSAX     libxml
  XML::Parser::Stream      XML-Parser
  XML::Parser::Subs        XML-Parser
  XML::Parser::Tree        XML-Parser
  XML::Perl2SAX            libxml
  XML::QL                  XML-QL
  XML::Registry            XML-Registry
  XML::SAX2Perl            libxml
  XML::Writer              XML-Writer
  XML::XQL                 XML-XQL

Authors

BHOLZMAN  Benjamin Holzman <bholzman@bender.com>
COOPERCL  Clark Cooper <coopercc@netheaven.com>
DMEGG     David Megginson <david@megginson.com>
EISEN     Jonathan Eisenzopf <eisen@pobox.com>
ENNO      Enno Derksen <enno@att.com>
KMACLEOD  Ken MacLeod <ken@bitsko.slc.ut.us>
KRAEHE    Michael Koehne <kraehe@bakunin.north.de>
MSERGEANT Matt Sergeant <matt@sergeant.org>
RSAVAGE   Ron Savage <Savage.Ron.RS@bhp.com.au>

Copyright (c)1998 Jonathan Eisenzopf. All rights reserved. Permission is hereby granted to freely distribute this document provided that all credits and copyright notices are retained.