Related products:
Programming Web Services with Perl
XML and Perl
Perl Cookbook, Second Edition
Perl Best Practices
Perl & LWP
|
Perl Books
Perl & XML (O'Reilly Perl)
Format: Paperback
Author: Erik T Ray
ReleaseDate: April, 2002
Publisher: O'Reilly Media
Rating:
Review of Perl & XML--XML for Perl Programmers
XML has long served in hidden roles on servers and in configuration files. XML has begun to appear everywhere. Microsoft Word 2003 for Windows now supports reading and writing XML to in it's wordprocessingML format. Unlike MS Word's horrible "Save As Web Page" feature, wordprocessingML, or wordML for short, is a clean usable format. The adoption of XML in a user space as common as MS Word in an accessible format means that developers have a rich opportunity in XML.
The book Perl and XML focuses on the where Perl and XML meet. In asking the questions "Why Perl?", the authors Erik Ray and Jason McIntosh point to Perl's ability to handle text, strings, and regular expressions. The authors also point out in a clear and concise manner the strengths of XML as a means for structuring data.
The book focuses on working with XML using Perl. Tutorials of the basics of either language are best found in another book. The author of the book recommends Learning Perl for those people starting out in Perl. The book does not assume much knowledge of XML, so it's really an XML book for Perl programmers. If you'd like a more in depth discussion of XML, you might check out Erik Ray's Learning XML.
Surveying many conventional XML tools and applications, the book addresses big picture items such as tree processing and streams as well as specific items such as RSS and SOAP. Approaching XML from both a practical point of view and strategic point of view, the author provides detailed examples and observes which strategies work well for handling XML in Perl.
Originally, I picked up Perl and XML to address a couple of small projects where I had to deal with XML. The examples in Perl and XML were well written and provided the information I needed to try out common Perl tools for handling XML. Unfortunately, I found that XML processing in Perl was unacceptably slow for the two projects I had at hand. In a short amount of time, I hacked together a faster solution without relying on an XML parser. That said, I gleaned a great deal from Perl and XML which I imagine I will be putting to use soon.
If you're not currently working with XML, you may find yourself working sooner than you think. I couldn't more highly recommend Perl and XML for thorough treatment of the subject even if you end up hacking your own solution.
Good book, but lots of errors in the code
I particularly liked the middle of the book, and how it dealt with trees and event streams. I liked the way this book was structured - it was a quick read over a thanksgiving family visit, and it gave a good overview of what XML is and what XML isn't, and what tools are available already in Perl to use it. First there was in short intro chapter on why you'd want to parse XML as an event stream, and some simple modules that give back event streams. Then the next chapter would be a longer one on SAX - the definitive way to do event streams. Same thing with trees and DOM. It ends with some examples of real-life XML processing, such as consuming and producing RSS feeds. The book also has the best description of Unicode I've ever read, and did it with just a few pages.
What ticked me off about this book were the egregious errors in the sampe code. The very first piece of code they show in chapter 3 is a 100-line XML parser that doesn't need any support modules. The problem is that it doesn't recognize any XML because the regular expressions are wrong, which was pretty confusing for me (I'm relatively new to Perl, so I figured they were just "another way of doing it" that I didn't understand). I downloaded the examples frm the O'Reily website, and they're wrong there too - so it's not just a printing error. Worse, the example XML file I tried to test the parser on was also from the tarfile I downloaded - but it was invalid XML! (example 3. 4). So I was trying to learn XML with a sample parser that didn't work, on invalid XML! This is not the quality I am expecting from O'Reilly!
(In fairness, both of these errors were in the online errata, but I'm not sure if they were corrected in the 7/04 reprint)
There are other errors in the code too - so be sure and check back with the errata page if you're going to seriously use the code. If they'd run their sample code before printing, I'd probably give this book a better rating. .
Good Overview Of XML And Supporting Perl Modules
However, putting XML in the context of something familiar, i. I have wanted to learn about XML, but I found the pure XML books dry and too theoretical.e. Perl, made it much more accessible. This book gives a nice overview of XML parsing using event based and tree based parsers that are available as Perl modules. The book presents SAX and DOM standards compliant modules as well as modules with more Perlish interfaces, e. g. XML::Grove and XML::Twig. It discusses the pros and cons of event vs. tree parsing of XML as well as a few advanced technologies such as database integration and SOAP. The only knock I have on the book is that the examples are a bit contrived and do not show how to solve meaningful problems.
|
|