1*b1cdbd2cSJim Jagielski<?xml version="1.0" encoding="UTF-8"?>
2*b1cdbd2cSJim Jagielski<!--***********************************************************
3*b1cdbd2cSJim Jagielski *
4*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
5*b1cdbd2cSJim Jagielski * or more contributor license agreements.  See the NOTICE file
6*b1cdbd2cSJim Jagielski * distributed with this work for additional information
7*b1cdbd2cSJim Jagielski * regarding copyright ownership.  The ASF licenses this file
8*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
9*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
10*b1cdbd2cSJim Jagielski * with the License.  You may obtain a copy of the License at
11*b1cdbd2cSJim Jagielski *
12*b1cdbd2cSJim Jagielski *   http://www.apache.org/licenses/LICENSE-2.0
13*b1cdbd2cSJim Jagielski *
14*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
15*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
16*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17*b1cdbd2cSJim Jagielski * KIND, either express or implied.  See the License for the
18*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
19*b1cdbd2cSJim Jagielski * under the License.
20*b1cdbd2cSJim Jagielski *
21*b1cdbd2cSJim Jagielski ***********************************************************-->
22*b1cdbd2cSJim Jagielski<!-- =================================================
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim JagielskiThis template is a skeleton for single level TOC pages
25*b1cdbd2cSJim JagielskiDo not overwrite this ! copy it and complete the missing
26*b1cdbd2cSJim Jagielskicode.
27*b1cdbd2cSJim Jagielski
28*b1cdbd2cSJim JagielskiI use the @ character whereever there is a missing code, so
29*b1cdbd2cSJim Jagielskiyou can use a simple find to navigate and find the
30*b1cdbd2cSJim Jagielskiplaces...
31*b1cdbd2cSJim Jagielski
32*b1cdbd2cSJim Jagielski====================================================== -->
33*b1cdbd2cSJim Jagielski<!DOCTYPE xsl:stylesheet [
34*b1cdbd2cSJim Jagielski
35*b1cdbd2cSJim Jagielski<!ENTITY x1 "0">
36*b1cdbd2cSJim Jagielski<!ENTITY x2 "250">
37*b1cdbd2cSJim Jagielski<!ENTITY x3 "500">
38*b1cdbd2cSJim Jagielski
39*b1cdbd2cSJim Jagielski<!ENTITY y1 "0">
40*b1cdbd2cSJim Jagielski<!ENTITY y2 "150">
41*b1cdbd2cSJim Jagielski<!ENTITY y3 "0">
42*b1cdbd2cSJim Jagielski
43*b1cdbd2cSJim Jagielski
44*b1cdbd2cSJim Jagielski]>
45*b1cdbd2cSJim Jagielski<xsl:stylesheet version="1.0"
46*b1cdbd2cSJim Jagielski   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
47*b1cdbd2cSJim Jagielski	xmlns="http://www.w3.org/1999/xhtml">
48*b1cdbd2cSJim Jagielski
49*b1cdbd2cSJim Jagielski	<xsl:output method               = "html"
50*b1cdbd2cSJim Jagielski                media-type           = "text/html"
51*b1cdbd2cSJim Jagielski                indent               = "yes"
52*b1cdbd2cSJim Jagielski                doctype-public       = "-//W3C//DTD HTML 4.0 Transitional//EN"
53*b1cdbd2cSJim Jagielski                omit-xml-declaration = "yes"
54*b1cdbd2cSJim Jagielski                standalone           = "yes" />
55*b1cdbd2cSJim Jagielski
56*b1cdbd2cSJim Jagielski	<xsl:include href="../layout.xsl"/>
57*b1cdbd2cSJim Jagielski
58*b1cdbd2cSJim Jagielski	 <!-- =============================
59*b1cdbd2cSJim Jagielski	               HTML BODY
60*b1cdbd2cSJim Jagielski	 ================================== -->
61*b1cdbd2cSJim Jagielski
62*b1cdbd2cSJim Jagielski	 <xsl:template name="body">
63*b1cdbd2cSJim Jagielski	 	<body>
64*b1cdbd2cSJim Jagielski	   <xsl:call-template name="title"/>
65*b1cdbd2cSJim Jagielski	 	<xsl:call-template name="toc"/>
66*b1cdbd2cSJim Jagielski	 	</body>
67*b1cdbd2cSJim Jagielski	 </xsl:template>
68*b1cdbd2cSJim Jagielski
69*b1cdbd2cSJim Jagielski
70*b1cdbd2cSJim Jagielski	 <xsl:template name="toc">
71*b1cdbd2cSJim Jagielski		<!--
72*b1cdbd2cSJim Jagielski		     @ pre toc html here
73*b1cdbd2cSJim Jagielski		-->
74*b1cdbd2cSJim Jagielski
75*b1cdbd2cSJim Jagielski		<xsl:apply-templates select="/session/content/document"/>
76*b1cdbd2cSJim Jagielski
77*b1cdbd2cSJim Jagielski		<!--
78*b1cdbd2cSJim Jagielski		     @ post toc html here
79*b1cdbd2cSJim Jagielski		-->
80*b1cdbd2cSJim Jagielski
81*b1cdbd2cSJim Jagielski	 </xsl:template>
82*b1cdbd2cSJim Jagielski
83*b1cdbd2cSJim Jagielski
84*b1cdbd2cSJim Jagielski
85*b1cdbd2cSJim Jagielski	<!-- also when using groups, in the end it comes
86*b1cdbd2cSJim Jagielski	to this template, which is called for each document -->
87*b1cdbd2cSJim Jagielski	<xsl:template match="document">
88*b1cdbd2cSJim Jagielski
89*b1cdbd2cSJim Jagielski	  <xsl:variable name="i"	select="position() - 1"/>
90*b1cdbd2cSJim Jagielski
91*b1cdbd2cSJim Jagielski	  <xsl:variable name="x1">
92*b1cdbd2cSJim Jagielski	    <xsl:call-template name="x"/>
93*b1cdbd2cSJim Jagielski	  </xsl:variable>
94*b1cdbd2cSJim Jagielski
95*b1cdbd2cSJim Jagielski		<xsl:variable name="x" select="number($x1) + 50 "/>
96*b1cdbd2cSJim Jagielski
97*b1cdbd2cSJim Jagielski	  <xsl:variable name="y1">
98*b1cdbd2cSJim Jagielski	  	 <xsl:call-template name="y"/>
99*b1cdbd2cSJim Jagielski	  </xsl:variable>
100*b1cdbd2cSJim Jagielski
101*b1cdbd2cSJim Jagielski		<xsl:variable name="y" select="(floor($i div 3)) * 300 + number($y1) + 80 "/>
102*b1cdbd2cSJim Jagielski
103*b1cdbd2cSJim Jagielski	  <div style="position:absolute; padding:15px; left:{$x}px; top:{$y}px; width:170px; height:220px; z-index:1" class="tcolor">
104*b1cdbd2cSJim Jagielski  		<div align="center">
105*b1cdbd2cSJim Jagielski
106*b1cdbd2cSJim Jagielski    		<xsl:apply-templates select="@icon"/>
107*b1cdbd2cSJim Jagielski    		<p>
108*b1cdbd2cSJim Jagielski	  		<xsl:apply-templates select="@title"/>
109*b1cdbd2cSJim Jagielski			<xsl:apply-templates select="@description"/>
110*b1cdbd2cSJim Jagielski			<xsl:apply-templates select="@author"/>
111*b1cdbd2cSJim Jagielski			<xsl:apply-templates select="@create-date"/>
112*b1cdbd2cSJim Jagielski			<xsl:apply-templates select="@update-date"/>
113*b1cdbd2cSJim Jagielski			<xsl:apply-templates select="@filename"/>
114*b1cdbd2cSJim Jagielski			<xsl:apply-templates select="@format"/>
115*b1cdbd2cSJim Jagielski			<xsl:apply-templates select="@pages"/>
116*b1cdbd2cSJim Jagielski			<xsl:apply-templates select="@size"/>
117*b1cdbd2cSJim Jagielski			</p>
118*b1cdbd2cSJim Jagielski		  </div>
119*b1cdbd2cSJim Jagielski	  </div>
120*b1cdbd2cSJim Jagielski	</xsl:template>
121*b1cdbd2cSJim Jagielski
122*b1cdbd2cSJim Jagielski	<xsl:template name="x">
123*b1cdbd2cSJim Jagielski		<xsl:variable name="i" select="position()"/>
124*b1cdbd2cSJim Jagielski		<xsl:choose>
125*b1cdbd2cSJim Jagielski			<xsl:when test="$i = 2">
126*b1cdbd2cSJim Jagielski				&x2;
127*b1cdbd2cSJim Jagielski		   </xsl:when>
128*b1cdbd2cSJim Jagielski			<xsl:when test="$i = 3">
129*b1cdbd2cSJim Jagielski				&x3;
130*b1cdbd2cSJim Jagielski		   </xsl:when>
131*b1cdbd2cSJim Jagielski			<xsl:otherwise>
132*b1cdbd2cSJim Jagielski				<xsl:choose>
133*b1cdbd2cSJim Jagielski					<xsl:when test="($i mod 3) = 1">
134*b1cdbd2cSJim Jagielski						&x1;
135*b1cdbd2cSJim Jagielski					</xsl:when>
136*b1cdbd2cSJim Jagielski					<xsl:when test="($i mod 3) = 2">
137*b1cdbd2cSJim Jagielski						&x3;
138*b1cdbd2cSJim Jagielski					</xsl:when>
139*b1cdbd2cSJim Jagielski					<xsl:when test="($i mod 3) = 0">
140*b1cdbd2cSJim Jagielski						&x2;
141*b1cdbd2cSJim Jagielski					</xsl:when>
142*b1cdbd2cSJim Jagielski				</xsl:choose>
143*b1cdbd2cSJim Jagielski			</xsl:otherwise>
144*b1cdbd2cSJim Jagielski		</xsl:choose>
145*b1cdbd2cSJim Jagielski	</xsl:template>
146*b1cdbd2cSJim Jagielski
147*b1cdbd2cSJim Jagielski	<xsl:template name="y">
148*b1cdbd2cSJim Jagielski		<xsl:variable name="i" select="position()"/>
149*b1cdbd2cSJim Jagielski		<xsl:choose>
150*b1cdbd2cSJim Jagielski			<xsl:when test="$i = 2">
151*b1cdbd2cSJim Jagielski				&y2;
152*b1cdbd2cSJim Jagielski		   </xsl:when>
153*b1cdbd2cSJim Jagielski			<xsl:when test="$i = 3">
154*b1cdbd2cSJim Jagielski				&y3;
155*b1cdbd2cSJim Jagielski		   </xsl:when>
156*b1cdbd2cSJim Jagielski			<xsl:otherwise>
157*b1cdbd2cSJim Jagielski				<xsl:choose>
158*b1cdbd2cSJim Jagielski					<xsl:when test="($i mod 3) = 1">
159*b1cdbd2cSJim Jagielski						&y1;
160*b1cdbd2cSJim Jagielski					</xsl:when>
161*b1cdbd2cSJim Jagielski					<xsl:when test="($i mod 3) = 2">
162*b1cdbd2cSJim Jagielski						&y3;
163*b1cdbd2cSJim Jagielski					</xsl:when>
164*b1cdbd2cSJim Jagielski					<xsl:when test="($i mod 3) = 0">
165*b1cdbd2cSJim Jagielski						&y2;
166*b1cdbd2cSJim Jagielski					</xsl:when>
167*b1cdbd2cSJim Jagielski				</xsl:choose>
168*b1cdbd2cSJim Jagielski			</xsl:otherwise>
169*b1cdbd2cSJim Jagielski		</xsl:choose>
170*b1cdbd2cSJim Jagielski	</xsl:template>
171*b1cdbd2cSJim Jagielski
172*b1cdbd2cSJim Jagielski
173*b1cdbd2cSJim Jagielski	 <xsl:template name="document-group">
174*b1cdbd2cSJim Jagielski	 	<xsl:param name="group"/>
175*b1cdbd2cSJim Jagielski
176*b1cdbd2cSJim Jagielski	 	<!-- @ pre group code here -->
177*b1cdbd2cSJim Jagielski
178*b1cdbd2cSJim Jagielski	 	<!-- - - -->
179*b1cdbd2cSJim Jagielski
180*b1cdbd2cSJim Jagielski		 	<xsl:variable name="count" select="(position() - 1) * $group + 1"/>
181*b1cdbd2cSJim Jagielski
182*b1cdbd2cSJim Jagielski		 	<xsl:for-each select="/session/content/document[$count &lt;= position() and position() &lt; ($count + $group)]">
183*b1cdbd2cSJim Jagielski
184*b1cdbd2cSJim Jagielski				<xsl:apply-templates select="."/>
185*b1cdbd2cSJim Jagielski
186*b1cdbd2cSJim Jagielski		 	</xsl:for-each>
187*b1cdbd2cSJim Jagielski
188*b1cdbd2cSJim Jagielski	 	<!-- @ post group code here -->
189*b1cdbd2cSJim Jagielski
190*b1cdbd2cSJim Jagielski	 	<!-- - - -->
191*b1cdbd2cSJim Jagielski
192*b1cdbd2cSJim Jagielski	 </xsl:template>
193*b1cdbd2cSJim Jagielski
194*b1cdbd2cSJim Jagielski
195*b1cdbd2cSJim Jagielski	 <xsl:template name="title">
196*b1cdbd2cSJim Jagielski	    <!--
197*b1cdbd2cSJim Jagielski	      @ Pre title html code here
198*b1cdbd2cSJim Jagielski	    -->
199*b1cdbd2cSJim Jagielski	   <div style="position:absolute; left:280px; top:8px; width:220px; z-index:2; padding:10px" class="ccolor">
200*b1cdbd2cSJim Jagielski		  <div align="center" class="toctitle">
201*b1cdbd2cSJim Jagielski		  	<xsl:value-of select="/session/general-info/@title"/>
202*b1cdbd2cSJim Jagielski		  	&#160;
203*b1cdbd2cSJim Jagielski	    <!--
204*b1cdbd2cSJim Jagielski	      @ Post title html code here
205*b1cdbd2cSJim Jagielski	    -->
206*b1cdbd2cSJim Jagielski	    	</div>
207*b1cdbd2cSJim Jagielski    	</div>
208*b1cdbd2cSJim Jagielski	 </xsl:template>
209*b1cdbd2cSJim Jagielski
210*b1cdbd2cSJim Jagielski</xsl:stylesheet>
211