[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: genx - abstract output
----- Original Message ----- From: "Tim Bray" <tbray@t...> To: "xml-dev mailing list" <xml-dev@l...> > Right now genx does output to a FILE *. Several have suggested that it > should do output via an abstracted callback. This sounds kind of > seductive, and is indeed much more general, and would be no biggie to > implement, but the more I think about it the less I like it. So at the > moment I'm leaning to sticking with FILE * for the following reasons: > > 1. The sweet spot for XML is interchange, and FILE * is a nice general > basis for almost all kinds of interchange. Even when you want to feed your output through an encoding converter first? > 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? What do you mean? I usually serialize from some application specific object model. DOM would require to conver to to another object model first, and then use lots of memory as well. > 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. You could have a FILE callback function included in the implementation. So when setting the callback, the programmer passes a pointer to this function and as a writerTarget he passes the FILE pointer. > So this would be a good time to say "I'd use genx for XXX, but if it > sticks with FILE * I'm not going to be able to use it because of YYY". Serializing over the network? There a various APIs for that, could even be custom APIS or CORBA/DCOM. Karl
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|