Overview
REXML is an XML processor for the language Ruby. REXML is conformant
(passes 100% of the Oasis non-validating tests), and includes full XPath
support. It is reasonably fast, and is implemented in pure Ruby. Best of
all, it has a clean, intuitive API.
This software is distribute under the Ruby license.
Why REXML?
Why REXML? There, at the time of this writing, already two XML
parsers for Ruby. The first is a Ruby binding to a native XML parser. This
is a fast parser, using proven technology. However, it isn't very
portable. The second is a native Ruby implementation, and as useful as it
is, it has (IMO) a difficult API.
I have this problem: I dislike obfuscated APIs. There are several
XML parser APIs for Java. Most of them follow DOM or SAX, and are very
similar in philosophy with an increasing number of Java APIs. Namely, they
look like they were designed by theorists who never had to use their own
APIs. The extant XML APIs, in general, suck. They take a markup language
which was specifically designed to be very simple, elegant, and powerful,
and wrap an obnoxious, bloated, and large API around it. I was always
having to refer to the API documentation to do even the most basic XML
tree manipulations; nothing was intuitive, and almost every operation was
complex.
Then along came Electric XML.