[NEW] AElfred: a small, fast XML Parser
ak117 at freenet.carleton.ca
Wed Dec 10 00:22:09 GMT 1997
Microstar Software Ltd. is happy to announce Ælfred (AElfred), a
small, fast, DTD-aware Java-based XML parser, especially suitable for
use in Java applets.
We've designed Ælfred for Java programmers who want to add XML support
to their applets and applications without doubling their size: Ælfred
consists of only two class files, with a total size of approximately
24K, and requires very little memory to run. Ælfred also implements
Java's java.lang.Runnable interface and a zero-argument constructor,
so it's easy to start Ælfred as a separate thread or to adapt it for
use as a JavaBean.
Ælfred is free for both commercial and non-commercial use, and COMES
WITH NO WARRANTEE. You can download a copy of version 1.0 (with
source code) from the following URL:
There is also an applet to let you try Ælfred online in your own
browser before download it.
1. Ælfred must be as small as possible, so that it doesn't add too
much to your applet's download time.
STATUS: Ælfred is currently about 24K in total, and we're still
looking for ways to shrink it further.
2. Ælfred must use as few class files as possible, to minimize the number
of HTTP connections necessary for applets.
STATUS: Ælfred consists of only two class files, the main parser
class (XmlParser.class) and a small interface for your own program
to implement (XmlProcessor.class). All other classes in the
distribution are just demonstrations.
3. Ælfred must be compatible with most or all Java implementations
STATUS: Ælfred uses only JDK 1.0.2 features, and we have tested it
successfully with the following Java implementations: JDK 1.1.1
(Linux), jview (Windows NT), Netscape 4 (Linux and Windows NT),
Internet Explorer 3 (Windows NT), and Internet Explorer 4 (Windows
4. Ælfred must use as little memory as possible, so that it does not take
away resources from the rest of your program.
STATUS: On a P75 Linux system, using JDK 1.1.1, running Ælfred
(with a 4MB XML document) takes only 2MB more memory than running
a simple "Hello world" Java application. Because Ælfred does not
build an in-memory parse tree, you can run it on very large input
files using little or no extra memory.
5. Ælfred must run as fast as possible, so that it does not slow down
the rest of your program.
STATUS: On a P75 Linux system, using JDK 1.1.1 (without a JIT
compiler), Ælfred parses XML test files at about 50K/second. On a
P166 NT workstation, using jview, Ælfred parses XML test files at
6. Ælfred must produce correct output for well-formed and valid
documents, but need not reject every document that is not valid or
STATUS: Ælfred is DTD-aware, and handles all current XML features,
including CDATA and INCLUDE/IGNORE marked sections, internal and
external entities, proper whitespace treatment in element content,
and default attribute values. It will sometimes accept input that
is technically incorrect, however, without reporting an error (see
README), since full error reporting would make the parser much
7. Ælfred must provide full internationalisation from the first release.
STATUS: Ælfred supports Unicode to the fullest extent possible in
Java. It correctly handles XML documents encoded using UTF-8,
UTF-16, ISO-10646-UCS-2, ISO-10646-UCS-4 (as far as surrogates
allow), and ISO-8859-1 (ISO Latin 1/Windows). With these
character sets, Ælfred can handle all of the world's major (and
most of its minor) languages.
ABOUT THE NAME "Ælfred"
Ælfred the Great (AElfred in ASCII) was king of Wessex, and at least
nominally of all England, at the time of his death in 899AD. Ælfred
introduced a wide-spread literacy program in the hope that his people
would learn to read English, at least, if Latin was too difficult for
them. This Ælfred hopes to bring another sort of literacy to Java,
using XML, at least, if full SGML is too difficult.
The initial "Æ" (AE ligature) is also a reminder that XML is not
limited to ASCII.
David Megginson ak117 at freenet.carleton.ca
Microstar Software Ltd. dmeggins at microstar.com
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev