]> matita.cs.unibo.it Git - helm.git/blob - helm/mowgli/home/xsl/person.xsl
- added common stylesheet
[helm.git] / helm / mowgli / home / xsl / person.xsl
1 <?xml version="1.0"?>
2
3 <xsl:stylesheet version="1.0"
4                 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
5
6 <xsl:import href="common.xsl"/>
7
8 <xsl:output method="html"/>
9
10 <xsl:template match="/">
11  <html>
12   <head>
13    <title>
14     <xsl:call-template name="qualified-name">
15      <xsl:with-param name="qualification"
16                      select="person/qualification"/>
17      <xsl:with-param name="name"
18                      select="person/name"/>
19      <xsl:with-param name="surname"
20                      select="person/surname"/>
21     </xsl:call-template>
22    </title>
23    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
24    <link rel="stylesheet" href="../../../style/mowgli.css" type="text/css"/>
25   </head>
26   <body>
27    <xsl:apply-templates/>
28   </body>
29  </html>
30 </xsl:template>
31
32 <xsl:template name="qualified-name">
33  <xsl:param name="qualification" select="/.."/>
34  <xsl:param name="name"/>
35  <xsl:param name="surname"/>
36  <xsl:if test="qualification">
37   <xsl:value-of select="$qualification"/>
38   <xsl:text> </xsl:text>
39  </xsl:if>
40  <xsl:value-of select="$name"/>
41  <xsl:text> </xsl:text>
42  <xsl:value-of select="$surname"/>
43 </xsl:template>
44
45 <xsl:template match="person">
46  <h1>
47   <xsl:call-template name="qualified-name">
48    <xsl:with-param name="qualification"
49                    select="qualification"/>
50    <xsl:with-param name="name"
51                    select="name"/>
52    <xsl:with-param name="surname"
53                    select="surname"/>
54   </xsl:call-template>
55  </h1>
56  <xsl:choose>
57   <xsl:when test="count(position) &gt; 1">
58    <ul>
59     <xsl:for-each select="position">
60      <li><xsl:value-of select="."/></li>
61     </xsl:for-each>
62    </ul>
63   </xsl:when>
64   <xsl:when test="count(position) = 1">
65    <p><xsl:value-of select="position"/></p>
66   </xsl:when>
67  </xsl:choose>
68  <p>
69   <xsl:text>e-mail: </xsl:text>
70   <a href="mailto:{e-mail}">
71    <xsl:value-of select="e-mail"/>
72   </a>
73  </p>
74  <xsl:if test="url">
75   <p>
76    <xsl:text>Home Page: </xsl:text>
77    <a href="{url}">
78     <xsl:value-of select="url"/>
79    </a>
80   </p>
81  </xsl:if>
82  <xsl:if test="address">
83   <p>
84    <xsl:text>Address: </xsl:text>
85    <xsl:value-of select="address"/>
86   </p>
87  </xsl:if>
88  <xsl:if test="telephone">
89   <p>
90    <xsl:text>Telephone number: </xsl:text>
91    <xsl:value-of select="telephone"/>
92   </p>
93  </xsl:if>
94  <xsl:if test="curriculum">
95   <h2>Short Curriculum Vitae:</h2>
96   <xsl:copy-of select="curriculum/*"/>
97  </xsl:if>
98  <xsl:if test="research-interests">
99   <h2>Research Interests:</h2>
100   <xsl:copy-of select="research-interests/*"/>
101  </xsl:if>
102  <xsl:if test="selected-publication">
103   <h2>Selected Publications:</h2>
104   <ul>
105    <xsl:for-each select="selected-publication">
106     <li>
107      <a href="../../publications/{@file}.html">
108       <xsl:value-of select="@file"/>
109      </a>
110     </li>
111    </xsl:for-each>
112   </ul>
113  </xsl:if>
114 </xsl:template>
115
116 </xsl:stylesheet>