[svn r1850] r2001@freebird: fabien | 2005-12-27 01:28:42 -0500
Last cleanup.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,30 @@
+TOP=.
+INSTALL_DIR=`pwd`/install
+
+DIST_FILES= \
+ common.xsl \
+ html.xsl \
+ print.xsl \
+ masters_print.xsl \
+ cv_html.xsl \
+ cv_print.xsl \
+ poetry_html.xsl \
+ story_html.xsl \
+ story_print.xsl \
+ cv_str.en.xml \
+ cv_str.fr.xml \
+ html.css \
+ blog.css \
+ poetry.css \
+ contes.css \
+ cv.css
+
+all:
+
+install:
+ mkdir -p $(INSTALL_DIR)
+ cp $(DIST_FILES) $(INSTALL_DIR)
+
+clean:
+
+purge:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/TODO Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,3 @@
+* Finir la version imprimable (book)
+* Faire une version 1/pdf/contes.
+* Faire une version HTML-1-PAGE (pour la version texte).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/blog.css Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,26 @@
+@import "html.css";
+
+#lcol { width: 70% }
+#title { margin: 10pt }
+#icon { float: left }
+div.stories { clear: both; padding: 10pt; border: solid teal }
+.dateheader { font-weight: bold }
+div.comments { text-align: right }
+
+#rcol { margin: 15pt; position: absolute; left: 70%; top: 0; max-width: 20% }
+/* #rcol { border: solid teal; padding: 10pt } */
+#rcol { text-align: center }
+#rcol div { text-align: left }
+.calendar { font-size: 80%; text-align: center }
+
+/*
+.stories { background: #aaaaff;
+ color: black;
+ padding: 10pt; }
+.stories :link { color: blue }
+.stories :visited { color: navy }
+.story_title { color: blue }
+.stories .dateheader { color: blue }
+.stories strong, .stories b, .stories em { color: blue }
+*/
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/common.xsl Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.1"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xt="http://www.jclark.com/xt"
+ extension-element-prefixes="xt">
+
+<xsl:template name="get-id">
+ <xsl:choose>
+ <xsl:when test="@id"><xsl:value-of select="@id"/></xsl:when>
+ <xsl:otherwise><xsl:value-of select="generate-id(.)"/></xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+<xsl:template name="parent-id">
+ <xsl:choose>
+ <xsl:when test="../@id"><xsl:value-of select="../@id"/></xsl:when>
+ <xsl:otherwise><xsl:value-of select="generate-id(..)"/></xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+<xsl:template name="next-id">
+ <xsl:choose>
+ <xsl:when test="following::*[1]/@id"><xsl:value-of select="following::*[1]/@id"/></xsl:when>
+ <xsl:otherwise><xsl:value-of select="generate-id(following::*[1])"/></xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+<xsl:template name="prec-id">
+ <xsl:choose>
+ <xsl:when test="preceding::*[1]/@id"><xsl:value-of select="preceding::*[1]/@id"/></xsl:when>
+ <xsl:otherwise><xsl:value-of select="generate-id(preceding::*[1])"/></xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="*" mode="fullname">
+ <xsl:call-template name="name"/>
+</xsl:template>
+
+<!-- default docinfo processing -->
+<!-- normal is not process -->
+<xsl:template match="docinfo"/>
+
+<!-- copyright footer processing -->
+<xsl:template match="copyright">
+ © <xsl:apply-templates select="holder"/>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="year"/>
+</xsl:template>
+<xsl:template match="holder">
+ <xsl:call-template name="name"/>
+</xsl:template>
+<xsl:template match="year">
+ <xsl:apply-templates/>
+ <xsl:if test="position() != last()">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+</xsl:template>
+
+<!-- author processing -->
+<xsl:template match="author">
+ <xsl:call-template name="name"/>
+</xsl:template>
+
+<!-- short representation -->
+<xsl:template match="para" mode="short">
+ <xsl:apply-templates/>
+</xsl:template>
+<xsl:template match="list" mode="short">
+ <xsl:param name="ending">
+ <xsl:text>.</xsl:text>
+ </xsl:param>
+ <xsl:apply-templates mode="short">
+ <xsl:with-param name="ending" select="$ending"/>
+ </xsl:apply-templates>
+</xsl:template>
+<xsl:template match="listitem" mode="short">
+ <xsl:apply-templates mode="short"/><xsl:text>, </xsl:text>
+</xsl:template>
+<xsl:template match="listitem[position() = last()]" mode="short">
+ <xsl:param name="ending">
+ <xsl:text>.</xsl:text>
+ </xsl:param>
+ <xsl:apply-templates mode="short"/><xsl:value-of select="$ending"/>
+</xsl:template>
+<xsl:template match="item" mode="short">
+ <xsl:apply-templates/><xsl:text>, </xsl:text>
+</xsl:template>
+<xsl:template match="item[position() = last()]" mode="short">
+ <xsl:param name="ending">
+ <xsl:text>.</xsl:text>
+ </xsl:param>
+ <xsl:apply-templates/><xsl:value-of select="$ending"/>
+</xsl:template>
+
+</xsl:stylesheet>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/contes.css Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,3 @@
+@import "html.css";
+.nda { font-style: italic; border: solid; padding: 0pt 10pt }
+li .nda { font-style: normal; border: none }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cv.css Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,2 @@
+#identification div.first { width: 50% }
+#identification div.rest { width: 50% ; float: right }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cv_html.xsl Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,290 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.1"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xt="http://www.jclark.com/xt"
+ extension-element-prefixes="xt"
+ xmlns="http://www.w3.org/1999/xhtml">
+ <xsl:import href="html.xsl"/>
+ <xsl:output method="xml"
+ version="1.0"
+ encoding="UTF-8"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+ indent="yes"/>
+
+
+<xsl:template name="gentext">
+ <xsl:param name="string"/>
+ <xsl:variable name="uri">
+ <xsl:text>cv_str.</xsl:text>
+ <xsl:value-of select="/cv/@lang"/>
+ <xsl:text>.xml</xsl:text>
+ </xsl:variable>
+ <!-- <xsl:message>Looking for <xsl:value-of select="$string"/> in <xsl:value-of select="$uri"/>.</xsl:message> -->
+ <xsl:value-of select="document($uri)//*[@name=$string]"/>
+</xsl:template>
+
+<!-- cv -->
+<xsl:template match="cv">
+ <xsl:variable name="fullname">
+ <xsl:apply-templates mode="fullname" select="identification"/>
+ </xsl:variable>
+ <html>
+ <head>
+ <title>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-curriculum</xsl:with-param>
+ </xsl:call-template>
+ <xsl:value-of select="$fullname"/></title>
+ <link href="{$css-base-dir}cv.css" media="screen" rel="stylesheet" type="text/css"/>
+ </head>
+ <body>
+ <hr/>
+ <xsl:apply-templates select="identification"/>
+ <hr/>
+ <h1 id="works">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-experience</xsl:with-param>
+ </xsl:call-template>
+ </h1>
+ <xsl:apply-templates select="work"/>
+ <hr/>
+ <h1 id="studies">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-formation</xsl:with-param>
+ </xsl:call-template>
+ </h1>
+ <ul class="studies">
+ <xsl:apply-templates select="study" mode="short"/>
+ </ul>
+ <hr/>
+ <h1 id="kownledges">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-competences</xsl:with-param>
+ </xsl:call-template>
+ </h1>
+ <dl class="knowledge">
+ <xsl:apply-templates select="knowledge"/>
+ <dt id="languages">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-languages</xsl:with-param>
+ </xsl:call-template>
+ </dt>
+ <dd>
+ <ul class="languages">
+ <xsl:apply-templates select="language"/>
+ </ul>
+ </dd>
+ </dl>
+ <!--
+ <dl class="legend">
+ <dt>Acquis</dt><dd>plus d'un an de pratique.</dd>
+ <dt>Notions</dt><dd>moins d'un an de pratique.</dd>
+ </dl>
+ -->
+ <hr/>
+ <h1 id="projects">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-projects</xsl:with-param>
+ </xsl:call-template>
+ </h1>
+ <ul class="projects">
+ <xsl:apply-templates select="project|concours" mode="short"/>
+ </ul>
+ <hr/>
+ <h1 id="interests">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-hobbies</xsl:with-param>
+ </xsl:call-template>
+ </h1>
+ <ul class="interests">
+ <xsl:apply-templates select="interest" mode="short"/>
+ </ul>
+ </body>
+ </html>
+</xsl:template>
+
+<xsl:template match="knownlist[@level='learning']"/>
+<xsl:template match="work[@role='old']">
+ <xsl:apply-templates select="." mode="short"/>
+</xsl:template>
+<xsl:template match="project|concours[@role='old']" mode="short"/>
+
+<!-- identification section -->
+<xsl:template match="identification">
+ <div id="identification">
+ <h2 class="name"><xsl:apply-templates select="." mode="fullname"/></h2>
+ <p>
+ <xsl:apply-templates mode="id"/>
+ </p>
+ </div>
+</xsl:template>
+<!-- already process, so skip -->
+<xsl:template match="firstname|surname|initials" mode="id"/>
+<xsl:template mode="id" match="*">
+ <span class="{name()}"><xsl:apply-templates select="."/></span><br/>
+</xsl:template>
+<xsl:template mode="id" match="title">
+ <span class="{name()}"><xsl:apply-templates/></span><br/>
+</xsl:template>
+<xsl:template mode="id" match="email">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-email</xsl:with-param>
+ </xsl:call-template>
+ <xsl:text>: </xsl:text><span class="{name()}"><xsl:apply-templates/></span><br/>
+</xsl:template>
+<xsl:template mode="id" match="web">
+ <span class="{name()}"><xsl:apply-templates/></span><br/>
+</xsl:template>
+<xsl:template mode="id" match="address">
+ <xsl:apply-templates select="."/>
+</xsl:template>
+<xsl:template mode="id" match="phone">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">
+ <xsl:choose>
+ <xsl:when test="@type='fax'">str-phone-fax</xsl:when>
+ <xsl:when test="@type='pager'">str-phone-pager</xsl:when>
+ <xsl:when test="@type='mobile'">str-phone-mobile</xsl:when>
+ <xsl:when test="@type='home'">str-phone-home</xsl:when>
+ <xsl:when test="@type='work'">str-phone-work</xsl:when>
+ <xsl:otherwise>str-phone</xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ </xsl:call-template>
+ <xsl:text>: </xsl:text>
+ <span class="phone" title="{@type}"><xsl:apply-templates/></span><br/>
+</xsl:template>
+
+<!-- work -->
+<xsl:template match="work">
+ <div class="work">
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+<xsl:template match="work/organism">
+ <h2><xsl:apply-templates select="." mode="short"/></h2>
+</xsl:template>
+
+<xsl:template match="work" mode="short">
+ <h2><xsl:apply-templates select="organism" mode="short"/></h2>
+ <ul>
+ <xsl:apply-templates select="post" mode="short"/>
+ </ul>
+</xsl:template>
+<xsl:template match="post" mode="short">
+ <li>
+ <xsl:if test="title">
+ <xsl:apply-templates select="title" mode="short"/>
+ <xsl:text>; </xsl:text>
+ </xsl:if>
+ <xsl:apply-templates select="duration" mode="short"/>
+ </li>
+</xsl:template>
+
+<!-- post -->
+<xsl:template match="post">
+ <div class="post">
+ <xsl:attribute name="id">
+ <xsl:call-template name="get-id"/>
+ </xsl:attribute>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+<xsl:template match="post/title">
+ <h3><xsl:apply-templates/></h3>
+</xsl:template>
+<xsl:template match="supervisor">
+ <p class="supervisor">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-supervisor</xsl:with-param>
+ </xsl:call-template>
+ <xsl:text>: </xsl:text>
+ <span class="supervisor">
+ <xsl:apply-templates mode="fullname" select="."/>
+ </span>
+ </p>
+</xsl:template>
+<xsl:template match="post/duration">
+ <p class="duration"><xsl:apply-templates/></p>
+</xsl:template>
+<xsl:template match="post/description">
+ <div class="description">
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<!-- study -->
+<xsl:template match="study" mode="short">
+ <li><xsl:apply-templates select="studydomain"/>
+ <xsl:text> (</xsl:text>
+ <xsl:apply-templates select="duration"/>
+ <xsl:text>), </xsl:text>
+ <xsl:apply-templates select="organism" mode="short"/>
+ </li>
+</xsl:template>
+
+<!-- knowledge -->
+<xsl:template match="knowledge">
+ <dt><xsl:apply-templates select="name"/></dt>
+ <dd>
+ <ul>
+ <xsl:apply-templates select="knownlist"/>
+ </ul>
+ </dd>
+</xsl:template>
+<xsl:template match="knownlist">
+ <li>
+ <strong class="level">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">
+ <xsl:choose>
+ <xsl:when test="@level='notions'">str-level-notions</xsl:when>
+ <xsl:when test="@level='learning'">str-level-learning</xsl:when>
+ <xsl:otherwise>str-level-known</xsl:otherwise><!-- 'known' -->
+ </xsl:choose>
+ </xsl:with-param>
+ </xsl:call-template>
+ <xsl:text>: </xsl:text>
+ </strong>
+ <xsl:apply-templates mode="short"/>
+ </li>
+</xsl:template>
+
+<xsl:template match="language">
+ <li>
+ <xsl:apply-templates/>
+ <xsl:text>: </xsl:text>
+ <em class="level">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">
+ <xsl:choose>
+ <xsl:when test="@level='notions'">str-lang-notions</xsl:when>
+ <xsl:when test="@level='learning'">str-lang-learning</xsl:when>
+ <xsl:when test="@level='functional'">str-lang-functional</xsl:when>
+ <xsl:otherwise>str-lang-known</xsl:otherwise><!-- 'known' -->
+ </xsl:choose>
+ </xsl:with-param>
+ </xsl:call-template>
+ </em>
+ </li>
+</xsl:template>
+
+<!-- project/concours -->
+<xsl:template match="project|concours" mode="short">
+ <li><xsl:apply-templates select="organism" mode="short"/>
+ <xsl:text> (</xsl:text>
+ <xsl:apply-templates select="duration|year" mode="short"/>
+ <xsl:text>)</xsl:text>
+ <xsl:if test="description">
+ <xsl:text>, </xsl:text>
+ <xsl:apply-templates select="description" mode="short"/>
+ </xsl:if>
+ </li>
+</xsl:template>
+
+<xsl:template match="interest" mode="short">
+ <li><xsl:apply-templates mode="short"/></li>
+</xsl:template>
+
+</xsl:stylesheet>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cv_print.xsl Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,471 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.1"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xt="http://www.jclark.com/xt"
+ extension-element-prefixes="xt"
+ xmlns="http://www.w3.org/1999/XSL/Format">
+
+<xsl:import href="common.xsl"/>
+<xsl:import href="print.xsl"/>
+
+ <xsl:output method="xml"
+ indent="yes"/>
+
+<xsl:template name="gentext">
+ <xsl:param name="string"/>
+ <xsl:variable name="uri">
+ <xsl:text>cv_str.</xsl:text>
+ <xsl:value-of select="/cv/@lang"/>
+ <xsl:text>.xml</xsl:text>
+ </xsl:variable>
+ <!-- xsl:message>Looking for <xsl:value-of select="$string"/> in <xsl:value-of select="$uri"/>.</xsl:message -->
+ <xsl:value-of select="document($uri)//*[@name=$string]"/>
+</xsl:template>
+
+<xsl:param name="cv-uri"/>
+<xsl:param name="date"/>
+<xsl:attribute-set name="section-title-font" xsl:use-attribute-sets="verylarge-title-font">
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+ <xsl:attribute name="space-after">4pt</xsl:attribute>
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
+ <xsl:attribute name="score-spaces">true</xsl:attribute>
+ <xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
+</xsl:attribute-set>
+<xsl:attribute-set name="knowledge-title-font" xsl:use-attribute-sets="large-title-font">
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+ <xsl:attribute name="space-after">4pt</xsl:attribute>
+ <xsl:attribute name="space-before">4pt</xsl:attribute>
+ <xsl:attribute name="font-variant">small-caps</xsl:attribute>
+</xsl:attribute-set>
+<xsl:attribute-set name="work-title-font" xsl:use-attribute-sets="large-title-font">
+ <xsl:attribute name="font-size">14pt</xsl:attribute>
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+ <xsl:attribute name="space-after">8pt</xsl:attribute>
+ <xsl:attribute name="space-before">12pt</xsl:attribute>
+ <xsl:attribute name="font-variant">small-caps</xsl:attribute>
+</xsl:attribute-set>
+<xsl:attribute-set name="work-short-font" xsl:use-attribute-sets="large-title-font">
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+ <xsl:attribute name="space-before">4pt</xsl:attribute>
+ <xsl:attribute name="space-after">4pt</xsl:attribute>
+ <xsl:attribute name="font-variant">small-caps</xsl:attribute>
+</xsl:attribute-set>
+<xsl:attribute-set name="post-title-font" xsl:use-attribute-sets="medium-title-font">
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+ <xsl:attribute name="space-after">4pt</xsl:attribute>
+</xsl:attribute-set>
+<xsl:attribute-set name="name-title-font" xsl:use-attribute-sets="verylarge-title-font">
+ <xsl:attribute name="font-size">16pt</xsl:attribute>
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+ <xsl:attribute name="space-after">8pt</xsl:attribute>
+ <!-- <xsl:attribute name="space-before">6pt</xsl:attribute> -->
+</xsl:attribute-set>
+<xsl:attribute-set name="default-font">
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
+ <xsl:attribute name="space-after">4pt</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section-block">
+ <xsl:attribute name="keep-together.within-page">always</xsl:attribute>
+ <!-- <xsl:attribute name="break-inside">avoid</xsl:attribute> -->
+ <!-- <xsl:attribute name="border-before-style">solid</xsl:attribute> -->
+ <!-- <xsl:attribute name="border-after-style">solid</xsl:attribute> -->
+ <!-- <xsl:attribute name="padding-before">5mm</xsl:attribute> -->
+ <xsl:attribute name="space-before">10mm</xsl:attribute>
+ <xsl:attribute name="space-before.conditionality">discard</xsl:attribute>
+</xsl:attribute-set>
+<!-- cv -->
+<xsl:template match="cv">
+ <xsl:variable name="fullname">
+ <xsl:apply-templates mode="fullname" select="identification"/>
+ </xsl:variable>
+ <root>
+ <layout-master-set>
+ <simple-page-master master-name="cv"
+ margin-top="1cm" margin-bottom="1cm"
+ margin-left="1cm" margin-right="1cm">
+ <region-body margin-top="1cm" margin-bottom="1cm"/>
+ <region-before extent="1cm" precedence="true"/>
+ <region-after extent="1cm" precedence="true"/>
+ </simple-page-master>
+ <page-sequence-master master-name="cv-sequence">
+ <repeatable-page-master-reference master-reference="cv"/>
+ </page-sequence-master>
+ </layout-master-set>
+
+ <page-sequence master-reference="cv-sequence">
+ <static-content flow-name="xsl-region-before">
+ <block border-after-style="solid">
+ <table width="100%" table-layout="fixed">
+ <table-column column-width="proportional-column-width(1)"
+ number-columns-repeated="2"/>
+ <table-body>
+ <table-row>
+ <table-cell>
+ <block text-align="start"><xsl:value-of select="$fullname"/></block>
+ </table-cell>
+ <table-cell>
+ <block text-align="end"><xsl:value-of select="$date"/></block>
+ </table-cell>
+ </table-row>
+ </table-body>
+ </table>
+ </block>
+ </static-content>
+ <static-content flow-name="xsl-region-after">
+ <block border-before-style="solid">
+ <table width="100%" table-layout="fixed">
+ <table-column column-width="proportional-column-width(1)"
+ number-columns-repeated="2"/>
+ <table-body>
+ <table-row>
+ <table-cell>
+ <block text-align="start"><xsl:value-of select="$cv-uri"/></block>
+ </table-cell>
+ <table-cell>
+ <block text-align="end">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-page</xsl:with-param>
+ </xsl:call-template>
+ <page-number/>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-page-of</xsl:with-param>
+ </xsl:call-template>
+ <page-number-citation ref-id="xsl_cv_the_end"/></block>
+ </table-cell>
+ </table-row>
+ </table-body>
+ </table>
+ </block>
+ </static-content>
+ <flow flow-name="xsl-region-body" xsl:use-attribute-sets="default-font">
+ <block xsl:use-attribute-sets="section-block">
+ <xsl:apply-templates select="identification"/>
+ </block>
+ <block xsl:use-attribute-sets="section-block" space-before.optimum="10pt" space-before.maximum="10pt">
+ <block xsl:use-attribute-sets="section-title-font">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-formation</xsl:with-param>
+ </xsl:call-template>
+ </block>
+ <list-block>
+ <xsl:apply-templates select="study" mode="short"/>
+ </list-block>
+ </block>
+ <block xsl:use-attribute-sets="section-block">
+ <block xsl:use-attribute-sets="section-title-font">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-competences</xsl:with-param>
+ </xsl:call-template>
+ </block>
+ <xsl:apply-templates select="knowledge"/>
+ <block keep-together.within-page="always">
+ <block xsl:use-attribute-sets="knowledge-title-font">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-languages</xsl:with-param>
+ </xsl:call-template>
+ </block>
+ <table width="100%" table-layout="fixed" margin-left="24pt">
+ <table-column column-width="proportional-column-width(1)"
+ number-columns-repeated="2"/>
+ <table-body>
+ <table-row>
+ <table-cell>
+ <xsl:apply-templates select="language[not(@level='notions' or @level='learning')]"/>
+ </table-cell>
+ <table-cell>
+ <xsl:apply-templates select="language[@level='notions']"/>
+ </table-cell>
+ </table-row>
+ </table-body>
+ </table>
+ </block>
+ </block>
+ <block xsl:use-attribute-sets="section-block">
+ <block xsl:use-attribute-sets="section-title-font">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-projects</xsl:with-param>
+ </xsl:call-template>
+ </block>
+ <list-block>
+ <xsl:apply-templates select="project|concours" mode="short"/>
+ </list-block>
+ </block>
+ <block xsl:use-attribute-sets="section-block">
+ <block xsl:use-attribute-sets="section-title-font">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-hobbies</xsl:with-param>
+ </xsl:call-template>
+ </block>
+ <list-block>
+ <xsl:apply-templates select="interest" mode="short"/>
+ </list-block>
+ </block>
+ <block xsl:use-attribute-sets="section-block"
+ xsl:space-before="0mm">
+ <block xsl:use-attribute-sets="section-title-font">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-experience</xsl:with-param>
+ </xsl:call-template>
+ </block>
+ <xsl:apply-templates select="work"/>
+ </block>
+ <block visibility="hidden" id="xsl_cv_the_end"/>
+ </flow>
+ </page-sequence>
+ </root>
+</xsl:template>
+
+<xsl:template match="knownlist[@level='learning']"/>
+<xsl:template match="item[@role='old']" mode="short"/>
+<xsl:template match="work[@role='old']">
+ <!-- xsl:apply-templates select="." mode="short"/ -->
+</xsl:template>
+<xsl:template match="concours[@role='old']" mode="short"/>
+<xsl:template match="project[@role='old']" mode="short"/>
+
+<!-- identification section -->
+<xsl:template match="identification">
+ <table width="100%" table-layout="fixed">
+ <table-column column-width="proportional-column-width(1)"
+ number-columns-repeated="2"/>
+ <table-body>
+ <table-row>
+ <table-cell>
+ <block xsl:use-attribute-sets="name-title-font"><xsl:apply-templates select="." mode="fullname"/></block>
+ <xsl:apply-templates select="title|email" mode="id"/>
+ </table-cell>
+ <table-cell>
+ <xsl:apply-templates mode="id" select="*[name(.) != 'title' and name(.) != 'email']"/>
+ </table-cell>
+ </table-row>
+ </table-body>
+ </table>
+</xsl:template>
+<!-- already process, so skip -->
+<xsl:template match="firstname|surname|initials" mode="id"/>
+<xsl:template mode="id" match="*">
+ <block><xsl:apply-templates select="."/></block>
+</xsl:template>
+<xsl:template mode="id" match="title">
+ <block font-weight="bold"><xsl:apply-templates/></block>
+</xsl:template>
+<xsl:template mode="id" match="email">
+ <block>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-email</xsl:with-param>
+ </xsl:call-template>
+ <xsl:text>: </xsl:text>
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+<xsl:template mode="id" match="web">
+ <block><xsl:apply-templates/></block>
+</xsl:template>
+<xsl:template mode="id" match="address">
+ <xsl:apply-templates select="."/>
+</xsl:template>
+<xsl:template mode="id" match="phone">
+ <block>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">
+ <xsl:choose>
+ <xsl:when test="@type='fax'">str-phone-fax</xsl:when>
+ <xsl:when test="@type='pager'">str-phone-pager</xsl:when>
+ <xsl:when test="@type='mobile'">str-phone-mobile</xsl:when>
+ <xsl:when test="@type='home'">str-phone-home</xsl:when>
+ <xsl:when test="@type='work'">str-phone-work</xsl:when>
+ <xsl:otherwise>str-phone</xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ </xsl:call-template>
+ <xsl:text>: </xsl:text>
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+
+<!-- work -->
+<xsl:template match="work">
+ <block keep-together="always">
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+<xsl:template match="work/organism">
+ <block xsl:use-attribute-sets="work-title-font"><xsl:apply-templates select="." mode="short"/></block>
+</xsl:template>
+
+<xsl:template match="work" mode="short">
+ <block keep-together.within-page="always">
+ <block xsl:use-attribute-sets="work-short-font"><xsl:apply-templates select="organism" mode="short"/></block>
+ <list-block>
+ <xsl:apply-templates select="post" mode="short"/>
+ </list-block>
+ </block>
+</xsl:template>
+<xsl:template match="post" mode="short">
+ <list-item>
+ <xsl:call-template name="list-label"/>
+ <list-item-body start-indent="body-start()">
+ <block>
+ <xsl:if test="title">
+ <xsl:apply-templates select="title" mode="short"/>
+ <xsl:text>; </xsl:text>
+ </xsl:if>
+ <xsl:apply-templates select="duration" mode="short"/>
+ <xsl:text>.</xsl:text>
+ </block>
+ </list-item-body>
+ </list-item>
+</xsl:template>
+
+<!-- post -->
+<xsl:template match="post">
+ <block keep-together.within-page="always">
+ <table width="100%" table-layout="fixed" space-after="6pt">
+ <table-column column-width="proportional-column-width(1)"/>
+ <table-column column-width="proportional-column-width(1)"/>
+ <table-body>
+ <table-row>
+ <table-cell>
+ <xsl:apply-templates select="title" mode="title"/>
+ </table-cell>
+ <table-cell>
+ <xsl:apply-templates select="supervisor|duration" mode="title"/>
+ </table-cell>
+ </table-row>
+ </table-body>
+ </table>
+ <block margin-left="24pt">
+ <xsl:apply-templates/>
+ </block>
+ </block>
+</xsl:template>
+<xsl:template match="post/supervisor|post/duration|post/title"/>
+<xsl:template match="post/title" mode="title">
+ <block xsl:use-attribute-sets="post-title-font"><xsl:apply-templates/></block>
+</xsl:template>
+<xsl:template match="supervisor" mode="title">
+ <block>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">str-supervisor</xsl:with-param>
+ </xsl:call-template>
+ <xsl:text>: </xsl:text>
+ <xsl:apply-templates mode="fullname" select="."/>
+ </block>
+</xsl:template>
+<xsl:template match="post/duration" mode="title">
+ <block><xsl:apply-templates/></block>
+</xsl:template>
+
+<!-- study -->
+<xsl:template match="study" mode="short">
+ <list-item>
+ <xsl:call-template name="list-label"/>
+ <list-item-body start-indent="body-start()">
+ <block>
+ <xsl:apply-templates select="studydomain"/>
+ <xsl:text> (</xsl:text>
+ <xsl:apply-templates select="duration"/>
+ <xsl:text>), </xsl:text>
+ <xsl:apply-templates select="organism" mode="short"/>
+ <xsl:text>.</xsl:text>
+ </block>
+ </list-item-body>
+ </list-item>
+</xsl:template>
+
+<!-- knowledge -->
+<xsl:template match="knowledge">
+ <block keep-together.within-page="always">
+ <block xsl:use-attribute-sets="knowledge-title-font">
+ <xsl:apply-templates select="name"/>
+ </block>
+ <table width="100%" table-layout="fixed" margin-left="24pt">
+ <table-column column-width="proportional-column-width(1)"
+ number-columns-repeated="{count(knownlist)}"/>
+ <table-header>
+ <table-row>
+ <xsl:apply-templates select="knownlist" mode="table-header"/>
+ </table-row>
+ </table-header>
+ <table-body>
+ <table-row>
+ <xsl:apply-templates select="knownlist"/>
+ </table-row>
+ </table-body>
+ </table>
+ </block>
+</xsl:template>
+<xsl:template match="knownlist" mode="table-header">
+ <table-cell>
+ <block font-weight="bold">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">
+ <xsl:choose>
+ <xsl:when test="@level='notions'" >str-level-notions</xsl:when>
+ <xsl:when test="@level='learning'">str-level-learning</xsl:when>
+ <xsl:otherwise>str-level-known</xsl:otherwise><!-- 'known' -->
+ </xsl:choose>
+ </xsl:with-param>
+ </xsl:call-template>
+ <xsl:text>:</xsl:text>
+ </block>
+ </table-cell>
+</xsl:template>
+<xsl:template match="knownlist">
+ <table-cell>
+ <block><xsl:apply-templates mode="short"/></block>
+ </table-cell>
+</xsl:template>
+
+<xsl:template match="language">
+ <block>
+ <xsl:apply-templates/><xsl:text>: </xsl:text>
+ <inline font-style="italic" keep-together.within-line="always">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="string">
+ <xsl:choose>
+ <xsl:when test="@level='notions'" >str-lang-notions</xsl:when>
+ <xsl:when test="@level='learning'">str-lang-learning</xsl:when>
+ <xsl:when test="@level='functional'" >str-lang-functional</xsl:when>
+ <xsl:otherwise>str-lang-known</xsl:otherwise><!-- 'known' -->
+ </xsl:choose>
+ </xsl:with-param>
+ </xsl:call-template>
+ </inline>
+ </block>
+</xsl:template>
+
+<!-- project/concours -->
+<xsl:template match="project|concours" mode="short">
+ <list-item>
+ <xsl:call-template name="list-label"/>
+ <list-item-body start-indent="body-start()">
+ <block>
+ <xsl:apply-templates select="organism" mode="short"/>
+ <xsl:text> (</xsl:text>
+ <xsl:apply-templates select="duration|year" mode="short"/>
+ <xsl:text>);</xsl:text>
+ <xsl:if test="description">
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="description" mode="short"/>
+ </xsl:if>
+ </block>
+ </list-item-body>
+ </list-item>
+</xsl:template>
+
+<xsl:template match="interest" mode="short">
+ <list-item>
+ <xsl:call-template name="list-label"/>
+ <list-item-body start-indent="body-start()">
+ <block><xsl:apply-templates mode="short"/></block>
+ </list-item-body>
+ </list-item>
+</xsl:template>
+
+</xsl:stylesheet>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cv_str.en.xml Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,28 @@
+<?xml version="1.0" standalone="yes"?>
+<gentext>
+<string name="str-page">page </string>
+<string name="str-page-of"> of </string>
+<string name="str-experience">Work Experience</string>
+<string name="str-formation">Studies</string>
+<string name="str-competences">Knowledges</string>
+<string name="str-languages">Languages</string>
+<string name="str-projects">Projects and Realisations</string>
+<string name="str-hobbies">Hobbies</string>
+<string name="str-email">Email</string>
+<string name="str-phone-fax">fax</string>
+<string name="str-phone-pager">pager</string>
+<string name="str-phone-mobile">mobile</string>
+<string name="str-phone-home">evenings</string>
+<string name="str-phone-work">day</string>
+<string name="str-phone">phone</string>
+<string name="str-supervisor">Supervisor</string>
+<string name="str-level-notions">Notions</string>
+<string name="str-level-learning">Learning</string>
+<string name="str-level-known">Known</string>
+<string name="str-lang-notions" >basic notions</string>
+<string name="str-lang-learning" >learning</string>
+<string name="str-lang-functional" >functional</string>
+<string name="str-lang-known">fluent</string>
+<string name="str-curriculum">Resume of </string>
+</gentext>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cv_str.fr.xml Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,27 @@
+<?xml version="1.0" standalone="yes"?>
+<gentext>
+<string name="str-page">page </string>
+<string name="str-page-of"> de </string>
+<string name="str-experience">Expériences professionnelles</string>
+<string name="str-formation">Formation</string>
+<string name="str-competences">Compétences</string>
+<string name="str-languages">Langues parlées et écrites</string>
+<string name="str-projects">Projets et réalisations</string>
+<string name="str-hobbies">Loisirs et intérêts</string>
+<string name="str-email">Courriel</string>
+<string name="str-phone-fax">télécopieur</string>
+<string name="str-phone-pager">téléavertisseur</string>
+<string name="str-phone-mobile">cellulaire</string>
+<string name="str-phone-home">soir</string>
+<string name="str-phone-work">jour</string>
+<string name="str-phone">téléphone</string>
+<string name="str-supervisor">Supérieur immédiat</string>
+<string name="str-level-notions">Notions</string>
+<string name="str-level-learning">En cours d'apprentissage</string>
+<string name="str-level-known">Acquis</string>
+<string name="str-lang-notions" >notions de base</string>
+<string name="str-lang-learning" >en apprentissage</string>
+<string name="str-lang-functional" >fonctionnel</string>
+<string name="str-lang-known">courant</string>
+<string name="str-curriculum">Curriculum Vitae de </string>
+</gentext>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/html.css Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,14 @@
+/* Standard style for the site. */
+body { background: black; color: silver }
+em { color: white }
+b, strong { color: teal }
+hr { color: teal }
+:visited { color: teal; text-decoration: none }
+:visited * { color: teal }
+:link { color: aqua; text-decoration: none }
+:link * { color: aqua }
+a:hover { color: lime; text-decoration: underline }
+a:hover * { color: lime }
+h1, h2, h3, h4, h5, h6 { color: teal }
+h1 *, h2 *, h3 *, h4 *, h5 *, h6 * { color: teal }
+blockquote { color: white; font-style: italic }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/html.xsl Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,436 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.1"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xt="http://www.jclark.com/xt"
+ xmlns="http://www.w3.org/1999/xhtml"
+ extension-element-prefixes="xt">
+
+<xsl:import href="common.xsl"/>
+
+ <xsl:output method="xml"
+ encoding="utf-8"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+ indent="yes"/>
+
+<xsl:param name="css-base-dir"/>
+<xsl:param name="stylesheet"><xsl:text>html.xsl</xsl:text></xsl:param>
+<xsl:param name="pdf-filename"><xsl:text>book.pdf</xsl:text></xsl:param>
+
+<xsl:template name="get-id">
+ <xsl:choose>
+ <xsl:when test="@id"><xsl:value-of select="@id"/></xsl:when>
+ <xsl:otherwise><xsl:value-of select="generate-id(.)"/></xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+<xsl:template name="parent-id">
+ <xsl:choose>
+ <xsl:when test="../@id"><xsl:value-of select="../@id"/></xsl:when>
+ <xsl:otherwise><xsl:value-of select="generate-id(..)"/></xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+<xsl:template name="next-id">
+ <xsl:choose>
+ <xsl:when test="following::*[1]/@id"><xsl:value-of select="following::*[1]/@id"/></xsl:when>
+ <xsl:otherwise><xsl:value-of select="generate-id(following::*[1])"/></xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+<xsl:template name="prec-id">
+ <xsl:choose>
+ <xsl:when test="preceding::*[1]/@id"><xsl:value-of select="preceding::*[1]/@id"/></xsl:when>
+ <xsl:otherwise><xsl:value-of select="generate-id(preceding::*[1])"/></xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- book processing -->
+<xsl:template match="book">
+ <html>
+ <head>
+ <xsl:choose>
+ <xsl:when test="docinfo">
+ <xsl:apply-templates select="docinfo" mode="heading"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="title" mode="heading"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <link href="{$css-base-dir}{$stylesheet}" media="screen" rel="stylesheet" type="text/css"/>
+ </head>
+ <body class="book">
+ <xsl:apply-templates select="docinfo/date"/>
+ <xsl:apply-templates/>
+ <xsl:apply-templates mode="book-toc"/>
+ <hr/>
+ <address>
+ <xsl:apply-templates select="docinfo/copyright"/>
+ <p>Aussi disponible au format <a href="{$pdf-filename}">PDF</a>.</p>
+ </address>
+ </body>
+ </html>
+</xsl:template>
+
+<xsl:template match="book/section" mode="book-toc">
+ <xsl:variable name="href">
+ <xsl:call-template name="get-id"/>
+ </xsl:variable>
+ <h2>
+ <a id="{$href}" href="{$href}.html">
+ <xsl:apply-templates select="title" mode="book-toc"/>
+ </a>
+ </h2>
+</xsl:template>
+
+<!-- title default processing -->
+<xsl:template match="title">
+ <h1><xsl:apply-templates/></h1>
+</xsl:template>
+<xsl:template match="subtitle">
+ <p class="subtitle"><em><xsl:apply-templates/></em></p>
+</xsl:template>
+
+<!-- normal name processing -->
+<xsl:template name="name">
+ <xsl:variable name="fullname">
+ <xsl:apply-templates select="firstname"/>
+ <xsl:if test="initials">
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="initials"/>
+ </xsl:if>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="surname"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="email">
+ <a href="mailto:{email/text()}" class="mailto">
+ <xsl:value-of select="$fullname"/>
+ </a>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$fullname"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="*" mode="fullname">
+ <xsl:call-template name="name"/>
+</xsl:template>
+<xsl:template match="email">
+ <a href="mailto:{.}"><xsl:value-of select="."/></a>
+</xsl:template>
+<xsl:template match="web">
+ <a href="{.}"><xsl:value-of select="."/></a>
+</xsl:template>
+<!-- simple address format, good for Canada -->
+<xsl:template match="address">
+ <xsl:apply-templates mode="address" select="street"/>
+ <xsl:value-of select="city"/>
+ (<xsl:value-of select="state"/>),
+ <xsl:value-of select="postcode"/><br/>
+ <xsl:apply-templates select="country" mode="address"/>
+</xsl:template>
+<xsl:template match="*" mode="address">
+ <xsl:apply-templates/><br/>
+</xsl:template>
+
+<!-- default docinfo processing -->
+<!-- normal is not process -->
+<xsl:template match="docinfo"/>
+<!-- date processing if directly selected -->
+<xsl:template match="date">
+ <address class="date">
+ <xsl:apply-templates/>
+ </address>
+</xsl:template>
+<!-- in heading, default is to not process. -->
+<xsl:template match="*" mode="heading"/>
+<xsl:template match="docinfo" mode="heading">
+ <xsl:apply-templates mode="heading"/>
+</xsl:template>
+<xsl:template match="title" mode="heading">
+ <title><xsl:apply-templates/></title>
+</xsl:template>
+<xsl:template match="author" mode="heading">
+ <meta name="author">
+ <xsl:attribute name="content">
+ <xsl:if test="firstname">
+ <xsl:apply-templates select="firstname"/><xsl:text> </xsl:text>
+ </xsl:if>
+ <xsl:if test="initials">
+ <xsl:apply-templates select="initials"/><xsl:text> </xsl:text>
+ </xsl:if>
+ <xsl:apply-templates select="surname"/>
+ </xsl:attribute>
+ </meta>
+</xsl:template>
+<xsl:template match="date" mode="heading">
+ <meta name="date" content="{text()}"/>
+</xsl:template>
+
+<!-- copyright footer processing -->
+<xsl:template match="copyright">
+ © <xsl:apply-templates select="holder"/>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="year"/>
+</xsl:template>
+<xsl:template match="holder">
+ <xsl:call-template name="name"/>
+</xsl:template>
+<xsl:template match="year">
+ <xsl:apply-templates/>
+ <xsl:if test="position() != last()">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+</xsl:template>
+
+<!-- nda docinfo processing -->
+<xsl:template match="*" mode="heading-nda"/>
+<xsl:template match="title" mode="heading-nda">
+ <title>
+ <xsl:apply-templates/><xsl:text> (Notes de l'auteur)</xsl:text>
+ </title>
+</xsl:template>
+<xsl:template match="docinfo" mode="heading-nda">
+ <xsl:apply-templates mode="heading-nda"/>
+ <xsl:apply-templates select='*[name()!="title"]' mode="heading"/>
+</xsl:template>
+
+<!-- para default processing -->
+<xsl:template match="para">
+ <p><xsl:apply-templates/></p>
+</xsl:template>
+
+<!-- formalpara processing -->
+<xsl:template match="formalpara/para">
+ <xsl:apply-templates/>
+</xsl:template>
+<xsl:template match="formalpara/title">
+ <strong><xsl:apply-templates/></strong>
+</xsl:template>
+<xsl:template match="formalpara">
+ <p><xsl:apply-templates/></p>
+</xsl:template>
+
+<!-- citation -->
+<xsl:template match="citation/author">
+ <address><xsl:apply-templates/></address>
+</xsl:template>
+<xsl:template match="citation">
+ <blockquote><xsl:apply-templates/></blockquote>
+</xsl:template>
+<xsl:template match="author/surname">
+ <xsl:apply-templates/>
+ <xsl:if test="following-sibling::author">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+</xsl:template>
+<xsl:template match="author/title">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<!-- list processing -->
+<xsl:template match="list">
+ <xsl:choose>
+ <xsl:when test="@type='none'">
+ <ul>
+ <xsl:apply-templates/>
+ </ul>
+ </xsl:when>
+ <xsl:otherwise>
+ <ol type="{@id}">
+ <xsl:apply-templates/>
+ </ol>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+<xsl:template match="shortlist">
+ <p><xsl:apply-templates mode="short"/></p>
+</xsl:template>
+
+<xsl:template match="item|listitem">
+ <li><xsl:apply-templates/></li>
+</xsl:template>
+
+<!-- inline element -->
+<xsl:template match="emphasis">
+ <em><xsl:apply-templates/></em>
+</xsl:template>
+<xsl:template match="term">
+ <em class="term"><xsl:apply-templates/></em>
+</xsl:template>
+<xsl:template match="foreign">
+ <em class="foreign"><xsl:apply-templates/></em>
+</xsl:template>
+<xsl:template match="replaceable">
+ <em class="replaceable">
+ <xsl:text>[</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>]</xsl:text>
+ </em>
+</xsl:template>
+<xsl:template match="literal">
+ <tt class="literal"><xsl:apply-templates/></tt>
+</xsl:template>
+<xsl:template match="acronym[@text]">
+ <acronym title="{@text}"><xsl:apply-templates/></acronym>
+</xsl:template>
+<xsl:template match="acronym">
+ <acronym><xsl:apply-templates/></acronym>
+</xsl:template>
+
+<xsl:template match="subscript">
+ <sub><xsl:apply-templates/></sub>
+</xsl:template>
+<xsl:template match="superscript">
+ <sup><xsl:apply-templates/></sup>
+</xsl:template>
+
+<xsl:template match="section" mode="navbar-name">
+ <xsl:value-of select="title/text()"/>
+</xsl:template>
+
+<xsl:template match="section|story|poetry" mode="navbar-link">
+ <xsl:call-template name="get-id"/>
+</xsl:template>
+
+<xsl:template name="navbar-link">
+ <xsl:param name="prefix"></xsl:param>
+ <a>
+ <xsl:attribute name="href">
+ <xsl:apply-templates select="." mode="navbar-link"/>
+ <xsl:text>.html</xsl:text>
+ </xsl:attribute>
+ <xsl:value-of select="$prefix"/>
+ <xsl:apply-templates select="." mode="navbar-name"/>
+ </a><br/>
+</xsl:template>
+
+<xsl:template match="section" mode="navbar-prec">
+ <xsl:call-template name="navbar-link">
+ <xsl:with-param name="prefix">
+ <xsl:text>Section précédente: </xsl:text>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+<xsl:template match="section" mode="navbar-next">
+ <xsl:call-template name="navbar-link">
+ <xsl:with-param name="prefix">
+ <xsl:text>Section suivante: </xsl:text>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template match="section" mode="navbar-section">
+ <xsl:apply-templates
+ select="preceding-sibling::section[1]"
+ mode="navbar-prec"/>
+ <xsl:apply-templates
+ select="following-sibling::section[1]"
+ mode="navbar-next"/>
+ <xsl:variable name="section-ref">
+ <xsl:call-template name="get-id"/>
+ </xsl:variable>
+ <a href="index.html#{$section-ref}">Retour à la table des matières</a><br/>
+</xsl:template>
+
+<!-- The book-toc section -->
+<xsl:template match="book/section">
+ <xsl:variable name="href">
+ <xsl:call-template name="get-id"/>
+ </xsl:variable>
+ <xt:document href="{$href}.html" method="xml" encoding="utf-8"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+ indent="yes">
+ <html>
+ <head>
+ <xsl:apply-templates select="title" mode="heading"/>
+ <link href="{$css-base-dir}{$stylesheet}" media="screen" rel="stylesheet" type="text/css"/>
+ </head>
+ <body>
+ <h1><xsl:value-of select="title"/></h1>
+ <xsl:apply-templates select="child::*[name(.) != 'story' or name(.)!= 'poetry']"/>
+ <ul>
+ <xsl:apply-templates mode="section-toc"/>
+ </ul>
+ <hr/>
+ <address>
+ <xsl:apply-templates select="../copyright"/>
+ </address>
+ <xsl:apply-templates mode="navbar-section" select="."/>
+ </body>
+ </html>
+ </xt:document>
+ <xsl:apply-templates select="story|poetry"/>
+</xsl:template>
+
+<xsl:template match="section/title" mode="book-toc">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<!-- anything else is clear -->
+<xsl:template match="*" mode="book-toc"/>
+<xsl:template match="*" mode="section-toc"/>
+<xsl:template match="*" mode="navbar-section"/>
+
+<!-- preambule section -->
+<xsl:template match="preambule">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="preambule/title">
+ <h2><xsl:apply-templates/></h2>
+</xsl:template>
+
+<!-- short representation -->
+<xsl:template match="list" mode="short">
+ <xsl:param name="ending">
+ <xsl:text>.</xsl:text>
+ </xsl:param>
+ <xsl:apply-templates mode="short">
+ <xsl:with-param name="ending" select="$ending"/>
+ </xsl:apply-templates>
+</xsl:template>
+<xsl:template match="listitem" mode="short">
+ <xsl:apply-templates mode="short"/><xsl:text>, </xsl:text>
+</xsl:template>
+<xsl:template match="listitem[position() = last()]" mode="short">
+ <xsl:param name="ending">
+ <xsl:text>.</xsl:text>
+ </xsl:param>
+ <xsl:apply-templates mode="short"/><xsl:value-of select="$ending"/>
+</xsl:template>
+<xsl:template match="item" mode="short">
+ <xsl:apply-templates/><xsl:text>, </xsl:text>
+</xsl:template>
+<xsl:template match="item[position() = last()]" mode="short">
+ <xsl:param name="ending">
+ <xsl:text>.</xsl:text>
+ </xsl:param>
+ <xsl:apply-templates/><xsl:value-of select="$ending"/>
+</xsl:template>
+<xsl:template match="organism" mode="short">
+ <xsl:choose>
+ <xsl:when test="web">
+ <a><xsl:attribute name="href">
+ <xsl:apply-templates select="web"/>
+ </xsl:attribute><xsl:apply-templates select="name"/></a>
+ </xsl:when>
+ <xsl:otherwise><xsl:apply-templates select="name"/></xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="ulink">
+ <a>
+ <xsl:attribute name="href">
+ <xsl:value-of select="@url"/>
+ </xsl:attribute>
+ <xsl:apply-templates/>
+ </a>
+</xsl:template>
+
+<xsl:template match="section/title"/>
+<xsl:template match="section/subtitle"/>
+
+
+</xsl:stylesheet>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/masters_print.xsl Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.1"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/XSL/Format">
+
+<xsl:template name="master-set">
+ <layout-master-set>
+ <simple-page-master master-name="book"
+ margin-top="1cm" margin-bottom="1cm"
+ margin-left="1cm" margin-right="1cm">
+ <region-body margin-top="1cm" margin-bottom="1cm"/>
+ <region-before extent="1cm" precedence="true"/>
+ <region-after extent="1cm" precedence="true"/>
+ </simple-page-master>
+ <page-sequence-master master-name="book-sequence">
+ <repeatable-page-master-reference master-reference="book"/>
+ </page-sequence-master>
+ </layout-master-set>
+</xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/poetry.css Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,1 @@
+@import "html.css";
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/poetry_html.xsl Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,174 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.1"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xt="http://www.jclark.com/xt"
+ xmlns="http://www.w3.org/1999/xhtml"
+ extension-element-prefixes="xt">
+ <xsl:import href="html.xsl"/>
+ <xsl:output method="xml"
+ encoding="utf-8"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+ indent="yes"/>
+
+<xsl:param name="stylesheet"><xsl:text>poetry.css</xsl:text></xsl:param>
+<xsl:param name="pdf-filename"><xsl:text>poetry.pdf</xsl:text></xsl:param>
+
+<xsl:template match="poetry" mode="section-toc">
+ <xsl:variable name="href">
+ <xsl:call-template name="get-id"/>
+ </xsl:variable>
+ <li>
+ <a href="{$href}.html"><xsl:value-of select="docinfo/title"/></a>
+ <xsl:if test="nda">
+ [<a href="{$href}_nda.html">NdA</a>]
+ </xsl:if>
+ </li>
+</xsl:template>
+
+<xsl:template match="section" mode="book-toc">
+ <xsl:variable name="href">
+ <xsl:call-template name="get-id"/>
+ </xsl:variable>
+ <li>
+ <a href="{$href}.html"><xsl:value-of select="title"/></a>
+ </li>
+</xsl:template>
+
+<xsl:template match="poetry" mode="navbar-name">
+ <xsl:choose>
+ <xsl:when test="docinfo/title">
+ <xsl:value-of select="docinfo/title/text()"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="poem/title/text()"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="poetry" mode="navbar-prec">
+ <xsl:call-template name="navbar-link">
+ <xsl:with-param name="prefix">
+ <xsl:text>Précédent: </xsl:text>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+<xsl:template match="poetry" mode="navbar-next">
+ <xsl:call-template name="navbar-link">
+ <xsl:with-param name="prefix">
+ <xsl:text>Suivant: </xsl:text>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+<xsl:template match="poetry" mode="navbar-poetry">
+ <xsl:choose>
+ <xsl:when test="preceding-sibling::poetry[1]">
+ <xsl:apply-templates
+ select="preceding-sibling::poetry[1]"
+ mode="navbar-prec"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates
+ select="../preceding-sibling::section[last()]"
+ mode="navbar-prec"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="following-sibling::poetry[1]">
+ <xsl:apply-templates
+ select="following-sibling::poetry[1]"
+ mode="navbar-next"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates
+ select="../following-sibling::*[1]"
+ mode="navbar-next"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:variable name="section-ref">
+ <xsl:call-template name="parent-id"/>
+ </xsl:variable>
+ <a href="{$section-ref}.html">Retour à la section</a><br/>
+</xsl:template>
+
+<!-- poetry section -->
+<xsl:template match="poetry/poem">
+ <xsl:variable name="href">
+ <xsl:call-template name="parent-id"/>
+ </xsl:variable>
+ <xt:document href="{$href}.html" method="xml" encoding="utf-8"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+ indent="yes">
+ <html>
+ <head>
+ <xsl:apply-templates select="../docinfo" mode="heading"/>
+ <link href="{$css-base-dir}{$stylesheet}" media="screen" rel="stylesheet" type="text/css"/>
+ </head>
+ <body>
+ <xsl:apply-templates/>
+ <xsl:apply-templates select="../docinfo/date"/>
+ <hr/>
+ <address>
+ <xsl:apply-templates select="../docinfo/copyright"/>
+ </address>
+ <xsl:if test="../nda">
+ <a href="{$href}_nda.html">Notes de l'auteur.</a><br/>
+ </xsl:if>
+ <xsl:apply-templates mode="navbar-poetry" select=".."/>
+ </body>
+ </html>
+ </xt:document>
+</xsl:template>
+
+<xsl:template match="poetry/nda">
+ <xsl:variable name="href">
+ <xsl:call-template name="parent-id"/>
+ </xsl:variable>
+ <xt:document method="xml" encoding="utf-8" href="{$href}_nda.html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+ indent="yes">
+ <html>
+ <head>
+ <xsl:apply-templates select="../docinfo" mode="heading-nda"/>
+ <link href="{$css-base-dir}{$stylesheet}" media="screen" rel="stylesheet" type="text/css"/>
+ </head>
+ <body>
+ <xsl:apply-templates/>
+ <hr/>
+ <address>
+ <xsl:apply-templates select="../docinfo/copyright"/>
+ </address>
+ <a href="{$href}.html">Retour au poème.</a><br/>
+ <xsl:apply-templates mode="navbar-poetry" select=".."/>
+ </body>
+ </html>
+ </xt:document>
+</xsl:template>
+
+<!-- strophe -->
+<xsl:template match="strophe">
+ <p><xsl:apply-templates/></p>
+</xsl:template>
+
+<!-- verse -->
+<xsl:template match="verse">
+ <xsl:apply-templates/><br/>
+</xsl:template>
+
+<!-- cue -->
+<xsl:template match="cue">
+ <p><xsl:apply-templates/></p>
+</xsl:template>
+<xsl:template match="caracter">
+ <strong class="caracter">
+ <xsl:apply-templates/>
+ </strong><xsl:text>: </xsl:text>
+</xsl:template>
+<xsl:template match="cue/para">
+ <xsl:apply-templates/>
+</xsl:template>
+
+</xsl:stylesheet>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/poetry_print.xsl Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,196 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.1"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xt="http://www.jclark.com/xt"
+ extension-element-prefixes="xt"
+ xmlns="http://www.w3.org/1999/XSL/Format">
+
+<xsl:import href="common.xsl"/>
+<xsl:import href="print.xsl"/>
+<xsl:import href="masters_print.xsl"/>
+
+<xsl:output method="xml" indent="yes"/>
+
+<xsl:attribute-set name="standard-block">
+ <xsl:attribute name="text-indent">10mm</xsl:attribute>
+ <xsl:attribute name="space-before">10pt</xsl:attribute>
+ <xsl:attribute name="space-before.conditionnaly">discard</xsl:attribute>
+ <xsl:attribute name="text-align">justify</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:template name="static-content">
+ <xsl:param name="title"/>
+ <static-content flow-name="xsl-region-before">
+ <block border-after-style="solid">
+ <table width="100%" table-layout="fixed">
+ <table-column column-width="proportional-column-width(1)"
+ number-columns-repeated="2"/>
+ <table-body>
+ <table-row>
+ <table-cell>
+ <block text-align="start"><xsl:value-of select="$title"/></block>
+ </table-cell>
+ </table-row>
+ </table-body>
+ </table>
+ </block>
+ </static-content>
+ <static-content flow-name="xsl-region-after">
+ <block border-before-style="solid">
+ <table width="100%" table-layout="fixed">
+ <table-column column-width="proportional-column-width(1)"
+ number-columns-repeated="2"/>
+ <table-body>
+ <table-row>
+ <table-cell>
+ <block text-align="end">
+ <xsl:text>page </xsl:text>
+ <page-number/>
+ </block>
+ </table-cell>
+ </table-row>
+ </table-body>
+ </table>
+ </block>
+ </static-content>
+</xsl:template>
+
+<!-- book -->
+<xsl:template match="book">
+ <root>
+ <xsl:call-template name="master-set"/>
+ <xsl:apply-templates select="section"/>
+ </root>
+</xsl:template>
+
+<xsl:template match="/book/section">
+ <page-sequence master-reference="book-sequence">
+ <xsl:call-template name="static-content">
+ <xsl:with-param name="title">
+ <xsl:apply-templates select="title"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ <flow flow-name="xsl-region-body">
+ <xsl:apply-templates select="*[name()!='poetry']"/>
+ </flow>
+ </page-sequence>
+ <xsl:apply-templates select="poetry"/>
+</xsl:template>
+
+<xsl:template match="poetry">
+ <page-sequence master-reference="book-sequence">
+ <xsl:call-template name="static-content">
+ <xsl:with-param name="title">
+ <xsl:apply-templates select="docinfo/title"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ <flow flow-name="xsl-region-body">
+ <xsl:apply-templates/>
+ </flow>
+ </page-sequence>
+</xsl:template>
+
+<xsl:template match="section/title">
+ <block xsl:use-attribute-sets="verylarge-title-font">
+ <xsl:attribute name="space-after">5pt</xsl:attribute>
+ <xsl:attribute name="space-before">10pt</xsl:attribute>
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+
+<xsl:template match="poem/title">
+ <block xsl:use-attribute-sets="large-title-font">
+ <xsl:attribute name="space-after">5pt</xsl:attribute>
+ <xsl:attribute name="space-before">10pt</xsl:attribute>
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+
+<xsl:template match="nda">
+ <block border-top="solid" border-bottom="solid"
+ font-size="75%" font-style="italic"
+ padding-top="10pt" padding-bottom="10pt"
+ space-before="1in" space-before.conditionnaly="discard"
+ margin-left=".5in" margin-right=".5in">
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+
+<xsl:template match="para">
+ <block xsl:use-attribute-sets="standard-block">
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+
+<!-- dialog template -->
+<xsl:template match="dialog">
+ <block xsl:use-attribute-sets="standard-block" start-indent="1cm">
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+<xsl:template match="cite">
+ <block xsl:use-attribute-sets="standard-block" font-style="italic">
+ <xsl:text>"</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>"</xsl:text>
+ </block>
+</xsl:template>
+
+<xsl:template match="citation">
+ <block xsl:use-attribute-sets="standard-block" font-style="italic"
+ font-size="75%" margin-left="4in">
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+
+<xsl:template match="poem">
+ <block xsl:use-attribute-sets="standard-block">
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+
+<xsl:template match="strophe">
+ <block xsl:use-attribute-sets="standard-block">
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+
+<xsl:template match="verse">
+ <block><xsl:apply-templates/></block>
+</xsl:template>
+
+<xsl:template match="cue">
+ <block xsl:use-attribute-sets="standard-block" text-indent="0pt">
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+<xsl:template match="caracter">
+ <inline font-weight="bold">
+ <xsl:apply-templates/>
+ </inline>
+ <xsl:text>: </xsl:text>
+</xsl:template>
+<xsl:template match="cue/para">
+ <xsl:apply-templates/>
+</xsl:template>
+
+</xsl:stylesheet>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: xml
+sgml-omittag:nil
+sgml-shorttag:nil
+sgml-namecase-general:nil
+sgml-general-insert-case:lower
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:nil
+sgml-parent-document:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+outline-regexp:"<xsl:"
+End:
+-->
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/print.dsl Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,471 @@
+<!doctype dsssl-specification [
+<!entity % decls "(features? & char-repertoire?)">
+<!element dsssl-specification O O (%decls;, style-specification+)>
+<!attlist dsssl-specification
+ dsssl name #fixed dsssl-specification
+>
+<!element style-specification - O (%decls;, style*)>
+<!attlist style-specification
+ dsssl name #fixed style-specification
+ id id #required
+ partial (partial | complete) complete
+ use idrefs #implied
+>
+<!element char-repertoire - o empty>
+<!attlist char-repertoire
+ dsssl name #fixed character-repertoire
+ name cdata #required
+>
+<!element features - o (#pcdata)>
+<!element style - - rcdata>
+<!attlist style
+ dsssl name #fixed style-specification-body
+>
+]>
+<dsssl-specification>
+<style-specification id=common partial>
+<char-repertoire name="UNREGISTERED::SGML Open//Character Repertoire::ISO/IEC 10646">
+<features>table</features>
+<style>
+(element quote
+ (sosofo-append
+ (make character
+ char: #\left-double-quotation-mark)
+ (process-children)
+ (make character
+ char: #\right-double-quotation-mark)))
+
+(element emph
+ (make sequence
+ font-weight: 'bold))
+
+(define monospace-font-family "iso-monospace")
+
+(element code
+ (make sequence
+ font-family: monospace-font-family))
+
+(declare-initial-value writing-mode 'left-to-right)
+(declare-initial-value font-size 12pt)
+(declare-initial-value line-spacing 14pt)
+(declare-initial-value font-family "iso-serif")
+
+(define-unit mm .001m)
+(define-unit in 25.4mm)
+(define-unit pt (/ 1in 72))
+(define-unit pi (/ 1in 6))
+
+(define paragraph-indent 20pt)
+
+(element p
+ (make paragraph
+ first-line-start-indent: (if (first-sibling?)
+ 0pt
+ paragraph-indent)))
+
+(define chapter-title-style
+ (style
+ font-size: 18pt
+ line-spacing: 24pt
+ quadding: 'center))
+
+(element (chapter title)
+ (sosofo-append
+ (make paragraph
+ use: chapter-title-style
+ span: 2
+ (literal "Chapter "
+ (format-number (child-number) "1")))
+ (make paragraph
+ use: chapter-title-style
+ span: 2)))
+
+(element (section title)
+ (make paragraph
+ quadding: 'start
+ (format-number-list (hierarchical-number '("CHAPTER" "SECTION"))
+ "1"
+ ".")
+ (literal ". ")
+ (process-children)))
+
+(define indent-step 60pt)
+
+(element ol
+ (make sequence
+ start-indent: (+ (inherited-start-indent)
+ indent-step)))
+
+(element li
+ (make paragraph
+ first-line-start-indent: (- indent-step)
+ (make line-field
+ field-width: indent-step
+ field-align: 'start
+ (literal (format-number (child-number)
+ (if (have-ancestor? '("OL" "OL"))
+ "a"
+ "1"))))
+ (process-children)))
+
+(element dl
+ (make table
+ table-width: (- (display-size)
+ (inherited-start-indent)
+ (inherited-end-indent))
+ (make sequence
+ start-indent: 0pt
+ end-indent: 0pt
+ (make table-column
+ column-number: 2
+ width: (table-unit 1))
+ (process-children))))
+
+(element dt
+ (make table-cell
+ starts-row?: #t))
+
+(element dd
+ (make table-cell
+ start-indent: 10pt
+ ends-row?: #t))
+
+(element caption
+ (make paragraph))
+
+(element artwork
+ (make external-graphic
+ display?: #t
+ scale: 'to-fit
+ notation-system-id: (notation-generated-system-id
+ (entity-notation
+ (attribute-string "CONTENT")))
+ system-id: (entity-generated-system-id
+ (attribute-string "CONTENT"))))
+
+(element xref
+ (with-mode xref
+ (process-node-list (element-with-id (attribute-string "REFID")))))
+
+</style>
+</style-specification>
+<style-specification id=softcopy use=common>
+<style>
+
+(mode xref
+ (element chapter
+ (make link
+ destination: (current-node-address)
+ color: blue-color
+ (process-first-descendant 'title)))
+ (element figure
+ (make multi-mode
+ multi-modes: '(#f popup)
+ principal-mode-simultaneous?: #t
+ (process-first-descendant 'caption)
+ (make vertical-scroll
+ label: 'popup
+ (with-mode #f
+ (process-node-list (current-node)))))))
+
+(define rgb
+ (color-space "ISO/IEC 10179:1995//Color Space Family::Device RGB"))
+
+(define blue-color (rgb 0 0 1))
+
+(element doc
+ (make vertical-scroll
+ left-margin: 20pt))
+
+(element (doc title)
+ (make paragraph
+ font-size: 28pt
+ line-spacing: 32pt
+ quadding: 'center))
+
+(element note
+ (make multi-mode
+ multi-modes: '(#f expand)
+ (make marginalia
+ marginalia-side: 'start
+ (make character
+ font-name: "UNREGISTERED::SGML Open//Font::Icons"
+ glyph-id: "UNREGISTERED::SGML Open//Glyph::Light bulb icon"))
+ (make vertical-scroll
+ label: 'expand
+ (make paragraph))))
+
+</style>
+</style-specification>
+<style-specification id=hardcopy use=common>
+<features>page multi-column query expression</features>
+<style>
+
+(define chapter-opening-sink 12pi)
+(define column-measure 20pi)
+(define column-separation 2pi)
+(define page-width 210mm)
+(define page-height 297mm)
+(define inner-margin 6pi)
+(define column-depth 54pi)
+(define top-margin 9pi) ; top of page to top of column
+(define header-margin 5pi) ; top of page to top of header
+(define header-line-spacing 12pt)
+(define footer-line-spacing 12pt)
+(define folio-margin 5pi) ; from bottom of folio to bottom of page
+
+(define page-region-width
+ (+ column-measure column-separation column-measure))
+(define footer-height
+ (- page-height top-margin column-depth folio-margin))
+(define header-height
+ (- top-margin header-margin))
+(define normal-page-region-height
+ (- page-height header-margin folio-margin))
+
+(element (doc title)
+ (sosofo-append
+ (make page-sequence
+ initial-page-models: (list chapter-first-page)
+ (make paragraph
+ font-size: 28pt
+ line-spacing: 32pt
+ quadding: 'center))
+ (table-of-contents)))
+
+(declare-reference-value-type chapter-title)
+(declare-reference-value-type section-title)
+
+(element (chapter title)
+ (sosofo-append
+ (make paragraph
+ use: chapter-title-style
+ span: 2
+ (literal "Chapter "
+ (format-number (child-number) "1")))
+ (make paragraph
+ use: chapter-title-style
+ span: 2
+ chapter-title: (process-children))))
+
+(element (section title)
+ (make paragraph
+ quadding: 'start
+ section-title: (process-children)
+ (format-number-list (hierarchical-number '("CHAPTER" "SECTION"))
+ "1"
+ ".")
+ (literal ". ")
+ (process-children)))
+
+(define-page-model chapter-first-page
+ (region
+ (x-origin inner-margin)
+ (y-origin folio-margin)
+ (width page-region-width)
+ (height (- page-height top-margin chapter-opening-sink folio-margin))
+ (flow #f)
+ (footer
+ (contents-alignment 'end)
+ (height footer-height)
+ (generate (make-page-footer)))
+ (filling-direction 'top-to-bottom)))
+
+(define-page-model chapter-recto-page
+ (region
+ (x-origin inner-margin)
+ (y-origin folio-margin)
+ (width page-region-width)
+ (height normal-page-region-height)
+ (header
+ (generate (make paragraph
+ line-spacing: header-line-spacing
+ quadding: 'end
+ font-posture: 'italic
+ (asis-indirect-sosofo
+ (find-reference-value 'section-title))))
+ (contents-alignment 'start)
+ (height header-height))
+ (footer
+ (contents-alignment 'end)
+ (height footer-height)
+ (generate (make-page-footer)))
+ (flow #f))
+ (filling-direction 'top-to-bottom))
+
+(define-page-model chapter-verso-page
+ (region
+ (x-origin (- page-width inner-margin page-region-width))
+ (y-origin folio-margin)
+ (width page-region-width)
+ (height normal-page-region-height)
+ (header
+ (generate (make paragraph
+ line-spacing: header-line-spacing
+ quadding: 'start
+ font-posture: 'italic
+ (asis-indirect-sosofo
+ (find-reference-value 'chapter-title))))
+ (contents-alignment start)
+ (height header-height))
+ (footer
+ (contents-alignment 'end)
+ (height footer-height)
+ (generate (make-page-footer)))
+ (flow #f))
+ (filling-direction 'top-to-bottom))
+
+(define (find-reference-value type)
+ (first-area-reference-value type
+ default: (last-preceding-area-reference-value
+ type)))
+
+(define (make-page-footer)
+ (make paragraph
+ quadding: 'center
+ line-spacing: footer-line-spacing
+ (number-indirect-sosofo (page-number))))
+
+(element chapter
+ (make page-sequence
+ force-first-page: 'front
+ initial-page-models: (list chapter-first-page)
+ repeat-page-models: (list chapter-verso-page
+ chapter-recto-page)
+ blank-back-page-model: chapter-verso-page
+ (make column-set-sequence
+ column-set-model: double-columns)))
+
+(define-column-set-model double-columns
+ (column-subset
+ (column
+ (x-origin 0pt)
+ (width column-measure))
+ (column
+ (x-origin (+ column-measure column-separation))
+ (width column-measure))
+ (flow
+ (main body-text)
+ (figure top-float bottom-float)
+ (footnote footnote))))
+
+(element figure
+ (sync (make anchor
+ display?: #t)
+ (make sequence
+ keep: #t
+ label: 'figure
+ span: (if (equal? (attribute-string "SPAN")
+ "SPAN")
+ 2
+ 1))
+ type: 'page
+ max: 1))
+
+(define footnote-font-size 8pt)
+(define superscript-shift-ems .4) ; ems to shift up superscript for footnote
+;; factor by which to multiply font size for superscripts
+(define superscript-size-factor .6)
+
+(element note
+ (let ((footnote-label
+ (literal (format-number (note-number) "1"))))
+ (sync (make sequence
+ font-size: (* (inherited-font-size)
+ superscript-size-factor)
+ placement-offset: (- (* (inherited-font-size)
+ superscript-shift-ems))
+ footnote-label)
+ (make paragraph
+ label: 'footnote
+ font-size: footnote-font-size
+ footnote-label
+ (literal ". ")
+ (process-children))
+ type: 'page)))
+
+;; Footnotes are numbered per chapter.
+
+(define (note-number)
+ (list-ref (element-number-list '("CHAPTER" "NOTE"))
+ 1))
+
+(mode xref
+ (element figure
+ (sosofo-append
+ (literal "Figure "
+ (format-number (element-number) "1"))
+ (literal ", page")
+ (number-indirect-sosofo (page-number))))
+ (element chapter
+ (sosofo-append
+ (literal "Chapter "
+ (format-number (child-number) "1")
+ ", ")
+ (make sequence
+ font-posture: 'italic
+ (process-first-descendant 'title))
+ (literal ", page")
+ (number-indirect-sosofo (page-number)))))
+
+(define (table-of-contents)
+ (make page-sequence
+ force-first-page: 'front
+ repeat-page-models: (list chapter-first-page)
+ (make sequence
+ (make paragraph
+ use: chapter-title-style
+ (literal "Table of Contents"))
+ (with-mode toc
+ (process-node-list (q-element 'title (tree-root (current-node))))))))
+
+(mode toc
+ (element title
+ (make paragraph
+ (literal (format-number (ancestor-child-number "CHAPTER") "1"))
+ (if (have-ancestor? "SECTION")
+ (literal "."
+ (format-number (ancestor-child-number "SECTION") "1"))
+ (empty-sosofo))
+ (literal ". "))
+ (process-children)
+ (make leader (literal "."))
+ (number-indirect-sosofo (page-number))))
+
+</style>
+</style-specification>
+<style-specification id=hardcopy2 use=hardcopy>
+<style>
+(element xref
+ (map-constructor (let ((x (current-node)))
+ (lambda()
+ (process-xref x)))
+ (element-with-id (attribute-string "REFID"))))
+
+(define (process-xref xref-node)
+ (if (match-element? 'chapter (current-node))
+ (with-mode xref
+ (process-node-list (current-node)))
+ (sosofo-append
+ (literal "Figure "
+ (format-number (element-number) "1"))
+ (general-indirect-sosofo page-ref-if-different
+ (page-number first-area-of-node: (current-node))
+ (page-number first-area-of-node: xref-node)))))
+
+(define (page-ref-if-different figure-page current-page)
+ (if (equal? figure-page current-page)
+ (empty-sosofo)
+ (literal ", page "
+ (format-number figure-page "1"))))
+
+</style>
+</style-specification>
+</dsssl-specification>
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: dsssl
+sgml-indent-step:0
+sgml-indent-data:nil
+End:
+-->
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/print.xsl Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,162 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.1"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xt="http://www.jclark.com/xt"
+ extension-element-prefixes="xt"
+ xmlns="http://www.w3.org/1999/XSL/Format">
+<xsl:import href="common.xsl"/>
+ <xsl:output method="xml"
+ indent="yes"/>
+
+<xsl:attribute-set name="verylarge-title-font">
+ <xsl:attribute name="font-size">18pt</xsl:attribute>
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+</xsl:attribute-set>
+<xsl:attribute-set name="large-title-font">
+ <xsl:attribute name="font-size">16pt</xsl:attribute>
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+</xsl:attribute-set>
+<xsl:attribute-set name="medium-title-font">
+ <xsl:attribute name="font-size">14pt</xsl:attribute>
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+</xsl:attribute-set>
+<xsl:attribute-set name="small-title-font">
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
+</xsl:attribute-set>
+<xsl:attribute-set name="default-font">
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:template name="list-label">
+ <xsl:param name="labeltext"/>
+ <!-- <xsl:param name="labeltext">
+ <xsl:text>•</xsl:text>
+ </xsl:param> -->
+ <list-item-label end-indent="label-end()">
+ <block start-indent="5mm"><xsl:value-of select="$labeltext"/></block>
+ </list-item-label>
+</xsl:template>
+
+<!-- normal name processing -->
+<!-- should be move in common.xsl -->
+<xsl:template name="name">
+ <xsl:apply-templates select="firstname"/>
+ <xsl:if test="initials">
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="initials"/>
+ </xsl:if>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="surname"/>
+</xsl:template>
+
+<xsl:template match="address">
+ <xsl:apply-templates mode="address" select="street"/>
+ <block>
+ <xsl:value-of select="city"/>
+ (<xsl:value-of select="state"/>),
+ <xsl:value-of select="postcode"/>
+ </block>
+ <xsl:apply-templates select="country" mode="address"/>
+</xsl:template>
+<xsl:template match="*" mode="address">
+ <block><xsl:apply-templates/></block>
+</xsl:template>
+
+<xsl:template match="organism" mode="short">
+ <xsl:apply-templates select="name"/>
+</xsl:template>
+
+<!-- para default processing -->
+<xsl:template match="para">
+ <block text-align="justify"><xsl:apply-templates/></block>
+</xsl:template>
+
+<!-- formalpara processing -->
+<xsl:template match="formalpara/para">
+ <xsl:apply-templates/>
+</xsl:template>
+<xsl:template match="formalpara/title">
+ <inline font-weight="bold"><xsl:apply-templates/></inline>
+</xsl:template>
+<xsl:template match="formalpara">
+ <block><xsl:apply-templates/></block>
+</xsl:template>
+
+<!-- list processing -->
+<xsl:template match="list">
+ <list-block>
+ <xsl:apply-templates/>
+ </list-block>
+</xsl:template>
+<xsl:template match="shortlist">
+ <block margin-left="24pt"><xsl:apply-templates mode="short"/></block>
+</xsl:template>
+
+<xsl:template match="listitem">
+ <list-item>
+ <xsl:call-template name="list-label"/>
+ <list-item-body start-indent="body-start()">
+ <xsl:apply-templates/>
+ </list-item-body>
+ </list-item>
+</xsl:template>
+
+<xsl:template match="item">
+ <list-item>
+ <xsl:call-template name="list-label"/>
+ <list-item-body start-indent="body-start()">
+ <block><xsl:apply-templates/></block>
+ </list-item-body>
+ </list-item>
+</xsl:template>
+
+<!-- inline element -->
+<xsl:template match="emphasis">
+ <inline font-style="italic"><xsl:apply-templates/></inline>
+</xsl:template>
+<xsl:template match="term">
+ <inline text-decoration="underline"><xsl:apply-templates/></inline>
+</xsl:template>
+<xsl:template match="foreign">
+ <inline font-style="italic"><xsl:apply-templates/></inline>
+</xsl:template>
+<xsl:template match="replaceable">
+ <inline font-style="italic">
+ <xsl:text>[</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>]</xsl:text>
+ </inline>
+</xsl:template>
+<xsl:template match="literal">
+ <inline font-style="Courier"><xsl:apply-templates/></inline>
+</xsl:template>
+
+<xsl:template match="subscript">
+ <inline vertical-align="sub" font-size="60%"><xsl:apply-templates/></inline>
+</xsl:template>
+
+<xsl:template match="superscript">
+ <inline vertical-align="super" font-size="60%"><xsl:apply-templates/></inline>
+</xsl:template>
+
+</xsl:stylesheet>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: xml
+sgml-omittag:nil
+sgml-shorttag:nil
+sgml-namecase-general:nil
+sgml-general-insert-case:lower
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:nil
+sgml-parent-document:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+outline-regexp:"\<xsl:"
+End:
+-->
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/story_html.xsl Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,246 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.1"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xt="http://www.jclark.com/xt"
+ extension-element-prefixes="xt"
+ xmlns="http://www.w3.org/1999/xhtml">
+ <xsl:import href="html.xsl"/>
+ <xsl:output method="xml"
+ encoding="UTF-8"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+ indent="yes"/>
+<!-- book processing -->
+<xsl:param name="stylesheet"><xsl:text>contes.css</xsl:text></xsl:param>
+<xsl:param name="pdf-filename"><xsl:text>contes.pdf</xsl:text></xsl:param>
+
+<xsl:template match="story" mode="section-toc">
+ <xsl:variable name="href">
+ <xsl:call-template name="get-id"/>
+ </xsl:variable>
+ <li>
+ <p><a href="{$href}.html"><xsl:value-of select="docinfo/title"/></a></p>
+ <xsl:if test="nda">
+ <xsl:apply-templates select="nda"/>
+ </xsl:if>
+ </li>
+</xsl:template>
+
+<xsl:template match="story" mode="get-story-link">
+ <xsl:call-template name="get-id"/>
+</xsl:template>
+<xsl:template match="story" mode="get-story-name">
+ <xsl:choose>
+ <xsl:when test="docinfo/title">
+ <xsl:value-of select="docinfo/title/text()"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="story/title/text()"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- navigation-bar of story and nda -->
+<xsl:template name="links-story-link">
+ <xsl:param name="prefix"></xsl:param>
+ <link>
+ <xsl:attribute name="href">
+ <xsl:apply-templates select="." mode="get-story-link"/>
+ <xsl:text>.html</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="rel">
+ <xsl:value-of select="$prefix"/>
+ </xsl:attribute>
+ <xsl:attribute name="title">
+ <xsl:apply-templates select="." mode="get-story-name"/>
+ </xsl:attribute>
+ </link>
+</xsl:template>
+<xsl:template match="story" mode="links-prec">
+ <xsl:call-template name="links-story-link">
+ <xsl:with-param name="prefix">
+ <xsl:text>previous</xsl:text>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+<xsl:template match="story" mode="links-next">
+ <xsl:call-template name="links-story-link">
+ <xsl:with-param name="prefix">
+ <xsl:text>next</xsl:text>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+<xsl:template match="story" mode="links-story">
+ <xsl:choose>
+ <xsl:when test="preceding-sibling::story[1]">
+ <xsl:apply-templates
+ select="preceding-sibling::story[1]"
+ mode="links-prec"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates
+ select="../preceding-sibling::*[1]/story[last()]"
+ mode="links-prec"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="following-sibling::story[1]">
+ <xsl:apply-templates
+ select="following-sibling::story[1]"
+ mode="links-next"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates
+ select="../following-sibling::*[1]/story[1]"
+ mode="links-next"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:variable name="section-ref">
+ <xsl:call-template name="parent-id"/>
+ </xsl:variable>
+ <link href="index.html#{$section-ref}"
+ rel="up" title="Table des matières"/>
+</xsl:template>
+
+<!-- navigation-bar of story and nda -->
+<xsl:template name="navbar-story-link">
+ <xsl:param name="prefix"></xsl:param>
+ <a>
+ <xsl:attribute name="href">
+ <xsl:apply-templates select="." mode="get-story-link"/>
+ <xsl:text>.html</xsl:text>
+ </xsl:attribute>
+ <xsl:value-of select="$prefix"/>
+ <xsl:apply-templates select="." mode="get-story-name"/>
+ </a><br/>
+</xsl:template>
+<xsl:template match="story" mode="navbar-prec">
+ <xsl:call-template name="navbar-story-link">
+ <xsl:with-param name="prefix">
+ <xsl:text>Précédent: </xsl:text>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+<xsl:template match="story" mode="navbar-next">
+ <xsl:call-template name="navbar-story-link">
+ <xsl:with-param name="prefix">
+ <xsl:text>Suivant: </xsl:text>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+<xsl:template match="story" mode="navbar-story">
+ <xsl:choose>
+ <xsl:when test="preceding-sibling::story[1]">
+ <xsl:apply-templates
+ select="preceding-sibling::story[1]"
+ mode="navbar-prec"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates
+ select="../preceding-sibling::section[last()]"
+ mode="navbar-prec"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="following-sibling::story[1]">
+ <xsl:apply-templates
+ select="following-sibling::story[1]"
+ mode="navbar-next"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates
+ select="../following-sibling::*[1]"
+ mode="navbar-next"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:variable name="section-ref">
+ <xsl:call-template name="parent-id"/>
+ </xsl:variable>
+ <a href="{$section-ref}.html">Retour à la section</a><br/>
+</xsl:template>
+
+<!-- story section -->
+<xsl:template match="story">
+ <xsl:variable name="href">
+ <xsl:call-template name="get-id"/>
+ </xsl:variable>
+ <xt:document href="{$href}.html" method="xml"
+ encoding="UTF-8"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+ indent="yes">
+ <html>
+ <head>
+ <link href="{$css-base-dir}contes.css" media="screen"
+ rel="stylesheet" type="text/css"/>
+ <xsl:apply-templates select="../docinfo" mode="heading"/>
+ <xsl:apply-templates select="." mode="links-story"/>
+ </head>
+ <body>
+ <xsl:apply-templates/>
+ <xsl:apply-templates select="../docinfo/date"/>
+ <hr/>
+ <address>
+ <xsl:apply-templates select="../docinfo/copyright"/>
+ </address>
+ <xsl:apply-templates mode="navbar-story" select="."/>
+ </body>
+ </html>
+ </xt:document>
+</xsl:template>
+
+<!-- strophe -->
+<xsl:template match="strophe">
+ <p><xsl:apply-templates/></p>
+</xsl:template>
+
+<!-- verse -->
+<xsl:template match="verse">
+ <xsl:apply-templates/><br/>
+</xsl:template>
+
+<!-- cue -->
+<xsl:template match="cue">
+ <p><xsl:apply-templates/></p>
+</xsl:template>
+<xsl:template match="caracter">
+ <strong class="caracter">
+ <xsl:apply-templates/>
+ </strong><xsl:text>: </xsl:text>
+</xsl:template>
+<xsl:template match="cue/para">
+ <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="dialog">
+ <blockquote class="dialog">
+ <xsl:apply-templates/>
+ </blockquote>
+</xsl:template
+>
+<xsl:template match="dialog/cite">
+ <p><xsl:text>« - </xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text> »</xsl:text></p>
+</xsl:template>
+<xsl:template match="cite/desc">
+ <xsl:text> »</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>« </xsl:text>
+</xsl:template>
+
+<xsl:template match="story/section/title">
+ <h2><xsl:apply-templates/></h2>
+</xsl:template>
+<xsl:template match="story/section/section/title">
+ <h3><xsl:apply-templates/></h3>
+</xsl:template>
+
+<xsl:template match="story/nda">
+ <div class="nda">
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+</xsl:stylesheet>
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/story_print.xsl Tue Dec 27 13:55:27 2005 -0500
@@ -0,0 +1,186 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.1"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xt="http://www.jclark.com/xt"
+ extension-element-prefixes="xt"
+ xmlns="http://www.w3.org/1999/XSL/Format">
+
+<xsl:import href="common.xsl"/>
+<xsl:import href="print.xsl"/>
+<xsl:import href="masters_print.xsl"/>
+
+<xsl:output method="xml" indent="yes"/>
+
+<xsl:attribute-set name="standard-block">
+ <xsl:attribute name="text-indent">10mm</xsl:attribute>
+ <xsl:attribute name="space-before">10pt</xsl:attribute>
+ <xsl:attribute name="space-before.conditionnaly">discard</xsl:attribute>
+ <xsl:attribute name="text-align">justify</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:template name="static-content">
+ <xsl:param name="title"/>
+ <static-content flow-name="xsl-region-before">
+ <block border-after-style="solid">
+ <table width="100%" table-layout="fixed">
+ <table-column column-width="proportional-column-width(1)"
+ number-columns-repeated="2"/>
+ <table-body>
+ <table-row>
+ <table-cell>
+ <block text-align="start"><xsl:value-of select="$title"/></block>
+ </table-cell>
+ </table-row>
+ </table-body>
+ </table>
+ </block>
+ </static-content>
+ <static-content flow-name="xsl-region-after">
+ <block border-before-style="solid">
+ <table width="100%" table-layout="fixed">
+ <table-column column-width="proportional-column-width(1)"
+ number-columns-repeated="2"/>
+ <table-body>
+ <table-row>
+ <table-cell>
+ <block text-align="end">
+ <xsl:text>page </xsl:text>
+ <page-number/>
+ </block>
+ </table-cell>
+ </table-row>
+ </table-body>
+ </table>
+ </block>
+ </static-content>
+</xsl:template>
+
+<!-- book -->
+<xsl:template match="book">
+ <root>
+ <xsl:call-template name="master-set"/>
+ <xsl:apply-templates select="section"/>
+ </root>
+</xsl:template>
+
+<xsl:template match="/book/section">
+ <page-sequence master-reference="book-sequence">
+ <xsl:call-template name="static-content">
+ <xsl:with-param name="title">
+ <xsl:apply-templates select="title"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ <flow flow-name="xsl-region-body">
+ <xsl:apply-templates select="*[name()!='story']"/>
+ </flow>
+ </page-sequence>
+ <xsl:apply-templates select="story"/>
+</xsl:template>
+
+<xsl:template match="story">
+ <page-sequence master-reference="book-sequence">
+ <xsl:call-template name="static-content">
+ <xsl:with-param name="title">
+ <xsl:apply-templates select="title"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ <flow flow-name="xsl-region-body">
+ <xsl:apply-templates/>
+ </flow>
+ </page-sequence>
+</xsl:template>
+
+<xsl:template match="section/title">
+ <block xsl:use-attribute-sets="verylarge-title-font">
+ <xsl:attribute name="space-after">5pt</xsl:attribute>
+ <xsl:attribute name="space-before">10pt</xsl:attribute>
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+
+<xsl:template match="story/title">
+ <block xsl:use-attribute-sets="large-title-font">
+ <xsl:attribute name="space-after">5pt</xsl:attribute>
+ <xsl:attribute name="space-before">10pt</xsl:attribute>
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+
+<xsl:template match="story/section/title">
+ <block xsl:use-attribute-sets="medium-title-font">
+ <xsl:attribute name="space-after">5pt</xsl:attribute>
+ <xsl:attribute name="space-before">10pt</xsl:attribute>
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+
+<xsl:template match="nda">
+ <block border="solid" padding="5pt" font-style="italic">
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+
+<xsl:template match="para">
+ <block xsl:use-attribute-sets="standard-block">
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+
+<!-- dialog template -->
+<xsl:template match="dialog">
+ <block xsl:use-attribute-sets="standard-block" start-indent="1cm">
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+<xsl:template match="cite">
+ <block xsl:use-attribute-sets="standard-block" font-style="italic">
+ <xsl:text>"</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>"</xsl:text>
+ </block>
+</xsl:template>
+
+<xsl:template match="citation">
+ <block xsl:use-attribute-sets="standard-block" font-style="italic"
+ font-size="75%" margin-left="4in">
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+
+<xsl:template match="poem">
+ <block xsl:use-attribute-sets="standard-block" font-style="italic"
+ margin-left=".5in" margin-right=".5in">
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+
+<xsl:template match="strophe">
+ <block xsl:use-attribute-sets="standard-block">
+ <xsl:apply-templates/>
+ </block>
+</xsl:template>
+
+<xsl:template match="verse">
+ <block><xsl:apply-templates/></block>
+</xsl:template>
+
+</xsl:stylesheet>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: xml
+sgml-omittag:nil
+sgml-shorttag:nil
+sgml-namecase-general:nil
+sgml-general-insert-case:lower
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:nil
+sgml-parent-document:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+outline-regexp:"<xsl:"
+End:
+-->