NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.
All the Perl that's Practical to Extract and Report
Stories, comments, journals, and other submissions on use Perl; are Copyright 1998-2006, their respective owners.
On SAX (Score:2)
That's pretty much just how SAX works I'm afraid. It has a tendency to contain a large case statement with things that say: "If tag is this do this. If tag is that do that."
I'd welcome alternate ways of designing SAX handlers though. Unfortunately that tends to be the way data driven code works.
Trying SAX Modules
Installed Pod::SAX with cpan. This has many dependencies, including XML::SAX::Writer. Installed okay. Pod documentation for the functions is missing. This style of code doesn't look like the kind of code that I like write.
It only requires three modules - XML::SAX, XML::SAX::Writer (for the tests - though potentially I could write the tests without this) and Pod::Parser - which should be shipped with your perl.
As for the style, mostly I copied other Pod::Parser based code. It tends to inforce a certain way of writing code unfortunately, and I find it a bit hacky. Though I would appreciate it if you could be more specific as it might help me clean up the module.
The docs suck, I know. I'll work on that. It's tricky because partly I want to say "Uses SAX, generates XML that looks like this", but obviously that's not enough for most people.
Installed XML::Generator::DBI with cpan. It failed tests looking for DBD/Pg.pm
Strange. I'll look into it.
there is some manual configuration that needs to be done. I didn't pursue this further because I have no database on this machine. The code is interesting to read though, both as an example of using XML::Handler::YAWriter and a nifty flexible DBI query.
Theoretically the tests shouldn't require any DBD driver but I'll look into that tomorrow. Thanks.
Reply to This
Re:On SAX (Score:1)
I'm not really knowledgable enough about SAX to understand this design problem to make a good suggestion, but I won't let that stop me.
I have been using XML::Twig and XML::Writer with some success, and have enjoyed the XPath features in XML::Twig.
Instead of writing a large case statement, I usually use a dispatch table. Typically I use a hash of anonymous subs, where the key to
It should work perfectly the first time! - toma
Re:On SAX (Score:2)
Re:On SAX (Score:1)
I posted a question about this at XML::Filter::Dispatcher string rules problem [perlmonks.org].
It should work perfectly the first time! - toma