REXML 3.1.5 review

Download
by rbytes.net on

REXML is a conformant XML processor for the Ruby programming language

License: Other/Proprietary License
File size: 518K
Developer: Sean Russell
0 stars award from rbytes.net

REXML is a conformant XML processor for the Ruby programming language. REXML passes 100% of the Oasis non-validating tests and includes full XPath support.

REXML is reasonably fast, and is implemented in pure Ruby. Best of all, it has a clean, intuitive API. REXML is included in the standard library of Ruby.

This software is distribute under the Ruby license.

REXML arose out of a desire for a straightforward XML API, and is an attempt at an API that doesn't require constant referencing of documentation to do common tasks. "Keep the common case simple, and the uncommon, possible."

REXML avoids The DOM API, which violates the maxim of simplicity. It does provide a DOM model, but one that is Ruby-ized. It is an XML API oriented for Ruby programmers, not for XML programmers coming from Java.

Some of the common differences are that the Ruby API relies on block enumerations, rather than iterators. For example, the Java code:

for (Enumeration e=parent.getChildren(); e.hasMoreElements(); ) {
Element child = (Element)e.nextElement(); // Do something with child
}
in Ruby becomes:

parent.each_child{ |child| # Do something with child }

Can't you feel the peace and contentment in this block of code? Ruby is the language Buddha would have programmed in.

One last thing. If you use and like this software, and you're in a position of power in a company in Western Europe and are looking for a software architect or developer, drop me a line. I took a lot of French classes in college (all of which I've forgotten), and I lived in Munich long enough that I was pretty fluent by the time I left, and I'd love to get back over there.

Here are some key features of "REXML":
Four intuitive parsing APIs.
Intuitive, powerful, and reasonably fast tree parsing API (a-la DOM
Fast stream parsing API (a-la SAX)1
SAX2-based API2
Pull parsing API.
Small
Reasonably fast (for interpreted code)
Native Ruby
Full XPath support3
XML 1.0 conformant4
ISO-8859-1, UNILE, UTF-16 and UTF-8 input and output; also, support for any encoding the iconv supports.
Documentation

What's New in This Release:
Bugfixes and a couple of feature requests were made.

REXML 3.1.5 keywords