in reply to Re: handling my PerlSAX handler
in thread handling my PerlSAX handler
Oooh, i see i was unclear.
Thou shalt not pollute thy namespace with auto-generated, out-of-control aka user-supplied names
Indeed! i meant to imply the case where the coder has already written the packages; the handler would create a new object of the appropriate type, not a new class.
of course, you have to know what the classes are called for each element; i was thinking along the lines of:
my $handler = new XML::PerlSAX::Handler::Sanctum( # assume all packages are named "Publish::$element" baseclass => 'Publisher', # prefer "Publish::$parent::$element" # over "Publish::$element", to allow a book title # to be a different object than a chapter title. heirarchic => 'preferred', ); my $otherhandler = new XML::PerlSAX::Handler::Sanctum( dictionary => { # clear cases... BOOK => 'Publish::Book', CHAPTER => 'Publish::Chapter', PARAGRAPH => 'Publish::Paragraph', # <BOOK><TITLE></TITLE></BOOK> gets treated differently # than <CHAPTER><TITLE>... or <PARAGRAPH><TITLE>... 'BOOK TITLE' => 'Publish::Book::Title', 'CHAPTER TITLE' => 'Publish::Chapter::Title', TITLE => 'Publish::SectionHeading', } );
honestly, it had occurred to me to create the classes if they couldn't be found, but i decided that i'd only do that if the user told me to do so, and even then only if they didn't already exist. and maybe not even then; let the user auto-create their objects if they want.
thanks for the pointer to mirod's work, as well.
.
|
|---|