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