Floating Sun » xml http://floatingsun.net Mon, 07 Jan 2013 02:53:26 +0000 en-US hourly 1 http://wordpress.org/?v=3.5.1 Structured Résumés: why does it have to be so hard? http://floatingsun.net/2007/10/28/structured-resumes-why-does-it-have-to-be-so-hard/?utm_source=rss&utm_medium=rss&utm_campaign=structured-resumes-why-does-it-have-to-be-so-hard http://floatingsun.net/2007/10/28/structured-resumes-why-does-it-have-to-be-so-hard/#comments Mon, 29 Oct 2007 02:45:54 +0000 Diwaker Gupta http://floatingsun.net/2007/10/28/structured-resumes-why-does-it-have-to-be-so-hard Related posts:
  1. Not a chance
]]>

====What is a “structured” resume?====

Most of us make our resumes in word processors (such as Word or OpenOffice Writer) or typesetting systems (such as LaTeX). Such resumes are free form and ad-hoc, in the sense that each resume is presumably different from every other one in terms of organization of content, layout, design and obviously, content.

Since most resumes have a lot of common elements (contact, qualifications, employment history etc), can we somehow abstract out this commonality? Loosely speaking, a structured resume is one where the specification of the resume is in some standardized format.

==== Why structured resumes? ====

While there is nothing wrong with writing resumes the old way, putting some kind of structure to resumes would be beneficial in at least two ways:
* Instead of treating resumes as just regular binary blobs of PDF or .doc files, search engines could actually be made to do a lot more with structured resumes. Right now each HR department has to maintain its own database, with no way of converting the information in the database to an actual usable resume. Imagine if people could just upload their structured resumes in some repository (with the appropriate access control etc) and then searching would become so much more manageable.
* Separate presentation from content: often times I am asked to send my resume as a plain text file in emails (no attachments). At other times, I want to print or email a PDF of my resume. And I most certainly want to put up an HTML version of my resume on my web page. Maintaining different formats of my resume and keeping them consistent with one another is a __HUGE__ PITA. A structured resume offers an elegant solution to this problem: write your resume once in some format, and then there will be tools to take that specification and convert it to whatever format you want. For each format, you might be able to control the presentation separately (eg: using CSS for the HTML format).

=== HOWTO: Structured Resumes ====

Given the requirements and architectural considerations of the system, XML seems to be an obvious choice for building structured resumes. I started looking at structured resumes almost 5-6 years back, and at the time, the only thing I could find was [[http://xmlresume.sf.net|XML Resume]]. From the website:


//The XML Résumé Library is an XML and XSL based system for marking up, adding metadata to, and formatting résumés and curricula vitae.//

For several years this worked out **great** for me. The text output is fairly easy to get right since there is not a whole lot to customize. I really liked the PDF output from XML Resume — it was pretty and compact. The HTML format left a little to be desired, but CSS took care of it. The code was well structured and easy to hack and I made a whole bunch of changes to the schema to suit my needs.

And I could have probably just stayed with it without any problems. However, me being me, I started checking out the space again around an year back. One of the reasons was that XML Resume had become largely defunct. A huge push for converting the XML DTD to a Relax-NG format had abruptly died out. Meanwhile, a new consortium to standardize resume and other HR data in XML was gaining prominence. From the [[http://www.hr-xml.org|HR-XML]] web site:


//The HR-XML Consortium is an independent, non-profit organization dedicated to the development and promotion of a standard suite of XML specifications to enable e-business and the automation of human resources-related data exchanges.//

Finally, there was a lot of interest in embedding semantic information into regular (X)HTML, giving an easy transitory path to a completely semantic web. This effort is being spear headed by [[http://microformats.org|the microformats community]] and they have had a visible impact. A lot of services you love and use on a daily basis already embed a LOT of information using microformats in regular HTML pages (Technorati, Blogger, Flickr and [[http://microformats.org/wiki/examples-in-the-wild|many many more]]). Standard specifications already exist for [[http://microformats.org/wiki/hcalendar|events]] and [[http://microformats.org/wiki/hcard|contacts]], and there is a [[http://microformats.org/wiki/hresume|draft for hResume]].

So I figured it was time to re-assess the tool space. For HR-XML, [[http://hr-xsl.sourceforge.net/|HR-XSL]] is the best tool chain around. From its website:

//The HR-XSL project provides a set of command-line tools that transforms a curriculum vitae or résumé in XML format into PDF, HTML, or plain text format.//

My main gripe with HR-XSL is that its output is not quite as pretty as XML Resume. In part, this is because HR-XSL heavily relies on the Docbook tool chain. That is, it converts HR-XML into Docbook, and then uses the Docbook toolchain to convert it for various formats. On the other hand, XML Resume had a customized set of stylesheets so they could be a lot more refined in their conversion.

This is probably not a huge problem though. It should be possible to tune the Docbook output generated by HR-XSL along with some styling options to make the output more compact and good looking. The text output is fairly good, and so is the HTML (with some CSS good-ness).

However, my biggest gripe with both XML Resume and HR-XSL/HR-XML is that marking up the resume is just extremely, //extremely// tedious. I know I know there are a lot of good XML editors out there that supposedly take the pain out of writing raw XML by hand. I’ve tried and believe me, they don’t take out any of the real pain. I mean really, it’s nice that XML is human readable and all that, but it is NOT meant to be written out by hand! What I would **really** love is to be able to write my resume in some really simple markup (such as Textile or Dokuwiki markup) and have that be converted automatically to HR-XML or whatever.

For me, there are two main problems with microformats: first, I still need to mark up the HTML by hand, and it is almost as painful as marking XML by hand. Secondly, microformats are strongly tied to HTML and there is no good way of converting your “content” to other formats (like text and PDF). However, microformats do have the advantage that since it can be embedded in free form HTML, it gives a LOT of flexibility in terms of how the content is presented. For instance, if I want to give a link to my full list of publications in the publications section of my resume, it is almost impossible to do with XML Resume or HR-XML but trivial with microformats.

Right now I have an outdated copy of my resume in XML Resume format and an unfinished but current copy in HR-XML markup. After much agonizing deliberation, I have decided to go the microformats route for now. To deal with format conversion, I markup my resume in HTML and then a quick ”elinks -dump” gives me the text format, and Print to PDF in Konqueror gives me the PDF format.

If structured resumes are to gain any more momentum, the barriers to entry need to made much lower. Does it really need to be this hard?

**Update (2007/10/28, 10pm PST)**: I figured I should post the links to my resume for reference! So here we go:
* Microformats: [[http://floatingsun.net/resume/resume.html|html]], {{http://floatingsun.net/resume/resume.pdf|pdf}}, {{http://floatingsun.net/resume/resume.txt|txt}}. I’m still working on the content and presentation, so please bear with me!
* xmlresume: {{http://floatingsun.net/resume/xmlresume.xml}}
* hr-xml: {{http://floatingsun.net/resume/hr-xml-resume.xml}}

]]>
http://floatingsun.net/2007/10/28/structured-resumes-why-does-it-have-to-be-so-hard/feed/ 9