revegen ramp up. here we go!

This commit is contained in:
2024-11-04 16:19:43 -06:00
parent 4a6c05c37f
commit d559e51e6e
249 changed files with 31328 additions and 0 deletions

View File

@@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
br.xsl
Parameters for Brazilian resumes.
Copyright (c) 2002 Felipe Leme
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: br.xsl,v 1.4 2002/11/26 18:39:27 brandondoyle Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="resume.word">Curriculum Vitae</xsl:param>
<xsl:param name="page.word">p&#x00e1;gina</xsl:param>
<!-- Word to use for "Contact Information" -->
<xsl:param name="contact.word">Dados para Contato</xsl:param>
<xsl:param name="objective.word">Objetivo Profissional</xsl:param>
<!-- Word to use for "Employment History" -->
<xsl:param name="history.word">Experi&#x00ea;ncia Profissional</xsl:param>
<xsl:param name="academics.word">Forma&#x00e7;&#x00e3;o Acad&#x00ea;mica</xsl:param>
<xsl:param name="publications.word">Publica&#x00e7;&#x00f5;es</xsl:param>
<xsl:param name="interests.word">Interesses</xsl:param>
<xsl:param name="security-clearances.word">Autoriza&#x00e7;&#x00f5;es</xsl:param>
<xsl:param name="awards.word">Pr&#x00E8;mios</xsl:param>
<xsl:param name="miscellany.word">Diversos</xsl:param>
<!-- Word to use for "in", as in "bachelor degree *in* political science" -->
<xsl:param name="in.word">em</xsl:param>
<!-- Word to use for "and", as in "Minors in political science,
English, *and* business" -->
<xsl:param name="and.word">e</xsl:param>
<!-- Word to use for "Copyright (c)" -->
<xsl:param name="copyright.word">Copyright &#169;</xsl:param>
<!-- Word to use for "by", as in "Copyright by Joe Doom" -->
<xsl:param name="by.word">por</xsl:param>
<!-- Word to use for "present", as in "Period worked: August 1999-Present" -->
<xsl:param name="present.word">presente data</xsl:param>
<xsl:param name="achievements.word">Realiza&#x00e7;&#x00f5;es:</xsl:param>
<xsl:param name="projects.word">Projetos:</xsl:param>
<!-- Word to use for "minor" (lesser area of study), singluar and plural. -->
<xsl:param name="minor.word">minorit&#x00E1;rio</xsl:param>
<xsl:param name="minors.word">minorit&#x00E1;rios</xsl:param>
<xsl:param name="referees.word">Refer&#x00ea;ncias</xsl:param>
<!-- Word to use for "Overall GPA", as in "*Overall GPA*: 3.3" -->
<xsl:param name="overall-gpa.word">M&#x00E9;dia Geral</xsl:param>
<!-- Word to use for "GPA in Major", as in "*GPA in Major*: 3.3" -->
<xsl:param name="major-gpa.word">M&#x00E9;dia Principal</xsl:param>
<!-- Text to use for "out of", as in "GPA: 3.71* out of *4.00" -->
<xsl:param name="out-of.word">de um total de</xsl:param>
<!-- Phrase to display when referees are hidden. -->
<xsl:param name="referees.hidden.phrase">Dispon&#x00ED;vel sob pedido.</xsl:param>
<xsl:param name="last-modified.phrase">&#x00DA;ltima modifica&#x00e7;&#x00f5;</xsl:param>
<xsl:param name="phone.word">Telefone</xsl:param>
<xsl:param name="fax.word">Fax</xsl:param>
<xsl:param name="pager.word">Pager</xsl:param>
<xsl:param name="email.word">Endere&#x00e7;o Eletr&#x00f4;nico</xsl:param>
<xsl:param name="url.word">URL</xsl:param>
<!-- Words for phone and fax locations, as in "Home Phone", or "Work Fax" -->
<xsl:param name="phone.home.phrase"><xsl:value-of select="$phone.word"/> Residencial</xsl:param>
<xsl:param name="phone.work.phrase"><xsl:value-of select="$phone.word"/> Comercial</xsl:param>
<xsl:param name="phone.mobile.phrase"><xsl:value-of select="$phone.word"/> Celular</xsl:param>
<xsl:param name="fax.home.phrase"><xsl:value-of select="$fax.word"/> Residencial</xsl:param>
<xsl:param name="fax.work.phrase"><xsl:value-of select="$fax.word"/> Comercial</xsl:param>
<!-- Instant messenger service names -->
<!-- (When you add or remove a service here, don't forget to update
../../lib/common.xsl and element.instantMessage.xml in the user guide.)
-->
<xsl:param name="im.aim.service">AIM</xsl:param>
<xsl:param name="im.icq.service">ICQ</xsl:param>
<xsl:param name="im.irc.service">IRC</xsl:param>
<xsl:param name="im.jabber.service">Jabber</xsl:param>
<xsl:param name="im.msn.service">MSN Messenger</xsl:param>
<xsl:param name="im.yahoo.service">Yahoo! Messenger</xsl:param>
<!-- default is European address formatting. For countries other -->
<!-- than France (e.g. Canada) "standard" formatting may be more correct. -->
<xsl:param name="address.format">european</xsl:param>
</xsl:stylesheet>

View File

@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
de.xsl
Parameters for German resumes.
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: de.xsl,v 1.2 2002/11/15 18:54:53 brandondoyle Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="resume.word">Lebenslauf</xsl:param>
<xsl:param name="page.word">Seite</xsl:param>
<xsl:param name="contact.word">Personalien</xsl:param>
<xsl:param name="objective.word">Ziele</xsl:param>
<xsl:param name="history.word">Ausge<EFBFBD>bte T<>tigkeiten</xsl:param>
<xsl:param name="academics.word">Akademische Ausbildung</xsl:param>
<xsl:param name="publications.word">Ver<EFBFBD>ffentlichungen</xsl:param>
<xsl:param name="interests.word">Interessen</xsl:param>
<xsl:param name="security-clearances.word">Leumundszeugnis</xsl:param>
<xsl:param name="awards.word">Preise</xsl:param>
<xsl:param name="miscellany.word">Verschiedenes</xsl:param>
<xsl:param name="in.word">in</xsl:param>
<xsl:param name="and.word">und</xsl:param>
<xsl:param name="copyright.word">Copyright &#169;</xsl:param>
<xsl:param name="by.word"></xsl:param>
<xsl:param name="present.word">Gegenwart</xsl:param>
<xsl:param name="achievements.word">Erreichte Ziele:</xsl:param>
<xsl:param name="projects.word">Projekte:</xsl:param>
<!-- Word to use for "minor" (lesser area of study), singluar and plural. -->
<xsl:param name="minor.word">Nebenfach</xsl:param>
<xsl:param name="minors.word">Nebenf<EFBFBD>cher</xsl:param>
<xsl:param name="referees.word">Referenzen</xsl:param>
<!-- Word to use for "Overall GPA", as in "*Overall GPA*: 3.3" -->
<xsl:param name="overall-gpa.word">Notendurchschnitt</xsl:param>
<!-- Word to use for "GPA in Major", as in "*GPA in Major*: 3.3" -->
<xsl:param name="major-gpa.word">Notendurchschnitt der Hauptf<74>cher</xsl:param>
<!-- Text to use for "out of", as in "GPA: 3.71* out of *4.00" -->
<xsl:param name="out-of.word">von</xsl:param>
<!-- Phrase to display when referees are hidden. -->
<xsl:param name="referees.hidden.phrase">Referenzen werden gerne auf Anfrage genannt.</xsl:param>
<xsl:param name="last-modified.phrase">Letzte Aktualisierung:</xsl:param>
<xsl:param name="phone.word">Telefon</xsl:param>
<xsl:param name="fax.word">Fax</xsl:param>
<xsl:param name="phone.home.phrase"><xsl:value-of select="$phone.word"/> Privat</xsl:param>
<xsl:param name="phone.work.phrase"><xsl:value-of select="$phone.word"/> Gesch<63>ft</xsl:param>
<xsl:param name="phone.mobile.phrase"><xsl:value-of select="$phone.word"/> Mobil</xsl:param>
<xsl:param name="fax.home.phrase"><xsl:value-of select="$fax.word"/> Privat</xsl:param>
<xsl:param name="fax.work.phrase"><xsl:value-of select="$fax.word"/> Gesch<63>ft</xsl:param>
<xsl:param name="pager.word">Pager</xsl:param>
<xsl:param name="email.word">Email</xsl:param>
<xsl:param name="url.word">URL</xsl:param>
<!-- Instant messenger service names -->
<!-- (When you add or remove a service here, don't forget to update -->
<!-- ../../lib/common.xsl and element.instantMessage.xml in the user guide.) -->
<xsl:param name="im.aim.service">AIM</xsl:param>
<xsl:param name="im.icq.service">ICQ</xsl:param>
<xsl:param name="im.irc.service">IRC</xsl:param>
<xsl:param name="im.jabber.service">Jabber</xsl:param>
<xsl:param name="im.msn.service">MSN Messenger</xsl:param>
<xsl:param name="im.yahoo.service">Yahoo! Messenger</xsl:param>
<!-- default is European address formatting. For countries other -->
<!-- than France (e.g. Canada) "standard" formatting may be more correct. -->
<xsl:param name="address.format">european</xsl:param>
</xsl:stylesheet>

View File

@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="iso-8859-15"?>
<!--
es.xsl
Parameters for Spanish resumes.
Copyright (c) 2002 Miguel Coca <mcoca@users.sourceforge.net>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: es.xsl,v 1.3 2002/11/18 23:05:03 brandondoyle Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="resume.word">Curriculum Vitae</xsl:param>
<xsl:param name="page.word">p&aacute;gina</xsl:param>
<xsl:param name="contact.word">Informaci<EFBFBD>n de contacto</xsl:param>
<xsl:param name="objective.word">Objetivo</xsl:param>
<xsl:param name="history.word">Experiencia</xsl:param>
<xsl:param name="academics.word">Formaci<EFBFBD>n</xsl:param>
<xsl:param name="publications.word">Publicaciones</xsl:param>
<xsl:param name="miscellany.word">Otros</xsl:param>
<xsl:param name="in.word">en</xsl:param>
<xsl:param name="copyright.word">Copyright &#169;</xsl:param>
<xsl:param name="by.word">por</xsl:param>
<xsl:param name="present.word">Actualidad</xsl:param>
<xsl:param name="phone.word">Tel&eacute;fono</xsl:param>
<xsl:param name="fax.word">Fax</xsl:param>
<xsl:param name="phone.home.phrase"><xsl:value-of select="$phone.word"/></xsl:param>
<xsl:param name="phone.work.phrase"><xsl:value-of select="$phone.word"/> del Trabajo</xsl:param>
<xsl:param name="phone.mobile.phrase"><xsl:value-of select="$phone.word"/> M&oacute;vil</xsl:param>
<xsl:param name="fax.home.phrase"><xsl:value-of select="$fax.word"/></xsl:param>
<xsl:param name="fax.work.phrase"><xsl:value-of select="$fax.word"/> del Trabajo</xsl:param>
<xsl:param name="email.word">Email</xsl:param>
<xsl:param name="url.word">URL</xsl:param>
<xsl:param name="achievements.word">Logros:</xsl:param>
<xsl:param name="projects.word">Proyectos:</xsl:param>
<!-- default to European address formatting -->
<xsl:param name="address.format">european</xsl:param>
<xsl:param name="and.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="awards.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.aim.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.icq.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.irc.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.jabber.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.msn.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.yahoo.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="interests.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="last-modified.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="major-gpa.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="minor.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="minors.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="out-of.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="overall-gpa.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="pager.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="referees.hidden.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="referees.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="security-clearances.word">TRANSLATION NEEDED</xsl:param>
</xsl:stylesheet>

View File

