Tim Meadowcroft wrote:
- it's verbose
- its handling of whitespace is ambiguous and a common source of errors
- it's surprisingly hard to read/verify by humans in its plain form
- it requires the entire stream to be read before you can even pronounce the
stream to be valid (i.e. can't be parsed as a stream)
- it has features designed for larger applications that aren't needed here,
such as i18n support, character sequences, comments, declarations
Hand this man a cigar! Thanks for writing this, it really helps to see the
problems with XML outlined together. Too many of us have been taking pot-shots
at the XML issue and not building a solidly convincing case against it.
I won't quote the rest of your e-mail, but anyone still in favor of XML needs
to read it carefully. If these arguments were turned into a presentation for
the IETF, I'm sure that XML would be canned. Also in the presentation, include
one of Wayne's SPF->XML examples. An example like:
"v=spf1 ~ip4:1.2.3.4/8 a:smtp-out.%{d3} exists:%{ir}.hello.com
exists:%{L-+=}.hello.com mx/24//48 -all"
which is somewhat readable, becomes:
"<ep xmlns='http://spf.pobox.com/1' version="1"><out><ip4 cidr4="8"
result="softfail">1.2.3.4</ip4><a><str>smtp-out.</str><d
num_rhs="3"/></a><exists><i rev="y"/><str>.hello.com</str></exists><exists><l
url="y" delim="-+="/><str>.hello.com</str></exists><mx cidr4="24"
cidr6="24"></mx><all result="fail"/></out></ep>"
which is laughably much more difficult to figure out, and more prone to error
(either in reading or editing it).
Michael R. Brumm