I just did this sort of thing. I used File::Slurp to read the directories of XML files and XML::Twig to parse the XML files and create delimited ascii tables. The delimited ascii tables are read into the database using a very short SQL program.

I made a mod_perl web application to query the database using CGI::Application, HTML::Template, and DBI. The resulting code is simple, brief, and separates program logic from the HTML. The big win with this separation is that the perl code becomes so much shorter that it is much easier to read. The HTML is also easier to read, since it isn't spread across the perl source code.

The way that I used XML::Twig is similar to the way that XML::Filter::Dispatcher works. Since XML::Filter uses SAX, and SAX is a standards-based approach, the javaheads may like it better. I compared the two approaches and found them to have similar speed in a different application. XML::Twig, however, has the advantage that it easy to tune the code to provide a speed/memory tradeoff.

It should work perfectly the first time! - toma


In reply to Re: Native XML Repository + Perl by toma
in thread Native XML Repository + Perl by Heidegger

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.