mail-ng
[Top] [All Lists]

base64 and XML (was: Re: What I see as problems to solve ... and a strawman solution)

2004-01-30 14:57:25

[everybody: please try to use more specific subjects]

Hello Chuq,

At 08:36 04/01/30 -0800, Chuq Von Rospach wrote:


On Jan 30, 2004, at 2:35 AM, Kai Henningsen wrote:

1. Mail should really be binary transparent (just like ftp can be with the
right options - that's where mail came from, in the beginning ...)

The new mechanism should be based on XML. All text parts are in UTF-8 or UTF-16, base 64 encoded.

I'm a bit confused here. In another message, you mention
    real, honest to god, 8 bit transparency
as one of your goals. Why would you need to base64-encode UTF-8
or UTF-16 on 8-bit transport? Or do you mean to use base64 for
binary data in XML? In that case, you should probably be a bit
more explicit.


as soon as you do that, all issues about header/body issues, binary transport, how things are formatted, how to handle new and emerging data types and internationalization (with a few limitations) basically go away.

XML isn't really designed for transporting binary payloads
(e.g. images, video,...), although of course you can make it do that.
XML is very good at transporting international text. Other aspects
of internationalization (e.g. formating, negotiation,...)
have to be designed on top of it.
To say that header/body isuses just go away is not appropriate.
XML will solve a lot of syntactic problems (e.g. various quoting
issues) and open possibilities (e.g. structured headers,...),
and that can be extremely helpful, but it doesn't just suddenly
solve header/body issues.


Then you define what XML pieces you must have to be a conforming message (which header parts are required for transport and identification, what the required default content part is and how it's set up, and some meta-part explaining what's in the message), and now you have a transparent transfer system that's infinitely expandable.

Yes, exactly. Even with XML, all that stuff doesn't come for free.
But it can be made easier, especially if XML is used well.


The internationalization limitation is one that needs to be resolved by the internationalization of domain/dns info, but once that part's solved, this new system is ready to handle it.

The DNS bit is solved, although (seen from an XML perspective) in
an ugly way (punycode). Of course, inside XML, there is no need
to use punycode.


Regards,   Martin.