Skotty
11/6/2006 11:16:00 PM
I wish I had the foggiest idea of what you guys were talking about.
(Roobist here)
I'm still working on Y's book.
:D
On Tue, 2006-11-07 at 08:12 +0900, Jeff Wood wrote:
> David Vallner wrote:
> > pdg wrote:
> >
> >> Hi All,
> >>
> >> As a first exercise with Ruby, I am going through the Pickaxe book and
> >> creating a jukebox. I haven't even tried to create an array of songs
> >> yet, because I got distracted and wanted to work this out. I am trying
> >> toi feed in the data from my iTunes xml file to it to get the data, I
> >> can get it to work if I delete most of the xml file, but when it's 5-6
> >> gig,
> >>
> >
> > OMFG. That's a -huge- XML file. Probably all of my MP3s together would
> > fit into there with base64-encoded contents :P
> >
> >
> >> rexml just seems to die. I have vaguely heard that stream parsing
> >> may be the answer, but am totally unaware of how to use it.
> >>
> >>
> >
> > Well, time to learn. I probably never even saw a computer that could
> > handle a XML file that size using straightforward DOM parsing - which
> > normally "blows up" the original XML document's size in bytes five times
> > and more. And REXML definitely doesn't have performance of any kind
> > amongst its qualities. (And for completeness' sake, I never 'clicked'
> > with the API either, but I'm a minority there.)
> >
> > You want a Ruby binding to a stream or pull parser - to my best
> > knowledge, REXML is neither. That means libxml2, expat, or Xerces.
> > Compiling Required - I think the one-click installer comes with one of
> > these, buggered if I know which.
> >
> > After that, Google is your friend. Look at the documentation to
> > whichever parser you decided to use and use that - personally, I don't
> > do much / no non-tree XML parsing at all, so I'm mainly guessing around
> > on this. The main difference is that while with REXML, you can
> > arbitrarily look around the XML document, with stream and pull parsing,
> > you can only process the document in order, and have to keep the state
> > of that processing (e.g. which track you're currently "working on") in
> > your Ruby code.
> >
> > David Vallner
> >
> >
> Actually, I recently had to rewrite an xml parser to go stream ( SAX )
> style ... REXML made the task VERY easy ...
>
> Yes, it's not the fastest thing there is, but it was "fast enough" ...
>
> Definitely try writing it with REXML before taking the route of anything
> heavier.
>
> jd
>
>
--
You have a new sung; unsung.
I sing a song falling upon deaf ears,
unsung.
skt
(shyguyfrenzy@gmail.com)
www.freewebs.com/scottygiveshighfives