| 
     1 <?xml version="1.0"?>  | 
         | 
     2 <xsl:stylesheet version="1.1"  | 
         | 
     3   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  | 
         | 
     4   xmlns:xt="http://www.jclark.com/xt"  | 
         | 
     5   extension-element-prefixes="xt"   | 
         | 
     6   xmlns="http://www.w3.org/1999/XSL/Format">  | 
         | 
     7   | 
         | 
     8 <xsl:import href="common.xsl"/>  | 
         | 
     9 <xsl:import href="print.xsl"/>  | 
         | 
    10   | 
         | 
    11   <xsl:output method="xml"  | 
         | 
    12         indent="yes"/>  | 
         | 
    13   | 
         | 
    14 <xsl:template name="gentext">  | 
         | 
    15   <xsl:param name="string"/>  | 
         | 
    16   <xsl:variable name="uri">  | 
         | 
    17     <xsl:text>cv_str.</xsl:text>  | 
         | 
    18     <xsl:value-of select="/cv/@lang"/>  | 
         | 
    19     <xsl:text>.xml</xsl:text>  | 
         | 
    20   </xsl:variable>  | 
         | 
    21   <!-- xsl:message>Looking for <xsl:value-of select="$string"/> in <xsl:value-of select="$uri"/>.</xsl:message -->  | 
         | 
    22   <xsl:value-of select="document($uri)//*[@name=$string]"/>  | 
         | 
    23 </xsl:template>  | 
         | 
    24   | 
         | 
    25 <xsl:param name="cv-uri"/>  | 
         | 
    26 <xsl:param name="date"/>  | 
         | 
    27 <xsl:attribute-set name="section-title-font" xsl:use-attribute-sets="verylarge-title-font">  | 
         | 
    28   <xsl:attribute name="font-size">12pt</xsl:attribute>  | 
         | 
    29   <xsl:attribute name="font-weight">bold</xsl:attribute>  | 
         | 
    30   <xsl:attribute name="space-after">4pt</xsl:attribute>  | 
         | 
    31   <xsl:attribute name="text-decoration">underline</xsl:attribute>  | 
         | 
    32   <xsl:attribute name="score-spaces">true</xsl:attribute>  | 
         | 
    33   <xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>  | 
         | 
    34 </xsl:attribute-set>  | 
         | 
    35 <xsl:attribute-set name="knowledge-title-font" xsl:use-attribute-sets="large-title-font">  | 
         | 
    36   <xsl:attribute name="font-size">12pt</xsl:attribute>  | 
         | 
    37   <xsl:attribute name="font-weight">bold</xsl:attribute>  | 
         | 
    38   <xsl:attribute name="space-after">4pt</xsl:attribute>  | 
         | 
    39   <xsl:attribute name="space-before">4pt</xsl:attribute>  | 
         | 
    40   <xsl:attribute name="font-variant">small-caps</xsl:attribute>  | 
         | 
    41 </xsl:attribute-set>  | 
         | 
    42 <xsl:attribute-set name="work-title-font" xsl:use-attribute-sets="large-title-font">  | 
         | 
    43   <xsl:attribute name="font-size">14pt</xsl:attribute>  | 
         | 
    44   <xsl:attribute name="font-weight">bold</xsl:attribute>  | 
         | 
    45   <xsl:attribute name="space-after">8pt</xsl:attribute>  | 
         | 
    46   <xsl:attribute name="space-before">12pt</xsl:attribute>  | 
         | 
    47   <xsl:attribute name="font-variant">small-caps</xsl:attribute>  | 
         | 
    48 </xsl:attribute-set>  | 
         | 
    49 <xsl:attribute-set name="work-short-font" xsl:use-attribute-sets="large-title-font">  | 
         | 
    50   <xsl:attribute name="font-size">12pt</xsl:attribute>  | 
         | 
    51   <xsl:attribute name="font-weight">bold</xsl:attribute>  | 
         | 
    52   <xsl:attribute name="space-before">4pt</xsl:attribute>  | 
         | 
    53   <xsl:attribute name="space-after">4pt</xsl:attribute>  | 
         | 
    54   <xsl:attribute name="font-variant">small-caps</xsl:attribute>  | 
         | 
    55 </xsl:attribute-set>  | 
         | 
    56 <xsl:attribute-set name="post-title-font" xsl:use-attribute-sets="medium-title-font">  | 
         | 
    57   <xsl:attribute name="font-size">10pt</xsl:attribute>  | 
         | 
    58   <xsl:attribute name="font-weight">bold</xsl:attribute>  | 
         | 
    59   <xsl:attribute name="space-after">4pt</xsl:attribute>  | 
         | 
    60 </xsl:attribute-set>  | 
         | 
    61 <xsl:attribute-set name="name-title-font" xsl:use-attribute-sets="verylarge-title-font">  | 
         | 
    62   <xsl:attribute name="font-size">16pt</xsl:attribute>  | 
         | 
    63   <xsl:attribute name="font-weight">bold</xsl:attribute>  | 
         | 
    64   <xsl:attribute name="space-after">8pt</xsl:attribute>  | 
         | 
    65   <!-- <xsl:attribute name="space-before">6pt</xsl:attribute> -->  | 
         | 
    66 </xsl:attribute-set>  | 
         | 
    67 <xsl:attribute-set name="default-font">  | 
         | 
    68   <xsl:attribute name="font-size">10pt</xsl:attribute>  | 
         | 
    69   <xsl:attribute name="space-after">4pt</xsl:attribute>  | 
         | 
    70 </xsl:attribute-set>  | 
         | 
    71   | 
         | 
    72 <xsl:attribute-set name="section-block">  | 
         | 
    73   <xsl:attribute name="keep-together.within-page">always</xsl:attribute>  | 
         | 
    74   <!-- <xsl:attribute name="break-inside">avoid</xsl:attribute> -->  | 
         | 
    75   <!-- <xsl:attribute name="border-before-style">solid</xsl:attribute> -->  | 
         | 
    76   <!-- <xsl:attribute name="border-after-style">solid</xsl:attribute> -->  | 
         | 
    77   <!-- <xsl:attribute name="padding-before">5mm</xsl:attribute> -->  | 
         | 
    78   <xsl:attribute name="space-before">10mm</xsl:attribute>  | 
         | 
    79   <xsl:attribute name="space-before.conditionality">discard</xsl:attribute>  | 
         | 
    80 </xsl:attribute-set>  | 
         | 
    81 <!-- cv -->  | 
         | 
    82 <xsl:template match="cv">  | 
         | 
    83   <xsl:variable name="fullname">  | 
         | 
    84     <xsl:apply-templates mode="fullname" select="identification"/>  | 
         | 
    85   </xsl:variable>  | 
         | 
    86   <root>  | 
         | 
    87     <layout-master-set>  | 
         | 
    88       <simple-page-master master-name="cv"  | 
         | 
    89                         margin-top="1cm" margin-bottom="1cm"  | 
         | 
    90                         margin-left="1cm" margin-right="1cm">  | 
         | 
    91         <region-body margin-top="1cm" margin-bottom="1cm"/>  | 
         | 
    92         <region-before extent="1cm" precedence="true"/>  | 
         | 
    93         <region-after extent="1cm" precedence="true"/>  | 
         | 
    94       </simple-page-master>  | 
         | 
    95       <page-sequence-master master-name="cv-sequence">  | 
         | 
    96         <repeatable-page-master-reference master-reference="cv"/>  | 
         | 
    97       </page-sequence-master>  | 
         | 
    98     </layout-master-set>  | 
         | 
    99   | 
         | 
   100     <page-sequence master-reference="cv-sequence">  | 
         | 
   101       <static-content flow-name="xsl-region-before">  | 
         | 
   102         <block border-after-style="solid">  | 
         | 
   103           <table width="100%" table-layout="fixed">  | 
         | 
   104             <table-column column-width="proportional-column-width(1)"  | 
         | 
   105                   number-columns-repeated="2"/>  | 
         | 
   106             <table-body>  | 
         | 
   107               <table-row>  | 
         | 
   108                 <table-cell>  | 
         | 
   109                   <block text-align="start"><xsl:value-of select="$fullname"/></block>  | 
         | 
   110                 </table-cell>  | 
         | 
   111                 <table-cell>  | 
         | 
   112                   <block text-align="end"><xsl:value-of select="$date"/></block>  | 
         | 
   113                 </table-cell>  | 
         | 
   114               </table-row>  | 
         | 
   115             </table-body>  | 
         | 
   116           </table>  | 
         | 
   117         </block>  | 
         | 
   118       </static-content>  | 
         | 
   119       <static-content flow-name="xsl-region-after">  | 
         | 
   120         <block border-before-style="solid">  | 
         | 
   121           <table width="100%" table-layout="fixed">  | 
         | 
   122             <table-column column-width="proportional-column-width(1)"  | 
         | 
   123                   number-columns-repeated="2"/>  | 
         | 
   124             <table-body>  | 
         | 
   125               <table-row>  | 
         | 
   126                 <table-cell>  | 
         | 
   127                   <block text-align="start"><xsl:value-of select="$cv-uri"/></block>  | 
         | 
   128                 </table-cell>  | 
         | 
   129                 <table-cell>  | 
         | 
   130                   <block text-align="end">  | 
         | 
   131                     <xsl:call-template name="gentext">  | 
         | 
   132                       <xsl:with-param name="string">str-page</xsl:with-param>  | 
         | 
   133                     </xsl:call-template>  | 
         | 
   134                     <page-number/>  | 
         | 
   135                     <xsl:call-template name="gentext">  | 
         | 
   136                       <xsl:with-param name="string">str-page-of</xsl:with-param>  | 
         | 
   137                     </xsl:call-template>  | 
         | 
   138                     <page-number-citation ref-id="xsl_cv_the_end"/></block>  | 
         | 
   139                 </table-cell>  | 
         | 
   140               </table-row>  | 
         | 
   141             </table-body>  | 
         | 
   142           </table>  | 
         | 
   143         </block>  | 
         | 
   144       </static-content>  | 
         | 
   145       <flow flow-name="xsl-region-body" xsl:use-attribute-sets="default-font">  | 
         | 
   146         <block xsl:use-attribute-sets="section-block">  | 
         | 
   147           <xsl:apply-templates select="identification"/>  | 
         | 
   148         </block>  | 
         | 
   149         <block xsl:use-attribute-sets="section-block" space-before.optimum="10pt" space-before.maximum="10pt">  | 
         | 
   150           <block xsl:use-attribute-sets="section-title-font">  | 
         | 
   151             <xsl:call-template name="gentext">  | 
         | 
   152               <xsl:with-param name="string">str-formation</xsl:with-param>  | 
         | 
   153             </xsl:call-template>  | 
         | 
   154           </block>  | 
         | 
   155           <list-block>  | 
         | 
   156             <xsl:apply-templates select="study" mode="short"/>  | 
         | 
   157           </list-block>  | 
         | 
   158         </block>  | 
         | 
   159         <block xsl:use-attribute-sets="section-block">  | 
         | 
   160           <block xsl:use-attribute-sets="section-title-font">  | 
         | 
   161             <xsl:call-template name="gentext">  | 
         | 
   162               <xsl:with-param name="string">str-competences</xsl:with-param>  | 
         | 
   163             </xsl:call-template>  | 
         | 
   164           </block>  | 
         | 
   165           <xsl:apply-templates select="knowledge"/>  | 
         | 
   166           <block keep-together.within-page="always">  | 
         | 
   167             <block xsl:use-attribute-sets="knowledge-title-font">  | 
         | 
   168               <xsl:call-template name="gentext">  | 
         | 
   169                 <xsl:with-param name="string">str-languages</xsl:with-param>  | 
         | 
   170               </xsl:call-template>  | 
         | 
   171             </block>  | 
         | 
   172             <table width="100%" table-layout="fixed" margin-left="24pt">  | 
         | 
   173               <table-column column-width="proportional-column-width(1)"  | 
         | 
   174                   number-columns-repeated="2"/>  | 
         | 
   175               <table-body>  | 
         | 
   176                 <table-row>  | 
         | 
   177                   <table-cell>  | 
         | 
   178                     <xsl:apply-templates select="language[not(@level='notions' or @level='learning')]"/>  | 
         | 
   179                   </table-cell>  | 
         | 
   180                   <table-cell>  | 
         | 
   181                     <xsl:apply-templates select="language[@level='notions']"/>  | 
         | 
   182                   </table-cell>  | 
         | 
   183                 </table-row>  | 
         | 
   184               </table-body>  | 
         | 
   185             </table>  | 
         | 
   186           </block>  | 
         | 
   187         </block>  | 
         | 
   188         <block xsl:use-attribute-sets="section-block">  | 
         | 
   189           <block xsl:use-attribute-sets="section-title-font">  | 
         | 
   190             <xsl:call-template name="gentext">  | 
         | 
   191               <xsl:with-param name="string">str-projects</xsl:with-param>  | 
         | 
   192             </xsl:call-template>  | 
         | 
   193           </block>  | 
         | 
   194           <list-block>  | 
         | 
   195             <xsl:apply-templates select="project|concours" mode="short"/>  | 
         | 
   196           </list-block>  | 
         | 
   197         </block>  | 
         | 
   198         <block xsl:use-attribute-sets="section-block">  | 
         | 
   199           <block xsl:use-attribute-sets="section-title-font">  | 
         | 
   200             <xsl:call-template name="gentext">  | 
         | 
   201               <xsl:with-param name="string">str-hobbies</xsl:with-param>  | 
         | 
   202             </xsl:call-template>  | 
         | 
   203           </block>  | 
         | 
   204           <list-block>  | 
         | 
   205             <xsl:apply-templates select="interest" mode="short"/>  | 
         | 
   206           </list-block>  | 
         | 
   207         </block>  | 
         | 
   208         <block xsl:use-attribute-sets="section-block"  | 
         | 
   209 	xsl:space-before="0mm">  | 
         | 
   210           <block xsl:use-attribute-sets="section-title-font">  | 
         | 
   211             <xsl:call-template name="gentext">  | 
         | 
   212               <xsl:with-param name="string">str-experience</xsl:with-param>  | 
         | 
   213             </xsl:call-template>  | 
         | 
   214           </block>  | 
         | 
   215           <xsl:apply-templates select="work"/>  | 
         | 
   216         </block>  | 
         | 
   217         <block visibility="hidden" id="xsl_cv_the_end"/>  | 
         | 
   218       </flow>  | 
         | 
   219     </page-sequence>  | 
         | 
   220   </root>  | 
         | 
   221 </xsl:template>  | 
         | 
   222   | 
         | 
   223 <xsl:template match="knownlist[@level='learning']"/>  | 
         | 
   224 <xsl:template match="item[@role='old']" mode="short"/>  | 
         | 
   225 <xsl:template match="work[@role='old']">  | 
         | 
   226   <!-- xsl:apply-templates select="." mode="short"/ -->  | 
         | 
   227 </xsl:template>  | 
         | 
   228 <xsl:template match="concours[@role='old']" mode="short"/>  | 
         | 
   229 <xsl:template match="project[@role='old']" mode="short"/>  | 
         | 
   230   | 
         | 
   231 <!-- identification section -->  | 
         | 
   232 <xsl:template match="identification">  | 
         | 
   233   <table width="100%" table-layout="fixed">  | 
         | 
   234     <table-column column-width="proportional-column-width(1)"  | 
         | 
   235                   number-columns-repeated="2"/>  | 
         | 
   236     <table-body>  | 
         | 
   237     <table-row>  | 
         | 
   238       <table-cell>  | 
         | 
   239       <block xsl:use-attribute-sets="name-title-font"><xsl:apply-templates select="." mode="fullname"/></block>  | 
         | 
   240       <xsl:apply-templates select="title|email" mode="id"/>  | 
         | 
   241       </table-cell>  | 
         | 
   242       <table-cell>  | 
         | 
   243       <xsl:apply-templates mode="id" select="*[name(.) != 'title' and name(.) != 'email']"/>  | 
         | 
   244       </table-cell>  | 
         | 
   245     </table-row>  | 
         | 
   246     </table-body>  | 
         | 
   247   </table>  | 
         | 
   248 </xsl:template>  | 
         | 
   249 <!-- already process, so skip -->  | 
         | 
   250 <xsl:template match="firstname|surname|initials" mode="id"/>  | 
         | 
   251 <xsl:template mode="id" match="*">  | 
         | 
   252   <block><xsl:apply-templates select="."/></block>  | 
         | 
   253 </xsl:template>  | 
         | 
   254 <xsl:template mode="id" match="title">  | 
         | 
   255   <block font-weight="bold"><xsl:apply-templates/></block>  | 
         | 
   256 </xsl:template>  | 
         | 
   257 <xsl:template mode="id" match="email">  | 
         | 
   258   <block>  | 
         | 
   259     <xsl:call-template name="gentext">  | 
         | 
   260       <xsl:with-param name="string">str-email</xsl:with-param>  | 
         | 
   261     </xsl:call-template>  | 
         | 
   262     <xsl:text>: </xsl:text>  | 
         | 
   263     <xsl:apply-templates/>  | 
         | 
   264   </block>  | 
         | 
   265 </xsl:template>  | 
         | 
   266 <xsl:template mode="id" match="web">  | 
         | 
   267   <block><xsl:apply-templates/></block>  | 
         | 
   268 </xsl:template>  | 
         | 
   269 <xsl:template mode="id" match="address">  | 
         | 
   270   <xsl:apply-templates select="."/>  | 
         | 
   271 </xsl:template>  | 
         | 
   272 <xsl:template mode="id" match="phone">  | 
         | 
   273   <block>  | 
         | 
   274     <xsl:call-template name="gentext">  | 
         | 
   275       <xsl:with-param name="string">          | 
         | 
   276         <xsl:choose>  | 
         | 
   277           <xsl:when test="@type='fax'">str-phone-fax</xsl:when>  | 
         | 
   278           <xsl:when test="@type='pager'">str-phone-pager</xsl:when>  | 
         | 
   279           <xsl:when test="@type='mobile'">str-phone-mobile</xsl:when>  | 
         | 
   280           <xsl:when test="@type='home'">str-phone-home</xsl:when>  | 
         | 
   281           <xsl:when test="@type='work'">str-phone-work</xsl:when>  | 
         | 
   282           <xsl:otherwise>str-phone</xsl:otherwise>  | 
         | 
   283         </xsl:choose>  | 
         | 
   284       </xsl:with-param>  | 
         | 
   285     </xsl:call-template>  | 
         | 
   286     <xsl:text>: </xsl:text>  | 
         | 
   287     <xsl:apply-templates/>  | 
         | 
   288   </block>  | 
         | 
   289 </xsl:template>  | 
         | 
   290   | 
         | 
   291 <!-- work -->  | 
         | 
   292 <xsl:template match="work">  | 
         | 
   293   <block keep-together="always">  | 
         | 
   294     <xsl:apply-templates/>  | 
         | 
   295   </block>  | 
         | 
   296 </xsl:template>  | 
         | 
   297 <xsl:template match="work/organism">  | 
         | 
   298   <block xsl:use-attribute-sets="work-title-font"><xsl:apply-templates select="." mode="short"/></block>  | 
         | 
   299 </xsl:template>  | 
         | 
   300   | 
         | 
   301 <xsl:template match="work" mode="short">  | 
         | 
   302   <block keep-together.within-page="always">  | 
         | 
   303     <block xsl:use-attribute-sets="work-short-font"><xsl:apply-templates select="organism" mode="short"/></block>  | 
         | 
   304     <list-block>  | 
         | 
   305       <xsl:apply-templates select="post" mode="short"/>  | 
         | 
   306     </list-block>  | 
         | 
   307   </block>  | 
         | 
   308 </xsl:template>  | 
         | 
   309 <xsl:template match="post" mode="short">  | 
         | 
   310   <list-item>  | 
         | 
   311     <xsl:call-template name="list-label"/>  | 
         | 
   312     <list-item-body start-indent="body-start()">  | 
         | 
   313       <block>  | 
         | 
   314       <xsl:if test="title">  | 
         | 
   315         <xsl:apply-templates select="title" mode="short"/>  | 
         | 
   316         <xsl:text>; </xsl:text>  | 
         | 
   317       </xsl:if>  | 
         | 
   318       <xsl:apply-templates select="duration" mode="short"/>  | 
         | 
   319       <xsl:text>.</xsl:text>  | 
         | 
   320       </block>  | 
         | 
   321     </list-item-body>  | 
         | 
   322   </list-item>  | 
         | 
   323 </xsl:template>  | 
         | 
   324   | 
         | 
   325 <!-- post -->  | 
         | 
   326 <xsl:template match="post">  | 
         | 
   327   <block keep-together.within-page="always">  | 
         | 
   328     <table width="100%" table-layout="fixed" space-after="6pt">  | 
         | 
   329       <table-column column-width="proportional-column-width(1)"/>  | 
         | 
   330       <table-column column-width="proportional-column-width(1)"/>  | 
         | 
   331       <table-body>  | 
         | 
   332         <table-row>  | 
         | 
   333           <table-cell>  | 
         | 
   334             <xsl:apply-templates select="title" mode="title"/>  | 
         | 
   335           </table-cell>  | 
         | 
   336           <table-cell>  | 
         | 
   337             <xsl:apply-templates select="supervisor|duration" mode="title"/>  | 
         | 
   338           </table-cell>  | 
         | 
   339         </table-row>  | 
         | 
   340       </table-body>  | 
         | 
   341     </table>  | 
         | 
   342     <block margin-left="24pt">  | 
         | 
   343       <xsl:apply-templates/>  | 
         | 
   344     </block>  | 
         | 
   345   </block>  | 
         | 
   346 </xsl:template>  | 
         | 
   347 <xsl:template match="post/supervisor|post/duration|post/title"/>  | 
         | 
   348 <xsl:template match="post/title" mode="title">  | 
         | 
   349   <block xsl:use-attribute-sets="post-title-font"><xsl:apply-templates/></block>  | 
         | 
   350 </xsl:template>  | 
         | 
   351 <xsl:template match="supervisor" mode="title">  | 
         | 
   352   <block>  | 
         | 
   353     <xsl:call-template name="gentext">  | 
         | 
   354       <xsl:with-param name="string">str-supervisor</xsl:with-param>  | 
         | 
   355     </xsl:call-template>  | 
         | 
   356     <xsl:text>: </xsl:text>  | 
         | 
   357     <xsl:apply-templates mode="fullname" select="."/>  | 
         | 
   358   </block>  | 
         | 
   359 </xsl:template>  | 
         | 
   360 <xsl:template match="post/duration" mode="title">  | 
         | 
   361   <block><xsl:apply-templates/></block>  | 
         | 
   362 </xsl:template>  | 
         | 
   363   | 
         | 
   364 <!-- study -->  | 
         | 
   365 <xsl:template match="study" mode="short">  | 
         | 
   366   <list-item>  | 
         | 
   367     <xsl:call-template name="list-label"/>  | 
         | 
   368     <list-item-body start-indent="body-start()">  | 
         | 
   369       <block>  | 
         | 
   370       <xsl:apply-templates select="studydomain"/>  | 
         | 
   371       <xsl:text> (</xsl:text>  | 
         | 
   372       <xsl:apply-templates select="duration"/>  | 
         | 
   373       <xsl:text>), </xsl:text>  | 
         | 
   374       <xsl:apply-templates select="organism" mode="short"/>  | 
         | 
   375       <xsl:text>.</xsl:text>  | 
         | 
   376       </block>  | 
         | 
   377     </list-item-body>  | 
         | 
   378   </list-item>  | 
         | 
   379 </xsl:template>  | 
         | 
   380   | 
         | 
   381 <!-- knowledge -->  | 
         | 
   382 <xsl:template match="knowledge">  | 
         | 
   383   <block keep-together.within-page="always">  | 
         | 
   384     <block xsl:use-attribute-sets="knowledge-title-font">  | 
         | 
   385       <xsl:apply-templates select="name"/>  | 
         | 
   386     </block>  | 
         | 
   387     <table width="100%" table-layout="fixed" margin-left="24pt">  | 
         | 
   388       <table-column column-width="proportional-column-width(1)"  | 
         | 
   389           number-columns-repeated="{count(knownlist)}"/> | 
         | 
   390       <table-header>  | 
         | 
   391         <table-row>  | 
         | 
   392           <xsl:apply-templates select="knownlist" mode="table-header"/>  | 
         | 
   393         </table-row>  | 
         | 
   394       </table-header>  | 
         | 
   395       <table-body>  | 
         | 
   396         <table-row>  | 
         | 
   397           <xsl:apply-templates select="knownlist"/>  | 
         | 
   398         </table-row>  | 
         | 
   399       </table-body>  | 
         | 
   400     </table>  | 
         | 
   401   </block>  | 
         | 
   402 </xsl:template>  | 
         | 
   403 <xsl:template match="knownlist" mode="table-header">  | 
         | 
   404   <table-cell>  | 
         | 
   405     <block font-weight="bold">  | 
         | 
   406       <xsl:call-template name="gentext">  | 
         | 
   407         <xsl:with-param name="string">            | 
         | 
   408         <xsl:choose>  | 
         | 
   409           <xsl:when test="@level='notions'" >str-level-notions</xsl:when>  | 
         | 
   410           <xsl:when test="@level='learning'">str-level-learning</xsl:when>  | 
         | 
   411           <xsl:otherwise>str-level-known</xsl:otherwise><!-- 'known' -->  | 
         | 
   412         </xsl:choose>  | 
         | 
   413         </xsl:with-param>  | 
         | 
   414       </xsl:call-template>  | 
         | 
   415       <xsl:text>:</xsl:text>  | 
         | 
   416     </block>  | 
         | 
   417   </table-cell>  | 
         | 
   418 </xsl:template>  | 
         | 
   419 <xsl:template match="knownlist">  | 
         | 
   420   <table-cell>  | 
         | 
   421     <block><xsl:apply-templates mode="short"/></block>  | 
         | 
   422   </table-cell>  | 
         | 
   423 </xsl:template>  | 
         | 
   424   | 
         | 
   425 <xsl:template match="language">  | 
         | 
   426   <block>  | 
         | 
   427     <xsl:apply-templates/><xsl:text>: </xsl:text>  | 
         | 
   428     <inline font-style="italic" keep-together.within-line="always">  | 
         | 
   429       <xsl:call-template name="gentext">  | 
         | 
   430         <xsl:with-param name="string">            | 
         | 
   431           <xsl:choose>  | 
         | 
   432             <xsl:when test="@level='notions'" >str-lang-notions</xsl:when>  | 
         | 
   433             <xsl:when test="@level='learning'">str-lang-learning</xsl:when>  | 
         | 
   434             <xsl:when test="@level='functional'" >str-lang-functional</xsl:when>  | 
         | 
   435             <xsl:otherwise>str-lang-known</xsl:otherwise><!-- 'known' -->  | 
         | 
   436           </xsl:choose>  | 
         | 
   437         </xsl:with-param>  | 
         | 
   438       </xsl:call-template>  | 
         | 
   439     </inline>  | 
         | 
   440   </block>  | 
         | 
   441 </xsl:template>  | 
         | 
   442   | 
         | 
   443 <!-- project/concours -->  | 
         | 
   444 <xsl:template match="project|concours" mode="short">  | 
         | 
   445   <list-item>  | 
         | 
   446     <xsl:call-template name="list-label"/>  | 
         | 
   447     <list-item-body start-indent="body-start()">  | 
         | 
   448       <block>  | 
         | 
   449         <xsl:apply-templates select="organism" mode="short"/>  | 
         | 
   450         <xsl:text> (</xsl:text>  | 
         | 
   451         <xsl:apply-templates select="duration|year" mode="short"/>  | 
         | 
   452         <xsl:text>);</xsl:text>  | 
         | 
   453         <xsl:if test="description">  | 
         | 
   454           <xsl:text> </xsl:text>  | 
         | 
   455           <xsl:apply-templates select="description" mode="short"/>  | 
         | 
   456         </xsl:if>  | 
         | 
   457       </block>  | 
         | 
   458     </list-item-body>  | 
         | 
   459   </list-item>  | 
         | 
   460 </xsl:template>  | 
         | 
   461   | 
         | 
   462 <xsl:template match="interest" mode="short">  | 
         | 
   463   <list-item>  | 
         | 
   464     <xsl:call-template name="list-label"/>  | 
         | 
   465     <list-item-body start-indent="body-start()">  | 
         | 
   466       <block><xsl:apply-templates mode="short"/></block>  | 
         | 
   467     </list-item-body>  | 
         | 
   468   </list-item>  | 
         | 
   469 </xsl:template>  | 
         | 
   470   | 
         | 
   471 </xsl:stylesheet>  |