<?xml version="1.0" encoding="UTF-8"?>
<section>
  <title>Overview</title>

  <para>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.</para>

  <para>This software is distribute under the <ulink url="???">Ruby license</ulink>.</para>

  <section>
    <title>Why REXML?</title>

    <para>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&#39;t very
    portable. The second is a native Ruby implementation, and as useful as it
    is, it has (IMO) a difficult API.</para>

    <para>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.</para>

    <para>Then along came Electric XML.</para>

    <para></para>
  </section>
</section>