@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
fr.xsl
Parameters for French resumes.
Copyright (c) 2001-2002 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: fr.xsl,v 1.5 2002/11/18 21:04:25 brandondoyle Exp $
-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- French language notes (correct us if we're wrong:
* Not all the words are capitalized in titles, only the first one.
* It's T<>l<EFBFBD>phone priv<69>, not priv<69> T<>l<EFBFBD>phone
-->
<xsl:param name="resume.word">Curriculum Vitae</xsl:param>
<xsl:param name="page.word">page</xsl:param>
<xsl:param name="contact.word">Information de Contact</xsl:param>
<xsl:param name="objective.word">Objectif professionnel</xsl:param>
<xsl:param name="history.word">Exp&#x00e9;rience professionnelle</xsl:param>
<xsl:param name="academics.word">Formation</xsl:param>
<xsl:param name="publications.word">Publications</xsl:param>
<xsl:param name="miscellany.word">Divers</xsl:param>
<xsl:param name="in.word">en</xsl:param>
<xsl:param name="copyright.word">Copyright &#169;</xsl:param>
<xsl:param name="by.word">par</xsl:param>
<xsl:param name="present.word">pr&#x00e9;sent</xsl:param>
<xsl:param name="phone.word">T&#x00e9;l&#x00e9;phone</xsl:param>
<xsl:param name="fax.word">Facsimile</xsl:param>
<xsl:param name="phone.mobile.phrase">GSM</xsl:param>
<xsl:param name="phone.home.phrase"><xsl:value-of select="$phone.word"/> priv&#x00e9;</xsl:param>
<xsl:param name="fax.home.phrase"><xsl:value-of select="$fax.word"/> priv&#x00e9;</xsl:param>
<xsl:param name="email.word">Courrier &#x00e9;lectronique</xsl:param>
<xsl:param name="url.word">URL</xsl:param>
<xsl:param name="achievements.word">R&#x00e9;alisations:</xsl:param>
<xsl:param name="projects.word">Projets:</xsl:param>
<xsl:param name="referees.word">R&#x00e9;f&#x00e9;rences</xsl:param>
<xsl:param name="awards.word">R&#x00e9;compenses</xsl:param>
<!-- default is European address formatting. For countries other -->
<!-- than France (e.g. Canada) "standard" formatting may be more correct. -->
<xsl:param name="address.format">european</xsl:param>
<xsl:param name="and.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="fax.work.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.aim.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.icq.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.irc.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.jabber.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.msn.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.yahoo.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="interests.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="last-modified.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="major-gpa.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="minor.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="minors.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="out-of.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="overall-gpa.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="pager.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="phone.work.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="referees.hidden.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="security-clearances.word">TRANSLATION NEEDED</xsl:param>
</xsl:stylesheet>

View File

@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
it.xsl
Parameters for Italian resumes.
Copyright (c) 2001-2002 Stewart Evans
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: it.xsl,v 1.4 2002/11/18 21:04:25 brandondoyle Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="resume.word">Curriculum Vitae</xsl:param>
<xsl:param name="page.word">page</xsl:param>
<xsl:param name="contact.word">Contatti</xsl:param>
<xsl:param name="objective.word">Obiettivo</xsl:param>
<xsl:param name="history.word">Esperienze Professionali</xsl:param>
<xsl:param name="academics.word">Istruzione</xsl:param>
<xsl:param name="publications.word">Documenti</xsl:param>
<xsl:param name="miscellany.word">Varie</xsl:param>
<xsl:param name="in.word">in</xsl:param>
<xsl:param name="copyright.word">Copyright &#169;</xsl:param>
<xsl:param name="by.word">di</xsl:param>
<xsl:param name="present.word">presente</xsl:param>
<xsl:param name="phone.word">Telefono</xsl:param>
<xsl:param name="phone.home.phrase"><xsl:value-of select="$phone.word"/> in casa</xsl:param>
<xsl:param name="email.word">Email</xsl:param>
<xsl:param name="url.word">URL</xsl:param>
<xsl:param name="achievements.word">Conseguimenti</xsl:param>
<xsl:param name="projects.word">Progetti</xsl:param>
<xsl:param name="referees.word">Riferimenti</xsl:param>
<!-- default to Italian address formatting -->
<xsl:param name="address.format">italian</xsl:param>
<xsl:param name="and.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="awards.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="fax.home.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="fax.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="fax.work.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.aim.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.icq.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.irc.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.jabber.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.msn.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.yahoo.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="referees.hidden.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="security-clearances.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="interests.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="minor.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="minors.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="overall-gpa.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="major-gpa.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="out-of.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="last-modified.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="phone.work.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="phone.mobile.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="pager.word">TRANSLATION NEEDED</xsl:param>
</xsl:stylesheet>

View File

@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
nl-params.xsl
Parameters for Dutch resumes courtesy of Andre van Dijk
<andre@unseen.demon.nl>
Copyright (c) 2002 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: nl.xsl,v 1.2 2002/11/18 21:04:25 brandondoyle Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="resume.word">Curriculum Vitae</xsl:param>
<xsl:param name="page.word">bladzijde</xsl:param>
<xsl:param name="contact.word">Contactinformatie</xsl:param>
<xsl:param name="objective.word">Profesionele Doelstelling</xsl:param>
<xsl:param name="history.word">Werkervaring</xsl:param>
<xsl:param name="academics.word">Studies</xsl:param>
<xsl:param name="publications.word">Publicaties</xsl:param>
<xsl:param name="miscellany.word">Overigen</xsl:param>
<xsl:param name="in.word">in</xsl:param>
<xsl:param name="copyright.word">Copyright &#169;</xsl:param>
<xsl:param name="by.word">door</xsl:param>
<xsl:param name="present.word">heden</xsl:param>
<xsl:param name="phone.word">Telefoon</xsl:param>
<xsl:param name="email.word">E-mail</xsl:param>
<xsl:param name="url.word">URL</xsl:param>
<xsl:param name="achievements.word">Prestaties:</xsl:param>
<xsl:param name="projects.word">Projecten:</xsl:param>
<xsl:param name="referees.word">Referenties</xsl:param>
<!-- default is European address formatting. For countries other -->
<!-- than France (e.g. Canada) "standard" formatting may be more correct. -->
<xsl:param name="address.format">european</xsl:param>
<xsl:param name="and.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="awards.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="fax.home.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="fax.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="fax.work.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.aim.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.icq.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.irc.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.jabber.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.msn.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.yahoo.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="interests.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="last-modified.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="major-gpa.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="minor.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="minors.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="out-of.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="overall-gpa.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="pager.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="phone.home.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="phone.mobile.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="phone.work.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="referees.hidden.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="security-clearances.word">TRANSLATION NEEDED</xsl:param>
</xsl:stylesheet>

View File

@@ -0,0 +1,47 @@
#!/bin/sh
SOURCE=us.xsl
# propogate-translations.sh
# By Mark Miller, though he is not proud of it.
#
# This is a quick and VERY DIRTY way to add any new params defined
# in us.xsl (or $SOURCE) to the rest of the country.xsl stylesheets
# with a \"TRANSLATION NEEDED\" message. It also checks for outdated
# params existing in other country.xsl files but not in $SOURCE
#
# IMPORTANT: After running this script, you must manually edit each
# .xsl file and make sure that all the xsl:param tags are INSIDE the
# <xsl:stylesheet> tags. This script does NOT do that for you.
#
# WARNING: This script is by no means fool-proof, and only included
# to make life slightly easier for developers. Please manually edit
# each .xsl file after running to be sure that the script has not
# screwed anything up. "
echo "======== Checking Files for outdated params..."
for country in `ls -1 *.xsl`; do
for param in `grep '<xsl:param' $country | \
perl -p -e 's/.*name=\"(.*)\"\>.*\<\/xsl:param\>/$1/g`;
do
exists=`grep -c $param $SOURCE`
if [ "0" = $exists ]; then
echo "Param $param in file $country does not exist in $SOURCE."
fi
done
done
echo "======== Adding params in $SOURCE to other files as necessary..."
for country in `ls -1 *.xsl`; do
for param in `grep '<xsl:param' $SOURCE | \
perl -p -e 's/.*name=\"(.*)\"\>.*\<\/xsl:param\>/$1/g`;
do
translated=`grep -c $param $country`
if [ "0" = $translated ];
then
echo "Adding param $param to $country"
echo " <xsl:param name=\"$param\">TRANSLATION NEEDED</xsl:param>" >> $country
fi
done
done
echo "Done."

View File

@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
uk.xsl
Parameters for UK resumes.
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: uk.xsl,v 1.2 2002/11/18 21:04:25 brandondoyle Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- In the UK, it's a CV (curricula vita). And perhaps it's a
"Telephone", not a "Phone". -->
<xsl:param name="resume.word">CV</xsl:param>
<xsl:param name="phone.word">Telephone</xsl:param>
<xsl:param name="referees.word">Referees</xsl:param>
<xsl:param name="academics.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="achievements.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="and.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="awards.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="by.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="contact.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="copyright.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="email.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="fax.home.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="fax.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="fax.work.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="history.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.aim.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.icq.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.irc.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.jabber.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.msn.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="im.yahoo.service">TRANSLATION NEEDED</xsl:param>
<xsl:param name="in.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="interests.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="last-modified.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="major-gpa.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="minor.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="minors.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="miscellany.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="objective.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="out-of.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="overall-gpa.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="page.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="pager.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="phone.home.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="phone.mobile.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="phone.work.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="present.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="projects.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="publications.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="referees.hidden.phrase">TRANSLATION NEEDED</xsl:param>
<xsl:param name="security-clearances.word">TRANSLATION NEEDED</xsl:param>
<xsl:param name="url.word">TRANSLATION NEEDED</xsl:param>
</xsl:stylesheet>

View File

@@ -0,0 +1,103 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
us.xsl
Parameters for U.S. resumes.
Copyright (c) 2001-2002 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: us.xsl,v 1.4 2002/11/04 10:36:39 brandondoyle Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="resume.word">R&#x00e9;sum&#x00e9;</xsl:param>
<xsl:param name="page.word">page</xsl:param>
<!-- Word to use for "Contact Information" -->
<xsl:param name="contact.word">Contact Information</xsl:param>
<xsl:param name="objective.word">Professional Objective</xsl:param>
<!-- Word to use for "Employment History" -->
<xsl:param name="history.word">Employment History</xsl:param>
<xsl:param name="academics.word">Education</xsl:param>
<xsl:param name="publications.word">Publications</xsl:param>
<xsl:param name="interests.word">Interests</xsl:param>
<xsl:param name="security-clearances.word">Security Clearances</xsl:param>
<xsl:param name="awards.word">Awards</xsl:param>
<xsl:param name="miscellany.word">Miscellany</xsl:param>
<!-- Word to use for "in", as in "bachelor degree *in* political science" -->
<xsl:param name="in.word">in</xsl:param>
<!-- Word to use for "and", as in "Minors in political science, English, *and*
business" -->
<xsl:param name="and.word">and</xsl:param>
<!-- Word to use for "Copyright (c)" -->
<xsl:param name="copyright.word">Copyright &#169;</xsl:param>
<!-- Word to use for "by", as in "Copyright by Joe Doom" -->
<xsl:param name="by.word">by</xsl:param>
<!-- Word to use for "present", as in "Period worked: August 1999-Present" -->
<xsl:param name="present.word">Present</xsl:param>
<xsl:param name="achievements.word">Achievements:</xsl:param>
<xsl:param name="projects.word">Projects:</xsl:param>
<!-- Word to use for "minor" (lesser area of study), singluar and plural. -->
<xsl:param name="minor.word">minor</xsl:param>
<xsl:param name="minors.word">minors</xsl:param>
<xsl:param name="referees.word">References</xsl:param>
<!-- Word to use for "Overall GPA", as in "*Overall GPA*: 3.3" -->
<xsl:param name="overall-gpa.word">Overall GPA</xsl:param>
<!-- Word to use for "GPA in Major", as in "*GPA in Major*: 3.3" -->
<xsl:param name="major-gpa.word">GPA in Major</xsl:param>
<!-- Text to use for "out of", as in "GPA: 3.71* out of *4.00" -->
<xsl:param name="out-of.word"> out of </xsl:param>
<!-- Phrase to display when referees are hidden. -->
<xsl:param name="referees.hidden.phrase">Available upon request.</xsl:param>
<xsl:param name="last-modified.phrase">Last modified</xsl:param>
<xsl:param name="phone.word">Phone</xsl:param>
<xsl:param name="fax.word">Fax</xsl:param>
<xsl:param name="phone.home.phrase">Home <xsl:value-of select="$phone.word"/></xsl:param>
<xsl:param name="phone.work.phrase">Work <xsl:value-of select="$phone.word"/></xsl:param>
<xsl:param name="phone.mobile.phrase">Mobile <xsl:value-of select="$phone.word"/></xsl:param>
<xsl:param name="fax.home.phrase">Home <xsl:value-of select="$fax.word"/></xsl:param>
<xsl:param name="fax.work.phrase">Work <xsl:value-of select="$fax.word"/></xsl:param>
<xsl:param name="pager.word">Pager</xsl:param>
<xsl:param name="email.word">Email</xsl:param>
<xsl:param name="url.word">URL</xsl:param>
<!-- Instant messenger service names -->
<!-- (When you add or remove a service here, don't forget to update
../../lib/common.xsl and element.instantMessage.xml in the user guide.)
-->
<xsl:param name="im.aim.service">AIM</xsl:param>
<xsl:param name="im.icq.service">ICQ</xsl:param>
<xsl:param name="im.irc.service">IRC</xsl:param>
<xsl:param name="im.jabber.service">Jabber</xsl:param>
<xsl:param name="im.msn.service">MSN Messenger</xsl:param>
<xsl:param name="im.yahoo.service">Yahoo! Messenger</xsl:param>
</xsl:stylesheet>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,964 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
html.xsl
Transform XML resume into HTML.
Copyright (c) 2000-2002 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: html.xsl,v 1.17 2002/11/10 20:48:58 brandondoyle Exp $
-->
<xsl:stylesheet xmlns:r="http://xmlresume.sourceforge.net/resume/0.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
exclude-result-prefixes="r">
<xsl:output method="html" omit-xml-declaration="yes" indent="no" encoding="UTF-8"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/strict.dtd"/>
<xsl:strip-space elements="*"/>
<xsl:include href="../params.xsl"/>
<xsl:include href="../lib/common.xsl"/>
<xsl:include href="../lib/string.xsl"/>
<xsl:template name="Heading">
<xsl:param name="Text">HEADING NOT DEFINED</xsl:param>
<h2 class="heading">
<span class="headingText">
<xsl:copy-of select="$Text"/>
</span>
</h2>
</xsl:template>
<xsl:template match="/">
<html>
<head>
<title>
<xsl:apply-templates select="r:resume/r:header/r:name"/>
<xsl:text> - </xsl:text>
<xsl:value-of select="$resume.word"/>
</title>
<xsl:choose>
<xsl:when test="$css.embed = 1">
<style>
<xsl:value-of select="document($css.href)"/>
</style>
</xsl:when>
<xsl:otherwise>
<link rel="stylesheet" type="text/css">
<xsl:attribute name="href">
<xsl:value-of select="$css.href"/>
</xsl:attribute>
</link>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="r:resume/r:keywords" mode="header"/>
</head>
<body>
<xsl:apply-templates select="r:resume"/>
</body>
</html>
</xsl:template>
<xsl:template match="r:resume">
<div class="resume">
<xsl:apply-templates/>
</div>
</xsl:template>
<!-- Suppress the keywords in the main body of the document -->
<xsl:template match="r:keywords"/>
<!-- But put them into the HTML header. -->
<xsl:template match="r:keywords" mode="header">
<meta name="keywords">
<xsl:attribute name="content">
<xsl:apply-templates select="r:keyword"/>
</xsl:attribute>
</meta>
</xsl:template>
<xsl:template match="r:keyword">
<xsl:apply-templates/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:template>
<!-- Output your name and the word "Resume". -->
<xsl:template match="r:header" mode="standard">
<div class="header">
<h1 class="nameHeading">
<xsl:apply-templates select="r:name"/>
</h1>
<xsl:apply-templates select="r:address"/>
<xsl:apply-templates select="r:contact"/>
</div>
</xsl:template>
<!-- Alternate formatting for the page header. -->
<!-- Display the name and contact information in a single centered block. -->
<!-- Since the 'align' attribute is deprecated, we rely on a CSS -->
<!-- style to center the header block. -->
<xsl:template match="r:header" mode="centered">
<div class="header" style="text-align: center">
<h1 class="nameHeading">
<xsl:apply-templates select="r:name"/>
</h1>
<xsl:apply-templates select="r:address"/>
<xsl:apply-templates select="r:contact"/>
</div>
</xsl:template>
<!-- Contact information -->
<xsl:template match="r:contact">
<p>
<xsl:apply-templates/>
</p>
</xsl:template>
<xsl:template match="r:contact/r:phone">
<xsl:call-template name="PhoneLocation">
<xsl:with-param name="Location" select="@location"/>
</xsl:call-template>
<xsl:text>: </xsl:text>
<xsl:apply-templates/>
<br/>
</xsl:template>
<xsl:template match="r:contact/r:fax">
<xsl:call-template name="FaxLocation">
<xsl:with-param name="Location" select="@location"/>
</xsl:call-template>
<xsl:text>: </xsl:text>
<xsl:apply-templates/>
<br/>
</xsl:template>
<xsl:template match="r:contact/r:pager">
<xsl:value-of select="$pager.word"/>
<xsl:text>: </xsl:text>
<xsl:apply-templates/>
<br/>
</xsl:template>
<xsl:template match="r:contact/r:email">
<xsl:value-of select="$email.word"/>
<xsl:text>: </xsl:text>
<a href="mailto:{.}">
<xsl:apply-templates/>
</a>
<br/>
</xsl:template>
<xsl:template match="r:contact/r:url">
<xsl:value-of select="$url.word"/>
<xsl:text>: </xsl:text>
<a href="{.}">
<xsl:apply-templates/>
</a>
<br/>
</xsl:template>
<xsl:template match="r:contact/r:instantMessage">
<xsl:call-template name="IMServiceName">
<xsl:with-param name="Service" select="@service"/>
</xsl:call-template>
<xsl:text>: </xsl:text>
<xsl:apply-templates/>
<br/>
</xsl:template>
<!-- Address, in various formats -->
<xsl:template match="r:address" mode="free-form">
<p class="address">
<xsl:apply-templates/>
</p>
</xsl:template>
<xsl:template match="r:address" mode="standard">
<p class="address">
<!-- templates defined in address.xsl for setting standard fields -->
<xsl:variable name="AdminDivision">
<xsl:call-template name="AdminDivision"/>
</xsl:variable>
<xsl:variable name="CityDivision">
<xsl:call-template name="CityDivision"/>
</xsl:variable>
<xsl:variable name="PostCode">
<xsl:call-template name="PostCode"/>
</xsl:variable>
<xsl:for-each select="r:street">
<xsl:apply-templates select="."/>
<br/>
</xsl:for-each>
<xsl:if test="r:street2">
<xsl:apply-templates select="r:street2"/>
<br/>
</xsl:if>
<xsl:if test="string-length($CityDivision) &gt; 0">
<xsl:value-of select="$CityDivision"/>
<br/>
</xsl:if>
<xsl:apply-templates select="r:city"/>
<xsl:if test="string-length($AdminDivision) &gt; 0">
<xsl:text>, </xsl:text>
<xsl:value-of select="$AdminDivision"/>
</xsl:if>
<xsl:if test="string-length($PostCode) &gt; 0">
<xsl:text> </xsl:text>
<xsl:value-of select="$PostCode"/>
</xsl:if>
<xsl:if test="r:country">
<br/>
<xsl:apply-templates select="r:country"/>
</xsl:if>
</p>
</xsl:template>
<xsl:template match="r:address" mode="european">
<p class="address">
<!-- templates defined in address.xsl for setting standard fields -->
<xsl:variable name="AdminDivision">
<xsl:call-template name="AdminDivision"/>
</xsl:variable>
<xsl:variable name="CityDivision">
<xsl:call-template name="CityDivision"/>
</xsl:variable>
<xsl:variable name="PostCode">
<xsl:call-template name="PostCode"/>
</xsl:variable>
<xsl:for-each select="r:street">
<xsl:apply-templates select="."/>
<br/>
</xsl:for-each>
<xsl:if test="r:street2">
<xsl:apply-templates select="r:street2"/>
<br/>
</xsl:if>
<xsl:if test="string-length($CityDivision) &gt; 0">
<xsl:value-of select="$CityDivision"/>
<br/>
</xsl:if>
<xsl:if test="string-length($PostCode) &gt; 0">
<xsl:value-of select="$PostCode"/>
<xsl:text> </xsl:text>
</xsl:if>
<xsl:apply-templates select="r:city"/>
<xsl:if test="string-length($AdminDivision) &gt; 0">
<br/>
<xsl:value-of select="$AdminDivision"/>
</xsl:if>
<xsl:if test="r:country">
<br/>
<xsl:apply-templates select="r:country"/>
</xsl:if>
</p>
</xsl:template>
<xsl:template match="r:address" mode="italian">
<p class="address">
<xsl:for-each select="r:street">
<xsl:apply-templates select="."/>
<br/>
</xsl:for-each>
<xsl:if test="r:street2">
<xsl:apply-templates select="r:street2"/>
<br/>
</xsl:if>
<xsl:if test="r:postalCode">
<xsl:apply-templates select="r:postalCode"/>
<xsl:text> </xsl:text>
</xsl:if>
<xsl:apply-templates select="r:city"/>
<xsl:if test="r:province">
<xsl:text> (</xsl:text>
<xsl:apply-templates select="r:province"/>
<xsl:text>)</xsl:text>
</xsl:if>
<xsl:if test="r:country">
<br/>
<xsl:apply-templates select="r:country"/>
</xsl:if>
</p>
</xsl:template>
<!-- Preserve line breaks within a free format address -->
<xsl:template match="r:address//text()">
<xsl:call-template name="String-Replace">
<xsl:with-param name="Text" select="."/>
<xsl:with-param name="Search-For">
<xsl:text>
</xsl:text>
</xsl:with-param>
<xsl:with-param name="Replace-With">
<br/>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
<!-- Objective, with level 2 heading. -->
<xsl:template match="r:objective">
<xsl:call-template name="Heading">
<xsl:with-param name="Text">
<xsl:value-of select="$objective.word"/>
</xsl:with-param>
</xsl:call-template>
<xsl:apply-templates/>
</xsl:template>
<!-- Past jobs, with level 2 heading. -->
<xsl:template match="r:history">
<xsl:call-template name="Heading">
<xsl:with-param name="Text">
<xsl:value-of select="$history.word"/>
</xsl:with-param>
</xsl:call-template>
<xsl:apply-templates select="r:job"/>
</xsl:template>
<!-- Format each job -->
<xsl:template match="r:job">
<p class="job">
<xsl:apply-templates select="r:jobtitle"/>
<br/>
<xsl:apply-templates select="r:employer"/>
<xsl:apply-templates select="r:location"/>
<br/>
<xsl:apply-templates select="r:date|r:period"/>
</p>
<xsl:apply-templates select="r:description">
<xsl:with-param name="css.class">jobDescription</xsl:with-param>
</xsl:apply-templates>
<xsl:if test="r:projects/r:project">
<div class="projects">
<p>
<xsl:value-of select="$projects.word"/>
</p>
<xsl:apply-templates select="r:projects"/>
</div>
</xsl:if>
<xsl:if test="r:achievements/r:achievement">
<div class="achievements">
<p>
<xsl:value-of select="$achievements.word"/>
</p>
<xsl:apply-templates select="r:achievements"/>
</div>
</xsl:if>
</xsl:template>
<xsl:template match="r:location">
<span class="location">
<xsl:value-of select="$location.start"/>
<xsl:apply-templates/>
<xsl:value-of select="$location.end"/>
</span>
</xsl:template>
<xsl:template match="r:institution">
<span class="institution">
<xsl:apply-templates/>
</span>
</xsl:template>
<!-- Format the projects section as a bullet list -->
<xsl:template match="r:projects">
<ul>
<xsl:apply-templates select="r:project"/>
</ul>
</xsl:template>
<!-- Format a project as a bullet -->
<xsl:template match="r:project">
<li class="project">
<xsl:if test="@title">
<span class="projectTitle">
<xsl:value-of select="@title"/>
<xsl:value-of select="$title.separator"/>
</span>
</xsl:if>
<xsl:apply-templates/>
</li>
</xsl:template>
<xsl:template match="r:jobtitle">
<span class="jobTitle">
<xsl:apply-templates/>
</span>
</xsl:template>
<xsl:template match="r:employer">
<span class="employer">
<xsl:apply-templates/>
</span>
</xsl:template>
<xsl:template match="r:organization">
<span class="organization">
<xsl:apply-templates/>
</span>
</xsl:template>
<!-- Format the period element -->
<xsl:template match="r:period">
<xsl:apply-templates select="r:from"/>-<xsl:apply-templates select="r:to"/>
</xsl:template>
<!-- Format a date -->
<xsl:template match="r:date" name="FormatDate">
<xsl:if test="r:dayOfMonth">
<xsl:apply-templates select="r:dayOfMonth"/>
<xsl:text> </xsl:text>
</xsl:if>
<xsl:if test="r:month">
<xsl:apply-templates select="r:month"/>
<xsl:text> </xsl:text>
</xsl:if>
<xsl:apply-templates select="r:year"/>
</xsl:template>
<xsl:template match="r:present">
<xsl:value-of select="$present.word"/>
</xsl:template>
<!-- Format the achievements section as a bullet list *SE* -->
<xsl:template match="r:achievements">
<ul>
<xsl:for-each select="r:achievement">
<li class="achievement">
<xsl:apply-templates/>
</li>
</xsl:for-each>
</ul>
</xsl:template>
<!-- Degrees and stuff -->
<xsl:template match="r:academics">
<xsl:call-template name="Heading">
<xsl:with-param name="Text">
<xsl:value-of select="$academics.word"/>
</xsl:with-param>
</xsl:call-template>
<xsl:apply-templates select="r:degrees"/>
<xsl:apply-templates select="r:note"/>
</xsl:template>
<xsl:template match="r:degrees">
<ul class="degrees">
<xsl:apply-templates select="r:degree"/>
</ul>
<xsl:apply-templates select="r:note"/>
</xsl:template>
<xsl:template match="r:note">
<span class="note">
<xsl:apply-templates/>
</span>
</xsl:template>
<!-- Format a degree -->
<xsl:template match="r:degree">
<li class="degree">
<span class="degreeTitle">
<xsl:apply-templates select="r:level"/>
<xsl:if test="r:major">
<xsl:text> </xsl:text>
<xsl:value-of select="$in.word"/>
<xsl:text> </xsl:text>
<xsl:apply-templates select="r:major"/>
</xsl:if>
</span>
<xsl:apply-templates select="r:minor"/>
<xsl:if test="r:date|r:period">
<xsl:text>, </xsl:text>
<xsl:apply-templates select="r:date|r:period"/>
</xsl:if>
<xsl:if test="r:annotation">
<xsl:text>. </xsl:text>
<xsl:apply-templates select="r:annotation"/>
</xsl:if>
<xsl:if test="r:institution">
<br/>
<xsl:apply-templates select="r:institution"/>
<xsl:apply-templates select="r:location"/>
</xsl:if>
<xsl:apply-templates select="r:gpa"/>
<xsl:apply-templates select="r:subjects"/>
<xsl:apply-templates select="r:projects"/>
</li>
</xsl:template>
<!-- Format a GPA -->
<xsl:template match="r:gpa">
<p>
<span class="gpaPreamble">
<xsl:choose>
<xsl:when test="@type = 'major'">
<xsl:value-of select="$major-gpa.word"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$overall-gpa.word"/>
</xsl:otherwise>
</xsl:choose>
</span>
<xsl:text>: </xsl:text>
<xsl:apply-templates select="r:score"/>
<xsl:if test="r:possible">
<xsl:value-of select="$out-of.word"/>
<xsl:apply-templates select="r:possible"/>
</xsl:if>
<xsl:if test="r:note">
<xsl:text>. </xsl:text>
<xsl:apply-templates select="r:note"/>
</xsl:if>
</p>
</xsl:template>
<!-- Format the subjects as a table-->
<xsl:template match="r:subjects" mode="table">
<p class="subjectsHeading">
<xsl:value-of select="$subjects.word"/>
</p>
<table class="subjects">
<xsl:for-each select="r:subject">
<tr>
<td>
<xsl:apply-templates select="r:title"/>
</td>
<xsl:if test="$subjects.result.display = 1">
<td>
<xsl:apply-templates select="r:result"/>
</td>
</xsl:if>
</tr>
</xsl:for-each>
</table>
</xsl:template>
<!-- Format the subjects as a list -->
<xsl:template match="r:subjects" mode="comma">
<p>
<xsl:call-template name="Title">
<xsl:with-param name="Title" select="$subjects.word"/>
<xsl:with-param name="Separator" select="$title.separator"/>
</xsl:call-template>
<xsl:apply-templates select="r:subject" mode="comma"/>
<xsl:value-of select="$subjects.suffix"/>
</p>
</xsl:template>
<!-- Format a subject -->
<xsl:template match="r:subject" mode="comma">
<xsl:value-of select="normalize-space(r:title)"/>
<xsl:if test="$subjects.result.display = 1">
<xsl:if test="r:result">
<xsl:value-of select="$subjects.result.start"/>
<xsl:value-of select="normalize-space(r:result)"/>
<xsl:value-of select="$subjects.result.end"/>
</xsl:if>
</xsl:if>
<xsl:if test="following-sibling::r:subject">
<xsl:value-of select="$subjects.separator"/>
</xsl:if>
</xsl:template>
<!-- Format the open-ended skills -->
<xsl:template match="r:skillarea">
<xsl:call-template name="Heading">
<xsl:with-param name="Text">
<xsl:apply-templates select="r:title"/>
</xsl:with-param>
</xsl:call-template>
<xsl:apply-templates select="r:skillset"/>
</xsl:template>
<!-- Format a skillset -->
<xsl:template match="r:skillset">
<xsl:choose>
<xsl:when test="$skills.format = 'comma'">
<p>
<span class="skillSetTitle">
<xsl:apply-templates select="r:title">
<xsl:with-param name="Separator" select="$title.separator"/>
</xsl:apply-templates>
</span>
<xsl:if test="r:skill">
<span class="skills">
<xsl:apply-templates select="r:skill" mode="comma"/>
<xsl:value-of select="$skills.suffix"/>
</span>
</xsl:if>
<!-- The following block should be removed in a future version. -->
<xsl:if test="r:skills">
<span class="skills">
<xsl:apply-templates select="r:skills" mode="comma"/>
</span>
</xsl:if>
</p>
</xsl:when>
<xsl:otherwise>
<h3 class="skillsetTitle">
<xsl:apply-templates select="r:title"/>
</h3>
<xsl:if test="r:skill">
<ul class="skills">
<xsl:apply-templates select="r:skill" mode="bullet"/>
</ul>
</xsl:if>
<!-- The following block should be removed in a future version. -->
<xsl:if test="r:skills">
<ul class="skills">
<xsl:apply-templates select="r:skills" mode="bullet"/>
</ul>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Format a skill as part of a comma-separated list -->
<xsl:template match="r:skill" mode="comma">
<xsl:apply-templates/>
<xsl:apply-templates select="@level"/>
<xsl:if test="following-sibling::r:skill">
<xsl:value-of select="$skills.separator"/>
</xsl:if>
</xsl:template>
<!-- Format a skill as part of a bulleted list -->
<xsl:template match="r:skill" mode="bullet">
<li class="skill">
<xsl:apply-templates/>
<xsl:apply-templates select="@level"/>
</li>
</xsl:template>
<!-- Format a skill level -->
<xsl:template match="r:skill/@level">
<xsl:if test="$skills.level.display = 1">
<xsl:value-of select="$skills.level.start"/>
<xsl:value-of select="normalize-space(.)"/>
<xsl:value-of select="$skills.level.end"/>
</xsl:if>
</xsl:template>
<!-- Format publications -->
<xsl:template match="r:pubs">
<xsl:call-template name="Heading">
<xsl:with-param name="Text">
<xsl:value-of select="$publications.word"/>
</xsl:with-param>
</xsl:call-template>
<ul class="pubs">
<xsl:apply-templates select="r:pub"/>
</ul>
</xsl:template>
<!-- Format a single publication -->
<xsl:template match="r:pub">
<li class="pub">
<xsl:call-template name="FormatPub"/>
</li>
</xsl:template>
<!-- Memberships, with level 2 heading. -->
<xsl:template match="r:memberships">
<xsl:call-template name="Heading">
<xsl:with-param name="Text">
<xsl:apply-templates select="r:title"/>
</xsl:with-param>
</xsl:call-template>
<ul>
<xsl:apply-templates select="r:membership"/>
</ul>
</xsl:template>
<!-- A single membership. -->
<xsl:template match="r:membership">
<li>
<xsl:if test="r:title">
<div class="membershipTitle">
<xsl:call-template name="Title">
<xsl:with-param name="Title" select="r:title"/>
</xsl:call-template>
</div>
</xsl:if>
<xsl:if test="r:organization">
<xsl:apply-templates select="r:organization"/>
<xsl:apply-templates select="r:location"/>
<br/>
</xsl:if>
<xsl:if test="r:date|r:period">
<xsl:apply-templates select="r:date|r:period"/>
<br/>
</xsl:if>
<xsl:apply-templates select="r:description">
<xsl:with-param name="css.class">membershipDescription</xsl:with-param>
</xsl:apply-templates>
</li>
</xsl:template>
<!-- Format interests section. -->
<xsl:template match="r:interests">
<xsl:call-template name="Heading">
<xsl:with-param name="Text">
<xsl:call-template name="Title">
<xsl:with-param name="Title" select="$interests.word"/>
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
<ul>
<xsl:apply-templates select="r:interest"/>
</ul>
</xsl:template>
<!-- A single interest. -->
<xsl:template match="r:interest">
<li>
<span class="interestTitle">
<xsl:apply-templates select="r:title"/>
</span>
<!-- Append period to title if followed by a single-line description -->
<xsl:if test="$interest.description.format = 'single-line' and r:description">
<xsl:text>. </xsl:text>
</xsl:if>
<xsl:apply-templates select="r:description"/>
</li>
</xsl:template>
<!-- Format an interest description -->
<xsl:template match="r:interest/r:description">
<xsl:call-template name="r:description">
<xsl:with-param name="paragraph.format" select="$interest.description.format"/>
<xsl:with-param name="css.class">interestDescription</xsl:with-param>
</xsl:call-template>
</xsl:template>
<!-- Format security clearance section. -->
<xsl:template match="r:clearances">
<xsl:call-template name="Heading">
<xsl:with-param name="Text">
<xsl:call-template name="Title">
<xsl:with-param name="Title" select="$security-clearances.word"/>
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
<ul>
<xsl:apply-templates select="r:clearance"/>
</ul>
</xsl:template>
<!-- Format a single security clearance. -->
<xsl:template match="r:clearance">
<li class="clearance">
<span class="clearanceLevel">
<xsl:apply-templates select="r:level"/>
</span>
<xsl:if test="r:organization">
<xsl:text>, </xsl:text>
<xsl:apply-templates select="r:organization"/>
</xsl:if>
<xsl:if test="r:date|r:period">
<xsl:text>, </xsl:text>
<xsl:apply-templates select="r:date|r:period"/>
</xsl:if>
<xsl:if test="r:note">
<xsl:text>. </xsl:text>
<xsl:apply-templates select="r:note"/>
</xsl:if>
</li>
</xsl:template>
<!-- Format awards section. -->
<xsl:template match="r:awards">
<xsl:call-template name="Heading">
<xsl:with-param name="Text">
<xsl:call-template name="Title">
<xsl:with-param name="Title" select="$awards.word"/>
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
<ul>
<xsl:apply-templates select="r:award"/>
</ul>
</xsl:template>
<!-- A single award. -->
<xsl:template match="r:award">
<li class="award">
<span class="awardTitle">
<xsl:apply-templates select="r:title"/>
</span>
<xsl:if test="r:organization">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:apply-templates select="r:organization"/>
<xsl:if test="r:date|r:period">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:apply-templates select="r:date|r:period"/>
<xsl:apply-templates select="r:description"/>
</li>
</xsl:template>
<!-- Format the misc info -->
<xsl:template match="r:misc">
<xsl:call-template name="Heading">
<xsl:with-param name="Text">
<xsl:value-of select="$miscellany.word"/>
</xsl:with-param>
</xsl:call-template>
<xsl:apply-templates/>
</xsl:template>
<!-- Format the "last modified" date -->
<xsl:template match="r:lastModified">
<p class="lastModified">
<xsl:value-of select="$last-modified.phrase"/>
<xsl:text> </xsl:text>
<xsl:apply-templates/>
<xsl:text>.</xsl:text>
</p>
</xsl:template>
<!-- Format the legalese -->
<xsl:template match="r:copyright">
<div class="copyright">
<xsl:value-of select="$copyright.word"/>
<xsl:text> </xsl:text>
<xsl:apply-templates select="r:year"/>
<xsl:text> </xsl:text>
<xsl:value-of select="$by.word"/>
<xsl:text> </xsl:text>
<xsl:if test="r:name">
<xsl:apply-templates select="r:name"/>
</xsl:if>
<xsl:if test="not(r:name)">
<xsl:apply-templates select="/r:resume/r:header/r:name"/>
</xsl:if>
<xsl:text>. </xsl:text>
<xsl:apply-templates select="r:legalnotice"/>
</div>
</xsl:template>
<!-- para -> p -->
<xsl:template match="r:para">
<p class="para">
<xsl:apply-templates/>
</p>
</xsl:template>
<!-- emphasis -> strong -->
<xsl:template match="r:emphasis">
<strong class="emphasis">
<xsl:apply-templates/>
</strong>
</xsl:template>
<!-- url -> monospace along with href -->
<xsl:template match="r:url" name="FormatUrl">
<a class="urlA">
<xsl:attribute name="href">
<xsl:apply-templates/>
</xsl:attribute>
<xsl:apply-templates/>
</a>
</xsl:template>
<!-- link -> make link from href attribute -->
<xsl:template match="r:link">
<a class="linkA">
<xsl:attribute name="href">
<xsl:apply-templates select="@href"/>
</xsl:attribute>
<xsl:apply-templates/>
</a>
</xsl:template>
<!-- citation -> cite -->
<xsl:template match="r:citation">
<cite class="citation">
<xsl:apply-templates/>
</cite>
</xsl:template>
<!-- Format the referees -->
<xsl:template match="r:referees">
<xsl:call-template name="Heading">
<xsl:with-param name="Text">
<xsl:value-of select="$referees.word"/>
</xsl:with-param>
</xsl:call-template>
<xsl:choose>
<xsl:when test="$referees.display = 1">
<xsl:choose>
<xsl:when test="$referees.layout = 'compact'">
<table class="referees">
<xsl:apply-templates select="r:referee" mode="compact"/>
</table>
</xsl:when>
<xsl:otherwise>
<div class="referees">
<xsl:apply-templates select="r:referee" mode="standard"/>
</div>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<p>
<xsl:value-of select="$referees.hidden.phrase"/>
</p>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="r:referee" mode="standard">
<div class="referee">
<div class="refereeName">
<xsl:apply-templates select="r:name"/>
<xsl:if test="r:title or r:organization">
<div>
<xsl:apply-templates select="r:title"/>
<xsl:if test="r:title and r:organization">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:apply-templates select="r:organization"/>
</div>
</xsl:if>
</div>
<div class="refereeAddress"><xsl:apply-templates select="r:address"/></div>
<div class="refereeContact"><xsl:apply-templates select="r:contact"/></div>
</div>
</xsl:template>
<xsl:template match="r:referee" mode="compact">
<tr>
<td>
<div class="refereeName">
<xsl:apply-templates select="r:name"/>
<xsl:if test="r:title or r:organization">
<div>
<xsl:apply-templates select="r:title"/>
<xsl:if test="r:title and r:organization">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:apply-templates select="r:organization"/>
</div>
</xsl:if>
</div>
<div class="refereeContact"><xsl:apply-templates select="r:contact"/></div>
</td>
<td class="refereeAddress"><xsl:apply-templates select="r:address"/></td>
</tr>
</xsl:template>
<!-- Format a description as either a block (div) or a single line (span) -->
<xsl:template match="r:description" name="r:description">
<!-- Possible values: 'block', 'single-line' -->
<xsl:param name="paragraph.format">block</xsl:param>
<xsl:param name="css.class">description</xsl:param>
<xsl:choose>
<xsl:when test="$paragraph.format = 'single-line'">
<span class="{$css.class}">
<xsl:for-each select="r:para">
<xsl:apply-templates/>
<xsl:if test="following-sibling::*">
<xsl:value-of select="$description.para.separator"/>
</xsl:if>
</xsl:for-each>
</span>
</xsl:when>
<xsl:otherwise>
<!-- block -->
<div class="{$css.class}">
<xsl:apply-templates/>
</div>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,133 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
address.xsl
Defines some common templates for address processing that are
shared by all the stylesheets.
Copyright (c) 2000-2001 Sean Kelly, Bruce Christensen
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: address.xsl,v 1.1 2002/05/26 03:45:51 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:r="http://xmlresume.sourceforge.net/resume/0.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- It would be nice if XSLT allowed variable reference in mode -->
<!-- selection; then instead of the ugly template below, we'd have -->
<!-- '<xsl:apply-templates select="r:address" mode="$address.format"/>'-->
<!-- But it doesn't, so we need this. -->
<xsl:template match="r:address">
<!-- Determine formatting method from format attr of this element if -->
<!-- it exists, otherwise use $address.format parameter. -->
<xsl:variable name="format">
<xsl:choose>
<xsl:when test="@format">
<xsl:value-of select="@format"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$address.format"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<!-- If the first child is a text node, assume that we -->
<!-- have a preformatted address and bypass the address -->
<!-- formatting below. -->
<xsl:when test="node()[1][not(self::*)]">
<xsl:apply-templates select="." mode="free-form"/>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="$format = 'standard'">
<xsl:apply-templates select="." mode="standard"/>
</xsl:when>
<xsl:when test="$format = 'european'">
<xsl:apply-templates select="." mode="european"/>
</xsl:when>
<xsl:when test="$format = 'italian'">
<xsl:apply-templates select="." mode="italian"/>
</xsl:when>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- template to determine the AdminDivision for use in addresses. -->
<!-- AdminDivision is a pseudo-field for the principal administrative -->
<!-- division of the country: state in the US, province in Canada, -->
<!-- county in Ireland, for example. -->
<xsl:template name="AdminDivision">
<xsl:choose>
<xsl:when test="r:state">
<xsl:value-of select="normalize-space(r:state)"/>
</xsl:when>
<xsl:when test="r:province">
<xsl:value-of select="normalize-space(r:province)"/>
</xsl:when>
<xsl:when test="r:county">
<xsl:value-of select="normalize-space(r:county)"/>
</xsl:when>
<!-- Otherwise, leave blank -->
</xsl:choose>
</xsl:template>
<!-- template to determine the CityDivision for use in addresses. -->
<!-- "Suburb" is used in New Zealand; "Ward" in Brazil and Japan. -->
<xsl:template name="CityDivision">
<xsl:choose>
<xsl:when test="r:suburb">
<xsl:value-of select="normalize-space(r:suburb)"/>
</xsl:when>
<xsl:when test="r:ward">
<xsl:value-of select="normalize-space(r:ward)"/>
</xsl:when>
<!-- Otherwise, leave blank -->
</xsl:choose>
</xsl:template>
<!-- template to determine the code to be used in addresses. -->
<xsl:template name="PostCode">
<xsl:choose>
<xsl:when test="r:zip">
<xsl:value-of select="normalize-space(r:zip)"/>
</xsl:when>
<xsl:when test="r:postalCode">
<xsl:value-of select="normalize-space(r:postalCode)"/>
</xsl:when>
<!-- Otherwise, leave blank -->
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@@ -0,0 +1,317 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
common.xsl
Defines some common templates shared by all the stylesheets.
Copyright (c) 2002 Sean Kelley and contributors
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: common.xsl,v 1.8 2002/11/05 08:51:53 brandondoyle Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:r="http://xmlresume.sourceforge.net/resume/0.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Since string.xsl is <xsl:include>ed by {html,fo,text}.xsl, we import it
here to avoid defining it twice. -->
<xsl:import href="string.xsl"/>
<xsl:include href="deprecated.xsl"/>
<xsl:include href="address.xsl"/>
<xsl:include href="pub.xsl"/>
<!-- Outputs the text to use as a title. -->
<!-- Uses <title> child element if present, otherwise $Default. -->
<xsl:template name="Title">
<xsl:param name="Title">NO DEFAULT TITLE DEFINED</xsl:param>
<xsl:param name="Separator"></xsl:param>
<xsl:choose>
<xsl:when test="r:title">
<xsl:value-of select="normalize-space(r:title)"/>
<xsl:value-of select="$Separator"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$Title"/>
<xsl:value-of select="$Separator"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="r:title">
<xsl:param name="Separator"></xsl:param>
<xsl:apply-templates/>
<xsl:value-of select="$Separator"/>
</xsl:template>
<!-- CONTACTS =========================================================== -->
<xsl:template name="PhoneLocation">
<xsl:param name="Location"/>
<xsl:choose>
<xsl:when test="$Location = 'home'">
<xsl:value-of select="$phone.home.phrase"/>
</xsl:when>
<xsl:when test="$Location = 'work'">
<xsl:value-of select="$phone.work.phrase"/>
</xsl:when>
<xsl:when test="$Location = 'mobile'">
<xsl:value-of select="$phone.mobile.phrase"/>
</xsl:when>
<xsl:when test="string-length($Location) > 0">
<xsl:message>
<xsl:text>***** WARNING: Unknown phone location: '</xsl:text>
<xsl:value-of select="$Location"/>
<xsl:text>' (inserting literally into output)</xsl:text>
</xsl:message>
<xsl:value-of select="$Location"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$phone.word"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="FaxLocation">
<xsl:param name="Location"/>
<xsl:choose>
<xsl:when test="$Location = 'home'">
<xsl:value-of select="$fax.home.phrase"/>
</xsl:when>
<xsl:when test="$Location = 'work'">
<xsl:value-of select="$fax.work.phrase"/>
</xsl:when>
<xsl:when test="string-length($Location) > 0">
<xsl:message>
<xsl:text>***** WARNING: Unknown fax location: '</xsl:text>
<xsl:value-of select="$Location"/>
<xsl:text>' (inserting literally into output)</xsl:text>
</xsl:message>
<xsl:value-of select="$Location"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$fax.word"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="IMServiceName">
<xsl:param name="Service"/>
<xsl:choose>
<xsl:when test="$Service = 'aim'">
<xsl:value-of select="$im.aim.service"/>
</xsl:when>
<xsl:when test="$Service = 'icq'">
<xsl:value-of select="$im.icq.service"/>
</xsl:when>
<xsl:when test="$Service = 'irc'">
<xsl:value-of select="$im.irc.service"/>
</xsl:when>
<xsl:when test="$Service = 'jabber'">
<xsl:value-of select="$im.jabber.service"/>
</xsl:when>
<xsl:when test="$Service = 'msn'">
<xsl:value-of select="$im.msn.service"/>
</xsl:when>
<xsl:when test="$Service = 'yahoo'">
<xsl:value-of select="$im.yahoo.service"/>
</xsl:when>
<xsl:when test="string-length($Service) > 0">
<xsl:message>
<xsl:text>***** WARNING: Unknown instantMessage service: '</xsl:text>
<xsl:value-of select="$Service"/>
<xsl:text>' (inserting literally into output)</xsl:text>
</xsl:message>
<xsl:value-of select="$Service"/>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- HEADER ============================================================= -->
<!-- Call header template in appropriate mode -->
<xsl:template match="r:header">
<xsl:choose>
<xsl:when test="$header.format = 'centered'">
<xsl:apply-templates select="." mode="centered"/>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="." mode="standard"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- DEGREE ============================================================= -->
<!-- Format a major -->
<xsl:template match="r:major">
<xsl:apply-templates/>
<xsl:choose>
<xsl:when test="count(following-sibling::r:major) > 1">
<xsl:text>, </xsl:text>
</xsl:when>
<xsl:when test="count(following-sibling::r:major) = 1">
<xsl:if test="count(preceding-sibling::r:major) > 1">
<xsl:text>,</xsl:text>
</xsl:if>
<xsl:text> </xsl:text>
<xsl:value-of select="$and.word"/>
<xsl:text> </xsl:text>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- Format a minor -->
<xsl:template match="r:minor">
<xsl:if test="position() = 1">
<xsl:choose>
<xsl:when test="count(following-sibling::r:minor) > 0">
<xsl:text> (</xsl:text>
<xsl:value-of select="$minors.word"/>
</xsl:when>
<xsl:otherwise>
<xsl:text> (</xsl:text>
<xsl:value-of select="$minor.word"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text> </xsl:text>
<xsl:value-of select="$in.word"/>
<xsl:text> </xsl:text>
</xsl:if>
<xsl:apply-templates/>
<xsl:choose>
<xsl:when test="count(following-sibling::r:minor) > 1">
<xsl:text>, </xsl:text>
</xsl:when>
<xsl:when test="count(following-sibling::r:minor) = 1">
<xsl:if test="count(preceding-sibling::r:minor) > 1">
<xsl:text>,</xsl:text>
</xsl:if>
<xsl:text> </xsl:text>
<xsl:value-of select="$and.word"/>
<xsl:text> </xsl:text>
</xsl:when>
<xsl:when test="count(following-sibling::r:minor) = 0">
<xsl:text>)</xsl:text>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- SKILLS ============================================================= -->
<!-- Normalize space in skills, but preserve descendant elements. This
replaced the following code in the r:skill template:
<xsl:variable name="Text">
<xsl:apply-templates/>
</xsl:variable>
<xsl:value-of select="normalize-space($Text)"/>
The problem with the above code is that if a skill contains other elements
(for example, a <link>), the normalize-space call removes those elements. This
solution avoids that problem.
-->
<xsl:template match="r:skill//text()">
<xsl:value-of select="normalize-space(.)"/>
<!-- This part's a bit complicated. It basically says to output a space IF:
1. This text node is followed by an element or another text node.
2. AND This element has trailing whitespace.
We can't ignore the second requirement, or else we format input like this:
"<skill>Apache (<url>www.apache.org</url>)</skill>"
As:
"Apache ( www.apache.org)"
Our more complicated rule yields the correct output:
"Apache (www.apache.org)"
-->
<xsl:if test="following-sibling::* or following-sibling::text()">
<xsl:variable name="TrailingWS">
<xsl:call-template name="TrailingSpace">
<xsl:with-param name="Text">
<xsl:value-of select="."/>
</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:if test="string-length($TrailingWS)">
<xsl:text> </xsl:text>
</xsl:if>
</xsl:if>
</xsl:template>
<!-- LOCATION =========================================================== -->
<!-- Location sub-elements -->
<xsl:template match="r:location/*">
<xsl:apply-templates/>
<xsl:if test="following-sibling::*">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:template>
<!-- NAMES ============================================================== -->
<!-- Format a name in Western style, given then surname -->
<!-- (plus title, middle and suffix if defined). -->
<xsl:template match="r:name">
<xsl:if test="r:title">
<xsl:apply-templates select="r:title"/>
<xsl:text> </xsl:text>
</xsl:if>
<xsl:apply-templates select="r:firstname"/>
<xsl:text> </xsl:text>
<xsl:if test="r:middlenames">
<xsl:apply-templates select="r:middlenames"/>
<xsl:text> </xsl:text>
</xsl:if>
<xsl:apply-templates select="r:surname"/>
<xsl:if test="r:suffix">
<xsl:text> </xsl:text>
<xsl:apply-templates select="r:suffix"/>
</xsl:if>
</xsl:template>
<!-- Call subjects template in appropriate mode -->
<xsl:template match="r:subjects">
<xsl:if test="r:subject">
<xsl:choose>
<xsl:when test="$subjects.format = 'table'">
<xsl:apply-templates select="." mode="table"/>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="." mode="comma"/>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

View File

@@ -0,0 +1,137 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
deprecated.xsl
Print warning messages about deprecated elements.
Copyright (c) 2000-2002 by Bruce Christensen
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: deprecated.xsl,v 1.1 2002/05/26 03:45:51 bruckie Exp $
-->
<!--
In general, each block is responsible for outputting a newline after itself.
-->
<xsl:stylesheet version="1.0"
xmlns:r="http://xmlresume.sourceforge.net/resume/0.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Deprecated in 1.3.3 -->
<xsl:template match="r:break">
<xsl:message>
WARNING: break deprecated
The break element is deprecated as of version 1.3.3 of the XML Resume
Library. It will be removed in a future version. It is recommended that
you remove all break elements.
You can use "make 13x-140" to fix this problem.
</xsl:message>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="r:company">
<xsl:message>
WARNING: company deprecated
The company element is deprecated as of version 1.3.3 of the XML Resume
Library. It will be removed in a future version. It is recommended that
you remove all company elements.
You can use "make 13x-140" to fix this problem.
</xsl:message>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="r:street2">
<xsl:message>
WARNING: street2 deprecated
The street2 element is deprecated as of version 1.3.3 of the XML Resume
Library. It will be removed in a future version. It is recommended that
you convert all street2 elements to street elements.
You can use "make 13x-140" to fix this problem.
</xsl:message>
<xsl:apply-templates/>
</xsl:template>
<!-- Deprecated in 1.4.0 -->
<xsl:template match="r:skillareas">
<xsl:message>
WARNING: skillareas deprecated
The skillareas element is deprecated as of version 1.4.0 of the XML
Resume Library. It will be removed in a future version. It is
recommended that you remove all skillareas elements. skillarea elements
may now be direct children of resume.
You can use "make 13x-140" to fix this problem.
</xsl:message>
<xsl:apply-templates/>
</xsl:template>
<xsl:template name="SkillsDeprecatedMessage">
<xsl:message>
WARNING: skills deprecated
The skills element is deprecated as of version 1.4.0 of the XML Resume
Library. It will be removed in a future version. It is recommended that
you remove all skills elements. skill elements may now be direct
children of skillset.
You can use "make 13x-140" to fix this problem.
</xsl:message>
</xsl:template>
<xsl:template match="r:skills">
<xsl:call-template name="SkillsDeprecatedMessage"/>
<xsl:apply-templates select="r:skill"/>
</xsl:template>
<xsl:template match="r:skills" mode="comma">
<xsl:call-template name="SkillsDeprecatedMessage"/>
<xsl:apply-templates select="r:skill" mode="comma"/>
</xsl:template>
<xsl:template match="r:skills" mode="bullet">
<xsl:call-template name="SkillsDeprecatedMessage"/>
<xsl:apply-templates select="r:skill" mode="bullet"/>
</xsl:template>
<xsl:template match="r:pubDate">
<xsl:message>
WARNING: pubDate deprecated
The pubDate element is deprecated as of version 1.4.0 of the XML Resume
Library. It will be removed in a future version. It is recommended that
you replace pubDate elements with date elements.
You can use "make 13x-140" to fix this problem.
</xsl:message>
<xsl:call-template name="FormatPubDate"/>
</xsl:template>
<xsl:template match="r:docpath | r:head | r:node | r:tail | r:label | r:uri">
<xsl:message>
WARNING: docpath, head, node, tail, label, and uri deprecated
The docpath, head, node, tail, label, and uri elements are deprecated as
of version 1.4.0 of the XML Resume Library. They will be removed in a
future version. It is recommended that you remove all of these elements.
You can use "make 13x-140" to fix this problem.
</xsl:message>
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>

View File

@@ -0,0 +1,135 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
pub.xsl
Transformations for publications.
Copyright (c) 2002 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: pub.xsl,v 1.1 2002/05/26 03:45:51 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:r="http://xmlresume.sourceforge.net/resume/0.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="FormatPub">
<!-- Format each author, putting separator characters betwixt. -->
<xsl:apply-templates select="r:author[position() != last()]" mode="internal"/>
<xsl:apply-templates select="r:author[position() = last()]" mode="final"/>
<!-- Format the other components of a publication. -->
<xsl:apply-templates select="r:artTitle"/>
<xsl:apply-templates select="r:bookTitle"/>
<xsl:apply-templates select="r:publisher"/>
<xsl:apply-templates select="r:date"/>
<xsl:apply-templates select="r:pubDate"/> <!-- Deprecated as of 1.4.0. -->
<xsl:apply-templates select="r:pageNums"/>
<xsl:apply-templates select="r:url"/>
<!-- And for those using free-form paragraphs, format those, too. -->
<xsl:apply-templates select="r:para"/>
</xsl:template>
<!-- Format the all but the last author -->
<xsl:template match="r:author" mode="internal">
<xsl:call-template name="DerefAuthor"/>
<xsl:value-of select="$pub.author.separator"/>
</xsl:template>
<!-- Format the last author whose name doesn't end in a period.
NOTE: This prevents a format like "Fish, X.." from appearing, but
only when the pub.item.separator is a ".", otherwise it just leaves
out the pub.item.separator. Does anyone know how we can test for
$pub.item.separator instead of '.'? -->
<xsl:template match="r:author[substring(text(), string-length(text()))='.']" mode="final">
<xsl:call-template name="DerefAuthor"/><xsl:text> </xsl:text>
</xsl:template>
<!-- Format the last author -->
<xsl:template match="r:author" mode="final">
<xsl:call-template name="DerefAuthor"/>
<xsl:value-of select="$pub.item.separator"/>
</xsl:template>
<!-- Format an author's name if provided or by reference to the name with the given id. -->
<xsl:template name="DerefAuthor">
<xsl:choose>
<xsl:when test="@name">
<xsl:apply-templates select="id(@name)"/>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Title of book -->
<xsl:template match="r:bookTitle">
<xsl:apply-templates/>
<xsl:value-of select="$pub.item.separator"/>
</xsl:template>
<!-- Title of article -->
<xsl:template match="r:artTitle">
<xsl:text>&quot;</xsl:text>
<xsl:apply-templates/>
<xsl:text>&quot;</xsl:text>
<xsl:value-of select="$pub.item.separator"/>
</xsl:template>
<!-- Publisher with a following publication date. -->
<xsl:template match="r:publisher[following-sibling::pubDate]">
<xsl:apply-templates/>
</xsl:template>
<!-- Publisher without pub date -->
<xsl:template match="r:publisher">
<xsl:apply-templates/>
<xsl:value-of select="$pub.item.separator"/>
</xsl:template>
<!-- Format the publication date -->
<!-- Note: the FormatPubDate name attr is used only so that this template can
be called from the r:pubDate deprecation message. The name can be removed when
r:pubDate is removed from the DTD. -->
<xsl:template match="r:pub/r:date" name="FormatPubDate">
<xsl:call-template name="FormatDate"/>
<xsl:value-of select="$pub.item.separator"/>
</xsl:template>
<!-- Format the page numbers of the journal in which the article appeared -->
<xsl:template match="r:pageNums">
<xsl:apply-templates/>
<xsl:value-of select="$pub.item.separator"/>
</xsl:template>
<!-- Format a URL -->
<xsl:template match="r:pub/r:url">
<xsl:call-template name="FormatUrl"/>
<xsl:value-of select="$pub.item.separator"/>
</xsl:template>
</xsl:stylesheet>

View File

@@ -0,0 +1,168 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
string.xsl
Library of string processing templates.
Copyright (c) 2000-2002 by Vlad Korolev, Sean Kelly, Bruce Christensen
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: string.xsl,v 1.1 2002/05/26 03:45:51 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:r="http://xmlresume.sourceforge.net/resume/0.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Removes leading and trailing space -->
<xsl:template name="Trim">
<xsl:param name="Text"/>
<xsl:variable name="LeadingSpace">
<xsl:call-template name="LeadingSpace">
<xsl:with-param name="Text" select="$Text"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="LeadingLen" select="string-length($LeadingSpace)"/>
<xsl:variable name="TrailingSpace">
<xsl:call-template name="TrailingSpace">
<xsl:with-param name="Text" select="$Text"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="TrailingLen" select="string-length($TrailingSpace)"/>
<xsl:value-of
select="substring(
$Text,
1+$LeadingLen,
string-length($Text) - $LeadingLen - $TrailingLen
)"/>
</xsl:template>
<!-- Like normalize-space(), but leaves leading and trailing space intact -->
<xsl:template name="NormalizeInternalSpace">
<xsl:param name="Text"/>
<xsl:call-template name="LeadingSpace">
<xsl:with-param name="Text" select="$Text"/>
</xsl:call-template>
<xsl:value-of select="normalize-space($Text)"/>
<xsl:call-template name="TrailingSpace">
<xsl:with-param name="Text" select="$Text"/>
</xsl:call-template>
</xsl:template>
<!-- Returns the leading whitespace of a string -->
<xsl:template name="LeadingSpace">
<xsl:param name="Text"/>
<xsl:variable name="Whitespace">
<xsl:text>&#x20;&#x9;&#xD;&#xA;</xsl:text>
</xsl:variable>
<xsl:if test="string-length($Text) &gt; 0">
<xsl:variable name="First" select="substring($Text, 1, 1)"/>
<xsl:variable name="Following" select="substring($Text, 2)"/>
<xsl:if test="contains($Whitespace, $First)">
<xsl:value-of select="$First"/>
<xsl:call-template name="LeadingSpace">
<xsl:with-param name="Text" select="$Following"/>
</xsl:call-template>
</xsl:if>
</xsl:if>
</xsl:template>
<!-- Returns the trailing whitespace of a string -->
<xsl:template name="TrailingSpace">
<xsl:param name="Text"/>
<xsl:variable name="Whitespace">
<xsl:text>&#x20;&#x9;&#xD;&#xA;</xsl:text>
</xsl:variable>
<xsl:if test="string-length($Text) > 0">
<xsl:variable name="Last"
select="substring($Text, string-length($Text))"/>
<xsl:variable name="Preceding"
select="substring($Text, 1, string-length($Text) -1)"/>
<xsl:if test="contains($Whitespace, $Last)">
<xsl:call-template name="TrailingSpace">
<xsl:with-param name="Text" select="$Preceding"/>
</xsl:call-template>
<xsl:value-of select="$Last"/>
</xsl:if>
</xsl:if>
</xsl:template>
<!--
Replaces $Max-Replacements occurrences (default: as many as possible) of
$Search-For in $Text with $Replace-With.
Based on Sean's PreserveLineBreaks. *BC*
-->
<xsl:template name="String-Replace">
<xsl:param name="Text"/>
<xsl:param name="Search-For"/>
<xsl:param name="Replace-With"/>
<!-- less than 0 = as many replacements as possible -->
<xsl:param name="Max-Replacements">-1</xsl:param>
<xsl:choose>
<xsl:when test="($Max-Replacements != 0) and contains($Text, $Search-For)">
<xsl:value-of select="substring-before($Text, $Search-For)"/>
<xsl:copy-of select="$Replace-With"/>
<xsl:call-template name="String-Replace">
<xsl:with-param
name="Text"
select="substring-after($Text, $Search-For)"/>
<xsl:with-param
name="Search-For"
select="$Search-For"/>
<xsl:with-param
name="Replace-With"
select="$Replace-With"/>
<xsl:with-param
name="Max-Replacements"
select="$Max-Replacements - 1"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$Text"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@@ -0,0 +1,365 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
textlayout.xsl
Library of plain-text layout helper templates.
- This library differs from text.xsl in that it has no XML Resume-specific
code.
- This library differs from string.xsl in that string.xsl provides templates
that are useful to any application that may need to do text processing; this
library is likely to be useful only when doing plain text output.
- This library could forseeably be used in a different project that needs to do
text layout in XSLT.
Copyright (c) 2000-2002 by Vlad Korolev, Sean Kelly, and Bruce Christensen
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: textlayout.xsl,v 1.3 2002/11/25 02:35:22 brandondoyle Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:r="http://xmlresume.sourceforge.net/resume/0.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="NewLine">
<xsl:text>&#xA;</xsl:text>
</xsl:template>
<!-- Create a heading. -->
<xsl:template name="Heading">
<xsl:param name="Text"/>
<xsl:call-template name="NewLine"/>
<xsl:call-template name="NewLine"/>
<xsl:value-of select="$Text"/><xsl:text>:</xsl:text>
<xsl:call-template name="NewLine"/>
<xsl:call-template name="NewLine"/>
</xsl:template>
<xsl:template name="NSpace">
<xsl:param name="n" select="0"/>
<xsl:if test="$n &gt; 0">
<xsl:text> </xsl:text>
<xsl:call-template name="NSpace">
<xsl:with-param name="n" select="$n - 1" />
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template name="Indent">
<xsl:param name="Length" select="$text.indent.width"/>
<xsl:param name="Text"/>
<!-- Put Space -->
<xsl:call-template name="NSpace">
<xsl:with-param name="n" select="$Length"/>
</xsl:call-template>
<!-- Display One Line -->
<xsl:choose>
<xsl:when test="contains($Text,'&#xA;')">
<xsl:value-of select="substring-before($Text,'&#xA;')"/>
<xsl:call-template name="NewLine"/>
<xsl:call-template name="Indent">
<xsl:with-param name="Length" select="$Length"/>
<xsl:with-param name="Text" select="substring-after($Text,'&#xA;')"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$Text"/>
</xsl:otherwise>
</xsl:choose>
<!-- Continue with the rest -->
</xsl:template>
<!-- Center a multi-line block of text -->
<xsl:template name="CenterBlock">
<xsl:param name="Width" select="$text.width"/>
<xsl:param name="Text" />
<xsl:choose>
<xsl:when test="contains($Text,'&#xA;')">
<xsl:call-template name="Center">
<xsl:with-param name="Text" select="substring-before($Text,'&#xA;')"/>
<xsl:with-param name="Width" select="$Width"/>
</xsl:call-template>
<xsl:call-template name="NewLine"/>
<xsl:call-template name="CenterBlock">
<xsl:with-param name="Width" select="$Width"/>
<xsl:with-param name="Text" select="substring-after($Text,'&#xA;')"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="Center">
<xsl:with-param name="Text" select="$Text"/>
<xsl:with-param name="Width" select="$Width"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Center a single line of text -->
<xsl:template name="Center">
<xsl:param name="Width" select="$text.width"/>
<xsl:param name="Text" />
<xsl:if test="string-length($Text) &gt; 0">
<xsl:call-template name="NSpace">
<xsl:with-param
name="n"
select="($Width - string-length($Text)) div 2" />
</xsl:call-template>
<xsl:value-of select="$Text"/>
</xsl:if>
</xsl:template>
<!-- Named template for formatting a generic bullet list item *SE* -->
<!-- Simply calls Wrap to do a hanging indent of the bullet character and
$Text. -->
<xsl:template name="FormatBulletListItem" >
<xsl:param name="Text"/>
<!-- Note: This is the max width of the lines outputted, *including the
bullet* -->
<xsl:param name="Width" select="$text.width - $text.indent.width"/>
<xsl:call-template name="Wrap">
<xsl:with-param name="Text">
<xsl:value-of select="$text.bullet.prefix"/>
<xsl:value-of select="normalize-space($Text)"/>
</xsl:with-param>
<xsl:with-param name="Width" select="$Width"/>
<xsl:with-param name="FirstIndent" select="0"/>
<xsl:with-param name="Indent" select="string-length($text.bullet.prefix)"/>
<xsl:with-param name="KeepNewlines" select="1"/>
</xsl:call-template>
</xsl:template>
<!-- Wraps $Text to $Width characters(*). Whitespace in input text is
normalized before processing, with the exception of newlines if $KeepNewlines
is true.
The first line outputted will be indented $FirstIndent spaces (Default:
$Indent.)
All subsequent lines will be indented $Indent spaces. (Default: 0.)
$FirstIndent and $Indent are both measured from column zero; that is, they're
independent of each other. If $FirstIndent is 0, and $Indent is 3, you'll get
text shaped like this:
a b c d e f g h i j
k l m n o p q r s
t u v w x y z
Spaces used for indenting count toward $Width.
(*) If $Text contains a word that's longer than $Width, that word will be
output on a line by itself, causing the width of the outputted text to be
greater than $Width. Words are separated by spaces. -->
<xsl:template name="Wrap">
<!-- Text to wrap -->
<xsl:param name="Text"/>
<!-- Maximum line length; lines longer than this get wrapped -->
<xsl:param name="Width" select="$text.width - $text.indent.width"/>
<!-- Whether newlines in $Text should be kept. -->
<xsl:param name="KeepNewlines" select="0"/>
<!-- Number of characters to indent each line. If $FirstIndent is specified,
the first line is indented that many characters instead. -->
<xsl:param name="Indent" select="0"/>
<!-- Number of characters to indent first line -->
<xsl:param name="FirstIndent" select="$Indent"/>
<!-- Number of characters outputted on the current line -->
<xsl:param name="CPos" select="0"/>
<!-- Is the current line the first line? -->
<xsl:param name="IsFirstLine" select="1"/>
<!-- Has $Text been normalized? -->
<xsl:param name="IsNormalized" select="0"/>
<xsl:choose>
<xsl:when test="string-length($Text) = 0">
<!-- Basis case; we're done. -->
</xsl:when>
<!-- Keep newlines if requested. (Basic idea is to split on newlines, do
wrapping on each part, and then join results with newlines.) -->
<xsl:when test="$KeepNewlines and contains($Text, '&#xA;')">
<xsl:variable name="Before" select="substring-before($Text, '&#xA;')"/>
<xsl:variable name="After" select="substring-after($Text, '&#xA;')"/>
<xsl:call-template name="Wrap">
<xsl:with-param name="Text" select="$Before"/>
<xsl:with-param name="Width" select="$Width"/>
<xsl:with-param name="FirstIndent" select="$FirstIndent"/>
<xsl:with-param name="Indent" select="$Indent"/>
<xsl:with-param name="KeepNewlines" select="1"/>
<xsl:with-param name="IsFirstLine" select="$IsFirstLine"/>
</xsl:call-template>
<xsl:call-template name="NewLine"/>
<xsl:call-template name="Wrap">
<xsl:with-param name="Text" select="$After"/>
<xsl:with-param name="Width" select="$Width"/>
<xsl:with-param name="FirstIndent" select="$FirstIndent"/>
<xsl:with-param name="Indent" select="$Indent"/>
<xsl:with-param name="KeepNewlines" select="1"/>
<xsl:with-param name="IsFirstLine" select="0"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="not($IsNormalized)">
<xsl:call-template name="Wrap">
<xsl:with-param name="Text" select="normalize-space($Text)"/>
<xsl:with-param name="Width" select="$Width"/>
<xsl:with-param name="FirstIndent" select="$FirstIndent"/>
<xsl:with-param name="Indent" select="$Indent"/>
<xsl:with-param name="CPos" select="0"/>
<xsl:with-param name="IsFirstLine" select="$IsFirstLine"/>
<xsl:with-param name="IsNormalized" select="1"/>
</xsl:call-template>
</xsl:when>
<!-- If we're here, text non-empty, normalized, and newline-free. We just
have to output the next word, or, if that would cause the line to become
too long, output a newline. -->
<xsl:otherwise>
<xsl:variable name="Word">
<xsl:choose>
<xsl:when test="contains($Text,' ')">
<xsl:value-of select="substring-before($Text,' ')"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$Text"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="WordWidth" select="string-length($Word)"/>
<!-- Number of spaces to output before $Word -->
<xsl:variable name="SpaceWidth">
<!-- We're at the beginning of the line, so we may need to indent -->
<xsl:choose>
<xsl:when test="$CPos=0">
<xsl:choose>
<!-- We're on the first line -->
<xsl:when test="$IsFirstLine">
<xsl:value-of select="$FirstIndent"/>
</xsl:when>
<!-- We're on a following line -->
<xsl:otherwise>
<xsl:value-of select="$Indent"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<!-- We're not at the beginning of the line, so we'll need just one
space to separate this word from the previous one -->
<xsl:otherwise>1</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<!-- If the word length is longer than the allowed line length, and
we're at the start of the line, then output the word. (Without this
case, we'd get stuck in endless recursion.) -->
<xsl:when test="($CPos = 0) and ($SpaceWidth + $WordWidth &gt; $Width)">
<xsl:call-template name="NSpace">
<xsl:with-param name="n" select="$SpaceWidth"/>
</xsl:call-template>
<xsl:value-of select="$Word"/>
<xsl:call-template name="Wrap">
<xsl:with-param name="Text" select="substring-after($Text, ' ')"/>
<xsl:with-param name="Width" select="$Width"/>
<xsl:with-param name="FirstIndent" select="$FirstIndent"/>
<xsl:with-param name="Indent" select="$Indent"/>
<xsl:with-param name="CPos" select="$WordWidth"/>
<xsl:with-param name="IsFirstLine" select="$IsFirstLine"/>
<xsl:with-param name="IsNormalized" select="1"/>
</xsl:call-template>
</xsl:when>
<!-- If the word will make this line too long, make a new line and
try again -->
<xsl:when test="$CPos + $SpaceWidth + $WordWidth &gt; $Width">
<xsl:call-template name="NewLine"/>
<xsl:call-template name="Wrap">
<xsl:with-param name="Text" select="$Text"/>
<xsl:with-param name="Width" select="$Width"/>
<xsl:with-param name="FirstIndent" select="$FirstIndent"/>
<xsl:with-param name="Indent" select="$Indent"/>
<xsl:with-param name="CPos" select="0"/>
<xsl:with-param name="IsFirstLine" select="0"/>
<xsl:with-param name="IsNormalized" select="1"/>
</xsl:call-template>
</xsl:when>
<!-- There's room on this line for the word, so output it, possibly
prepended with a space -->
<xsl:otherwise>
<xsl:call-template name="NSpace">
<xsl:with-param name="n" select="$SpaceWidth"/>
</xsl:call-template>
<xsl:value-of select="$Word"/>
<xsl:call-template name="Wrap">
<xsl:with-param name="Text" select="substring-after($Text, ' ')"/>
<xsl:with-param name="Width" select="$Width"/>
<xsl:with-param name="FirstIndent" select="$FirstIndent"/>
<xsl:with-param name="Indent" select="$Indent"/>
<xsl:with-param name="CPos"
select="$CPos + $SpaceWidth + $WordWidth"/>
<xsl:with-param name="IsFirstLine" select="$IsFirstLine"/>
<xsl:with-param name="IsNormalized" select="1"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
124-130.xsl
Convert XML Resume from version 1.2.4 to version 1.3.0.
Copyright (c) 2002 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: 124-130.xsl,v 1.1 2002/05/26 03:45:51 bruckie Exp $
-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="no" indent="yes" encoding="UTF-8"/>
<xsl:preserve-space elements="*"/>
<!-- The "subject" area of an academic degree is now the "major". -->
<xsl:template match="subject">
<major><xsl:apply-templates/></major>
</xsl:template>
<!-- Everything else stays the same -->
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>

View File

@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
13x-140.xsl
Convert XML Resume from version 1.3.1, 1.3.2, or 1.3.3 to version 1.4.0.
Copyright (c) 2002 Sean Kelly, Bruce Christensen
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: 13x-140.xsl,v 1.1 2002/05/26 03:45:51 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:r="http://xmlresume.sourceforge.net/resume/0.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="no" indent="yes"
encoding="UTF-8"
doctype-public="-//Sean Kelly//DTD Resume 1.4.0//EN"
doctype-system="http://xmlresume.sourceforge.net/dtd/resume.dtd"
/>
<xsl:preserve-space elements="*"/>
<!-- <skillareas> is deprecated. <skillarea> may now appear directly in
<resume>. -->
<xsl:template match="r:skillareas">
<xsl:apply-templates/>
</xsl:template>
<!-- <skills> is deprecated. <skill> may now appear directly in <skillset> -->
<xsl:template match="r:skills">
<xsl:apply-templates/>
</xsl:template>
<!-- <pubDate> is deprecated. It should be replaced with <date>. -->
<xsl:template match="r:pubDate">
<r:date><xsl:apply-templates/></r:date>
</xsl:template>
<!-- <street2> is deprecated. It should be replaced with <street>. -->
<xsl:template match="r:street2">
<r:street><xsl:apply-templates/></r:street>
</xsl:template>
<!-- <company> is deprecated. Display its child nodes. -->
<xsl:template match="r:break">
<xsl:apply-templates/>
</xsl:template>
<!-- <break> is deprecated. It should be removed. -->
<xsl:template match="r:break">
<!-- Suppress -->
</xsl:template>
<!-- <docpath> and related tags are deprecated. They should be removed. -->
<xsl:template match="r:docpath | r:head | r:node | r:tail | r:label | r:uri">
<!-- Suppress -->
</xsl:template>
<!-- Everything else stays the same -->
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>

View File

@@ -0,0 +1,276 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- -->
<!-- Default XSL stylesheet for use by com.lotus.xsl.server#DefaultApplyXSL. -->
<!-- -->
<!-- This stylesheet mimics the default behavior of IE when XML data is displayed -->
<!-- without a corresponding XSL stylesheet. This stylesheet uses JavaScript -->
<!-- to accommodate node expansion and contraction. -->
<!-- -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns="http://www.w3.org/TR/REC-html40">
<xsl:output method="html" indent="no"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<HTML>
<HEAD>
<STYLE type="text/css">
BODY {font:x-small 'Verdana'; margin-right:1.5em}
<!-- container for expanding/collapsing content -->
.c {cursor:hand}
<!-- button - contains +/-/nbsp -->
.b {color:red; font-family:'Courier New'; font-weight:bold; text-decoration:none}
<!-- element container -->
.e {margin-left:1em; text-indent:-1em; margin-right:1em}
<!-- comment or cdata -->
.k {margin-left:1em; text-indent:-1em; margin-right:1em}
<!-- tag -->
.t {color:#990000}
<!-- tag in xsl namespace -->
.xt {color:#990099}
<!-- attribute in xml or xmlns namespace -->
.ns {color:red}
<!-- markup characters -->
.m {color:blue}
<!-- text node -->
.tx {font-weight:bold}
<!-- multi-line (block) cdata -->
.db {text-indent:0px; margin-left:1em; margin-top:0px; margin-bottom:0px;
padding-left:.3em; border-left:1px solid #CCCCCC; font:small Courier}
<!-- single-line (inline) cdata -->
.di {font:small Courier}
<!-- DOCTYPE declaration -->
.d {color:blue}
<!-- pi -->
.pi {color:blue}
<!-- multi-line (block) comment -->
.cb {text-indent:0px; margin-left:1em; margin-top:0px; margin-bottom:0px;
padding-left:.3em; font:small Courier; color:#888888}
<!-- single-line (inline) comment -->
.ci {font:small Courier; color:#888888}
PRE {margin:0px; display:inline}
</STYLE>
<SCRIPT type="text/javascript"><xsl:comment><![CDATA[
// Detect and switch the display of CDATA and comments from an inline view
// to a block view if the comment or CDATA is multi-line.
function f(e)
{
// if this element is an inline comment, and contains more than a single
// line, turn it into a block comment.
if (e.className == "ci") {
if (e.children(0).innerText.indexOf("\n") > 0)
fix(e, "cb");
}
// if this element is an inline cdata, and contains more than a single
// line, turn it into a block cdata.
if (e.className == "di") {
if (e.children(0).innerText.indexOf("\n") > 0)
fix(e, "db");
}
// remove the id since we only used it for cleanup
e.id = "";
}
// Fix up the element as a "block" display and enable expand/collapse on it
function fix(e, cl)
{
// change the class name and display value
e.className = cl;
e.style.display = "block";
// mark the comment or cdata display as a expandable container
j = e.parentElement.children(0);
j.className = "c";
// find the +/- symbol and make it visible - the dummy link enables tabbing
k = j.children(0);
k.style.visibility = "visible";
k.href = "#";
}
// Change the +/- symbol and hide the children. This function works on "element"
// displays
function ch(e)
{
// find the +/- symbol
mark = e.children(0).children(0);
// if it is already collapsed, expand it by showing the children
if (mark.innerText == "+")
{
mark.innerText = "-";
for (var i = 1; i < e.children.length; i++)
e.children(i).style.display = "block";
}
// if it is expanded, collapse it by hiding the children
else if (mark.innerText == "-")
{
mark.innerText = "+";
for (var i = 1; i < e.children.length; i++)
e.children(i).style.display="none";
}
}
// Change the +/- symbol and hide the children. This function work on "comment"
// and "cdata" displays
function ch2(e)
{
// find the +/- symbol, and the "PRE" element that contains the content
mark = e.children(0).children(0);
contents = e.children(1);
// if it is already collapsed, expand it by showing the children
if (mark.innerText == "+")
{
mark.innerText = "-";
// restore the correct "block"/"inline" display type to the PRE
if (contents.className == "db" || contents.className == "cb")
contents.style.display = "block";
else contents.style.display = "inline";
}
// if it is expanded, collapse it by hiding the children
else if (mark.innerText == "-")
{
mark.innerText = "+";
contents.style.display = "none";
}
}
// Handle a mouse click
function cl()
{
e = window.event.srcElement;
// make sure we are handling clicks upon expandable container elements
if (e.className != "c")
{
e = e.parentElement;
if (e.className != "c")
{
return;
}
}
e = e.parentElement;
// call the correct funtion to change the collapse/expand state and display
if (e.className == "e")
ch(e);
if (e.className == "k")
ch2(e);
}
// Erase bogus link info from the status window
function h()
{
window.status=" ";
}
// Set the onclick handler
document.onclick = cl;
]]>//</xsl:comment></SCRIPT>
</HEAD>
<BODY class="st"><xsl:apply-templates/></BODY>
</HTML>
</xsl:template>
<!-- Templates for each node type follows. The output of each template has a similar structure
to enable script to walk the result tree easily for handling user interaction. -->
<!-- Template for pis not handled elsewhere -->
<xsl:template match="processing-instruction()">
<DIV class="e">
<SPAN class="b">&#160;</SPAN>
<SPAN class="m">&lt;?</SPAN><SPAN class="pi"><xsl:value-of select="name(.)"/> <xsl:value-of select="."/></SPAN><SPAN class="m">?&gt;</SPAN>
</DIV>
</xsl:template>
<!-- Template for the XML declaration. Need a separate template because the pseudo-attributes
are actually exposed as attributes instead of just element content, as in other pis
<xsl:template match="processing-instruction('xml')">
<DIV class="e">
<SPAN class="b">&#160;</SPAN>
<SPAN class="m">&lt;?</SPAN><SPAN class="pi">xml <xsl:for-each select="@*"><xsl:value-of select="name(.)"/>="<xsl:value-of select="."/>" </xsl:for-each></SPAN><SPAN class="m">?&gt;</SPAN>
</DIV>
</xsl:template>
-->
<!-- Template for attributes not handled elsewhere -->
<xsl:template match="@*"><SPAN class="t"><xsl:text> </xsl:text><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">="</SPAN><B><xsl:value-of select="."/></B><SPAN class="m">"</SPAN></xsl:template>
<!-- Template for attributes in the xmlns or xml namespace
<xsl:template match="@xmlns:*|@xmlns|@xml:*"><SPAN class="ns"> <xsl:value-of select="name(.)"/></SPAN><SPAN class="m">="</SPAN><B class="ns"><xsl:value-of select="."/></B><SPAN class="m">"</SPAN></xsl:template>
-->
<!-- Template for text nodes -->
<xsl:template match="text()">
<xsl:choose><xsl:when test="name(.) = '#cdata-section'"><xsl:call-template name="cdata"/></xsl:when>
<xsl:otherwise><DIV class="e">
<SPAN class="b">&#160;</SPAN>
<SPAN class="tx"><xsl:value-of select="."/></SPAN>
</DIV></xsl:otherwise></xsl:choose>
</xsl:template>
<!-- Template for comment nodes -->
<xsl:template match="comment()">
<DIV class="k">
<SPAN><A class="b" onclick="return false" onfocus="h()" STYLE="visibility:hidden">-</A> <SPAN class="m">&lt;!--</SPAN></SPAN>
<SPAN id="clean" class="ci"><PRE><xsl:value-of select="."/></PRE></SPAN>
<SPAN class="b">&#160;</SPAN> <SPAN class="m">--&gt;</SPAN>
<SCRIPT>f(clean);</SCRIPT></DIV>
</xsl:template>
<!-- Template for cdata nodes -->
<xsl:template name="cdata">
<DIV class="k">
<SPAN><A class="b" onclick="return false" onfocus="h()" STYLE="visibility:hidden">-</A> <SPAN class="m">&lt;![CDATA[</SPAN></SPAN>
<SPAN id="clean" class="di"><PRE><xsl:value-of select="."/></PRE></SPAN>
<SPAN class="b">&#160;</SPAN> <SPAN class="m">]]&gt;</SPAN>
<SCRIPT>f(clean);</SCRIPT></DIV>
</xsl:template>
<!-- Template for elements not handled elsewhere (leaf nodes) -->
<xsl:template match="*">
<DIV class="e"><DIV STYLE="margin-left:1em;text-indent:-2em">
<SPAN class="b">&#160;</SPAN>
<SPAN class="m">&lt;</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN> <xsl:apply-templates select="@*"/><SPAN class="m"> /&gt;</SPAN>
</DIV></DIV>
</xsl:template>
<!-- Template for elements with comment, pi and/or cdata children
<xsl:template match="*[comment() or processing-instruction() or cdata()]">
<DIV class="e">
<DIV class="c"><A href="#" onclick="return false" onfocus="h()" class="b">-</A> <SPAN class="m">&lt;</SPAN><SPAN><xsl:attribute name="class"><xsl:if test="xsl:*">x</xsl:if>t</xsl:attribute><xsl:value-of select="name(.)"/></SPAN><xsl:apply-templates select="@*"/> <SPAN class="m">&gt;</SPAN></DIV>
<DIV><xsl:apply-templates/>
<DIV><SPAN class="b">&#160;</SPAN> <SPAN class="m">&lt;/</SPAN><SPAN><xsl:attribute name="class"><xsl:if test="xsl:*">x</xsl:if>t</xsl:attribute><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">&gt;</SPAN></DIV>
</DIV></DIV>
</xsl:template> -->
<!-- Template for elements with only text children -->
<xsl:template match="*[text() and not(comment() or processing-instruction() or *)]">
<DIV class="e"><DIV STYLE="margin-left:1em;text-indent:-2em">
<SPAN class="b">&#160;</SPAN> <SPAN class="m">&lt;</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><xsl:apply-templates select="@*"/>
<SPAN class="m">&gt;</SPAN><SPAN class="tx"><xsl:value-of select="."/></SPAN><SPAN class="m">&lt;/</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">&gt;</SPAN>
</DIV></DIV>
</xsl:template>
<!-- Template for elements with element children -->
<xsl:template match="*[*]">
<DIV class="e">
<DIV class="c" STYLE="margin-left:1em;text-indent:-2em"><A href="#" onclick="return false" onfocus="h()" class="b">-</A> <SPAN class="m">&lt;</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><xsl:apply-templates select="@*"/><SPAN class="m">&gt;</SPAN></DIV>
<DIV><xsl:apply-templates/>
<DIV><SPAN class="b">&#160;</SPAN><SPAN class="m">&lt;/</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">&gt;</SPAN></DIV>
</DIV></DIV>
</xsl:template>
</xsl:stylesheet>

View File

@@ -0,0 +1,690 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
NOTE: Usage of this file is or should be
deprecated. We suggest using CSS instead.
- brandondoyle 10/29/02
html.xsl
Transform XML resume into HTML, styled similar to Microsoft Word's Contemporary
resume template.
Copyright (c) 2000-2002 Sean Kelly
All rights reserved.
[modifications to mimic standard contemporary resume by Rob Kelley]
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="html" omit-xml-declaration="yes" indent="yes" encoding="UTF-8" doctype-public="-//W3C//DTD HTML 4.0//EN"/>
<xsl:strip-space elements="*"/>
<xsl:include href="./common/params.xsl"/>
<xsl:include href="./common/address.xsl"/>
<xsl:include href="./common/pub.xsl"/>
<xsl:template match="/">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>
<xsl:apply-templates select="resume/header/name/firstname"/>
<xsl:text> </xsl:text>
<xsl:apply-templates select="resume/header/name/surname"/>
<xsl:text> - </xsl:text>
<xsl:value-of select="$resume.word"/>
</title>
<!--override stored resume.css with resume_contemporary.css *RK* -->
<link rel="stylesheet" type="text/css" href="./css/resume_contemporary.css"/>
<!--<link rel="stylesheet" type="text/css">
<xsl:attribute name="href"><xsl:value-of select="$css.href"/></xsl:attribute>
</link>-->
<xsl:apply-templates select="resume/keywords" mode="header"/>
</head>
<body class="resume">
<table >
<tr>
<td>
<xsl:apply-templates select="resume"/>
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
<!-- Suppress the keywords in the main body of the document -->
<xsl:template match="keywords"/>
<!-- But put them into the HTML header. -->
<xsl:template match="keywords" mode="header">
<meta name="keywords">
<xsl:attribute name="content"><xsl:apply-templates select="keyword"/></xsl:attribute>
</meta>
</xsl:template>
<xsl:template match="keyword">
<xsl:value-of select="."/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:template>
<!-- Output your name and the word "Resume". -->
<xsl:template name="standard.header">
<!--Apply "contemporary" styling to contact info *RK*-->
<div>
<table class="address">
<tr>
<td class="address1cell" valign="top">
<xsl:apply-templates select="address"/>
<!--take out contact URL because it isn't displaying nicely. *RK*
<p class="Address1">
<xsl:if test="contact/url">
<xsl:value-of select="$url.word"/>:
<a>
<xsl:attribute name="href">
<xsl:value-of select="contact/url"/>
</xsl:attribute>
<xsl:value-of select="contact/url"/>
</a>
</xsl:if>
</p> -->
</td>
<td class="address2cell">
<xsl:if test="contact/email">
<a>
<xsl:attribute name="href"><xsl:text>mailto:</xsl:text><xsl:value-of select="contact/email"/></xsl:attribute>
<xsl:value-of select="contact/email"/>
</a>
<br/>
</xsl:if>
<xsl:if test="contact/phone">
<xsl:value-of select="contact/phone"/>
<br/>
</xsl:if>
</td>
</tr>
</table>
</div>
<!--Apply "contemporary" styling to class name *RK*-->
<div class="name" valign="top" >
<xsl:apply-templates select="name/firstname"/>
<xsl:text> </xsl:text>
<xsl:apply-templates select="name/surname"/>
</div>
</xsl:template>
<!-- Alternate formatting for the page header. -->
<!-- Display the name and contact information in a single centered block. -->
<!-- Since the 'align' attribute is deprecated, we rely on a CSS -->
<!-- stylesheet to center the headerBlock. -->
<xsl:template name="centered.header">
<div class="headerBlock">
<h1 class="nameHeading">
<xsl:apply-templates select="name"/>
</h1>
<xsl:apply-templates select="address"/>
<br/>
<xsl:if test="contact/phone">
<xsl:value-of select="$phone.word"/>: <xsl:value-of select="contact/phone"/>
<br/>
</xsl:if>
<xsl:if test="contact/email">
<xsl:value-of select="$email.word"/>: <a>
<xsl:attribute name="href"><xsl:text>mailto:</xsl:text><xsl:value-of select="contact/email"/></xsl:attribute>
<xsl:value-of select="contact/email"/>
</a>
<br/>
</xsl:if>
<xsl:if test="contact/url">
<xsl:value-of select="$url.word"/>: <a>
<xsl:attribute name="href"><xsl:value-of select="contact/url"/></xsl:attribute>
<xsl:value-of select="contact/url"/>
</a>
</xsl:if>
</div>
</xsl:template>
<xsl:template match="header">
<xsl:choose>
<xsl:when test="$header.format = 'centered'">
<xsl:call-template name="centered.header"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="standard.header"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="address" mode="standard">
<!-- templates defined in address.xsl for setting standard fields -->
<xsl:variable name="AdminDivision">
<xsl:call-template name="AdminDivision"/>
</xsl:variable>
<xsl:variable name="CityDivision">
<xsl:call-template name="CityDivision"/>
</xsl:variable>
<xsl:variable name="PostCode">
<xsl:call-template name="PostCode"/>
</xsl:variable>
<xsl:value-of select="street"/>
<br/>
<xsl:if test="street2">
<xsl:value-of select="street2"/>
<br/>
</xsl:if>
<xsl:if test="string-length($CityDivision) &gt; 0">
<xsl:value-of select="$CityDivision"/>
<br/>
</xsl:if>
<xsl:value-of select="city"/>
<xsl:if test="string-length($AdminDivision) &gt; 0">
<xsl:text>, </xsl:text>
<xsl:value-of select="$AdminDivision"/>
</xsl:if>
<xsl:if test="string-length($PostCode) &gt; 0">
<xsl:text/>
<xsl:value-of select="$PostCode"/>
</xsl:if>
<xsl:if test="country">
<br/>
<xsl:value-of select="country"/>
</xsl:if>
</xsl:template>
<xsl:template match="address" mode="european">
<!-- templates defined in address.xsl for setting standard fields -->
<xsl:variable name="AdminDivision">
<xsl:call-template name="AdminDivision"/>
</xsl:variable>
<xsl:variable name="CityDivision">
<xsl:call-template name="CityDivision"/>
</xsl:variable>
<xsl:variable name="PostCode">
<xsl:call-template name="PostCode"/>
</xsl:variable>
<xsl:value-of select="street"/>
<br/>
<xsl:if test="street2">
<xsl:value-of select="street2"/>
<br/>
</xsl:if>
<xsl:if test="string-length($CityDivision) &gt; 0">
<xsl:value-of select="$CityDivision"/>
<br/>
</xsl:if>
<xsl:if test="string-length($PostCode) &gt; 0">
<xsl:value-of select="$PostCode"/>
<xsl:text/>
</xsl:if>
<xsl:value-of select="city"/>
<xsl:if test="string-length($AdminDivision) &gt; 0">
<br/>
<xsl:value-of select="$AdminDivision"/>
</xsl:if>
<xsl:if test="country">
<br/>
<xsl:value-of select="country"/>
</xsl:if>
</xsl:template>
<xsl:template match="address" mode="italian">
<xsl:value-of select="street"/>
<br/>
<xsl:if test="street2">
<xsl:value-of select="street2"/>
<br/>
</xsl:if>
<xsl:if test="postalCode">
<xsl:value-of select="postalCode"/>
<xsl:text/>
</xsl:if>
<xsl:value-of select="city"/>
<xsl:if test="province">
<xsl:text> (</xsl:text>
<xsl:value-of select="province"/>
<xsl:text>)</xsl:text>
</xsl:if>
<xsl:if test="country">
<br/>
<xsl:value-of select="country"/>
</xsl:if>
</xsl:template>
<!-- Preserve line breaks within a free format address -->
<xsl:template match="address//text()">
<xsl:call-template name="PreserveLinebreaks">
<xsl:with-param name="Text" select="."/>
</xsl:call-template>
</xsl:template>
<xsl:template name="PreserveLinebreaks">
<xsl:param name="Text"/>
<xsl:choose>
<xsl:when test="contains($Text, '&#xA;')">
<xsl:value-of select="substring-before($Text, '&#xA;')"/>
<br/>
<xsl:call-template name="PreserveLinebreaks">
<xsl:with-param name="Text" select="substring-after($Text, '&#xA;')"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$Text"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!--Give objective "contemporary" style *RK* -->
<xsl:template match="objective">
<table class="MsoNormalTable">
<tr>
<td class="SectionDescriptor">
<p class="SectionTitle">
<!--take out dynamic section title in order to show shorter (hardcoded) name. *RK*
<xsl:value-of select="$objective.word"/>
-->
<xsl:text>Objective</xsl:text>
</p>
</td>
<td class="SectionContent">
<p class="Summary">
<xsl:apply-templates/>
</p>
</td>
</tr>
</table>
</xsl:template>
<!-- Give History "contemporary" style *RK* -->
<xsl:template match="history">
<table class="MsoNormalTable">
<tr>
<td class="SectionDescriptor">
<p class="SectionTitle">
<!--take out dynamic section title in order to show shorter (hardcoded) name. *RK*
<xsl:value-of select="$history.word"/>
-->
<xsl:text>Experience</xsl:text>
</p>
</td>
<td class="SectionContent">
<p class="Summary">
<xsl:apply-templates select="job"/>
</p>
</td>
</tr>
</table>
</xsl:template>
<!-- Academics, with "contemporary" style -->
<xsl:template match="academics">
<table>
<tr>
<td class="SectionDescriptor" >
<p class="SectionTitle">
<!--take out dynamic section title in order to show shorter (hardcoded) name. *RK*
<xsl:value-of select="$academics.word"/>
-->
<xsl:text>Education</xsl:text>
</p>
</td>
<td class="SectionContent">
<p class="Summary">
<xsl:apply-templates select="degrees"/>
<xsl:apply-templates select="note"/>
</p>
</td>
</tr>
</table>
</xsl:template>
<xsl:template match="degrees">
<p>
<xsl:apply-templates select="degree"/>
</p>
<xsl:apply-templates select="note"/>
</xsl:template>
<xsl:template match="note">
<div class="note">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="degree">
<div class="date">
<xsl:if test="date">
<xsl:apply-templates select="date/month"/>
<xsl:text> </xsl:text>
<xsl:apply-templates select="date/year"/>
<xsl:text> </xsl:text>
</xsl:if>
</div>
<div class="institution">
<xsl:value-of select="institution"/>
</div>
<br/>
<div class="skill" style="font-size:10.0pt">
§</div>
<div class="achievement">
<acronym class="level">
<xsl:value-of select="level"/>
</acronym>
<xsl:text> </xsl:text>
<xsl:value-of select="$in.word"/>
<xsl:text> </xsl:text>
<xsl:value-of select="major"/>
<xsl:text> </xsl:text>
<xsl:if test="subjects/subject">
<xsl:apply-templates select="subjects"/>
</xsl:if>
</div>
<br/>
<div class="skill" style="font-size:10.0pt">
§</div>
<div class='achievement'>
<xsl:if test="annotation">
<xsl:apply-templates select="annotation"/>
</xsl:if>
</div>
</xsl:template>
<!-- Format the subjects -->
<xsl:template match="subjects">
<table>
<xsl:for-each select="subject">
<tr>
<td />
<td>
<xsl:value-of select="title"/>
</td>
<td width="10"/>
<td>
<xsl:value-of select="result"/>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
<!-- Format each job -->
<xsl:template match="job">
<xsl:apply-templates select="period"/>
<div class="employer">
<xsl:value-of select="employer"/>
</div>
<xsl:if test="city">
<div class="citystate">
<xsl:apply-templates select="citystate"/>
</div>
</xsl:if>
<div class="jobtitle">
<xsl:value-of select="jobtitle"/>
</div>
<xsl:apply-templates select="description"/>
<xsl:if test="projects/project">
<xsl:value-of select="$projects.word"/>
<xsl:apply-templates select="projects"/>
</xsl:if>
<xsl:if test="achievements/achievement">
<xsl:apply-templates select="achievements"/>
</xsl:if>
</xsl:template>
<!-- Format the projects section as a bullet list -->
<xsl:template match="projects">
<ul>
<xsl:for-each select="project">
<li class="achievement">
<xsl:apply-templates/>
</li>
</xsl:for-each>
</ul>
</xsl:template>
<xsl:template match="period">
<div class="date">
<xsl:apply-templates select="from"/> - <xsl:apply-templates select="to"/>
</div>
</xsl:template>
<xsl:template match="date">
<xsl:value-of select="month"/>
<xsl:text> </xsl:text>
<xsl:value-of select="year"/>
</xsl:template>
<xsl:template match="present">
<xsl:value-of select="$present.word"/>
</xsl:template>
<!-- Format the achievements with "contemporary" styling *RK* -->
<xsl:template match="achievements">
<xsl:for-each select="achievement">
<div class="skill">
§</div>
<div class="achievement">
<xsl:apply-templates/>
</div>
<br/>
</xsl:for-each>
<p/>
</xsl:template>
<!-- Format the open-ended skills -->
<xsl:template match="skillareas">
<xsl:apply-templates select="skillarea"/>
</xsl:template>
<xsl:template match="skillarea">
<h2 class="skillareaHeading">
<xsl:value-of select="title"/>
</h2>
<xsl:apply-templates select="skillset"/>
</xsl:template>
<xsl:template match="skillset">
<xsl:choose>
<xsl:when test="$skills.format = 'comma'">
<p>
<xsl:apply-templates select="title" mode="comma"/>
<xsl:apply-templates select="skills" mode="comma"/>
</p>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="title" mode="bullet"/>
<xsl:apply-templates select="skills" mode="bullet"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="skillset/title" mode="comma">
<div class="skillsetTitle">
<xsl:value-of select="."/>
<xsl:text>: </xsl:text>
</div>
</xsl:template>
<xsl:template match="skillset/title" mode="bullet">
<h3 class="skillsetTitle">
<xsl:value-of select="."/>
</h3>
</xsl:template>
<!-- format as a comma-separated list -->
<xsl:template match="skills" mode="comma">
<div class="skills">
<xsl:for-each select="skill[position() != last()]">
<xsl:apply-templates/>
<xsl:text>, </xsl:text>
</xsl:for-each>
<xsl:apply-templates select="skill[position() = last()]"/>
</div>
</xsl:template>
<!-- format as a bullet list -->
<xsl:template match="skills" mode="bullet">
<ul class="skills">
<xsl:for-each select="skill">
<li class="skill">
<xsl:apply-templates/>
</li>
</xsl:for-each>
</ul>
</xsl:template>
<!-- Format publications -->
<xsl:template match="pubs">
<h2 class="pubsHeading">
<xsl:value-of select="$publications.word"/>
</h2>
<ul class="pubs">
<xsl:apply-templates select="pub"/>
</ul>
</xsl:template>
<!-- Format a single publication -->
<xsl:template match="pub">
<li class="pub">
<xsl:call-template name="formatPub"/>
</li>
</xsl:template>
<!-- Format the misc info -->
<xsl:template match="misc">
<h2 class="miscHeading">
<xsl:value-of select="$miscellany.word"/>
</h2>
<xsl:apply-templates/>
</xsl:template>
<!-- Format the legalese -->
<xsl:template match="copyright">
<address class="copyright">
<p>
<xsl:value-of select="$copyright.word"/>
<xsl:text> </xsl:text>
<xsl:value-of select="year"/>
<xsl:text> </xsl:text>
<xsl:value-of select="$by.word"/>
<xsl:text> </xsl:text>
<xsl:if test="name">
<xsl:apply-templates select="name"/>
</xsl:if>
<xsl:if test="not(name)">
<xsl:apply-templates select="/resume/header/name"/>
</xsl:if>
<xsl:text>. This document uses </xsl:text>
<a>
<xsl:attribute name="href">http://xmlresume.sourceforge.net</xsl:attribute>
XMLResume</a>
<xsl:value-of select="legalnotice"/>
</p>
</address>
</xsl:template>
<!-- Put a space between first and last name -->
<xsl:template match="name">
<xsl:value-of select="firstname"/>
<xsl:text> </xsl:text>
<xsl:if test="middlenames">
<xsl:value-of select="middlenames"/>
<xsl:text> </xsl:text>
</xsl:if>
<xsl:value-of select="surname"/>
<xsl:if test="suffix">
<xsl:text> </xsl:text>
<xsl:value-of select="suffix"/>
</xsl:if>
</xsl:template>
<!-- para -> p -->
<xsl:template match="para">
<p class="para">
<xsl:apply-templates/>
</p>
</xsl:template>
<!-- emphasis -> strong -->
<xsl:template match="emphasis">
<strong class="emphasis">
<xsl:value-of select="."/>
</strong>
</xsl:template>
<!-- url -> monospace along with href -->
<xsl:template match="url">
<a class="urlA">
<xsl:attribute name="href"><xsl:value-of select="."/></xsl:attribute>
<xsl:value-of select="."/>
</a>
</xsl:template>
<!-- citation -> cite -->
<xsl:template match="citation">
<cite class="citation">
<xsl:value-of select="."/>
</cite>
</xsl:template>
<!-- Format the referees -->
<xsl:template match="referees">
<h2 class="refereesHeading">
<xsl:value-of select="$referees.word"/>
</h2>
<xsl:apply-templates select="referee"/>
</xsl:template>
<xsl:template match="referee">
<h3 class="refereeHeading">
<xsl:apply-templates select="name"/>
</h3>
<p>
<xsl:apply-templates select="address"/>
<br/>
<!-- Don't print the label if the field value is empty *SE* -->
<xsl:if test="contact/phone">
<xsl:value-of select="$phone.word"/>: <xsl:value-of select="contact/phone"/>
<br/>
</xsl:if>
<xsl:if test="contact/email">
<xsl:value-of select="$email.word"/>: <a>
<xsl:attribute name="href"><xsl:text>mailto:</xsl:text><xsl:value-of select="contact/email"/></xsl:attribute>
<xsl:value-of select="contact/email"/>
</a>
<br/>
</xsl:if>
<xsl:if test="contact/url">
<xsl:value-of select="$url.word"/>: <a>
<xsl:attribute name="href"><xsl:value-of select="contact/url"/></xsl:attribute>
<xsl:value-of select="contact/url"/>
</a>
</xsl:if>
</p>
</xsl:template>
<!-- Wrap a description up in a div -->
<xsl:template match="description">
<div class="description">
<xsl:apply-templates/>
</div>
</xsl:template>
<!-- Format the memberships with "contemporary" styling *RK* -->
<xsl:template match="memberships">
<table class="MsoNormalTable">
<tr>
<td class="SectionDescriptor" >
<p class="SectionTitle" style="margin-top: 4.0pt">
<xsl:apply-templates select="title"/>
</p>
</td>
<td class="SectionContent">
<p class="Summary" >
<xsl:apply-templates select="membership"/>
</p>
</td>
</tr>
</table>
</xsl:template>
<!-- A single membership. -->
<xsl:template match="membership">
<xsl:if test="title">
<div class="membershipTitle">
<xsl:value-of select="title"/>
</div>
<br/>
</xsl:if>
<xsl:if test="organization">
<div class="organization">
<xsl:value-of select="organization"/>
</div>
</xsl:if>
<xsl:if test="period">
<xsl:apply-templates select="period"/>
<br/>
</xsl:if>
<xsl:apply-templates select="description"/>
</xsl:template>
</xsl:stylesheet>

View File

@@ -0,0 +1,688 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
NOTE: Usage of this file is or should be
deprecated. We suggest using CSS instead.
- brandondoyle 10/29/02
html_professional.xsl
Transform XML resume into HTML, styled similar to Microsoft Word's Professional
resume template.
Copyright (c) 2000-2002 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="html" omit-xml-declaration="yes" indent="yes" encoding="UTF-8" doctype-public="-//W3C//DTD HTML 4.0//EN"/>
<xsl:strip-space elements="*"/>
<xsl:include href="./common/params.xsl"/>
<xsl:include href="./common/address.xsl"/>
<xsl:include href="./common/pub.xsl"/>
<xsl:template match="/">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>
<xsl:apply-templates select="resume/header/name/firstname"/>
<xsl:text> </xsl:text>
<xsl:apply-templates select="resume/header/name/surname"/>
<xsl:text> - </xsl:text>
<xsl:value-of select="$resume.word"/>
</title>
<!--override stored resume.css with resume_contemporary.css *RK* -->
<link rel="stylesheet" type="text/css" href="./css/resume_professional.css"/>
<!--<link rel="stylesheet" type="text/css">
<xsl:attribute name="href"><xsl:value-of select="$css.href"/></xsl:attribute>
</link>-->
<xsl:apply-templates select="resume/keywords" mode="header"/>
</head>
<body class="resume">
<table >
<tr>
<td>
<xsl:apply-templates select="resume"/>
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
<!-- Suppress the keywords in the main body of the document -->
<xsl:template match="keywords"/>
<!-- But put them into the HTML header. -->
<xsl:template match="keywords" mode="header">
<meta name="keywords">
<xsl:attribute name="content"><xsl:apply-templates select="keyword"/></xsl:attribute>
</meta>
</xsl:template>
<xsl:template match="keyword">
<xsl:value-of select="."/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:template>
<!-- Output your name and the word "Resume". -->
<xsl:template name="standard.header">
<!--add "professional" formatting for contact info *RK* -->
<div>
<table class="address">
<tr style="mso-yfti-irow:0;mso-yfti-lastrow:yes">
<td class="address1cell" valign="top">
<xsl:apply-templates select="address"/>
<!-- take out contact URL because it isn't displaying nicely. *RK*
<p class="Address1">
<xsl:if test="contact/url">
<xsl:value-of select="$url.word"/>:
<a>
<xsl:attribute name="href">
<xsl:value-of select="contact/url"/>
</xsl:attribute>
<xsl:value-of select="contact/url"/>
</a>
</xsl:if>
</p> -->
</td>
<td style="address2cell">
<xsl:if test="contact/email">
<a>
<xsl:attribute name="href"><xsl:text>mailto:</xsl:text><xsl:value-of select="contact/email"/></xsl:attribute>
<xsl:value-of select="contact/email"/>
</a>
<br/>
</xsl:if>
<xsl:if test="contact/phone">
<xsl:value-of select="contact/phone"/>
<br/>
</xsl:if>
</td>
</tr>
</table>
</div>
<!--add "professional" style for name *RK*-->
<div style="border:none;border-bottom:solid windowtext 1.0pt;mso-border-bottom-alt:
solid windowtext .75pt;padding:0in 0pt 0pt 0in">
<div class="name" valign="top" style="padding-left: 4.0pt; padding-right: 5.4pt; padding-top: 5.4pt; padding-bottom: 0in">
<xsl:apply-templates select="name/firstname"/>
<xsl:text> </xsl:text>
<xsl:apply-templates select="name/surname"/>
</div>
</div>
</xsl:template>
<!-- Alternate formatting for the page header. -->
<!-- Display the name and contact information in a single centered block. -->
<!-- Since the 'align' attribute is deprecated, we rely on a CSS -->
<!-- stylesheet to center the headerBlock. -->
<xsl:template name="centered.header">
<div class="headerBlock">
<h1 class="nameHeading">
<xsl:apply-templates select="name"/>
</h1>
<xsl:apply-templates select="address"/>
<br/>
<xsl:if test="contact/phone">
<xsl:value-of select="$phone.word"/>: <xsl:value-of select="contact/phone"/>
<br/>
</xsl:if>
<xsl:if test="contact/email">
<xsl:value-of select="$email.word"/>: <a>
<xsl:attribute name="href"><xsl:text>mailto:</xsl:text><xsl:value-of select="contact/email"/></xsl:attribute>
<xsl:value-of select="contact/email"/>
</a>
<br/>
</xsl:if>
<xsl:if test="contact/url">
<xsl:value-of select="$url.word"/>: <a>
<xsl:attribute name="href"><xsl:value-of select="contact/url"/></xsl:attribute>
<xsl:value-of select="contact/url"/>
</a>
</xsl:if>
</div>
</xsl:template>
<xsl:template match="header">
<xsl:choose>
<xsl:when test="$header.format = 'centered'">
<xsl:call-template name="centered.header"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="standard.header"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="address" mode="standard">
<!-- templates defined in address.xsl for setting standard fields -->
<xsl:variable name="AdminDivision">
<xsl:call-template name="AdminDivision"/>
</xsl:variable>
<xsl:variable name="CityDivision">
<xsl:call-template name="CityDivision"/>
</xsl:variable>
<xsl:variable name="PostCode">
<xsl:call-template name="PostCode"/>
</xsl:variable>
<xsl:value-of select="street"/>
<br/>
<xsl:if test="street2">
<xsl:value-of select="street2"/>
<br/>
</xsl:if>
<xsl:if test="string-length($CityDivision) &gt; 0">
<xsl:value-of select="$CityDivision"/>
<br/>
</xsl:if>
<xsl:value-of select="city"/>
<xsl:if test="string-length($AdminDivision) &gt; 0">
<xsl:text>, </xsl:text>
<xsl:value-of select="$AdminDivision"/>
</xsl:if>
<xsl:if test="string-length($PostCode) &gt; 0">
<xsl:text/>
<xsl:value-of select="$PostCode"/>
</xsl:if>
<xsl:if test="country">
<br/>
<xsl:value-of select="country"/>
</xsl:if>
</xsl:template>
<xsl:template match="address" mode="european">
<!-- templates defined in address.xsl for setting standard fields -->
<xsl:variable name="AdminDivision">
<xsl:call-template name="AdminDivision"/>
</xsl:variable>
<xsl:variable name="CityDivision">
<xsl:call-template name="CityDivision"/>
</xsl:variable>
<xsl:variable name="PostCode">
<xsl:call-template name="PostCode"/>
</xsl:variable>
<xsl:value-of select="street"/>
<br/>
<xsl:if test="street2">
<xsl:value-of select="street2"/>
<br/>
</xsl:if>
<xsl:if test="string-length($CityDivision) &gt; 0">
<xsl:value-of select="$CityDivision"/>
<br/>
</xsl:if>
<xsl:if test="string-length($PostCode) &gt; 0">
<xsl:value-of select="$PostCode"/>
<xsl:text/>
</xsl:if>
<xsl:value-of select="city"/>
<xsl:if test="string-length($AdminDivision) &gt; 0">
<br/>
<xsl:value-of select="$AdminDivision"/>
</xsl:if>
<xsl:if test="country">
<br/>
<xsl:value-of select="country"/>
</xsl:if>
</xsl:template>
<xsl:template match="address" mode="italian">
<xsl:value-of select="street"/>
<br/>
<xsl:if test="street2">
<xsl:value-of select="street2"/>
<br/>
</xsl:if>
<xsl:if test="postalCode">
<xsl:value-of select="postalCode"/>
<xsl:text/>
</xsl:if>
<xsl:value-of select="city"/>
<xsl:if test="province">
<xsl:text> (</xsl:text>
<xsl:value-of select="province"/>
<xsl:text>)</xsl:text>
</xsl:if>
<xsl:if test="country">
<br/>
<xsl:value-of select="country"/>
</xsl:if>
</xsl:template>
<!-- Preserve line breaks within a free format address -->
<xsl:template match="address//text()">
<xsl:call-template name="PreserveLinebreaks">
<xsl:with-param name="Text" select="."/>
</xsl:call-template>
</xsl:template>
<xsl:template name="PreserveLinebreaks">
<xsl:param name="Text"/>
<xsl:choose>
<xsl:when test="contains($Text, '&#xA;')">
<xsl:value-of select="substring-before($Text, '&#xA;')"/>
<br/>
<xsl:call-template name="PreserveLinebreaks">
<xsl:with-param name="Text" select="substring-after($Text, '&#xA;')"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$Text"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Objective, with "professional" formatting. -->
<xsl:template match="objective">
<table class="MsoNormalTable">
<tr>
<td class="SectionDescriptor">
<p class="SectionTitle">
<xsl:value-of select="$objective.word"/>
</p>
</td>
<td class="SectionContent">
<p class="Summary">
<xsl:apply-templates/>
</p>
</td>
</tr>
</table>
</xsl:template>
<!-- History, with "professional" formatting. -->
<xsl:template match="history">
<table class="MsoNormalTable">
<tr>
<td class="SectionDescriptor">
<p class="SectionTitle">
<xsl:value-of select="$history.word"/>
</p>
</td>
<td class="SectionContent">
<p class="Summary">
<xsl:apply-templates select="job"/>
</p>
</td>
</tr>
</table>
</xsl:template>
<!-- Academics, with "professional" formatting. -->
<xsl:template match="academics">
<table class="MsoNormalTable" >
<tr>
<td class="SectionDescriptor" >
<p class="SectionTitle">
<xsl:value-of select="$academics.word"/>
</p>
</td>
<td class="SectionContent">
<p class="Summary">
<xsl:apply-templates select="degrees"/>
<xsl:apply-templates select="note"/>
</p>
</td>
</tr>
</table>
</xsl:template>
<xsl:template match="degrees">
<p class="degrees">
<xsl:apply-templates select="degree"/>
</p>
<xsl:apply-templates select="note"/>
</xsl:template>
<xsl:template match="note">
<div class="note">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="degree">
<div class="degree">
<xsl:if test="date">
<xsl:apply-templates select="date/month"/>
<xsl:text> </xsl:text>
<xsl:apply-templates select="date/year"/>
<xsl:text> </xsl:text>
</xsl:if>
<div class="institution">
<xsl:value-of select="institution"/>
<xsl:text> </xsl:text>
</div>
<br/>
<span class="skill" style="font-family:Wingdings; mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings">
§
<span style='font:8.0pt "Arial"'>
<acronym class="level">
<xsl:value-of select="level"/>
</acronym>
<xsl:text> </xsl:text>
<xsl:value-of select="$in.word"/>
<xsl:text> </xsl:text>
<xsl:value-of select="major"/>
<xsl:text> </xsl:text>
<xsl:if test="subjects/subject">
<xsl:apply-templates select="subjects"/>
</xsl:if>
</span>
</span>
<br/>
<span class="skill" style="font-family:Wingdings; mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings">
§
<span style='font:8.0pt "Arial"'>
<xsl:if test="annotation">
<xsl:apply-templates select="annotation"/>
</xsl:if>
</span>
</span>
</div>
</xsl:template>
<!-- Format the subjects -->
<xsl:template match="subjects">
<table>
<xsl:for-each select="subject">
<tr>
<td />
<td>
<xsl:value-of select="title"/>
</td>
<td width="10"/>
<td>
<xsl:value-of select="result"/>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
<!-- Format each job -->
<xsl:template match="job">
<xsl:apply-templates select="period"/>
<div class="employer">
<xsl:value-of select="employer"/>
</div>
<xsl:if test="city">
<div class="citystate">
<xsl:apply-templates select="citystate"/>
</div>
</xsl:if>
<div class="jobtitle">
<xsl:value-of select="jobtitle"/>
</div>
<xsl:apply-templates select="description"/>
<xsl:if test="projects/project">
<xsl:value-of select="$projects.word"/>
<xsl:apply-templates select="projects"/>
</xsl:if>
<xsl:if test="achievements/achievement">
<xsl:apply-templates select="achievements"/>
</xsl:if>
</xsl:template>
<!-- Format the projects section as a bullet list -->
<xsl:template match="projects">
<ul>
<xsl:for-each select="project">
<li class="skill" style="font-family:Wingdings; mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings">
<xsl:apply-templates/>
</li>
</xsl:for-each>
</ul>
</xsl:template>
<xsl:template match="period">
<div class="date">
<xsl:apply-templates select="from"/> - <xsl:apply-templates select="to"/>
</div>
</xsl:template>
<xsl:template match="date">
<xsl:value-of select="month"/>
<xsl:text> </xsl:text>
<xsl:value-of select="year"/>
</xsl:template>
<xsl:template match="present">
<xsl:value-of select="$present.word"/>
</xsl:template>
<!-- Format the achievements with "professional" style -->
<xsl:template match="achievements">
<xsl:for-each select="achievement">
<span class="skill" style="font-family:Wingdings; mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings">
§
<span style='font:8.0pt "Arial"'>
<xsl:apply-templates/>
<br/>
</span>
</span>
</xsl:for-each>
<p/>
</xsl:template>
<!-- Format the open-ended skills -->
<xsl:template match="skillareas">
<xsl:apply-templates select="skillarea"/>
</xsl:template>
<xsl:template match="skillarea">
<h2 class="skillareaHeading">
<xsl:value-of select="title"/>
</h2>
<xsl:apply-templates select="skillset"/>
</xsl:template>
<xsl:template match="skillset">
<xsl:choose>
<xsl:when test="$skills.format = 'comma'">
<p>
<xsl:apply-templates select="title" mode="comma"/>
<xsl:apply-templates select="skills" mode="comma"/>
</p>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="title" mode="bullet"/>
<xsl:apply-templates select="skills" mode="bullet"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="skillset/title" mode="comma">
<span class="skillsetTitle">
<xsl:value-of select="."/>
<xsl:text>: </xsl:text>
</span>
</xsl:template>
<xsl:template match="skillset/title" mode="bullet">
<h3 class="skillsetTitle">
<xsl:value-of select="."/>
</h3>
</xsl:template>
<!-- format as a comma-separated list -->
<xsl:template match="skills" mode="comma">
<span class="skills">
<xsl:for-each select="skill[position() != last()]">
<xsl:apply-templates/>
<xsl:text>, </xsl:text>
</xsl:for-each>
<xsl:apply-templates select="skill[position() = last()]"/>
</span>
</xsl:template>
<!-- format as a bullet list -->
<xsl:template match="skills" mode="bullet">
<ul class="skills">
<xsl:for-each select="skill">
<li class="skill" style="font-family:Wingdings; mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings">
<xsl:apply-templates/>
</li>
</xsl:for-each>
</ul>
</xsl:template>
<!-- Format publications -->
<xsl:template match="pubs">
<h2 class="pubsHeading">
<xsl:value-of select="$publications.word"/>
</h2>
<ul class="pubs">
<xsl:apply-templates select="pub"/>
</ul>
</xsl:template>
<!-- Format a single publication -->
<xsl:template match="pub">
<li class="pub">
<xsl:call-template name="formatPub"/>
</li>
</xsl:template>
<!-- Format the misc info -->
<xsl:template match="misc">
<h2 class="miscHeading">
<xsl:value-of select="$miscellany.word"/>
</h2>
<xsl:apply-templates/>
</xsl:template>
<!-- Format the legalese -->
<xsl:template match="copyright">
<address class="copyright">
<p>
<xsl:value-of select="$copyright.word"/>
<xsl:text> </xsl:text>
<xsl:value-of select="year"/>
<xsl:text> </xsl:text>
<xsl:value-of select="$by.word"/>
<xsl:text> </xsl:text>
<xsl:if test="name">
<xsl:apply-templates select="name"/>
</xsl:if>
<xsl:if test="not(name)">
<xsl:apply-templates select="/resume/header/name"/>
</xsl:if>
<xsl:text>. This document uses </xsl:text>
<a>
<xsl:attribute name="href">http://xmlresume.sourceforge.net</xsl:attribute>
XMLResume</a>
<xsl:value-of select="legalnotice"/>
</p>
</address>
</xsl:template>
<!-- Put a space between first and last name -->
<xsl:template match="name">
<xsl:value-of select="firstname"/>
<xsl:text> </xsl:text>
<xsl:if test="middlenames">
<xsl:value-of select="middlenames"/>
<xsl:text> </xsl:text>
</xsl:if>
<xsl:value-of select="surname"/>
<xsl:if test="suffix">
<xsl:text> </xsl:text>
<xsl:value-of select="suffix"/>
</xsl:if>
</xsl:template>
<!-- para -> p -->
<xsl:template match="para">
<p class="para">
<xsl:apply-templates/>
</p>
</xsl:template>
<!-- emphasis -> strong -->
<xsl:template match="emphasis">
<strong class="emphasis">
<xsl:value-of select="."/>
</strong>
</xsl:template>
<!-- url -> monospace along with href -->
<xsl:template match="url">
<a class="urlA">
<xsl:attribute name="href"><xsl:value-of select="."/></xsl:attribute>
<xsl:value-of select="."/>
</a>
</xsl:template>
<!-- citation -> cite -->
<xsl:template match="citation">
<cite class="citation">
<xsl:value-of select="."/>
</cite>
</xsl:template>
<!-- Format the referees -->
<xsl:template match="referees">
<h2 class="refereesHeading">
<xsl:value-of select="$referees.word"/>
</h2>
<xsl:apply-templates select="referee"/>
</xsl:template>
<xsl:template match="referee">
<h3 class="refereeHeading">
<xsl:apply-templates select="name"/>
</h3>
<p>
<xsl:apply-templates select="address"/>
<br/>
<!-- Don't print the label if the field value is empty *SE* -->
<xsl:if test="contact/phone">
<xsl:value-of select="$phone.word"/>: <xsl:value-of select="contact/phone"/>
<br/>
</xsl:if>
<xsl:if test="contact/email">
<xsl:value-of select="$email.word"/>: <a>
<xsl:attribute name="href"><xsl:text>mailto:</xsl:text><xsl:value-of select="contact/email"/></xsl:attribute>
<xsl:value-of select="contact/email"/>
</a>
<br/>
</xsl:if>
<xsl:if test="contact/url">
<xsl:value-of select="$url.word"/>: <a>
<xsl:attribute name="href"><xsl:value-of select="contact/url"/></xsl:attribute>
<xsl:value-of select="contact/url"/>
</a>
</xsl:if>
</p>
</xsl:template>
<!-- Wrap a description up in a div -->
<xsl:template match="description">
<div class="description">
<xsl:apply-templates/>
</div>
</xsl:template>
<!-- Memberships, with "professional" formatting. -->
<xsl:template match="memberships">
<table class="MsoNormalTable">
<tr>
<td class="SectionDescriptor" >
<p class="SectionTitle" style="margin-top: 0in">
<xsl:apply-templates select="title"/>
</p>
</td>
<td class="SectionContent">
<p class="Summary">
<xsl:apply-templates select="membership"/>
</p>
</td>
</tr>
</table>
</xsl:template>
<!-- A single membership. -->
<xsl:template match="membership">
<xsl:if test="title">
<span class="membershipTitle">
<xsl:value-of select="title"/>
</span>
<br/>
</xsl:if>
<xsl:if test="organization">
<span class="organization">
<xsl:value-of select="organization"/>
</span>
<br/>
</xsl:if>
<xsl:if test="period">
<xsl:apply-templates select="period"/>
<br/>
</xsl:if>
<xsl:apply-templates select="description"/>
</xsl:template>
</xsl:stylesheet>

View File

@@ -0,0 +1,130 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
normalize-whitespace.xsl
Normalize whitespace in an XML resume. (First pass of two-pass processing.)
Copyright (c) 2000-2002 Bruce Christensen
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: normalize-whitespace.xsl,v 1.1 2002/06/24 21:50:14 bruckie Exp $
-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../lib/string.xsl"/>
<xsl:output method="xml" omit-xml-declaration="no" indent="no"
encoding="UTF-8"/>
<xsl:strip-space elements="*"/>
<!-- Copy everything by default -->
<xsl:template match="node()|@*">
<xsl:message>Element <xsl:value-of select="local-name()"/></xsl:message>
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<!-- Do special processing for text nodes (normalize whitespace) -->
<xsl:template match="//text()">
<xsl:message>Text: '<xsl:value-of select="."/>'</xsl:message>
<!-- Output leading space (if necessary) -->
<xsl:if test="preceding-sibling::node()[self::* or self::text()]">
<xsl:variable name="LeadingWS">
<xsl:call-template name="LeadingSpace">
<xsl:with-param name="Text">
<xsl:value-of select="."/>
</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:if test="string-length($LeadingWS)">
<xsl:text> </xsl:text>
<xsl:message> Preceding sibling: '<xsl:value-of select="preceding-sibling::node()[self::* or self::text()][1]"/>'</xsl:message>
<xsl:message> Output leading space</xsl:message>
</xsl:if>
</xsl:if>
<!-- Output content -->
<xsl:value-of select="normalize-space(.)"/>
<xsl:message> Content: '<xsl:value-of select="normalize-space(.)"/>'</xsl:message>
<!-- Output trailing space (if necessary) -->
<xsl:if test="following-sibling::node()[self::* or self::text()][1]">
<xsl:variable name="TrailingWS">
<xsl:call-template name="TrailingSpace">
<xsl:with-param name="Text">
<xsl:value-of select="."/>
</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:if test="string-length($TrailingWS)">
<xsl:text> </xsl:text>
<xsl:message> Following sibling: '<xsl:value-of select="following-sibling::node()[self::* or self::text()][1]"/>'</xsl:message>
<xsl:message> Output trailing space</xsl:message>
</xsl:if>
</xsl:if>
<xsl:message> Preceding siblings:</xsl:message>
<xsl:for-each select="preceding-sibling::node()[self::* or self::text()]">
<xsl:message> #<xsl:value-of select="position()"/>/<xsl:value-of select="last()"/>: '<xsl:value-of select="."/>'</xsl:message>
<xsl:choose>
<xsl:when test="self::text()">
<xsl:message> (Text)</xsl:message>
</xsl:when>
<xsl:when test="self::*">
<xsl:message> (Element)</xsl:message>
</xsl:when>
<xsl:otherwise>
<xsl:message> (Unknown node type)</xsl:message>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:message> Following siblings:</xsl:message>
<xsl:for-each select="following-sibling::node()[self::* or self::text()]">
<xsl:message> #<xsl:value-of select="position()"/>/<xsl:value-of select="last()"/>: '<xsl:value-of select="."/>'</xsl:message>
<xsl:choose>
<xsl:when test="self::text()">
<xsl:message> (Text)</xsl:message>
</xsl:when>
<xsl:when test="self::*">
<xsl:message> (Element)</xsl:message>
</xsl:when>
<xsl:otherwise>
<xsl:message> (Unknown node type)</xsl:message>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
br-a4.xsl
Convert XML Resume into FO(PDF) using Brazilian terminology and A4 paper.
Copyright (c) 2002 Felipe Leme
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: br-a4.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/fo.xsl"/>
<xsl:import href="../paper/a4.xsl"/>
<xsl:import href="../country/br.xsl"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
br-html.xsl
Convert XML Resume into HTML using Brasilian terminology.
Copyright (c) 2002 Felipe Leme
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: br-html.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/html.xsl"/>
<xsl:import href="../country/br.xsl"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
br-text.xsl
Convert XML Resume into plain text using Brazilian terminology.
Copyright (c) 2002 Felipe Leme
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: br-text.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/text.xsl"/>
<xsl:import href="../country/br.xsl"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
de-a4.xsl
Convert XML Resume into FO(PDF) using German terminology and A4 paper.
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: de-a4.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/fo.xsl"/>
<xsl:import href="../paper/a4.xsl"/>
<xsl:import href="../country/de.xsl"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
de-html.xsl
Convert XML Resume into HTML using German terminology.
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: de-html.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/html.xsl"/>
<xsl:import href="../country/de.xsl"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
de-text.xsl
Convert XML Resume into plain text using German terminology.
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: de-text.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/text.xsl"/>
<xsl:import href="../country/de.xsl"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
fr-a4.xsl
Convert XML Resume into FO(PDF) using French terminology and A4 paper.
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: fr-a4.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/fo.xsl"/>
<xsl:import href="../paper/a4.xsl"/>
<xsl:import href="../country/fr.xsl"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
fr-html.xsl
Convert XML Resume into HTML using French terminology.
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: fr-html.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/html.xsl"/>
<xsl:import href="../country/fr.xsl"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
fr-text.xsl
Convert XML Resume into plain text using French terminology.
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: fr-text.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/text.xsl"/>
<xsl:import href="../country/fr.xsl"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
it-a4.xsl
Convert XML Resume into FO(PDF) using Italian terminology and A4 paper.
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: it-a4.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/fo.xsl"/>
<xsl:import href="../paper/a4.xsl"/>
<xsl:import href="../country/it.xsl"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
it-html.xsl
Convert XML Resume into HTML using Italian terminology.
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: it-html.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/html.xsl"/>
<xsl:import href="../country/it.xsl"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
it-text.xsl
Convert XML Resume into plain text using Italian terminology.
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: it-text.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/text.xsl"/>
<xsl:import href="../country/it.xsl"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
nl-a4.xsl
Convert XML Resume into FO(PDF) using Dutch terminology and A4 paper.
Courtesy of Andre Van Dijk <andre@unseen.demon.nl>
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: nl-a4.xsl,v 1.1 2002/06/14 20:18:43 seankelly Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/fo.xsl"/>
<xsl:import href="../paper/a4.xsl"/>
<xsl:import href="../country/nl.xsl"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
nl-html.xsl
Convert XML Resume into HTML using Dutch terminology.
Courtesy of Andre Van Dijk <andre@unseen.demon.nl>
Copyright (c) 2002 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: nl-html.xsl,v 1.1 2002/06/14 20:18:43 seankelly Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/html.xsl"/>
<xsl:import href="../country/nl.xsl"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
nl-text.xsl
Convert XML Resume into plain text using Dutch terminology.
Courtesy of Andre Van Dijk <andre@unseen.demon.nl>
Copyright (c) 2002 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: nl-text.xsl,v 1.1 2002/06/14 20:18:43 seankelly Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/text.xsl"/>
<xsl:import href="../country/nl.xsl"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
uk-a4.xsl
Convert XML Resume into FO(PDF) using UK terminology and A4 paper.
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: uk-a4.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/fo.xsl"/>
<xsl:import href="../paper/a4.xsl"/>
<xsl:import href="../country/uk.xsl"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
uk-html.xsl
Convert XML Resume into HTML using UK terminology.
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: uk-html.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/html.xsl"/>
<xsl:import href="../country/uk.xsl"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
uk-text.xsl
Convert XML Resume into plain text using UK terminology.
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: uk-text.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/text.xsl"/>
<xsl:import href="../country/uk.xsl"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
us-html.xsl
Convert XML Resume into HTML using US terminology.
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: us-html.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/html.xsl"/>
<xsl:import href="../country/us.xsl"/>
<!-- No other overrides needed, since the default parameters are all
US English and US-Letter size paper already. -->
</xsl:stylesheet>

View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
us-letter.xsl
Convert XML Resume into HTML using US terminology and letter size paper.
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: us-letter.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/fo.xsl"/>
<xsl:import href="../paper/letter.xsl"/>
<xsl:import href="../country/us.xsl"/>
<!-- No other overrides needed, since the default parameters are all
US English and US-Letter size paper already. -->
</xsl:stylesheet>

View File

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
us-text.xsl
Convert XML Resume into plaint text using US terminology.
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: us-text.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../format/text.xsl"/>
<xsl:import href="../country/us.xsl"/>
<!-- No other overrides needed, since the default parameters are all
US English and US-Letter size paper already. -->
</xsl:stylesheet>

View File

@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
a4.xsl
Parameters for A4 size paper.
Copyright (c) 2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: a4.xsl,v 1.1 2002/05/26 03:45:52 bruckie Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:r="http://xmlresume.sourceforge.net/resume/0.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Measurements for A4-sized paper. -->
<!--
Ghostscript references http://www.twics.com/~eds/paper/index.html
as a source of info on paper sizes. ISO A size papers are
intended for general printing. The minimum margin for any ISO
(metric) paper is 3mm (all sides).
GH: 2002/05/05
-->
<xsl:param name="page.height">297mm</xsl:param>
<xsl:param name="page.width">210mm</xsl:param>
<xsl:param name="margin.top">20mm</xsl:param>
<xsl:param name="margin.left">20mm</xsl:param>
<xsl:param name="margin.right">20mm</xsl:param>
<xsl:param name="margin.bottom">20mm</xsl:param>
<xsl:param name="body.indent">20mm</xsl:param>
<xsl:param name="heading.indent">0mm</xsl:param>
<!-- Margins for the header box. It would be nice to just specify a width
attribute for the header block, but neither FOP nor XEP use it. Instead, we
force the width using these two properties. To center the header box, they
should each be:
($page.width - $margin.left - $margin.right - [desired header width]) div 2
We can't do that using an XPath expression because the numbers have associated
units. Grrr. There has to be a better way to do this.
-->
<xsl:param name="header.margin-left">50mm</xsl:param>
<xsl:param name="header.margin-right" select="$header.margin-left"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
letter.xsl
Parameters for US-Letter size paper.
Copyright (c) 2001 Sean Kelly, Bruce Christensen
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: letter.xsl,v 1.2 2002/11/03 22:35:07 brandondoyle Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:r="http://xmlresume.sourceforge.net/resume/0.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Measurements for USLetter-sized paper. -->
<!--
Ghostscript references http://www.twics.com/~eds/paper/index.html
as a source of info on paper sizes. The minimum margin for US
Letter paper is 1/8" (all sides).
GH: 2002/05/05
-->
<!-- Default page size -->
<xsl:param name="page.height">11in</xsl:param>
<xsl:param name="page.width">8.5in</xsl:param>
<!-- Default page margins -->
<xsl:param name="margin.top">0.75in</xsl:param>
<xsl:param name="margin.left">0.6in</xsl:param>
<xsl:param name="margin.right">0.6in</xsl:param>
<xsl:param name="margin.bottom">0.6in</xsl:param>
<!-- Body text indent -->
<xsl:param name="body.indent">.5in</xsl:param>
<!-- Heading text indent -->
<xsl:param name="heading.indent">0in</xsl:param>
<!-- Margins for the header box. It would be nice to just specify a width
attribute for the header block, but neither FOP nor XEP use it. Instead, we
force the width using these two properties. To center the header box, they
should each be:
($page.width - $margin.left - $margin.right - [desired header width]) div 2
We can't do that using an XPath expression because the numbers have associated
units. Grrr. There has to be a better way to do this.
-->
<xsl:param name="header.margin-left">1.65in</xsl:param>
<xsl:param name="header.margin-right" select="$header.margin-left"/>
</xsl:stylesheet>

View File

@@ -0,0 +1,236 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
params.xsl
Default XML resume transformation parameters.
Copyright (c) 2000-2001 Sean Kelly
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id: params.xsl,v 1.17 2002/11/28 00:49:03 brandondoyle Exp $
-->
<xsl:stylesheet version="1.0"
xmlns:r="http://xmlresume.sourceforge.net/resume/0.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="country/us.xsl"/>
<!-- USER-CHANGEABLE SETTINGS =========================================== -->
<!-- Format for skills lists; available values are: -->
<!-- 'bullet' for bulleted lists -->
<!-- 'comma' for comma-separated lists -->
<xsl:param name="skills.format">comma</xsl:param>
<!-- Should skill <level> elements be displayed when formatting? -->
<xsl:param name="skills.level.display">1</xsl:param>
<!-- Should referees be displayed when formatting? -->
<!-- '1' to display referees -->
<!-- '0' to display referees.hidden.phrase instead. -->
<xsl:param name="referees.display">1</xsl:param>
<!-- Layout of the referees section: "compact" or "standard" -->
<!-- Does not affect the layout of the text output, only html and pdf -->
<xsl:param name="referees.layout">compact</xsl:param>
<!-- Format for name/contact header: 'standard' or 'centered' *SE* -->
<!-- Set here or override on command line -->
<xsl:param name="header.format">standard</xsl:param>
<!-- Format of interest descriptions. Available values are: -->
<!-- 'single-line' for <para>s on same line as title, separated by dashes -->
<!-- 'block' for typical block-style paragraphs -->
<xsl:param name="interest.description.format">single-line</xsl:param>
<!-- Format for address; available values are: -->
<!-- 'standard' for US/Canadian/UK style addresses -->
<!-- 'european' for European format (with postal code preceding city). -->
<!-- 'italian' for Italian format (postal code city (province) ). -->
<xsl:param name="address.format">standard</xsl:param>
<!-- SEPARATORS AND DELIMITERS (all formats) ============================ -->
<!-- Separator between a list title and its list -->
<!-- (applies only to comma-separated lists) -->
<xsl:param name="title.separator">: </xsl:param>
<!-- Separator between individual skills -->
<!-- (applies only when skills.format = comma) -->
<xsl:param name="skills.separator">, </xsl:param>
<!-- Output after the last skill in a skillset -->
<!-- (applies only when skills.format = comma) -->
<xsl:param name="skills.suffix">.</xsl:param>
<!-- Text to use to indicate start and end of skill level in all formats -->
<xsl:param name="skills.level.start"> (</xsl:param>
<xsl:param name="skills.level.end">)</xsl:param>
<!-- Word to use for "subjects", eg "Courses" or "Coursework" -->
<xsl:param name="subjects.word">Subjects</xsl:param>
<!-- Format for subjects lists; available values are: -->
<!-- 'table' for a subjects table -->
<!-- 'comma' for comma-separated lists -->
<xsl:param name="subjects.format">comma</xsl:param>
<!-- Separator between individual subjects
(applies only when subjects.format = comma) -->
<xsl:param name="subjects.separator">, </xsl:param>
<!-- Output after the last subject in a list
(applies only when subjects.format = comma) -->
<xsl:param name="subjects.suffix">.</xsl:param>
<!-- Should result elements be displayed when formatting? -->
<xsl:param name="subjects.result.display">1</xsl:param>
<!-- Text to use to indicate start and end of subject -->
<!-- (applies only when subjects.format = comma -->
<xsl:param name="subjects.result.start"> (</xsl:param>
<xsl:param name="subjects.result.end">)</xsl:param>
<!-- Text to use to indicate start and end of location in all formats -->
<xsl:param name="location.start"> (</xsl:param>
<xsl:param name="location.end">)</xsl:param>
<!-- Separator between <para>s in a description. -->
<!-- (applies only when interest.description.format = single-line) -->
<!-- Note: &#x2014; == em-dash -->
<xsl:param name="description.para.separator"> &#x2014; </xsl:param>
<!-- Default separator between authors in publication details. -->
<xsl:param name="pub.author.separator">, </xsl:param>
<!-- Default separator between items in publication details. -->
<xsl:param name="pub.item.separator">. </xsl:param>
<!-- HTML-SPECIFIC ====================================================== -->
<!-- Cascading stylesheet to use -->
<!-- Make sure the path to the css file is correct! -->
<xsl:param name="css.href">../../css/compact.css</xsl:param>
<!-- Should style sheets be embedded within the html file? -->
<!-- '1' to embed the css in the html (allows for easy emailing) -->
<!-- '0' to link to the css in a seperate file -->
<xsl:param name="css.embed">1</xsl:param>
<!-- PLAIN TEXT-SPECIFIC ================================================ -->
<!-- Bullet equivalent in plain text *SE* -->
<xsl:param name="text.bullet.prefix">* </xsl:param>
<!-- Text to use to indicate start and end of emphasis in plain text -->
<xsl:param name="text.emphasis.start">*</xsl:param>
<xsl:param name="text.emphasis.end">*</xsl:param>
<!-- Max chars allowed on a line in plain text -->
<xsl:param name="text.width">72</xsl:param>
<!-- Number of characters to indent in plain text -->
<xsl:param name="text.indent.width">4</xsl:param>
<!-- XSL-FO-SPECIFIC ==================================================== -->
<!-- Settings for lines around the header of the print resume -->
<xsl:param name="header.line.pattern">rule</xsl:param>
<xsl:param name="header.line.thickness">1pt</xsl:param>
<!-- Space betwixt paragraphs -->
<xsl:param name="para.break.space">0.750em</xsl:param>
<!-- Half space; for anywhere line spacing is needed but should be less -->
<!-- than a full paragraph break; between comma-separated skills lists, -->
<!-- between job header and description/achievements. -->
<xsl:param name="half.space">0.4em</xsl:param>
<!-- Bullet Symbol -->
<xsl:param name="bullet.glyph">&#x2022;</xsl:param>
<!-- Space between bullet and its text in bulleted item -->
<xsl:param name="bullet.space">1.0em</xsl:param>
<xsl:param name="header.name.font.style">normal</xsl:param>
<xsl:param name="header.name.font.weight">bold</xsl:param>
<xsl:param name="header.name.font.size" select="$body.font.size"/>
<xsl:param name="header.item.font.style">italic</xsl:param>
<xsl:param name="body.font.size">10pt</xsl:param>
<xsl:param name="body.font.family">serif</xsl:param>
<xsl:param name="footer.font.size">8pt</xsl:param>
<xsl:param name="footer.font.family">serif</xsl:param>
<xsl:param name="heading.font.size">10pt</xsl:param>
<xsl:param name="heading.font.family">sans-serif</xsl:param>
<xsl:param name="heading.font.weight">bold</xsl:param>
<xsl:param name="heading.border.bottom.style">none</xsl:param>
<xsl:param name="heading.border.bottom.width">thin</xsl:param>
<!-- Used for copyright notice and "last modified" date -->
<xsl:param name="fineprint.font.size">8pt</xsl:param>
<xsl:param name="emphasis.font.weight">bold</xsl:param>
<xsl:param name="citation.font.style">italic</xsl:param>
<xsl:param name="url.font.family">monospace</xsl:param>
<xsl:param name="jobtitle.font.style">normal</xsl:param>
<xsl:param name="jobtitle.font.weight">bold</xsl:param>
<!-- Used on degree major and level -->
<xsl:param name="degree.font.style">normal</xsl:param>
<xsl:param name="degree.font.weight">bold</xsl:param>
<xsl:param name="referee-name.font.style">italic</xsl:param>
<xsl:param name="referee-name.font.weight">normal</xsl:param>
<xsl:param name="employer.font.style">italic</xsl:param>
<xsl:param name="employer.font.weight">normal</xsl:param>
<xsl:param name="job-period.font.style">italic</xsl:param>
<xsl:param name="job-period.font.weight">normal</xsl:param>
<!-- Used for "Projects" and "Achievements" -->
<xsl:param name="job-subheading.font.style">italic</xsl:param>
<xsl:param name="job-subheading.font.weight">normal</xsl:param>
<xsl:param name="skillset-title.font.style">italic</xsl:param>
<xsl:param name="skillset-title.font.weight">normal</xsl:param>
<xsl:param name="degrees-note.font.style">italic</xsl:param>
<xsl:param name="degrees-note.font.weight">normal</xsl:param>
<xsl:param name="clearance-level.font.style">italic</xsl:param>
<xsl:param name="clearance-level.font.weight">normal</xsl:param>
<!-- Used on "*Overall GPA*: 3.0" -->
<xsl:param name="gpa-preamble.font.style">italic</xsl:param>
<xsl:param name="gpa-preamble.font.weight">normal</xsl:param>
</xsl:stylesheet>