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 Jagielski
25*b1cdbd2cSJim Jagielski<xsl:stylesheet version="1.0"
26*b1cdbd2cSJim Jagielski   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
27*b1cdbd2cSJim Jagielski	xmlns="http://www.w3.org/1999/xhtml">
28*b1cdbd2cSJim Jagielski
29*b1cdbd2cSJim Jagielski	<xsl:output method               = "html"
30*b1cdbd2cSJim Jagielski                media-type           = "text/html"
31*b1cdbd2cSJim Jagielski                indent               = "yes"
32*b1cdbd2cSJim Jagielski                doctype-public       = "-//W3C//DTD HTML 4.0 Transitional//EN"
33*b1cdbd2cSJim Jagielski                omit-xml-declaration = "yes"
34*b1cdbd2cSJim Jagielski                standalone           = "yes" />
35*b1cdbd2cSJim Jagielski
36*b1cdbd2cSJim Jagielski	<xsl:include href="../layout.xsl"/>
37*b1cdbd2cSJim Jagielski
38*b1cdbd2cSJim Jagielski
39*b1cdbd2cSJim Jagielski	 <!-- =============================
40*b1cdbd2cSJim Jagielski	               ROOT
41*b1cdbd2cSJim Jagielski	 ================================== -->
42*b1cdbd2cSJim Jagielski
43*b1cdbd2cSJim Jagielski
44*b1cdbd2cSJim Jagielski    <xsl:template  match="/">
45*b1cdbd2cSJim Jagielski      	<html>
46*b1cdbd2cSJim Jagielski				   <xsl:call-template name="head"/>
47*b1cdbd2cSJim Jagielski			      <xsl:call-template name="body"/>
48*b1cdbd2cSJim Jagielski		   </html>
49*b1cdbd2cSJim Jagielski	 </xsl:template>
50*b1cdbd2cSJim Jagielski
51*b1cdbd2cSJim Jagielski
52*b1cdbd2cSJim Jagielski	 <!-- =============================
53*b1cdbd2cSJim Jagielski	               HTML BODY
54*b1cdbd2cSJim Jagielski	 ================================== -->
55*b1cdbd2cSJim Jagielski
56*b1cdbd2cSJim Jagielski	 <xsl:template name="body">
57*b1cdbd2cSJim Jagielski	 	<body>
58*b1cdbd2cSJim Jagielski		 	<xsl:call-template name="title"/>
59*b1cdbd2cSJim Jagielski		 	<xsl:call-template name="toc"/>
60*b1cdbd2cSJim Jagielski		</body>
61*b1cdbd2cSJim Jagielski	 </xsl:template>
62*b1cdbd2cSJim Jagielski
63*b1cdbd2cSJim Jagielski
64*b1cdbd2cSJim Jagielski	 <xsl:template name="toc">
65*b1cdbd2cSJim Jagielski		<!--
66*b1cdbd2cSJim Jagielski		     @ pre toc html here
67*b1cdbd2cSJim Jagielski		-->
68*b1cdbd2cSJim Jagielski
69*b1cdbd2cSJim Jagielski		<!-- use this to group documents, it
70*b1cdbd2cSJim Jagielski		is for example usefull when generating tables -->
71*b1cdbd2cSJim Jagielski
72*b1cdbd2cSJim Jagielski		<xsl:variable name="group" select="3"/>
73*b1cdbd2cSJim Jagielski
74*b1cdbd2cSJim Jagielski		<xsl:for-each select="/session/content/document[ ( ( position() - 1 ) mod $group ) = 0 ]">
75*b1cdbd2cSJim Jagielski
76*b1cdbd2cSJim Jagielski			<!--
77*b1cdbd2cSJim Jagielski				@ pre group html here
78*b1cdbd2cSJim Jagielski			-->
79*b1cdbd2cSJim Jagielski
80*b1cdbd2cSJim Jagielski			<xsl:call-template name="document-group">
81*b1cdbd2cSJim Jagielski			  <xsl:with-param name="group" select="$group"/>
82*b1cdbd2cSJim Jagielski			</xsl:call-template>
83*b1cdbd2cSJim Jagielski
84*b1cdbd2cSJim Jagielski			<!--
85*b1cdbd2cSJim Jagielski				@ post group html here
86*b1cdbd2cSJim Jagielski			-->
87*b1cdbd2cSJim Jagielski
88*b1cdbd2cSJim Jagielski		</xsl:for-each>
89*b1cdbd2cSJim Jagielski
90*b1cdbd2cSJim Jagielski
91*b1cdbd2cSJim Jagielski		<!-- use this alternative if you do not need to use groups
92*b1cdbd2cSJim Jagielski		(uncomment to use - and do not forget to comment the group
93*b1cdbd2cSJim Jagielski		option above...)-->
94*b1cdbd2cSJim Jagielski
95*b1cdbd2cSJim Jagielski		<!--
96*b1cdbd2cSJim Jagielski	  <xsl:apply-templates select="/session/content/document"/>
97*b1cdbd2cSJim Jagielski		-->
98*b1cdbd2cSJim Jagielski
99*b1cdbd2cSJim Jagielski		<!--
100*b1cdbd2cSJim Jagielski		     @ post toc html here
101*b1cdbd2cSJim Jagielski		-->
102*b1cdbd2cSJim Jagielski
103*b1cdbd2cSJim Jagielski	 </xsl:template>
104*b1cdbd2cSJim Jagielski
105*b1cdbd2cSJim Jagielski	<!-- also when using groups, in the end it comes
106*b1cdbd2cSJim Jagielski	to this template, which is called for each document -->
107*b1cdbd2cSJim Jagielski	<xsl:template match="document">
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="@format-icon"/>
116*b1cdbd2cSJim Jagielski	  <xsl:apply-templates select="@format-icon"/>
117*b1cdbd2cSJim Jagielski	</xsl:template>
118*b1cdbd2cSJim Jagielski
119*b1cdbd2cSJim Jagielski
120*b1cdbd2cSJim Jagielski
121*b1cdbd2cSJim Jagielski	 <xsl:template name="document-group">
122*b1cdbd2cSJim Jagielski	 	<xsl:param name="group"/>
123*b1cdbd2cSJim Jagielski
124*b1cdbd2cSJim Jagielski	 	<!-- @ pre group code here -->
125*b1cdbd2cSJim Jagielski
126*b1cdbd2cSJim Jagielski	 	<!-- - - -->
127*b1cdbd2cSJim Jagielski
128*b1cdbd2cSJim Jagielski		 	<xsl:variable name="count" select="(position() - 1) * $group + 1"/>
129*b1cdbd2cSJim Jagielski
130*b1cdbd2cSJim Jagielski		 	<xsl:for-each select="/session/content/document[$count &lt;= position() and position() &lt; ($count + $group)]">
131*b1cdbd2cSJim Jagielski
132*b1cdbd2cSJim Jagielski					<xsl:apply-templates select="."/>
133*b1cdbd2cSJim Jagielski
134*b1cdbd2cSJim Jagielski		 	</xsl:for-each>
135*b1cdbd2cSJim Jagielski
136*b1cdbd2cSJim Jagielski	 	<!-- @ post group code here -->
137*b1cdbd2cSJim Jagielski
138*b1cdbd2cSJim Jagielski	 	<!-- - - -->
139*b1cdbd2cSJim Jagielski
140*b1cdbd2cSJim Jagielski	 </xsl:template>
141*b1cdbd2cSJim Jagielski
142*b1cdbd2cSJim Jagielski
143*b1cdbd2cSJim Jagielski	 <xsl:template name="title">
144*b1cdbd2cSJim Jagielski	    <!--
145*b1cdbd2cSJim Jagielski	      @ Pre title html code here
146*b1cdbd2cSJim Jagielski	    -->
147*b1cdbd2cSJim Jagielski
148*b1cdbd2cSJim Jagielski	    <xsl:value-of select="/session/general-info/@title"/>
149*b1cdbd2cSJim Jagielski
150*b1cdbd2cSJim Jagielski	    <!--
151*b1cdbd2cSJim Jagielski	      @ Post title html code here
152*b1cdbd2cSJim Jagielski	    -->
153*b1cdbd2cSJim Jagielski	 </xsl:template>
154*b1cdbd2cSJim Jagielski
155*b1cdbd2cSJim Jagielski	 <!-- =============================
156*b1cdbd2cSJim Jagielski	         Document properties
157*b1cdbd2cSJim Jagielski
158*b1cdbd2cSJim Jagielski	 This section contains templates which
159*b1cdbd2cSJim Jagielski	 give the document properties...
160*b1cdbd2cSJim Jagielski
161*b1cdbd2cSJim Jagielski	 ================================== -->
162*b1cdbd2cSJim Jagielski
163*b1cdbd2cSJim Jagielski	 <!-- this tempaltes gives the
164*b1cdbd2cSJim Jagielski	 relative href of the document. To use
165*b1cdbd2cSJim Jagielski	 with the <a href="..."> attribute-->
166*b1cdbd2cSJim Jagielski
167*b1cdbd2cSJim Jagielski
168*b1cdbd2cSJim Jagielski	 <xsl:template match="document" mode="href">
169*b1cdbd2cSJim Jagielski	   <xsl:value-of select="concat(../@directory,'/')"/>
170*b1cdbd2cSJim Jagielski	   <xsl:if test="@dir">
171*b1cdbd2cSJim Jagielski	     <xsl:value-of select="concat(@dir,'/')"/>
172*b1cdbd2cSJim Jagielski	   </xsl:if>
173*b1cdbd2cSJim Jagielski	   <xsl:value-of select="@fn"/>
174*b1cdbd2cSJim Jagielski	 </xsl:template>
175*b1cdbd2cSJim Jagielski
176*b1cdbd2cSJim Jagielski
177*b1cdbd2cSJim Jagielski	 <xsl:template match="document/@title">
178*b1cdbd2cSJim Jagielski	 	<span class="doctitle">
179*b1cdbd2cSJim Jagielski	 		<a>
180*b1cdbd2cSJim Jagielski	 		<xsl:attribute name="href">
181*b1cdbd2cSJim Jagielski				<xsl:apply-templates select=".." mode="href"/>
182*b1cdbd2cSJim Jagielski			</xsl:attribute>
183*b1cdbd2cSJim Jagielski
184*b1cdbd2cSJim Jagielski			<xsl:value-of select="."/>
185*b1cdbd2cSJim Jagielski			</a>
186*b1cdbd2cSJim Jagielski	 	</span>
187*b1cdbd2cSJim Jagielski	 	<br/>
188*b1cdbd2cSJim Jagielski	 </xsl:template>
189*b1cdbd2cSJim Jagielski
190*b1cdbd2cSJim Jagielski
191*b1cdbd2cSJim Jagielski	 <xsl:template match="document/@description">
192*b1cdbd2cSJim Jagielski	 	<span class="docdescription">
193*b1cdbd2cSJim Jagielski	 		<xsl:value-of select="."/>
194*b1cdbd2cSJim Jagielski	 	</span>
195*b1cdbd2cSJim Jagielski	 	<br/>
196*b1cdbd2cSJim Jagielski	 </xsl:template>
197*b1cdbd2cSJim Jagielski
198*b1cdbd2cSJim Jagielski
199*b1cdbd2cSJim Jagielski	 <xsl:template match="document/@author">
200*b1cdbd2cSJim Jagielski	 	<span class="docauthor">
201*b1cdbd2cSJim Jagielski	 		<xsl:value-of select="."/>
202*b1cdbd2cSJim Jagielski	 	</span>
203*b1cdbd2cSJim Jagielski	 	<br/>
204*b1cdbd2cSJim Jagielski	 </xsl:template>
205*b1cdbd2cSJim Jagielski
206*b1cdbd2cSJim Jagielski
207*b1cdbd2cSJim Jagielski	 <xsl:template match="document/@create-date">
208*b1cdbd2cSJim Jagielski	 	<span class="doccreationdate">
209*b1cdbd2cSJim Jagielski	 		<xsl:value-of select="."/>
210*b1cdbd2cSJim Jagielski	 	</span>
211*b1cdbd2cSJim Jagielski	 	<br/>
212*b1cdbd2cSJim Jagielski	 </xsl:template>
213*b1cdbd2cSJim Jagielski
214*b1cdbd2cSJim Jagielski
215*b1cdbd2cSJim Jagielski	 <xsl:template match="document/@update-date">
216*b1cdbd2cSJim Jagielski	 	<span class="doclastchangeddate">
217*b1cdbd2cSJim Jagielski	 		<xsl:value-of select="."/>
218*b1cdbd2cSJim Jagielski	 	</span>
219*b1cdbd2cSJim Jagielski	 	<br/>
220*b1cdbd2cSJim Jagielski	 </xsl:template>
221*b1cdbd2cSJim Jagielski
222*b1cdbd2cSJim Jagielski
223*b1cdbd2cSJim Jagielski	 <xsl:template match="document/@filename">
224*b1cdbd2cSJim Jagielski	 	<span class="docfilename">
225*b1cdbd2cSJim Jagielski	 		<xsl:value-of select="."/>
226*b1cdbd2cSJim Jagielski	 	</span>
227*b1cdbd2cSJim Jagielski	 	<br/>
228*b1cdbd2cSJim Jagielski	 </xsl:template>
229*b1cdbd2cSJim Jagielski
230*b1cdbd2cSJim Jagielski
231*b1cdbd2cSJim Jagielski	 <xsl:template match="document/@format">
232*b1cdbd2cSJim Jagielski	 	<span class="docfileformatinfo">
233*b1cdbd2cSJim Jagielski	 		<xsl:value-of select="."/>
234*b1cdbd2cSJim Jagielski	 	</span>
235*b1cdbd2cSJim Jagielski	 	<br/>
236*b1cdbd2cSJim Jagielski	 </xsl:template>
237*b1cdbd2cSJim Jagielski
238*b1cdbd2cSJim Jagielski
239*b1cdbd2cSJim Jagielski	 <xsl:template match="document/@pages">
240*b1cdbd2cSJim Jagielski	 	<span class="docnumberofpages">
241*b1cdbd2cSJim Jagielski	 		<xsl:value-of select="."/>
242*b1cdbd2cSJim Jagielski	 	</span>
243*b1cdbd2cSJim Jagielski	 	<br/>
244*b1cdbd2cSJim Jagielski	 </xsl:template>
245*b1cdbd2cSJim Jagielski
246*b1cdbd2cSJim Jagielski
247*b1cdbd2cSJim Jagielski	 <xsl:template match="document/@size">
248*b1cdbd2cSJim Jagielski	 	<span class="docsizeinkb">
249*b1cdbd2cSJim Jagielski	 		<xsl:value-of select="."/>
250*b1cdbd2cSJim Jagielski	 	</span>
251*b1cdbd2cSJim Jagielski	 	<br/>
252*b1cdbd2cSJim Jagielski	 </xsl:template>
253*b1cdbd2cSJim Jagielski
254*b1cdbd2cSJim Jagielski	 <xsl:template match="document/@icon">
255*b1cdbd2cSJim Jagielski	   <img src="images/{.}"/>
256*b1cdbd2cSJim Jagielski	 	<br/>
257*b1cdbd2cSJim Jagielski	 </xsl:template>
258*b1cdbd2cSJim Jagielski
259*b1cdbd2cSJim Jagielski
260*b1cdbd2cSJim Jagielski	 <!-- =============================
261*b1cdbd2cSJim Jagielski	               HTML HEAD
262*b1cdbd2cSJim Jagielski
263*b1cdbd2cSJim Jagielski    this section should not be changed
264*b1cdbd2cSJim Jagielski	 ================================== -->
265*b1cdbd2cSJim Jagielski
266*b1cdbd2cSJim Jagielski	 <xsl:template name="head">
267*b1cdbd2cSJim Jagielski	 	<head>
268*b1cdbd2cSJim Jagielski				<title>
269*b1cdbd2cSJim Jagielski				 	<xsl:value-of select="/session/general-info/@title"/>
270*b1cdbd2cSJim Jagielski				</title>
271*b1cdbd2cSJim Jagielski				<!-- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -->
272*b1cdbd2cSJim Jagielski				<meta HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-8"/>
273*b1cdbd2cSJim Jagielski				<meta name="description" content="{/session/general-info/@description}"/>
274*b1cdbd2cSJim Jagielski				<meta name="keywords" content="{/session/general-info/@keywords}"/>
275*b1cdbd2cSJim Jagielski				<meta name="author" content="{/session/general-info/@author}"/>
276*b1cdbd2cSJim Jagielski				<meta name="email" content="{/session/general-info/@email}"/>
277*b1cdbd2cSJim Jagielski				<meta name="copyright" content="{/session/general-info/@copyright}"/>
278*b1cdbd2cSJim Jagielski				<!-- create date?
279*b1cdbd2cSJim Jagielski				     update date?
280*b1cdbd2cSJim Jagielski				     fav icon?
281*b1cdbd2cSJim Jagielski				     -->
282*b1cdbd2cSJim Jagielski		     <link href="style.css" rel="stylesheet" type="text/css"/>
283*b1cdbd2cSJim Jagielski
284*b1cdbd2cSJim Jagielski		</head>
285*b1cdbd2cSJim Jagielski	 </xsl:template>
286*b1cdbd2cSJim Jagielski
287*b1cdbd2cSJim Jagielski</xsl:stylesheet>
288