Lists Home |
Date Index |
Tim Bray scripsit:
> 1. The sweet spot for XML is interchange, and FILE * is a nice general
> basis for almost all kinds of interchange.
> 2. If you're going to build an XML instance in memory, wouldn't it be
> more natural to pull together a DOM or your own private data structure
> and then serialize it in one fell swoop?
Not necessarily. For example, if I want to write to a non-UTF-8 file
stream, then I could write via UTF-8 abstract output and use convert()
to fix things up.
> 3. This lowers the barrier-to-entry to implementers, who are going to
> see genxStartDocument(genxWriter w, FILE * file) and say "oh yeah I
> know what to do" as opposed to having to figure out another flavor of
> I/O abstraction and write a stub of some kind.
A simple implementation strategy would be to keep the FILE * argument,
but also provide a call to set/get an output handler, to be invoked only
if the FILE * argument is NULL. That makes easy things easy and hard
Principles. You can't say A is John Cowan <email@example.com>
made of B or vice versa. All mass http://www.reutershealth.com
is interaction. --Richard Feynman http://www.ccil.org/~cowan