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