The Cover PagesThe OASIS Cover Pages: The Online Resource for Markup Language Technologies
Advanced Search
Site Map
CP RSS Channel
Contact Us
Sponsoring CP
About Our Sponsors

Cover Stories
Articles & Papers
Press Releases

XML Query

XML Applications
General Apps
Government Apps
Academic Apps

Technology and Society
Tech Topics
Related Standards
Last modified: August 26, 2002
XML and Perl

[November 10, 2000] Perl and Python are two scripting languages commonly used to process XML documents.


  • Perl XML modules from CPAN

  • web site

  • [August 26, 2002] "OSCON 2002 Perl and XML Review." By Kip Hampton. From August 21, 2002. ['Kip Hampton reviews the state of Perl and XML at O'Reilly's Open Source Convention.'] "This month, in place of the module introduction or other technical tutorial that usually appears here, I want to offer a few observations about the state of Perl-XML World in general, based on my experiences at the recent OScon 2002. It's not at all surprising that XML has been a bit of a tough sell to the Perl community. For some other languages, XML neatly fills a large void in their text processing facilities, a void that Perl did not really have. And the white-hot hype, which is often advanced by those selling applications that use XML, has sent many Perl coders scrambling for the hills; or, depending on their personal bent, for the torches and pitchforks. From the other side, much of the XML World has ignored Perl based on the misconception that it is little more than a muscular shell scripting language. I am pleased to say that I saw evidence of growth in both the Perl and XML communities. Of the Perl developers I spoke with, most seem to have learned that using XML in their applications is neither magic nor poison -- rather, they are beginning to see it as just another technology and set of tools that can be really good for some cases and really bad for others. At the same time, the growing success of Open Source tools like Bricolage and AxKit is proving to some in the larger XML World that Perl and XML can be a powerful combination. It was not uncommon to hear these tools mentioned in the same breath as their Java counterparts..."

  • [June 21, 2002] "PDF Presentations Using AxPoint." By Kip Hampton. From June 19, 2002. ['Kip Hampton provides us our monthly dose of Perl. In his 'Perl & XML 'column Kip introduces AxPoint, a toolkit for producing presentations in PDF. If you've a presentation due any time now, AxPoint could be just the ticket.'] "... we will be examining AxPoint, Matt Sergeant's Perl/XML-based tool for creating visually rich presentations and slideshows in PDF. Originally designed for use exclusively within the AxKit XML publishing environment, AxPoint has recently undergone a major facelift and is now also available outside of AxKit as a simple SAX Handler, XML::Handler::AxPoint... AxPoint is one of those rare applications that strikes a good balance between simplicity and functionality. If you want to get fancy, you can -- for example, the latest version even supports certain SVG primitives, natively -- but if you need something fast, the language itself gets out of the way and lets you focus on the important parts without sacrificing a professional look. If you have presentation deadlines coming up (and I know I do) I strongly encourage you to give AxPoint a close look..."

  • [April 19, 2002] "Perl and XML on the Command Line." By Kip Hampton. From April 17, 2002. ['Kip demonstrates some nifty tricks, including populating a database from an XML document, finding the differences between two documents, and pretty printing a document.'] "Over the last several months we have explored some the of ways that Perl's XML modules can by used to create complex, modern Web publishing systems. Also, the growing success of projects like AxKit, Bricolage, and others shows the combination of Perl and XML to be quite capable for creating large-scale applications. However, in looking at more conceptual topics here recently, together with the fact that the Perl/XML combination is often seen in complex systems, seems to give the impression to the larger Perl community that processing XML with Perl tools is somehow complex and only worth the effort for big projects. The truth is that putting Perl's XML processing facilities to work is no harder than using any other part of Perl; and if the applications that feature Perl/XML in a visible way are complex, it is because the problems that those applications are designed to solve are complex. To drive this point home, this month we will get back to our Perlish roots by examining how Perl can be used on the command line to perform a range of common XML tasks. For our first few examples we will focus on those modules that ship with command line tools as part of their distributions..."

  • [December 13, 2001] "XML and Modern CGI Applications." By Kip Hampton. From December 12, 2001. ['Kip Hampton provides us with his monthly installment of XML and Perl, exploring a modern CGI module. Turning his attention to the CGI::XMLApplication Perl module, Kip shows how XML has taken Perl CGI applications one step further. Using examples of an XSLT gateway and a shopping code, Kip offers a practical and useful introduction to this module. CGI::XMLApplication uses XML and XSLT to separate logic and presentation cleanly.'] "Perl owes a fair amount of its widespread adoption to the Web. Early in the Web's history it was discovered that serving static HTML documents was simply not a very interactive environment, and, in fairly short order. the Common Gateway Interface (CGI) was introduced. Perl's raw power and forgiving nature made it a natural for this new environment, and it very quickly became the lingua franca of CGI scripting. CGI is not without its weaknesses, and despite well-funded campaigns from a number of software vendors, CGI is still widely used and shows no signs of going away anytime soon. This month we will be looking at a module that offers a new take on CGI coding, Christian Glahn's CGI::XMLApplication. Borrowing heavily from the Model-View-Controller pattern, CGI::XMLApplication provides a modular, XML-based alternative to traditional CGI scripting. The typical CGI::XMLApplication project consists of three parts: a small executable script that provides access to the application, a logic module that implements various handler methods that are called in response to the current state of the application, and one or more XSLT stylesheets that are used, based on application-state, to transform the data returned by the module into something a browser can display to its user... CGI::XMLApplication offers a clean, modular approach to CGI scripting that encourages a clear division between content and presentation, and that alone makes it worth a look. Perhaps more importantly, though, I found that it just got out of my way while handing enough of the low-level details to let me focus on the task at hand. And that's a sure sign of a good tool. Includes sample code.

  • [June 15, 2001] "X Marks (up) the Language." By Eric Bohlman. From XMLPerl.Com June 2001. ['Second in a series of articles written by Eric Bohlman. This article gives a good overview of how to parse XML with Perl, and almost as important, how NOT to parse XML.'] "When we talk about parsing a language, we mean the process of taking a piece of code or data written in that language and breaking it up into its constituent parts as defined by the rules of that language. Parsing is an essential task for any program that wants to use language- based data or code as input. .. There are basically two ways a parser can make the components of an XML document known to an application: it can read through the document and signal the application every time a new component appears, or it can read the entire document and then present the application with a tree structure corresponding to the element structure of the document. A parser that works the first way is called a stream-based or event- driven parser; one that works the second way is called a tree- based parser. Two common terms that you'll hear are SAX and DOM; SAX (Simple API for XML) is a specification (developed informally by members of the xml-dev mailing list) for how a stream-based parser should "talk" to an application; DOM (Document Object Model) is a specification (a formal Recommendation of the W3C) for how an application can access and manipulate the tree structure of a document. Whether to use a stream-based or tree-based parser depends on the nature of the processing being done to the XML documents and the size of the documents. A tree-based parser usually has to load the entire document into memory, which may be impractical when processing documents like dictionaries or large database dumps. With a stream-based processor, you can skip over elements that you aren't interested in (for example, when looking up a particular word in a dictionary). But if your application needs to process certain elements in relation to other elements (for example, reading a bibliography and extracting a list of all authors who have published at least three articles on the same topic), a tree- based parser is much easier to work with. It's worth noting that a tree-based parser can be built on top of a stream-based parser, and that the output of a tree-based parser can be "walked" to provide a stream-based interface to an application. As of this writing, all the Perl tree-based parsers are of the former type. Perl Modules for Parsing XML As of this writing, there are four "mainstream families" of XML parsers available as Perl modules, all of which are available from CPAN: [XML::Parser, XML::DOM, XML::Parser::PerlSAX, XML::Grove] All of these modules provide object-oriented interfaces; if you're not comfortable with object-oriented programming in Perl, now is the time to review the perltoot and perltootc manpages that come with Perl. If you have ActiveState's ActivePerl for Win32, you already have XML::Parser installed, since ActivePerl's PPM utility uses XML documents to store the installation requirements for modules... Next month we'll continue talking about XML parsing and we'll look at tree-based parsing."

  • [June 15, 2001] "Perl and XML: Perl XML Quickstart: Convenience Modules." By Kip Hampton From June 13, 2001. [' The third and final part of our guide to Perl XML modules covers some handy modules geared to specific tasks.'] "This is the third and final part of a series of articles meant to give quick introductions to some of the more popular Perl XML modules. In the last two months we have looked at the modules that implement the standard XML APIs and those that provide more Perlish XML interfaces. This month we will be looking at some of the modules that seek to simplify a specific XML-related task. Unless XML is a significant part of your daily life, chances are good that the more generic XML API modules will seem like overkill. Perhaps they are. If your needs are modest, a module probably exists that will reduce your task to a few method calls. These single purpose, convenience modules are a key entry point to the Perl/XML world, and I have chosen a few of the more popular ones for this month's code samples. In the interest of clarity, we will limit the scope of the examples to the common tasks of creating XML document for other data sources, converting HTML to XHTML, and comparing the contents of two XML documents. While many of the XML API modules provide a way to create XML documents programmatically based on data from any source, several modules exist that simplify the task of creating XML documents from data stored in other common formats. We'll illustrate how to create XML documents based on data extracted from CSV (Comma Separated Value) files, Excel spreadsheets, and relational databases..."

  • [May 18, 2001] "Perl XML Quickstart: The Standard XML Interfaces. [Tutorial.]" By Kip Hampton. From May 16, 2001. "This is the second part in a series of articles meant to quickly introduce some of the more popular Perl XML modules. This month we look at the Perl implementations of the standard XML APIs: The Document Object Model, The XPath language, and the Simple API for XML. As stated in part one, this series is not concerned with comparing the relative merits of the various XML modules. My only goal is to provide enough sample code to help you decide for yourself which module or approach is most appropriate for your situation by showing you how to achieve the same result with each module given two simple tasks. Those tasks are 1) extracting data from an XML document and 2) producing an XML document from a Perl hash... Up to this point each module we've looked at shares the common goal of providing a generic interface to the contents any well-formed XML document. Next month we will depart from this pattern a bit by exploring some of the modules that, while perhaps less generically useful, seek to simplify the execution of some specific XML-related task..."

  • [April 20, 2001] "Perl and XML: Perl XML Quickstart: The Perl XML Interfaces." By Kip Hampton. From April 18, 2001. ['This first installment of our guide to Perl and XML covers Perl-specific interfaces for reading and writing.'] "A recent flurry of questions to the Perl-XML mailing list points to the need for a document that gives new users a quick, how-to overview of the various Perl XML modules. For the next few months I will be devoting this column solely to that purpose. The XML modules available from CPAN can be divided into three main categories: modules that provide unique interfaces to XML data (usually concerned with translating data between an XML instance and Perl data structures), modules that implement one of the standard XML APIs, and special-purpose modules that seek to simplify the execution of some specific XML-related task. This month we will be looking the first of these, the Perl-specific XML interfaces. This is not an exercise in comparative performance benchmarking, nor is it my intention to suggest that any one module is inherently more useful than another. Choosing the right XML module for your project depends largely upon the nature of the project and your past experience. Different interfaces lend themselves to different kinds of tasks and to different kinds of people. My only goal is to offer working examples of the various interfaces by defining two simple tasks, and then showing how to achieve the same net result using each of the selected modules..." Note: A search for XML modules on CPAN 2001-04-20 returned "214 modules found in 86 distributions matching 'XML'."

  • [February 15, 2001] "Perl and XML: High-Performance XML Parsing With SAX." By Kip Hampton. From February 14, 2001. ['Manipulating XML documents in Perl using DOM or XPath can hit a performance barrier with large documents -- the answer is to use SAX.'] "The problem: The XML documents you have to parse are getting too large to load the entire document tree into memory; performance is suffering. The solution: use SAX. SAX (Simple API for XML) is an event-driven model for processing XML. Most XML processing models (for example: DOM and XPath) build an internal, tree-shaped representation of the XML document. The developer then uses that model's API (getElementsByTagName in the case of the DOM or findnodes using XPath, for example) to access the contents of the document tree. The SAX model is quite different. Rather than building a complete representation of the document, a SAX parser fires off a series of events as it reads the document from beginning to end. Those events are passed to event handlers, which provide access to the contents of the document... There are three classes of event handlers: DTDHandlers, for accessing the contents of XML Document-Type Definitions; ErrorHandlers, for low-level access to parsing errors; and, by far the most often used, DocumentHandlers, for accessing the contents of the document. For clarity's sake, I'll only cover DocumentHandler events.. XML::Parser::PerlSAX offers a complete SAX1 API but, as you may be aware, SAX2 is now considered the standard. If you're wondering about SAX2 support for Perl, you should know that Ken MacLeod, author of XML::Parser::PerlSAX, as well as other top-notch XML Perl modules, has announced full SAX2 support for Perl using his excellent Orchard project. Orchard provides a lightning-fast element/property model upon which developers can easily implement a wide range of XML APIs (or, for that matter, any node-based property set, not just XML). In addition to SAX2, the 2.0 beta release of Matt Sergeant's XML::XPath is also built upon Orchard and the performance gains are quite astonishing. If you are serious about high-performance XML processing in Perl, I strongly encourage you to visit the Orchard project for more information."

  • [January 16, 2001] "Perl & XML: Creating Web Utilities Using XML::XPath." By Kip Hampton. From January 10, 2001. ['Using XML on your web site means more than just valid XHTML: our monthly Perl and XML column explores some possibilities for the automation of an all-XML web site.'] "The problem: You want to take advantage of the power and simplicity that XML tools can offer, but you face a site full of aging HTML documents. The solution: Convert your documents to XHTML and put Perl and XML::XPath to work... The first step to use XML tools with your HTML-based site is to convert existing HTML to XHTML. Don't panic, converting your site to XHTML usually does not require hours of tedious hand editing, nor does it mean scrapping your pages and starting over. David Raggett's free, cross-platform utility, HTML Tidy, makes the conversion fairly painless... The first tool we are going to create is a simple utility that recursively descends into a specified directory, parses all files with a given extension, and returns an XHTML sitemap to STDOUT. In addition to being a fairly useful tool, this script illustrates some of the DOM emulation functions available from within XML::XPath... The tools covered in this article are simple examples designed to show how easy it is to use the combined power of XHTML, Perl, and XML::XPath to create Web utilities. Hopefully these samples have served to encourage you to experiment with your own Perl XML inventions, or, at the very least, have expanded your definition of XML Web development."

  • [August 01, 2000] "Developers To Polish New Perl." By Charles Babcock. In Inter@ctive Week (July 31, 2000). "Perl, the scripting language whose flexible connecting features make it known as 'the duct tape of the Web,' will get a massive upgrade over the next 18 months from its original author, Larry Wall. The language is being rewritten 'from the ground up' to bring it into the Web-based world and let it work with other Internet technologies, said Nathan Torkington, one of the developers on the Perl 6 project. The upgrade will better Perl's management of system memory, improve its ability to parse eXtensible Markup Language and search for XML-tagged documents, and make the language more compatible with Java and other software programs."

  • [December 22, 2000] "Using XML and Relational Databases with Perl." By Kip Hampton. From December 15, 2000. ['This article explores how Perl can be used to transfer data between XML and relational databases, and how XML can bridge two disparate databases.'] "This month we're focusing on integrating XML with relational databases. There's not enough room in this column to give a comprehensive treatment of this topic, but we will explore a few of the options available for transferring data between XML documents and relational databases. I'll demonstrate how using Perl can make these types of transfers painless and straightforward. You may not want to try using XML to transfer terabytes of data over the wire, but having a basic understanding of how Perl can be used to help XML and databases work together is a useful skill to add to your bag of tricks. All the examples from this article are available from the download link... In this column, I've only scratched the surface of how you might use Perl to combine the power of relational databases with the portability of XML. I do hope, however, that the examples covered will give you enough confidence to begin experimenting on your own. And remember, new Perl XML modules are being released all the time, and many older ones are adding XML support, so be sure to check CPAN early and often."

  • [March 29, 2000] Perl and XML: A Review of Perl-XML Modules." By Michel Rodriguez (Senior Programmer-Analyst, Electronic Services, IEEE Standards Activities). 2000-03-21 (v1.8). "Perl is without a doubt [and of course Python fans don't agree here ;--) ] the most powerful, and, and even the most devout Python zealots will agree here, the most widely used text processing language. It is especially in widespread use in the web world. It is then easy to understand why a whole bunch of Modules have been developed so the power of Perl, especially it's regular expression language, can be applied to XML data/documents (let's not start a religious war here on what XML files contain)... [we] review the main Perl XML modules, from the venerable XML::Parser to an interface with DBI, and DOM, XQL, XSLT XPath implementations and more, [identifying] the main characteristics of each module..."

  • [December 08, 1998] Ellen Maremont Silver (O'Reilly) posted an announcement on the growing importance of Perl for processing XML documents: "New Perl Module Enables Application Developers to Use XML. Expands Capabilities for Business-to-Business Communication of Data and Language."

  • [May 05, 1999] Jonathan Eisenzopf posted an announcement to the Perl-XML Mailing List concerning the release of the Perl XML FAQ Version 1.1. The FAQ document contains information related to using and manipulating XML with Perl. It can be found on the Web at Information in this FAQ is based on discussions and information transmitted to the Perl XML email list. Asakura Hiroshi has created a Japanese translation of this FAQ document." Credits are given Clark Cooper, Matthew Sergeant, Enno Derksen, Ken MacLeod, Rob Cameron, and Asakura Hiroshi for their contributions to the FAQ document. [local archive copy, 1999-05-05]

  • '' - "an information clearinghouse for Perl and XML resources.' Maintained by Jonathan Eisenzopf.

  • "Parsing XML with Perl." SD99 Expo Tutorial [SD99 East, November 12, 1999], by Jonathan Eisenzopf.

  • Perl Object Development System, Castle Links Object System. See Appendix C in the Manual

  • [November 04, 1998] Work in progress: "Perl XML FAQ," by Jonathan Eisenzopf. Covers: where to find an XML parser written in Perl, mailing lists for XML and Perl, the DOM module for Perl, XML related modules that are available or in development. . . (etc.)

  • [March 30, 1998] From Larry Wall: an early release of the Perl XML::Parser module which was demonstrated at 'XML: The Conference Developers' Day' on March 27th. Of this package, in addition to the README, Larry says: "Bear in mind you'll have to do the make in the xmltok directory by hand. Also bear in mind that James Clark is renaming xmltok to expat. Other than that, it's the usual 'perl Makefile.PL' stuff. . . there are some example scripts and associated output in the eg/ directory." [local archive copy, 980330]

  • [February 26, 1999] Draft for Perl SAX - Basic interface for a simplified Perl binding for SAX (Simple API for XML), by Ken MacLeod.

  • [May 10, 1999] Ken MacLeod recently announced on the Perl-XML Mailing List that the Perl 'libxml 0.01beta' has been released. This 'libxml' library is a collection of Perl modules for working with XML. POD style documentation is included in all non-alpha modules and scripts. The Perl libxml currently contains the following modules: (1) XML::Parser::PerlSAX is a Perl SAX parser using XML::Parser -- which uses James Clark's Expat XML Parser. (2) XML::ESISParser is a validating Perl SAX parser using James Clark's `nsgmls' SGML/XML Parser. ESISParser supports both XML and SGML document instances. Unless you need validation, you should probably be using XML::Parser::PerlSAX or XML::Parser. (3) Data::Grove and it's helpers [Data::Grove::Tied, Data::Grove::Visitor] provide a base class for deeply nested or directed graph structures. Used by XML::Grove (and others soon). (4) SAX2Perl and Perl2SAX are SAX Parser <-> DocumentHandler filters. These modules translate parse events between the Java/CORBA style SAX methods and Perl style SAX methods. XML::SAX2Perl specifies the Perl style SAX methods." Ken MacLeod has also provided a list of Perl XML modules by category. For related information, see the new libxml README document

  • [May 15, 1998] Win32 binaries of XML::Parser: "Just unpack the files into your site_perl directory (probably something like C:\perl\lib\site\) The directory structure in the zip-file is obviously important, so that Parser.dll needs to go in lib\site\auto\XML\ for example. Also, if anyone wants to build it themselves, the makefile that I used (for MS nmake/VC++) is at It replaces XML/Parser/xmltok/Makefile." [Robin Houston

  • [March 16, 1999] "Rapid XML prototyping with Perl and XML::Parser." By Clark Cooper. Presented at XTech '99. Slides are available.

  • [March 11, 1999] "Ways to Rome: Processing XML with Perl." By Ingo Macherius. GMD-IPSI Tutorial. February 23, 1999. "One of Perl's key features is: things can be done more then one way. This holds when processing XML using Perl. This brief tutorial solves a simple task again and again using different, XML-related CPAN modules and programming styles. This tutorial was done for a talk on the German Perl workshop 1.0 on February 17th, 1999 in Bonn. The focus in on the code examples, not the explanatory text. All code is tested and should work 'cut-and-paste' if you have the above modules installed and a copy of REC-XML in your working folder." [local archive copy]

  • [March 11, 1999] "Tutorial 1: XML and Perl: Embedding XML in HTML." By Jonathan Eisenzopf. In Mother of Perl XML is the standard that promises to free us from the shortcomings of HTML by allowing authors to create documents using their own descriptive markup. Despite the clear benefits of XML, it is still unclear how authors should mix XML and HTML. In this article we'll show you how to turn your HTML files into mini databases by embedding XML tags in your Web pages to describe the enclosed content. We'll then build a Web-based Perl client that queries and displays the contents of these embedded XML tags. Finally, we'll extend what we've learned by developing a script that builds a top-news summary."

  • [August 14, 1998] In time for the 1998 O'Reilly Perl Conference, Tim Bray (Textuality) has created a new XML::Parser. and Matthew Sergeant (Ericsson) is making the ActivePerl and expat XML::Parser binaries available. Tim Bray will be giving a presentation "Perl and XML" on Thursday (8/20/98) at the conference.

  • [August 19, 1998] Tools and Utilities from Robert Hanson include XML::Parser ( version 1.0 w/patch)

  • [September 01, 1998] The Perl extension module XML::Parser. From Clark Cooper. "The XML::Parser extension module is a perl interface to James Clark's XML parser, expat. It is based on a prototype created by Larry Wall. Work on this module is being discussed on the perl-xml mailing list. You can subscribe to this list by sending a message to Updated to version 2.06 and a toy example. [snapshop 2.06 local archive copy]

  • [August 20, 1998] See preceding. From Clark Cooper: "I have posted to a heavily revised version of Larry Wall's XML::Parser extension. This version allows direct, dynamic setting of the handlers and gives access to some handlers not originally addressed (for instance the default handler). This collection includes Version 19980621 of James Clark's expat in its entirety. All that should be necessary after unpacking is perl Makefile.PL and make. I have added documentation, test cases, and more of the standard packaging, but I still see this as a trial balloon. . ." Update 980820:

  • [August 07, 1998] From Matt Sergeant: XML::Parser for ActivePerl 5.005 (source and binary) Note [980807] "XML::Parser is still alpha software (and I didn't write it either, so don't contact me if it doesn't work!)." [local archive copy]

  • [August 07, 1998] XML parser - basic recursive descent parser. From Mark Kvale - "lexing is done with 5.004 regexps, which means that I did try to handle all the 8-bit characters in the XML spec, but it will fail miserably on multibyte character sets." [local archive copy]

  • [March 30, 1998] On March 27th at the XML Developers' Day, Larry Wall presented a 30 minute overview of his plans to improve the relationship between Perl and XML, "Perl <heart> XML" ('<heart>' was recast in four or five alternative XML-valid representations). Plans call for Unicode support (UTF-8 for starters), an object-oriented model of XML in Perl, a Perl processing model that hides some or all of the hierarchical nature of XML. . ." See the brief note from Tim Bray or the longer note by Andy Wardley, corrected by Larry Wall.

  • [March 18, 1998] Note the report on the 'Perl/XML Summit' at O'Reilly & Associates attended by several industry luminaries on March 10, 1998. The report title: "Leading Perl and XML Developers Collaborating. Goal: To Make Perl the Top Scripting Language for XML."

  • Another record of the Perl/XML Summit: "Perl Support for XML Developing," by Dale Dougherty. Plans call for a Perl/XML spec, a new Web site for XML(Perl), and a pertinent white paper written by Tim Bray and Larry Wall.

  • [April 13, 1998] "Perl at Any Price" - Michael Vizard's interview with Larry Wall [addresses XML-Perl connection].

  • [April 13, 1998] New version of XML::Grove from Ken MacLeod. See also the following entry.

  • [April 06, 1998] *See preceding, XML-Grove-0.03. XML::Grove version 0.01. From Ken MacLeod, 980502. "XML::Grove is a mid-level, in-memory object model for XML objects, somewhat above plain text elements and attributes and below XML-editor usable or W3C's Document Object Model (DOM). XML::Grove is primarily intended for applications that need access to all the structural items of a document but do not need to preserve the formatting of the original source. The biggest differences between DOM and XML::Grove is that XML::Grove uses Perl arrays and hashes for content and attributes, uses Perl scalars for character data, and does not maintain a `parent' pointer in it's objects. XML::Grove is very similar to HTML::Element but without predefined element names or attributes. XML::Grove requires an XML parser and currently supports Larry Wall's XML::Parser module ( See the README document. Update to XML-Grove-0.02, 980506.

  • The early part of the "Perl and XML" saga was the legendary "Desperate Perl Hacker" - can s/he "code an XML parser in a week (or two)?" The myth evolves. . .

  • Perl-XML list, "a mailing list is dedicated to the discussion of enhancing Perl's ability to work with XML and for using Perl with XML documents." Send 'SUBSCRIBE Perl-XML' to Send list contributions to:

Hosted By
OASIS - Organization for the Advancement of Structured Information Standards

Sponsored By

IBM Corporation
ISIS Papyrus
Microsoft Corporation
Oracle Corporation


XML Daily Newslink
Receive daily news updates from Managing Editor, Robin Cover.

 Newsletter Subscription
 Newsletter Archives
Globe Image

Document URI:  —  Legal stuff
Robin Cover, Editor: