Filtering allows you to maintain a single, complete resume.xml file that represents the entirety of your career/academic record, while allowing for the simple creation of targeted résumés. In other words, you can start to think of your XML Résumé as a database of your every skill, every accomplishment, every _____ without worrying about cluttering up the résumé your employer sees. Read on to find out how.
Consider the following snippet of Jane Doe's resume:
<skillset> <skill>Carpentry</skill> <skill>Welding</skill> <skill>Java Programming</skill> <skill>XML</skill> <skill>C++</skill> <skill>Good communicator</skill> <skill>Gourmet Pastry Creation</skill> <skill>Cooking for construction workers</skill> </skillset>
The problem here is that Jane needs to maintain a record of all her skills, but she doesn't need to tell a potential employer about all of those skills. Sure, Jane could selectively comment out portions of her résumé, but this can be tedious. Instead, she should use attributes to describe the categories of résumé to which a given element applies:
<skillset> <skill targets="construction,woodworking">Carpentry</skill> <skill targets="construction">Welding</skill> <skill targets="programming">Java Programming</skill> <skill targets="programming">XML</skill> <skill targets="programming">C++</skill> <skill>Good communicator</skill> <skill targets="foodservice">Gourmet Pastry Creation</skill> <skill targets="foodservice+construction">Cooking for construction workers</skill> </skillset>
After defining her targets, Jane can filter her résumé to produce beautifully-formatted, well-focused résumés to send to employers. Her "construction" résumé will contain only those elements applicable to the construction industry, and the job foreman won't have to read about her vast knowledge of meringues and bundt cakes, or her experience coding up an application server in Java.
You may have noticed that some of Jane's skills apply to more than one target, or apply only when two (or more) targets are defined. By specifying a list of targets (separated by commas), Jane can ensure that her Carpentry skill will be included in both "construction" and "woodworking" résumés. Similarly, her "Cooking for construction workers" skill will apply only to résumés where both "foodservice" AND "construction" are targeted.
Elements that have no "targets" attribute are always included in the filtered output. Thus Jane's communications skills will apply to every résumé.
The "targets" attribute can be used in ANY element, but keep in mind that using targets on a high-level element (e.g., history or academics element) will affect all children of that element. Thus if the history element includes a 'targets="foo"' attribute, and "foo" is not included in the targets list during the filtering process, then the entire history section will be filtered out, even if there are subelements of history that do not have the 'targets="foo"' attribute.
Now, keep in mind that defining targets is entirely up to you. You can use the targets attribute in any element, and you can specify any number of values for the target— just keep in mind that comma (,) and plus (+) represent OR and AND, respectively, as per the example above. If the list of possible targets starts to pile up, just look at the end of a filtered resume.xml file: a list of the possible and selected targets is included for convenience.
To get a better idea of how this all works, take a look at
examples/example2.xml
. Trying making
the complete resume (with make all resume=example2),
and then the filtered version (make filter
resume=example2). Then compare
example2.txt
with
example2-filtered.txt
. To create résumés
targeted to other purposes, change filter_targets
in Makefile
.
With just a few tweaks, you can dramatically change the look of your résumés.
The first thing to do to customize your resume is to
check out the parameters files. The main file is
xsl/params.xsl
, which contains general
parameters that you can change. We suggest making a backup of
this file by issuing the command cp params.xsl
params.xsl.dist, and then playing around with the values
inside params.xsl
to see how they affect
the formatting and output of your resumes.
You will need to change xsl_base
in
Makefile
to point to your local xsl directory
before any of your changes can take effect. Otherwise, the
default parameters stored on the XMLRésumé website are used
instead.
Located in the xsl/paper
directory
are the a4.xsl
and
letter.xsl
files. These files specify
things like margin size and indent size for their respective
paper formats.
The xsl/country
directory contains
country-specific parameter files, which contain translations for
everything from "Résumé" to "Mobile Telephone". If you would
prefer your résumé to be called a Curriculum Vitae, this is
where to look. The files are sorted by a 2-letter country code
(e.g., nl.xsl for the Netherlands). If you don't see your
country there, or if there are errors/omissions in the
translations, please attempt a translation and submit the
changes back to the project-- while XML may work across all
languages, the gentle developers of the XML Résumé Library Project
do not.
Cascading Style Sheets (CSS) are a powerful way to format the
look of your HTML Résumé. A selection of sample CSS files are
provided in the css
directory. If you have not already done so, try changing the value
of css.href
in params.xsl
to a different stylesheet (you may have to adjust the location
of the stylesheets). Once you find one you like, you can tweak
it by editing the CSS file by hand, or create one that is
entirely your own. If you think other people would find your
CSS file useful, please consider submitting it back to the
project.