Dan North wrote: > Hi Sean. > > It sounds to me as though you would get much better mileage from YAML > for what you are describing. As long as you don't need to send the XML > onto any other non-Ruby systems, it's a very lightweight way of > marshalling, storing hashes and arrays, all that stuff. I've only > recently come across YAML but the more I play with it, the more I'm > liking it. > > You can't do xpath stuff with it, but then you don't need to - it loads > as first-class Ruby objects. > > Cheers, > Dan > > Sean O'Dell wrote: > >> Gavin Sinclair wrote: >> >>> On Wednesday, August 27, 2003, 5:50:09 PM, Sean wrote [snipped]: >>> >>> >>>> I've been a big fan of Sean Russell's REXML library for awhile now, >>>> but an internal project in which I embedded the Ruby interpreter >>>> required certain features in an XML library I couldn't quite get out >>>> of any one of the existing API's out there, so I wrote QuiXML. >>> >>> I'm curious, what features did you need that weren't already provided? >> >> Well, quite a few things I couldn't get in a single library. Well, I had already found ways to do what I needed, but as I think my list of features illustrates, it was a matter of style and parsing speed. Basically, I wanted fast and elegant. Slapping more and more components together to acheive what I needed to do wasn't what I was after. Sometimes I slap things together, when a project needs to get done quickly, and I'm thankful for the components that make it happen, but sometimes it's more important that a project operate swiftly and the code be succinct. Also, full marshaling wasn't what I needed, either. It's overkill and the resulting strings are tied to the API that understands the objects they represent. Having native Ruby data trees makes it easier to design a vanilla format that QuiXML can then read and write to and from XML. The layout of the data trees, while QuiXML-ish, are very, very ordinary and nothing but native Ruby data is used; you can pop the root node right off a QuiXML tree and use it happily without ever loading QuiXML ever again. Sean O'Dell