First of all ++ to you for taking the time to raise such devious porpoises.
If you are going to build an module to turn XML elements and attributes into perl objects, you might as well base it on a wildely used DTD. It might be hard to generalize without using a solid reference point.

I've just started using DocBook as our DTD and I was surpirsed that there was only one module on the CPAN that specifically addressed DocBook. It is a big DTD with over 300 elements but, it could take you down some interesting roads. It is well documented and there is an active mailing list for you to talk with.

As XML becomes more widely used it seems there will be a need to write interfaces for specific DTDs. Personally I would love to see a module that would let me get/set Sect1 titles or get/set all the document authors and editors. People customize DocBook, and it would be cool if your module could read a DTD and provide an interface to all the elements and attributes that are being used.

I don't know how devious your porpoises are, but, it would be interesting to see if you could 'feed' your module a DTD and have it create an interface to the document.

my $parser = DeviousPorpoises->new(generic.dtd);
Get Strong Together!!

In reply to Re: handling my PerlSAX handler by aardvark
in thread handling my PerlSAX handler by Vynce

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.