NDP Software 

Compelling Software • Design & Construction

Xml Resume Transform


Generates a resume organized and filtered based on given parameters.


I found myself maintaining two copies of my resume: one for technical projects and one for management-focused jobs. This wasn't such a big deal, but as I was adding new experiences, it was a little tedious. Being an engineer, I thought there must be a better way.

The Project

The Xml format is an ad-hoc format created by myself. I haven't generated a DTD for it yet, as it is still somewhat dynamic. (This is more of a hack than a formal project.) The metaphor is straightforward though: a resume consists of jobs, jobs of roles, and roles of projects. Not all jobs have roles, but they may have projects.

I had the idea, and then generated all the stuff in a few hours. Afterwards, I did a little search of the web, and found some similar projects addressing the same need. I am not advocating using my code, as it is not generalized or documented well. If you are going to do something similar, start with XmlResume.

That being said, from an XSL standpoint, mine does do a couple interesting things:

  • Generates lists nicely and dynamically, sorting and removing duplicates.
  • Features flexible placement of items: the header, footer, with a certain job, or next to an individual project.


There is no demonstration here because my host doesn't provide XSL support, and client-side XSL is way too flakey.

Future Directions

If I ignore my own advice and keep working on this:

  • Merge with open source efforts, using their schemas and code.
  • Formalize the "goal" filtering down to the project level.
  • Generalize the idea of skills so that it isn't so NDP-centric.
  • Add soft-skills and figure out how to deal with them.
  • Parameterize CSS.


Note: I maintain the copyright and all rights to this and derived works. At this point, all I ask is that you let me know if you find it useful, but I reserve the right to change this in the future.

Xsl Stylesheet resume.xsl

My Resume andrewpeterson.xml

And of course you can see the results on my resumes page.

See Also

  • The most mature effort in this area is XmlResume, an open source project hosted on SourceForge. Aaron Faby has some interesting enhancements.
  • Robert Bruce Wallace has done something similar at his PolyGlot Inc. site. Unfortunately, this doesn't look so hot, and doesn't have a schema such that one can produce a simple, fluid resume. He does integrate a very good Gannt chart generator, though, but the appropriateness to a resume is suspect.
  • Sunit Katkar has an interesting tutorial on this subject at his site. I wasn't able to find usable code, however.

February 21, 2004