Lists Home |
Date Index |
On Wed, Jan 21, 2004 at 09:55:34PM -0800, Tim Bray wrote:
> So, *why* do you want to serialize it? To write it to a file or down a
> pipe to some other process, I'd say.
Or a remote process through a socket. Or stuffing into a database/DBM file.
> Unless you're going to send it to
> someone else, why don't you leave it in a data structure where it's
> handy to traverse, manipulate, throw XPaths at, etc...
Maybe I want to compress and/or base64 encode the data before I'm done.
Maybe I want to transcode the output before writing it to a file.
FILE * is a perfect, simple interface that hits upwards of 80% of the
usage scenarios. My point is that it's not 100% of those scenarios, and
I don't think genx should make a value judgement that these situations
shouldn't be able to serialize to valid XML.
So here's the $64 question: is it more important that genx be useful in
a wide range of situations, or is it more important that genx absolutely
guarantee that it always produces valid XML or fails? I'm arguing the
former. I think you're arguing the latter, and expect genx users to use
temp files if their needs are somewhat out of the ordinary.
> It's just that the compartment in my brain where actual
> angle-brackets-and-Unicode XML lives is right next to the one where
> interchange and publishing happen. And when I'm interchanging and
> publishing, I'm usually talking to a FILE *.
Unless I'm missing something totally obvious, using FILE * creates an
impedence mismatch with raw sockets.