Your browser doesn't seem to support CSS, which this page uses for all styling. Don't be surprised if it looks kinda boring.

[Jump to nav]



This is a DTD I wrote to help me maintain my resume. I previously maintained it directly in LaTeX, but that got unwieldy, and the conversions to the various formats never really came out right.

By maintaining a SGML file, I could keep all the structure I wanted in the file, instead of bogging down in presentation. Then, I could write external conversions in DSSSL to put it into any output format my little heart desires.

And, darnit, this is just too useful to not share.

What's what

Most of the documentation that exists is either in the tarball, or in my resume (look at the SGML source).

There is a HOWTO file in the tarball that gives a rundown of the basic structure of a Resume document. There is also a sample.sgml file in the examples/ directory that gives a sample resume with many of the capabilities of the DTD. And the is a Makefile.sample in the examples/ directory as well, which gives a sample building scheme. If you copy the sample.sgml into a directory (say $HOME/tmp/resume/), then copy the Makefile.sample to Makefile in that directory, just running make should, if all the necessary software is installed, leave you with formatted output in the outputs/ directory.

See the README and HOWTO files in the tarball for more information.


The current release is version 1.0. To install it, just download, untar, and run 'make install'. You may wish to customize the install location. For instance, if you don't want to install it system-wide, but only in your $HOME/sgml, type make INSTDIR=$HOME/sgml install. The default install location is under /usr/local/share/sgml/, which means the actual files will be under /usr/local/share/sgml/resume/1.0/. This allows you to have multiple versions installed without any extra work.

Other necessary software

This information is pulled from the README file in the distribution

Building all these transformations uses a LOT of software packages.

  • To build ANYTHING, you need Jade.
  • To build RTF, that's all you need.
  • To build HTML, that's also all you need.
  • To build TXT, you also need lynx (you can PROBABLY find a way to substitute links or w3m or some similar thing if you try)
  • To build other formats uses TeX output, then transforms it.
    • To build DVI, you need a TeX processor (I suggest teTeX, which is basically the standard TeX processor for POSIX systems), and the JadeTeX backends.
    • To build PS, you need dvips
    • To build PDF, you need pdftex, which is part of teTeX.
  • If you're on FreeBSD, you can shortcut all of this by installing the textproc/docproj port or package (with JADETEX=yes).