1<?xml version="1.0" encoding="UTF-8"?>
2<!-- =================================================
3
4This template is a skeleton for single level TOC pages
5Do not overwrite this ! copy it and complete the missing
6code.
7
8I use the @ character whereever there is a missing code, so
9you can use a simple find to navigate and find the
10places...
11
12====================================================== -->
13<!DOCTYPE xsl:stylesheet [
14
15<!ENTITY x1 "0">
16<!ENTITY x2 "250">
17<!ENTITY x3 "500">
18
19<!ENTITY y1 "0">
20<!ENTITY y2 "150">
21<!ENTITY y3 "0">
22
23
24]>
25<xsl:stylesheet version="1.0"
26   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
27	xmlns="http://www.w3.org/1999/xhtml">
28
29	<xsl:output method               = "html"
30                media-type           = "text/html"
31                indent               = "yes"
32                doctype-public       = "-//W3C//DTD HTML 4.0 Transitional//EN"
33                omit-xml-declaration = "yes"
34                standalone           = "yes" />
35
36	<xsl:include href="../layout.xsl"/>
37
38	 <!-- =============================
39	               HTML BODY
40	 ================================== -->
41
42	 <xsl:template name="body">
43	 	<body>
44	   <xsl:call-template name="title"/>
45	 	<xsl:call-template name="toc"/>
46	 	</body>
47	 </xsl:template>
48
49
50	 <xsl:template name="toc">
51		<!--
52		     @ pre toc html here
53		-->
54
55		<xsl:apply-templates select="/session/content/document"/>
56
57		<!--
58		     @ post toc html here
59		-->
60
61	 </xsl:template>
62
63
64
65	<!-- also when using groups, in the end it comes
66	to this template, which is called for each document -->
67	<xsl:template match="document">
68
69	  <xsl:variable name="i"	select="position() - 1"/>
70
71	  <xsl:variable name="x1">
72	    <xsl:call-template name="x"/>
73	  </xsl:variable>
74
75		<xsl:variable name="x" select="number($x1) + 50 "/>
76
77	  <xsl:variable name="y1">
78	  	 <xsl:call-template name="y"/>
79	  </xsl:variable>
80
81		<xsl:variable name="y" select="(floor($i div 3)) * 300 + number($y1) + 80 "/>
82
83	  <div style="position:absolute; padding:15px; left:{$x}px; top:{$y}px; width:170px; height:220px; z-index:1" class="tcolor">
84  		<div align="center">
85
86    		<xsl:apply-templates select="@icon"/>
87    		<p>
88	  		<xsl:apply-templates select="@title"/>
89			<xsl:apply-templates select="@description"/>
90			<xsl:apply-templates select="@author"/>
91			<xsl:apply-templates select="@create-date"/>
92			<xsl:apply-templates select="@update-date"/>
93			<xsl:apply-templates select="@filename"/>
94			<xsl:apply-templates select="@format"/>
95			<xsl:apply-templates select="@pages"/>
96			<xsl:apply-templates select="@size"/>
97			</p>
98		  </div>
99	  </div>
100	</xsl:template>
101
102	<xsl:template name="x">
103		<xsl:variable name="i" select="position()"/>
104		<xsl:choose>
105			<xsl:when test="$i = 2">
106				&x2;
107		   </xsl:when>
108			<xsl:when test="$i = 3">
109				&x3;
110		   </xsl:when>
111			<xsl:otherwise>
112				<xsl:choose>
113					<xsl:when test="($i mod 3) = 1">
114						&x1;
115					</xsl:when>
116					<xsl:when test="($i mod 3) = 2">
117						&x3;
118					</xsl:when>
119					<xsl:when test="($i mod 3) = 0">
120						&x2;
121					</xsl:when>
122				</xsl:choose>
123			</xsl:otherwise>
124		</xsl:choose>
125	</xsl:template>
126
127	<xsl:template name="y">
128		<xsl:variable name="i" select="position()"/>
129		<xsl:choose>
130			<xsl:when test="$i = 2">
131				&y2;
132		   </xsl:when>
133			<xsl:when test="$i = 3">
134				&y3;
135		   </xsl:when>
136			<xsl:otherwise>
137				<xsl:choose>
138					<xsl:when test="($i mod 3) = 1">
139						&y1;
140					</xsl:when>
141					<xsl:when test="($i mod 3) = 2">
142						&y3;
143					</xsl:when>
144					<xsl:when test="($i mod 3) = 0">
145						&y2;
146					</xsl:when>
147				</xsl:choose>
148			</xsl:otherwise>
149		</xsl:choose>
150	</xsl:template>
151
152
153	 <xsl:template name="document-group">
154	 	<xsl:param name="group"/>
155
156	 	<!-- @ pre group code here -->
157
158	 	<!-- - - -->
159
160		 	<xsl:variable name="count" select="(position() - 1) * $group + 1"/>
161
162		 	<xsl:for-each select="/session/content/document[$count &lt;= position() and position() &lt; ($count + $group)]">
163
164				<xsl:apply-templates select="."/>
165
166		 	</xsl:for-each>
167
168	 	<!-- @ post group code here -->
169
170	 	<!-- - - -->
171
172	 </xsl:template>
173
174
175	 <xsl:template name="title">
176	    <!--
177	      @ Pre title html code here
178	    -->
179	   <div style="position:absolute; left:280px; top:8px; width:220px; z-index:2; padding:10px" class="ccolor">
180		  <div align="center" class="toctitle">
181		  	<xsl:value-of select="/session/general-info/@title"/>
182		  	&#160;
183	    <!--
184	      @ Post title html code here
185	    -->
186	    	</div>
187    	</div>
188	 </xsl:template>
189
190</xsl:stylesheet>
191