It is pretty easy to write a simple and compact XML parser for a single DTD.
I once wrote a Web browser that was only 75Kb of code, and that had an SGML
parser which is a much clunkier affair.
Phill
-----Original Message-----
From: owner-ietf-mxcomp(_at_)mail(_dot_)imc(_dot_)org
[mailto:owner-ietf-mxcomp(_at_)mail(_dot_)imc(_dot_)org]On Behalf Of Aredridel
Sent: Monday, June 14, 2004 7:51 PM
To: ietf-mxcomp(_at_)imc(_dot_)org
Subject: Re: Why should I link a library thats larger than my ENTIRE
MTA?
Now can anyone see whats wrong with this picture, because
*I* for one
certainly can. So I am supposed to link a 1.3M library
against my MTA,
___JUST___ to validate senders? Can someone please explain
this to me?
I would ask why XML is even being considered but I'm not
out looking to
start a flame, I simply would like to illustrate to
everyone here that
there are some very deeply wrong things with XML,
completely outside the
realm of publishing XML within DNS.
May I suggest a much more appropriate tool for the job? Expat, the XML
parser from James Clark, is a far smaller and simpler
library. libxml is
a good general tool for dealing with large, complex XML related tasks.
For a simple record parser, expat is a much more natural interface.
A visual aid:
-rwxr-xr-x 1 root root 125K Jan 19 10:23 /usr/lib/libexpat.so.0.5.0
-rwxr-xr-x 1 root root 475K Mar 11 03:28 /usr/lib/libxml.so.1.8.17
-rwxr-xr-x 1 root root 957K Apr 19 04:41 /usr/lib/libxml2.so.2.6.9
So if your libraries are a bit larger than mine (debugging symbols,
likely), you're talking more like 200K. I think that's reasonable. If
not, in the tradition of qmail, a little patch doing just the
neccesary
parsing and nothing more is likely to be quite a bit tighter. I think
the 20K tossed around earlier is quite likely to be accurate to well
less than an order of magnitude. You won't get the ease of
extensibility, but I think that's a fair compromise.
Ari