xref: /AOO41X/main/extras/source/misc_config/wizard/web/layouts/layoutX.xsl (revision ff0525f24f03981d56b7579b645949f111420994)
1<?xml version="1.0" encoding="UTF-8"?>
2<!--***********************************************************
3 *
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements.  See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership.  The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License.  You may obtain a copy of the License at
11 *
12 *   http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied.  See the License for the
18 * specific language governing permissions and limitations
19 * under the License.
20 *
21 ***********************************************************-->
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     <!-- =============================
40                   ROOT
41     ================================== -->
42
43
44    <xsl:template  match="/">
45        <html>
46                   <xsl:call-template name="head"/>
47                  <xsl:call-template name="body"/>
48           </html>
49     </xsl:template>
50
51
52     <!-- =============================
53                   HTML BODY
54     ================================== -->
55
56     <xsl:template name="body">
57        <body>
58            <xsl:call-template name="title"/>
59            <xsl:call-template name="toc"/>
60        </body>
61     </xsl:template>
62
63
64     <xsl:template name="toc">
65        <!--
66             @ pre toc html here
67        -->
68
69        <!-- use this to group documents, it
70        is for example usefull when generating tables -->
71
72        <xsl:variable name="group" select="3"/>
73
74        <xsl:for-each select="/session/content/document[ ( ( position() - 1 ) mod $group ) = 0 ]">
75
76            <!--
77                @ pre group html here
78            -->
79
80            <xsl:call-template name="document-group">
81              <xsl:with-param name="group" select="$group"/>
82            </xsl:call-template>
83
84            <!--
85                @ post group html here
86            -->
87
88        </xsl:for-each>
89
90
91        <!-- use this alternative if you do not need to use groups
92        (uncomment to use - and do not forget to comment the group
93        option above...)-->
94
95        <!--
96      <xsl:apply-templates select="/session/content/document"/>
97        -->
98
99        <!--
100             @ post toc html here
101        -->
102
103     </xsl:template>
104
105    <!-- also when using groups, in the end it comes
106    to this template, which is called for each document -->
107    <xsl:template match="document">
108      <xsl:apply-templates select="@title"/>
109      <xsl:apply-templates select="@description"/>
110      <xsl:apply-templates select="@author"/>
111      <xsl:apply-templates select="@create-date"/>
112      <xsl:apply-templates select="@update-date"/>
113      <xsl:apply-templates select="@filename"/>
114      <xsl:apply-templates select="@format"/>
115      <xsl:apply-templates select="@format-icon"/>
116      <xsl:apply-templates select="@format-icon"/>
117    </xsl:template>
118
119
120
121     <xsl:template name="document-group">
122        <xsl:param name="group"/>
123
124        <!-- @ pre group code here -->
125
126        <!-- - - -->
127
128            <xsl:variable name="count" select="(position() - 1) * $group + 1"/>
129
130            <xsl:for-each select="/session/content/document[$count &lt;= position() and position() &lt; ($count + $group)]">
131
132                    <xsl:apply-templates select="."/>
133
134            </xsl:for-each>
135
136        <!-- @ post group code here -->
137
138        <!-- - - -->
139
140     </xsl:template>
141
142
143     <xsl:template name="title">
144        <!--
145          @ Pre title html code here
146        -->
147
148        <xsl:value-of select="/session/general-info/@title"/>
149
150        <!--
151          @ Post title html code here
152        -->
153     </xsl:template>
154
155     <!-- =============================
156             Document properties
157
158     This section contains templates which
159     give the document properties...
160
161     ================================== -->
162
163     <!-- this tempaltes gives the
164     relative href of the document. To use
165     with the <a href="..."> attribute-->
166
167
168     <xsl:template match="document" mode="href">
169       <xsl:value-of select="concat(../@directory,'/')"/>
170       <xsl:if test="@dir">
171         <xsl:value-of select="concat(@dir,'/')"/>
172       </xsl:if>
173       <xsl:value-of select="@fn"/>
174     </xsl:template>
175
176
177     <xsl:template match="document/@title">
178        <span class="doctitle">
179            <a>
180            <xsl:attribute name="href">
181                <xsl:apply-templates select=".." mode="href"/>
182            </xsl:attribute>
183
184            <xsl:value-of select="."/>
185            </a>
186        </span>
187        <br/>
188     </xsl:template>
189
190
191     <xsl:template match="document/@description">
192        <span class="docdescription">
193            <xsl:value-of select="."/>
194        </span>
195        <br/>
196     </xsl:template>
197
198
199     <xsl:template match="document/@author">
200        <span class="docauthor">
201            <xsl:value-of select="."/>
202        </span>
203        <br/>
204     </xsl:template>
205
206
207     <xsl:template match="document/@create-date">
208        <span class="doccreationdate">
209            <xsl:value-of select="."/>
210        </span>
211        <br/>
212     </xsl:template>
213
214
215     <xsl:template match="document/@update-date">
216        <span class="doclastchangedate">
217            <xsl:value-of select="."/>
218        </span>
219        <br/>
220     </xsl:template>
221
222
223     <xsl:template match="document/@filename">
224        <span class="docfilename">
225            <xsl:value-of select="."/>
226        </span>
227        <br/>
228     </xsl:template>
229
230
231     <xsl:template match="document/@format">
232        <span class="docfileformatinfo">
233            <xsl:value-of select="."/>
234        </span>
235        <br/>
236     </xsl:template>
237
238
239     <xsl:template match="document/@pages">
240        <span class="docnumberofpages">
241            <xsl:value-of select="."/>
242        </span>
243        <br/>
244     </xsl:template>
245
246
247     <xsl:template match="document/@size">
248        <span class="docsizeinkb">
249            <xsl:value-of select="."/>
250        </span>
251        <br/>
252     </xsl:template>
253
254     <xsl:template match="document/@icon">
255       <img src="images/{.}"/>
256        <br/>
257     </xsl:template>
258
259
260     <!-- =============================
261                   HTML HEAD
262
263    this section should not be changed
264     ================================== -->
265
266     <xsl:template name="head">
267        <head>
268                <title>
269                    <xsl:value-of select="/session/general-info/@title"/>
270                </title>
271                <!-- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -->
272                <meta HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-8"/>
273                <meta name="description" content="{/session/general-info/@description}"/>
274                <meta name="keywords" content="{/session/general-info/@keywords}"/>
275                <meta name="author" content="{/session/general-info/@author}"/>
276                <meta name="email" content="{/session/general-info/@email}"/>
277                <meta name="copyright" content="{/session/general-info/@copyright}"/>
278                <!-- create date?
279                     update date?
280                     fav icon?
281                     -->
282             <link href="style.css" rel="stylesheet" type="text/css"/>
283
284        </head>
285     </xsl:template>
286
287</xsl:stylesheet>
288