xslt files
[darcs-mirror-latutman.git] / xslt / style.xsl
1 <?xml version="1.0"?>
2 <!DOCTYPE xsl:stylesheet PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "libxslt/xslt2.dtd">
3 <xsl:stylesheet  
4  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
5  xmlns="http://www.w3.org/1999/xhtml"
6  >
7 <!--  xmlns:html="http://www.w3.org/TR/REC-html40" -->
8
9 <xsl:output method="xml"
10   media-type="text/xml"
11   doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
12   doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
13   omit-xml-declaration="yes"
14 />
15
16 <xsl:include href="libxslt/defaultStyle.xsl"/>
17
18 <xsl:variable name="staticBaseURL">/</xsl:variable>
19
20 <xsl:template match="*" mode="header">
21 <h1>LA-Tut-Manager</h1>
22 <p><a href="../">go up</a></p>
23
24 </xsl:template>
25
26 <xsl:template match="form" mode="content">
27 This really needs nicer styling from css!
28 <p/>
29 <xsl:copy-of select="."/>
30 </xsl:template>
31
32 <xsl:template match="*" mode="footer">
33 <hr/>
34 © <a href="mailto:mail@joachim-breitner.de">Joachim Breitner</a>
35 </xsl:template>
36 <!--
37 <xsl:template match="*">
38 <xsl:copy-of select="."/>
39 </xsl:template>
40
41 <xsl:template match="xml"><html>
42   now this is the replacement text
43 </html>
44 </xsl:template>
45 -->
46
47 <xsl:template match="index" mode="content">
48 <ul>
49 <li><a href="handins/">HandIns</a></li>
50 <li><a href="assignment/">Assignments</a></li>
51 <li><a href="student/">Students</a></li>
52 </ul>
53 </xsl:template>
54
55 <xsl:template match="table" mode="content">
56  <table>
57   <tr>
58    <th/>
59    <xsl:for-each select="./tableHead">
60     <th><xsl:value-of select="."/></th>
61    </xsl:for-each>
62   </tr>
63   <xsl:for-each select="./tableRow">
64    <tr>
65     <th><xsl:value-of select="./tableHead"/></th>
66     <xsl:for-each select="./tableCell">
67      <td>
68       <xsl:apply-templates select="." mode="tablecell"/>
69      </td>
70     </xsl:for-each>
71    </tr>
72   </xsl:for-each>
73  </table>
74 </xsl:template>
75
76 <xsl:template match="handIn" mode="tablecell">
77 <xsl:value-of select="./points"/>
78 </xsl:template>
79
80 <xsl:template match="assignmentsWithHandIns" mode="content">
81
82  <p><a href="add">Add new</a></p>
83  <table>
84   <tr>
85    <th>Assignment</th>
86    <th>Maximum Points</th>
87    <th>Hand Ins</th>
88    <th>Average</th>
89    <th>Actions</th>
90   </tr>
91
92   <xsl:apply-templates select="./assignmentWithHandIns" mode="list"/>
93
94  </table>
95 </xsl:template>
96
97 <xsl:template match="assignmentWithHandIns" mode="list">
98 <tr>
99 <td><xsl:value-of select="assignment/assName"/></td>
100 <td><xsl:value-of select="assignment/maxPoints"/></td>
101 <td><xsl:value-of select="count(./handIn)"/></td>
102 <td><xsl:value-of select="sum(./handIn/points) div count(./handIn)"/></td>
103  <td>
104   <a><xsl:attribute name="href">./<xsl:value-of select="assignment/assName"/>/</xsl:attribute>View</a>
105   &nbsp;
106   <a><xsl:attribute name="href">./<xsl:value-of select="assignment/assName"/>/edit</xsl:attribute>Edit</a>
107   &nbsp;
108   <a><xsl:attribute name="href">./<xsl:value-of select="assignment/assName"/>/delete</xsl:attribute>Delete</a>
109  </td>
110 </tr>
111 </xsl:template>
112
113
114 <xsl:template match="students" mode="content">
115
116  <p><a href="add">Add new</a></p>
117  <table>
118   <tr>
119    <th>Student ID</th>
120    <th>eMail</th>
121    <th>Actions</th>
122   </tr>
123
124   <xsl:apply-templates select="./student" mode="list"/>
125
126  </table>
127 </xsl:template>
128
129 <xsl:template match="student" mode="list">
130 <tr>
131  <td><xsl:value-of select="studentID"/></td>
132  <td><xsl:value-of select="eMail"/></td>
133  <td>
134   <a><xsl:attribute name="href">./<xsl:value-of select="studentID"/>/</xsl:attribute>View</a>
135   &nbsp;
136   <a><xsl:attribute name="href">./<xsl:value-of select="studentID"/>/edit</xsl:attribute>Edit</a>
137   &nbsp;
138   <a><xsl:attribute name="href">./<xsl:value-of select="studentID"/>/delete</xsl:attribute>Delete</a>
139  </td>
140 </tr>
141 </xsl:template>
142
143 <xsl:template match="assignment" mode="content">
144 <h2>Assignment <xsl:value-of select="assName"/></h2>
145 <dl>
146 <dt>Punkte </dt><dd><xsl:value-of select="maxPoints"/></dd>
147 <dt>Abgaben </dt><dd><xsl:value-of select="count(./handIn)"/></dd>
148 <dt>Schnitt </dt><dd><xsl:value-of select="sum(./handIn/points) div count(./handIn)"/></dd>
149 <dt>Aktionen </dt><dd><a href="./edit">bearbeiten</a></dd>
150 </dl>
151
152 <p><a href="add">Add new</a></p>
153 <h3>Abgaben</h3>
154 <table>
155   <tr>
156    <th>Matrikelnummer</th>
157    <th>Punkte</th>
158   </tr>
159
160   <xsl:apply-templates select="./handIn" mode="list"/>
161 </table>
162 </xsl:template>
163
164 <xsl:template match="student" mode="content">
165 <h2>Student <xsl:value-of select="studentID"/></h2>
166 <dl>
167 <dt>e-Mail </dt><dd><xsl:value-of select="eMail"/></dd>
168 <!--
169 <dt>Abgaben </dt><dd><xsl:value-of select="count(./handIn)"/></dd>
170 <dt>Schnitt </dt><dd><xsl:value-of select="sum(./handIn/points) div count(./handIn)"/></dd>
171 -->
172 <dt>Aktionen </dt><dd><a href="./edit">bearbeiten</a></dd>
173 </dl>
174 </xsl:template>
175
176 <xsl:template match="handIn" mode="list">
177 <tr>
178  <td><xsl:value-of select="studentID"/></td>
179  <td><xsl:value-of select="points"/></td>
180  <td>
181   <a><xsl:attribute name="href">./<xsl:value-of select="studentID"/>/edit</xsl:attribute>Edit</a>
182   &nbsp;
183   <a><xsl:attribute name="href">./<xsl:value-of select="studentID"/>/delete</xsl:attribute>Delete</a>
184  </td>
185 </tr>
186 </xsl:template>
187
188 <xsl:template match="handIn" mode="content">
189 <dl>
190  <dt>Matrikelnummer</dt><dd><xsl:value-of select="studentID"/></dd>
191  <dt>Punkte</dt><dd><xsl:value-of select="points"/></dd>
192  <dt>Aktionen</dt>
193  <dd>
194   <a><xsl:attribute name="href">./edit</xsl:attribute>Edit</a>
195   &nbsp;
196   <a><xsl:attribute name="href">./delete</xsl:attribute>Delete</a>
197  </dd>
198 </dl>
199 </xsl:template>
200
201 </xsl:stylesheet>