I think the idea seems sound enough just as long as you allow some sort of way to map XML elements to objects based on some other way than string. In other words storing a user defined (possibly through a higher level meta-language) hash entry such as <chapter> --> Publish::Chapter seems like a good idea, but parsing the element name string and automatically mapping that to an element seems like an inherently bad idea.

Another thing to keep in mind is that XML by its nature is inherently structured and Perl by its nature is inherently unstructured so expect monstrous amounts of wrapping.

One thing I would like would be the ability to support persistence using XML...ie mapping from XML to object and back to XML.

Anyway, my $.02


In reply to Re: handling my PerlSAX handler by Anonymous Monk
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.