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
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.