Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

Thanks for the great responses. Y'all have definitely given me plenty upon which to meditate. Here are some of my thoughts on what I've read thus far:

On Sub-Classing...
This generated the nice debate I was looking for. ;) I had considered the issue of having to create separate objects for each of the different output methods, which was the main reason I considered proceeding with the single-class system. But on the other hand, I would like to make it relatively easy to pick and choose the functionality and implementation you want to use on a given system. For example, if you don't have and/or don't want to install the PDFLib module and its baggage, you simply don't have to create any Resume::PDF objects. And if someone wanted to write a different PDF output system, it feels cleaner to me to just replace the existing Resume/ module than to have to edit the module itself. I do like and intend to use the Factory object idea as well.
Template Toolkit
I've checked out many of the templating modules out there and liked what I've seen. So far, for the XML, HTML, and text outputs, they all seem overkill when I've already got my favorite new hammer on the workbench generating the outputs, but the jury's still out on the best way to handle PDF. I figured I'd get the PDFLib version completed, then see what I can improve if I change modules.
Joining forces...
I'm certainly not adverse to joining up with a similar (or identical) project. ;) I'm planning to get the code cleaned up a bit more and incorporate the ideas I've gotten thus far, and posting it for review Real Soon Now. When I do, let me know if it looks like you'd like my assistance.
Other Outputs
How could I have forgotten RTF? It's an obvious choice, especially considering how many times I've provided an MS Word version of my own in the past. There seem to be several RTF modules available for the task. I've also considered (for far off in the future when I get time to bang my head on it) learning Win32::OLE to try and directly generate Word documents.
I also like the idea of XML to XML transforms using XSLT. That will be simple to add; on the XML output, I can allow an optional XSL file to be passed in for transformations.
Related Projects (XML resumé library, etc)
I should have mentioned XML resumé library explicity as one of the other solutions I've looked at. It is a fine resource, and actually one of the projects that inspired me to try this. It was quite a bit more than I need at this point, and I'm trying to avoid Java for now, but its has given me several ideas. While I'm at it, I should also mention Andrew Ho Résumé Formats. I considered using it for my own purposes, but I prefer to use XSLT for my transforms rather than a dispatch table.

Thanks again for all the comments and for giving me plenty of food for thought.


He seemed like such a nice guy to his neighbors / Kept to himself and never bothered them with favors
- Jefferson Airplane, "Assassin"

In reply to Re: XML Resume Module design by rattusillegitimus
in thread XML Resume Module design by rattusillegitimus

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, 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, 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.
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others scrutinizing the Monastery: (5)
    As of 2020-09-20 10:11 GMT
    Find Nodes?
      Voting Booth?
      If at first I donít succeed, I Ö

      Results (120 votes). Check out past polls.