xref: /aoo42x/main/xmlhelp/util/main_transform.xsl (revision cdf0e10c)
1*cdf0e10cSrcweir<?xml version="1.0" encoding="UTF-8"?>
2*cdf0e10cSrcweir
3*cdf0e10cSrcweir
4*cdf0e10cSrcweir<!--***********************************************************************
5*cdf0e10cSrcweir  This is the main transformation style sheet for transforming.
6*cdf0e10cSrcweir  Only use with OOo 2.0
7*cdf0e10cSrcweir  Owner: fpe@openoffice.org
8*cdf0e10cSrcweir  =========================================================================
9*cdf0e10cSrcweir  Changes Log
10*cdf0e10cSrcweir    May 24 2004 Created
11*cdf0e10cSrcweir    Aug 24 2004 Fixed for help2 CWS
12*cdf0e10cSrcweir    Aug 27 2004 Added css link, fixed missing embed-mode for variable
13*cdf0e10cSrcweir                Removed width/height for images
14*cdf0e10cSrcweir    Sep 03 2004 Modularized xsl, added some embedded modes
15*cdf0e10cSrcweir    Oct 08 2004 Fixed bug wrong mode "embedded" for links
16*cdf0e10cSrcweir                Added embedded modes for embed and embedvar (for cascaded embeds)
17*cdf0e10cSrcweir                Added <p> tags around falsely embedded pars and vars
18*cdf0e10cSrcweir    Dec 08 2004 #i38483#, fixed wrong handling of web links
19*cdf0e10cSrcweir                #i37377#, fixed missing usage of Database parameter for switching
20*cdf0e10cSrcweir    Jan 04 2005 #i38905#, fixed buggy branding replacement template
21*cdf0e10cSrcweir    Mar 17 2005 #i43972#, added language info to image URL, evaluate Language parameter
22*cdf0e10cSrcweir                evaluate new localize attribute in images
23*cdf0e10cSrcweir    May 10 2005 #i48785#, fixed wrong setting of distrib variable
24*cdf0e10cSrcweir    Aug 16 2005 workaround for #i53365#
25*cdf0e10cSrcweir    Aug 19 2005 fixed missing list processing in embedded sections
26*cdf0e10cSrcweir    Aug 19 2005 #i53535#, fixed wrong handling of Database parameter
27*cdf0e10cSrcweir    Oct 17 2006 #i70462#, disabled sorting to avoid output of error messages to console
28*cdf0e10cSrcweir    Jun 15 2009 #i101799#, fixed wrong handling of http URLs with anchors
29*cdf0e10cSrcweir***********************************************************************//-->
30*cdf0e10cSrcweir
31*cdf0e10cSrcweir<!--
32*cdf0e10cSrcweir
33*cdf0e10cSrcweir  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
34*cdf0e10cSrcweir
35*cdf0e10cSrcweir  Copyright 2000, 2010 Oracle and/or its affiliates.
36*cdf0e10cSrcweir
37*cdf0e10cSrcweir  OpenOffice.org - a multi-platform office productivity suite
38*cdf0e10cSrcweir
39*cdf0e10cSrcweir  This file is part of OpenOffice.org.
40*cdf0e10cSrcweir
41*cdf0e10cSrcweir  OpenOffice.org is free software: you can redistribute it and/or modify
42*cdf0e10cSrcweir  it under the terms of the GNU Lesser General Public License version 3
43*cdf0e10cSrcweir  only, as published by the Free Software Foundation.
44*cdf0e10cSrcweir
45*cdf0e10cSrcweir  OpenOffice.org is distributed in the hope that it will be useful,
46*cdf0e10cSrcweir  but WITHOUT ANY WARRANTY; without even the implied warranty of
47*cdf0e10cSrcweir  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
48*cdf0e10cSrcweir  GNU Lesser General Public License version 3 for more details
49*cdf0e10cSrcweir  (a copy is included in the LICENSE file that accompanied this code).
50*cdf0e10cSrcweir
51*cdf0e10cSrcweir  You should have received a copy of the GNU Lesser General Public License
52*cdf0e10cSrcweir  version 3 along with OpenOffice.org.  If not, see
53*cdf0e10cSrcweir  <http://www.openoffice.org/license.html>
54*cdf0e10cSrcweir  for a copy of the LGPLv3 License.
55*cdf0e10cSrcweir
56*cdf0e10cSrcweir-->
57*cdf0e10cSrcweir
58*cdf0e10cSrcweir<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
59*cdf0e10cSrcweir
60*cdf0e10cSrcweir<xsl:output indent="yes" method="html"/>
61*cdf0e10cSrcweir
62*cdf0e10cSrcweir<!--
63*cdf0e10cSrcweir############################
64*cdf0e10cSrcweir# Variables and Parameters #
65*cdf0e10cSrcweir############################
66*cdf0e10cSrcweir//-->
67*cdf0e10cSrcweir
68*cdf0e10cSrcweir<!-- General Usage -->
69*cdf0e10cSrcweir<xsl:variable name="am" select="'&amp;'"/>
70*cdf0e10cSrcweir<xsl:variable name="sl" select="'/'"/>
71*cdf0e10cSrcweir<xsl:variable name="qt" select="'&quot;'"/>
72*cdf0e10cSrcweir
73*cdf0e10cSrcweir<!-- generic Icon alt text -->
74*cdf0e10cSrcweir<xsl:variable name="alttext" select="'text/shared/00/icon_alt.xhp'"/>
75*cdf0e10cSrcweir
76*cdf0e10cSrcweir<!-- For calculating pixel sizes -->
77*cdf0e10cSrcweir<xsl:variable name="dpi" select="'96'"/>
78*cdf0e10cSrcweir<xsl:variable name="dpcm" select="'38'"/>
79*cdf0e10cSrcweir
80*cdf0e10cSrcweir<!-- Product brand variables used in the help files -->
81*cdf0e10cSrcweir<xsl:variable name="brand1" select="'$[officename]'"/>
82*cdf0e10cSrcweir<xsl:variable name="brand2" select="'$[officeversion]'"/>
83*cdf0e10cSrcweir<xsl:variable name="brand3" select="'%PRODUCTNAME'"/>
84*cdf0e10cSrcweir<xsl:variable name="brand4" select="'%PRODUCTVERSION'"/>
85*cdf0e10cSrcweir
86*cdf0e10cSrcweir<!-- meta data variables from the help file -->
87*cdf0e10cSrcweir<xsl:variable name="filename" select="/helpdocument/meta/topic/filename"/>
88*cdf0e10cSrcweir<xsl:variable name="topic_id" select="/helpdocument/meta/topic/@id"/>
89*cdf0e10cSrcweir<xsl:variable name="topic_status" select="/helpdocument/meta/topic/@status"/>
90*cdf0e10cSrcweir<xsl:variable name="title" select="/helpdocument/meta/topic/title"/>
91*cdf0e10cSrcweir<xsl:variable name="doclang" select="/helpdocument/meta/topic/title/@xml-lang"/>
92*cdf0e10cSrcweir
93*cdf0e10cSrcweir<!-- Module and the corresponding switching values-->
94*cdf0e10cSrcweir<xsl:param name="Database" select="'swriter'"/>
95*cdf0e10cSrcweir<xsl:variable name="module" select="$Database"/>
96*cdf0e10cSrcweir<xsl:variable name="appl">
97*cdf0e10cSrcweir	<xsl:choose>
98*cdf0e10cSrcweir		<xsl:when test="$module = 'swriter'"><xsl:value-of select="'WRITER'"/></xsl:when>
99*cdf0e10cSrcweir		<xsl:when test="$module = 'scalc'"><xsl:value-of select="'CALC'"/></xsl:when>
100*cdf0e10cSrcweir		<xsl:when test="$module = 'sdraw'"><xsl:value-of select="'DRAW'"/></xsl:when>
101*cdf0e10cSrcweir		<xsl:when test="$module = 'simpress'"><xsl:value-of select="'IMPRESS'"/></xsl:when>
102*cdf0e10cSrcweir		<xsl:when test="$module = 'schart'"><xsl:value-of select="'CHART'"/></xsl:when>
103*cdf0e10cSrcweir		<xsl:when test="$module = 'sbasic'"><xsl:value-of select="'BASIC'"/></xsl:when>
104*cdf0e10cSrcweir		<xsl:when test="$module = 'smath'"><xsl:value-of select="'MATH'"/></xsl:when>
105*cdf0e10cSrcweir	</xsl:choose>
106*cdf0e10cSrcweir</xsl:variable>
107*cdf0e10cSrcweir
108*cdf0e10cSrcweir  <!-- the other parameters given by the help caller -->
109*cdf0e10cSrcweir<xsl:param name="System" select="'WIN'"/>
110*cdf0e10cSrcweir<xsl:param name="productname" select="'Office'"/>
111*cdf0e10cSrcweir<xsl:param name="productversion" select="''"/>
112*cdf0e10cSrcweir<xsl:variable name="pversion">
113*cdf0e10cSrcweir	<xsl:value-of select="translate($productversion,' ','')"/>
114*cdf0e10cSrcweir</xsl:variable>
115*cdf0e10cSrcweir<!-- this is were the images are -->
116*cdf0e10cSrcweir<xsl:param name="imgrepos" select="''"/>
117*cdf0e10cSrcweir<xsl:param name="Id" />
118*cdf0e10cSrcweir<!-- (lame) distinction between OS and Commercial -->
119*cdf0e10cSrcweir<xsl:param name="distrib">
120*cdf0e10cSrcweir	<xsl:choose>
121*cdf0e10cSrcweir		<xsl:when test="starts-with($productname,'OpenOffice')">
122*cdf0e10cSrcweir			<xsl:value-of select="'OpenSource'"/>
123*cdf0e10cSrcweir		</xsl:when>
124*cdf0e10cSrcweir		<xsl:otherwise>
125*cdf0e10cSrcweir			<xsl:value-of select="'COMMERCIAL'"/>
126*cdf0e10cSrcweir		</xsl:otherwise>
127*cdf0e10cSrcweir	</xsl:choose>
128*cdf0e10cSrcweir</xsl:param>
129*cdf0e10cSrcweir<xsl:param name="Language" select="'en-US'"/>
130*cdf0e10cSrcweir<xsl:variable name="lang" select="$Language"/>
131*cdf0e10cSrcweir
132*cdf0e10cSrcweir<xsl:param name="ExtensionId" select="''"/>
133*cdf0e10cSrcweir<xsl:param name="ExtensionPath" select="''"/>
134*cdf0e10cSrcweir
135*cdf0e10cSrcweir
136*cdf0e10cSrcweir  <!-- parts of help and image urls -->
137*cdf0e10cSrcweir<xsl:variable name="help_url_prefix" select="'vnd.sun.star.help://'"/>
138*cdf0e10cSrcweir<xsl:variable name="img_url_prefix" select="concat('vnd.sun.star.zip://',$imgrepos,'/')"/>
139*cdf0e10cSrcweir<xsl:variable name="urlpost" select="concat('?Language=',$lang,$am,'System=',$System,$am,'UseDB=no')"/>
140*cdf0e10cSrcweir<xsl:variable name="urlpre" select="$help_url_prefix" />
141*cdf0e10cSrcweir<xsl:variable name="linkprefix" select="$urlpre"/>
142*cdf0e10cSrcweir<xsl:variable name="linkpostfix" select="$urlpost"/>
143*cdf0e10cSrcweir
144*cdf0e10cSrcweir<xsl:variable name="css" select="'default.css'"/>
145*cdf0e10cSrcweir
146*cdf0e10cSrcweir<!-- images for notes, tips and warnings -->
147*cdf0e10cSrcweir<xsl:variable name="note_img" select="concat($img_url_prefix,'res/helpimg/note.png')"/>
148*cdf0e10cSrcweir<xsl:variable name="tip_img" select="concat($img_url_prefix,'res/helpimg/tip.png')"/>
149*cdf0e10cSrcweir<xsl:variable name="warning_img" select="concat($img_url_prefix,'res/helpimg/warning.png')"/>
150*cdf0e10cSrcweir
151*cdf0e10cSrcweir<!--
152*cdf0e10cSrcweir#############
153*cdf0e10cSrcweir# Templates #
154*cdf0e10cSrcweir#############
155*cdf0e10cSrcweir//-->
156*cdf0e10cSrcweir
157*cdf0e10cSrcweir<!-- Create the document skeleton -->
158*cdf0e10cSrcweir<xsl:template match="/">
159*cdf0e10cSrcweir	<xsl:variable name="csslink" select="concat($urlpre,'/',$urlpost)"/>
160*cdf0e10cSrcweir	<html>
161*cdf0e10cSrcweir		<head>
162*cdf0e10cSrcweir			<title><xsl:value-of select="$title"/></title>
163*cdf0e10cSrcweir			<link href="{$csslink}" rel="Stylesheet" type="text/css" /> <!-- stylesheet link -->
164*cdf0e10cSrcweir  		<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
165*cdf0e10cSrcweir		</head>
166*cdf0e10cSrcweir		<body lang="{$lang}">
167*cdf0e10cSrcweir			<xsl:apply-templates select="/helpdocument/body"/>
168*cdf0e10cSrcweir		</body>
169*cdf0e10cSrcweir	</html>
170*cdf0e10cSrcweir</xsl:template>
171*cdf0e10cSrcweir
172*cdf0e10cSrcweir<!-- AHELP -->
173*cdf0e10cSrcweir<xsl:template match="ahelp">
174*cdf0e10cSrcweir	<xsl:if test="not(@visibility='hidden')"><span class="avis"><xsl:apply-templates /></span></xsl:if>
175*cdf0e10cSrcweir</xsl:template>
176*cdf0e10cSrcweir
177*cdf0e10cSrcweir<!-- ALT -->
178*cdf0e10cSrcweir<xsl:template match="alt"/>
179*cdf0e10cSrcweir
180*cdf0e10cSrcweir<!-- BOOKMARK -->
181*cdf0e10cSrcweir<xsl:template match="bookmark">
182*cdf0e10cSrcweir	<a name="{@id}"></a>
183*cdf0e10cSrcweir	<xsl:choose>
184*cdf0e10cSrcweir		<xsl:when test="starts-with(@branch,'hid')" />
185*cdf0e10cSrcweir		<xsl:otherwise><xsl:apply-templates /></xsl:otherwise>
186*cdf0e10cSrcweir	</xsl:choose>
187*cdf0e10cSrcweir</xsl:template>
188*cdf0e10cSrcweir<xsl:template match="bookmark" mode="embedded" />
189*cdf0e10cSrcweir
190*cdf0e10cSrcweir<!-- BOOKMARK_VALUE -->
191*cdf0e10cSrcweir<xsl:template match="bookmark_value" />
192*cdf0e10cSrcweir
193*cdf0e10cSrcweir<!-- BR -->
194*cdf0e10cSrcweir<xsl:template match="br"><br /></xsl:template>
195*cdf0e10cSrcweir
196*cdf0e10cSrcweir<!-- CAPTION -->
197*cdf0e10cSrcweir<xsl:template match="caption" />
198*cdf0e10cSrcweir
199*cdf0e10cSrcweir<!-- CASE -->
200*cdf0e10cSrcweir<xsl:template match="case"><xsl:call-template name="insertcase" /></xsl:template>
201*cdf0e10cSrcweir<xsl:template match="case" mode="embedded">
202*cdf0e10cSrcweir	<xsl:call-template name="insertcase">
203*cdf0e10cSrcweir		<xsl:with-param name="embedded" select="'yes'"/>
204*cdf0e10cSrcweir	</xsl:call-template>
205*cdf0e10cSrcweir</xsl:template>
206*cdf0e10cSrcweir
207*cdf0e10cSrcweir<!-- CASEINLINE -->
208*cdf0e10cSrcweir<xsl:template match="caseinline"><xsl:call-template name="insertcase" /></xsl:template>
209*cdf0e10cSrcweir<xsl:template match="caseinline" mode="embedded">
210*cdf0e10cSrcweir	<xsl:call-template name="insertcase">
211*cdf0e10cSrcweir		<xsl:with-param name="embedded" select="'yes'"/>
212*cdf0e10cSrcweir	</xsl:call-template>
213*cdf0e10cSrcweir</xsl:template>
214*cdf0e10cSrcweir
215*cdf0e10cSrcweir<!-- COMMENT -->
216*cdf0e10cSrcweir<xsl:template match="comment" />
217*cdf0e10cSrcweir<xsl:template match="comment" mode="embedded"/>
218*cdf0e10cSrcweir
219*cdf0e10cSrcweir<!-- CREATED -->
220*cdf0e10cSrcweir<xsl:template match="created" />
221*cdf0e10cSrcweir
222*cdf0e10cSrcweir<!-- DEFAULT -->
223*cdf0e10cSrcweir<xsl:template match="default"><xsl:call-template name="insertdefault" /></xsl:template>
224*cdf0e10cSrcweir<xsl:template match="default" mode="embedded">
225*cdf0e10cSrcweir	<xsl:call-template name="insertdefault">
226*cdf0e10cSrcweir		<xsl:with-param name="embedded" select="'yes'"/>
227*cdf0e10cSrcweir	</xsl:call-template>
228*cdf0e10cSrcweir</xsl:template>
229*cdf0e10cSrcweir
230*cdf0e10cSrcweir<!-- DEFAULTINLINE -->
231*cdf0e10cSrcweir<xsl:template match="defaultinline"><xsl:call-template name="insertdefault" /></xsl:template>
232*cdf0e10cSrcweir<xsl:template match="defaultinline" mode="embedded">
233*cdf0e10cSrcweir	<xsl:call-template name="insertdefault">
234*cdf0e10cSrcweir		<xsl:with-param name="embedded" select="'yes'"/>
235*cdf0e10cSrcweir	</xsl:call-template>
236*cdf0e10cSrcweir</xsl:template>
237*cdf0e10cSrcweir
238*cdf0e10cSrcweir<!-- EMBED -->
239*cdf0e10cSrcweir<xsl:template match="embed"><xsl:call-template name="resolveembed"/></xsl:template>
240*cdf0e10cSrcweir<xsl:template match="embed" mode="embedded"><xsl:call-template name="resolveembed"/></xsl:template>
241*cdf0e10cSrcweir
242*cdf0e10cSrcweir<!-- EMBEDVAR -->
243*cdf0e10cSrcweir<xsl:template match="embedvar"><xsl:call-template name="resolveembedvar"/></xsl:template>
244*cdf0e10cSrcweir<xsl:template match="embedvar" mode="embedded"><xsl:call-template name="resolveembedvar"/></xsl:template>
245*cdf0e10cSrcweir
246*cdf0e10cSrcweir<!-- EMPH -->
247*cdf0e10cSrcweir<xsl:template match="emph">
248*cdf0e10cSrcweir	<span class="emph"><xsl:apply-templates /></span>
249*cdf0e10cSrcweir</xsl:template>
250*cdf0e10cSrcweir<xsl:template match="emph" mode="embedded">
251*cdf0e10cSrcweir	<span class="emph"><xsl:apply-templates /></span>
252*cdf0e10cSrcweir</xsl:template>
253*cdf0e10cSrcweir
254*cdf0e10cSrcweir<!-- FILENAME -->
255*cdf0e10cSrcweir<xsl:template match="filename" />
256*cdf0e10cSrcweir
257*cdf0e10cSrcweir<!-- HISTORY -->
258*cdf0e10cSrcweir<xsl:template match="history" />
259*cdf0e10cSrcweir
260*cdf0e10cSrcweir<!-- IMAGE -->
261*cdf0e10cSrcweir<xsl:template match="image"><xsl:call-template name="insertimage"/></xsl:template>
262*cdf0e10cSrcweir<xsl:template match="image" mode="embedded"><xsl:call-template name="insertimage"/></xsl:template>
263*cdf0e10cSrcweir
264*cdf0e10cSrcweir<!-- ITEM -->
265*cdf0e10cSrcweir<xsl:template match="item"><span class="{@type}"><xsl:apply-templates /></span></xsl:template>
266*cdf0e10cSrcweir<xsl:template match="item" mode="embedded"><span class="{@type}"><xsl:apply-templates /></span></xsl:template>
267*cdf0e10cSrcweir
268*cdf0e10cSrcweir<!-- LASTEDITED -->
269*cdf0e10cSrcweir<xsl:template match="lastedited" />
270*cdf0e10cSrcweir
271*cdf0e10cSrcweir<!-- LINK -->
272*cdf0e10cSrcweir<xsl:template match="link">
273*cdf0e10cSrcweir	<xsl:choose> <!-- don't insert the heading link to itself -->
274*cdf0e10cSrcweir		<xsl:when test="(concat('/',@href) = /helpdocument/meta/topic/filename) or (@href = /helpdocument/meta/topic/filename)">
275*cdf0e10cSrcweir			<xsl:apply-templates />
276*cdf0e10cSrcweir		</xsl:when>
277*cdf0e10cSrcweir		<xsl:when test="contains(child::embedvar/@href,'/00/00000004.xhp#wie')"> <!-- special treatment of howtoget links -->
278*cdf0e10cSrcweir			<xsl:call-template name="insert_howtoget">
279*cdf0e10cSrcweir				<xsl:with-param name="linkhref" select="@href"/>
280*cdf0e10cSrcweir			</xsl:call-template>
281*cdf0e10cSrcweir		</xsl:when>
282*cdf0e10cSrcweir		<xsl:otherwise>
283*cdf0e10cSrcweir			<xsl:call-template name="createlink" />
284*cdf0e10cSrcweir		</xsl:otherwise>
285*cdf0e10cSrcweir	</xsl:choose>
286*cdf0e10cSrcweir</xsl:template>
287*cdf0e10cSrcweir<xsl:template match="link" mode="embedded">
288*cdf0e10cSrcweir	<xsl:call-template name="createlink"/>
289*cdf0e10cSrcweir</xsl:template>
290*cdf0e10cSrcweir
291*cdf0e10cSrcweir<!-- LIST -->
292*cdf0e10cSrcweir<xsl:template match="list">
293*cdf0e10cSrcweir	<xsl:choose>
294*cdf0e10cSrcweir		<xsl:when test="@type='ordered'">
295*cdf0e10cSrcweir			<ol>
296*cdf0e10cSrcweir				<xsl:if test="@startwith">
297*cdf0e10cSrcweir					<xsl:attribute name="start"><xsl:value-of select="@startwith"/></xsl:attribute>
298*cdf0e10cSrcweir				</xsl:if>
299*cdf0e10cSrcweir				<xsl:apply-templates />
300*cdf0e10cSrcweir			</ol>
301*cdf0e10cSrcweir		</xsl:when>
302*cdf0e10cSrcweir		<xsl:otherwise>
303*cdf0e10cSrcweir			<ul><xsl:apply-templates /></ul>
304*cdf0e10cSrcweir		</xsl:otherwise>
305*cdf0e10cSrcweir	</xsl:choose>
306*cdf0e10cSrcweir</xsl:template>
307*cdf0e10cSrcweir
308*cdf0e10cSrcweir<xsl:template match="list" mode="embedded">
309*cdf0e10cSrcweir	<xsl:choose>
310*cdf0e10cSrcweir		<xsl:when test="@type='ordered'">
311*cdf0e10cSrcweir			<ol>
312*cdf0e10cSrcweir				<xsl:if test="@startwith">
313*cdf0e10cSrcweir					<xsl:attribute name="start"><xsl:value-of select="@startwith"/></xsl:attribute>
314*cdf0e10cSrcweir				</xsl:if>
315*cdf0e10cSrcweir				<xsl:apply-templates mode="embedded"/>
316*cdf0e10cSrcweir			</ol>
317*cdf0e10cSrcweir		</xsl:when>
318*cdf0e10cSrcweir		<xsl:otherwise>
319*cdf0e10cSrcweir			<ul><xsl:apply-templates mode="embedded"/></ul>
320*cdf0e10cSrcweir		</xsl:otherwise>
321*cdf0e10cSrcweir	</xsl:choose>
322*cdf0e10cSrcweir</xsl:template>
323*cdf0e10cSrcweir
324*cdf0e10cSrcweir<!-- LISTITEM -->
325*cdf0e10cSrcweir<xsl:template match="listitem">
326*cdf0e10cSrcweir	<li><xsl:apply-templates /></li>
327*cdf0e10cSrcweir</xsl:template>
328*cdf0e10cSrcweir
329*cdf0e10cSrcweir<xsl:template match="listitem" mode="embedded">
330*cdf0e10cSrcweir	<li><xsl:apply-templates mode="embedded"/></li>
331*cdf0e10cSrcweir</xsl:template>
332*cdf0e10cSrcweir
333*cdf0e10cSrcweir<!-- META, SEE HEADER -->
334*cdf0e10cSrcweir<xsl:template match="meta" />
335*cdf0e10cSrcweir
336*cdf0e10cSrcweir<!-- OBJECT (UNUSED) -->
337*cdf0e10cSrcweir<xsl:template match="object" />
338*cdf0e10cSrcweir
339*cdf0e10cSrcweir<!-- PARAGRAPH -->
340*cdf0e10cSrcweir<xsl:template match="paragraph">
341*cdf0e10cSrcweir	<xsl:choose>
342*cdf0e10cSrcweir
343*cdf0e10cSrcweir		<xsl:when test="@role='heading'">
344*cdf0e10cSrcweir			<xsl:call-template name="insertheading">
345*cdf0e10cSrcweir				<xsl:with-param name="level" select="@level"/>
346*cdf0e10cSrcweir			</xsl:call-template>
347*cdf0e10cSrcweir		</xsl:when>
348*cdf0e10cSrcweir
349*cdf0e10cSrcweir		<xsl:when test="contains(' note warning tip ',@role)">
350*cdf0e10cSrcweir			<xsl:call-template name="insertnote">
351*cdf0e10cSrcweir				<xsl:with-param name="type" select="@role" />
352*cdf0e10cSrcweir			</xsl:call-template>
353*cdf0e10cSrcweir		</xsl:when>
354*cdf0e10cSrcweir
355*cdf0e10cSrcweir		<xsl:when test="contains(descendant::embedvar/@href,'/00/00000004.xhp#wie')"> <!-- special treatment of howtoget links -->
356*cdf0e10cSrcweir			<xsl:apply-templates />
357*cdf0e10cSrcweir		</xsl:when>
358*cdf0e10cSrcweir
359*cdf0e10cSrcweir		<xsl:otherwise>
360*cdf0e10cSrcweir			<xsl:call-template name="insertpara" />
361*cdf0e10cSrcweir		</xsl:otherwise>
362*cdf0e10cSrcweir
363*cdf0e10cSrcweir	</xsl:choose>
364*cdf0e10cSrcweir</xsl:template>
365*cdf0e10cSrcweir
366*cdf0e10cSrcweir<xsl:template match="paragraph" mode="embedded">
367*cdf0e10cSrcweir		<xsl:choose>
368*cdf0e10cSrcweir
369*cdf0e10cSrcweir		<xsl:when test="@role='heading'">	<!-- increase the level of headings that are embedded -->
370*cdf0e10cSrcweir		<!--
371*cdf0e10cSrcweir		   The internal sablotron processor does not seem to support the number function.
372*cdf0e10cSrcweir			 Therefore, we need a workaround for
373*cdf0e10cSrcweir			 <xsl:variable name="level"><xsl:value-of select="number(@level)+1"/></xsl:variable>
374*cdf0e10cSrcweir		-->
375*cdf0e10cSrcweir			<xsl:variable name="newlevel">
376*cdf0e10cSrcweir				<xsl:choose>
377*cdf0e10cSrcweir					<xsl:when test="@level='1'"><xsl:value-of select="'2'"/></xsl:when>
378*cdf0e10cSrcweir					<xsl:when test="@level='2'"><xsl:value-of select="'2'"/></xsl:when>
379*cdf0e10cSrcweir					<xsl:when test="@level='3'"><xsl:value-of select="'3'"/></xsl:when>
380*cdf0e10cSrcweir					<xsl:when test="@level='4'"><xsl:value-of select="'4'"/></xsl:when>
381*cdf0e10cSrcweir					<xsl:when test="@level='5'"><xsl:value-of select="'5'"/></xsl:when>
382*cdf0e10cSrcweir				</xsl:choose>
383*cdf0e10cSrcweir			</xsl:variable>
384*cdf0e10cSrcweir
385*cdf0e10cSrcweir			<xsl:call-template name="insertheading">
386*cdf0e10cSrcweir				<xsl:with-param name="level" select="$newlevel"/>
387*cdf0e10cSrcweir				<xsl:with-param name="embedded" select="'yes'"/>
388*cdf0e10cSrcweir			</xsl:call-template>
389*cdf0e10cSrcweir		</xsl:when>
390*cdf0e10cSrcweir
391*cdf0e10cSrcweir		<xsl:when test="contains(' note warning tip ',@role)">
392*cdf0e10cSrcweir			<xsl:call-template name="insertnote">
393*cdf0e10cSrcweir				<xsl:with-param name="type" select="@role" />
394*cdf0e10cSrcweir			</xsl:call-template>
395*cdf0e10cSrcweir		</xsl:when>
396*cdf0e10cSrcweir
397*cdf0e10cSrcweir		<xsl:when test="contains(descendant::embedvar/@href,'/00/00000004.xhp#wie')"> <!-- special treatment of howtoget links -->
398*cdf0e10cSrcweir			<xsl:apply-templates />
399*cdf0e10cSrcweir		</xsl:when>
400*cdf0e10cSrcweir
401*cdf0e10cSrcweir		<xsl:otherwise>
402*cdf0e10cSrcweir			<xsl:call-template name="insertpara" />
403*cdf0e10cSrcweir		</xsl:otherwise>
404*cdf0e10cSrcweir
405*cdf0e10cSrcweir	</xsl:choose>
406*cdf0e10cSrcweir</xsl:template>
407*cdf0e10cSrcweir
408*cdf0e10cSrcweir
409*cdf0e10cSrcweir<!-- SECTION -->
410*cdf0e10cSrcweir<xsl:template match="section">
411*cdf0e10cSrcweir	<a name="{@id}"></a>
412*cdf0e10cSrcweir
413*cdf0e10cSrcweir		<xsl:choose>
414*cdf0e10cSrcweir
415*cdf0e10cSrcweir			<xsl:when test="@id='relatedtopics'">
416*cdf0e10cSrcweir				<div class="relatedtopics">
417*cdf0e10cSrcweir					<xsl:variable name="href"><xsl:value-of select="concat($urlpre,'shared/text/shared/00/00000004.xhp',$urlpost)"/></xsl:variable>
418*cdf0e10cSrcweir					<xsl:variable name="anchor"><xsl:value-of select="'related'"/></xsl:variable>
419*cdf0e10cSrcweir					<xsl:variable name="doc" select="document($href)"/>
420*cdf0e10cSrcweir					<p class="related">
421*cdf0e10cSrcweir						<xsl:apply-templates select="$doc//variable[@id=$anchor]"/>
422*cdf0e10cSrcweir					</p>
423*cdf0e10cSrcweir					<div class="relatedbody">
424*cdf0e10cSrcweir						<xsl:apply-templates />
425*cdf0e10cSrcweir					</div>
426*cdf0e10cSrcweir				</div>
427*cdf0e10cSrcweir			</xsl:when>
428*cdf0e10cSrcweir
429*cdf0e10cSrcweir			<xsl:when test="@id='howtoget'">
430*cdf0e10cSrcweir				<xsl:call-template name="insert_howtoget" />
431*cdf0e10cSrcweir			</xsl:when>
432*cdf0e10cSrcweir
433*cdf0e10cSrcweir			<xsl:otherwise>
434*cdf0e10cSrcweir						<xsl:apply-templates/>
435*cdf0e10cSrcweir			</xsl:otherwise>
436*cdf0e10cSrcweir
437*cdf0e10cSrcweir		</xsl:choose>
438*cdf0e10cSrcweir
439*cdf0e10cSrcweir</xsl:template>
440*cdf0e10cSrcweir
441*cdf0e10cSrcweir
442*cdf0e10cSrcweir<!-- SECTION -->
443*cdf0e10cSrcweir<xsl:template match="section" mode="embedded">
444*cdf0e10cSrcweir	<a name="{@id}"></a>
445*cdf0e10cSrcweir	<xsl:apply-templates mode="embedded"/>
446*cdf0e10cSrcweir</xsl:template>
447*cdf0e10cSrcweir
448*cdf0e10cSrcweir<!-- SORT -->
449*cdf0e10cSrcweir<xsl:template match="sort" >
450*cdf0e10cSrcweir  <!-- sorting disabled due to #i70462#
451*cdf0e10cSrcweir	<xsl:apply-templates><xsl:sort select="descendant::paragraph"/></xsl:apply-templates>
452*cdf0e10cSrcweir	//-->
453*cdf0e10cSrcweir	<xsl:apply-templates />
454*cdf0e10cSrcweir</xsl:template>
455*cdf0e10cSrcweir<xsl:template match="sort" mode="embedded">
456*cdf0e10cSrcweir<!-- sorting disabled due to #i70462#
457*cdf0e10cSrcweir	<xsl:apply-templates><xsl:sort select="descendant::paragraph"/></xsl:apply-templates>
458*cdf0e10cSrcweir	//-->
459*cdf0e10cSrcweir	<xsl:apply-templates />
460*cdf0e10cSrcweir</xsl:template>
461*cdf0e10cSrcweir
462*cdf0e10cSrcweir<!-- SWITCH -->
463*cdf0e10cSrcweir<xsl:template match="switch"><xsl:apply-templates /></xsl:template>
464*cdf0e10cSrcweir<xsl:template match="switch" mode="embedded"><xsl:apply-templates /></xsl:template>
465*cdf0e10cSrcweir
466*cdf0e10cSrcweir<!-- SWITCHINLINE -->
467*cdf0e10cSrcweir<xsl:template match="switchinline"><xsl:apply-templates /></xsl:template>
468*cdf0e10cSrcweir<xsl:template match="switchinline" mode="embedded"><xsl:apply-templates mode="embedded"/></xsl:template>
469*cdf0e10cSrcweir
470*cdf0e10cSrcweir<!-- TABLE -->
471*cdf0e10cSrcweir<xsl:template match="table"><xsl:call-template name="inserttable"/></xsl:template>
472*cdf0e10cSrcweir<xsl:template match="table" mode="embedded"><xsl:call-template name="inserttable"/></xsl:template>
473*cdf0e10cSrcweir
474*cdf0e10cSrcweir<!-- TABLECELL -->
475*cdf0e10cSrcweir<xsl:template match="tablecell"><td valign="top"><xsl:apply-templates /></td></xsl:template>
476*cdf0e10cSrcweir<xsl:template match="tablecell" mode="icontable"><td valign="top"><xsl:apply-templates/></td></xsl:template>
477*cdf0e10cSrcweir<xsl:template match="tablecell" mode="embedded"><td valign="top"><xsl:apply-templates mode="embedded"/></td></xsl:template>
478*cdf0e10cSrcweir
479*cdf0e10cSrcweir<!-- TABLEROW -->
480*cdf0e10cSrcweir<xsl:template match="tablerow"><tr><xsl:apply-templates /></tr></xsl:template>
481*cdf0e10cSrcweir<xsl:template match="tablerow" mode="icontable"><tr><xsl:apply-templates mode="icontable"/></tr></xsl:template>
482*cdf0e10cSrcweir<xsl:template match="tablerow" mode="embedded"><tr><xsl:apply-templates mode="embedded"/></tr></xsl:template>
483*cdf0e10cSrcweir
484*cdf0e10cSrcweir<!-- TITLE -->
485*cdf0e10cSrcweir<xsl:template match="title"/>
486*cdf0e10cSrcweir
487*cdf0e10cSrcweir<!-- TOPIC -->
488*cdf0e10cSrcweir<xsl:template match="topic"/>
489*cdf0e10cSrcweir
490*cdf0e10cSrcweir<!-- VARIABLE -->
491*cdf0e10cSrcweir<xsl:template match="variable"><a name="{@id}"></a><xsl:apply-templates /></xsl:template>
492*cdf0e10cSrcweir<xsl:template match="variable" mode="embedded"><a name="{@id}"></a><xsl:apply-templates mode="embedded"/></xsl:template>
493*cdf0e10cSrcweir
494*cdf0e10cSrcweir<xsl:template match="text()">
495*cdf0e10cSrcweir	<xsl:call-template name="brand">
496*cdf0e10cSrcweir		<xsl:with-param name="string"><xsl:value-of select="."/></xsl:with-param>
497*cdf0e10cSrcweir	</xsl:call-template>
498*cdf0e10cSrcweir</xsl:template>
499*cdf0e10cSrcweir
500*cdf0e10cSrcweir<xsl:template match="text()" mode="embedded">
501*cdf0e10cSrcweir	<xsl:call-template name="brand">
502*cdf0e10cSrcweir		<xsl:with-param name="string"><xsl:value-of select="."/></xsl:with-param>
503*cdf0e10cSrcweir	</xsl:call-template>
504*cdf0e10cSrcweir</xsl:template>
505*cdf0e10cSrcweir
506*cdf0e10cSrcweir<!-- In case of missing help files -->
507*cdf0e10cSrcweir<xsl:template match="help-id-missing"><xsl:value-of select="$Id"/></xsl:template>
508*cdf0e10cSrcweir
509*cdf0e10cSrcweir<!--
510*cdf0e10cSrcweir###################
511*cdf0e10cSrcweir# NAMED TEMPLATES #
512*cdf0e10cSrcweir###################
513*cdf0e10cSrcweir//-->
514*cdf0e10cSrcweir
515*cdf0e10cSrcweir<!-- Branding -->
516*cdf0e10cSrcweir<xsl:template name="brand" >
517*cdf0e10cSrcweir	<xsl:param name="string"/>
518*cdf0e10cSrcweir
519*cdf0e10cSrcweir    <xsl:choose>
520*cdf0e10cSrcweir
521*cdf0e10cSrcweir        <xsl:when test="contains($string,$brand1)">
522*cdf0e10cSrcweir           <xsl:variable name="newstr">
523*cdf0e10cSrcweir                <xsl:value-of select="substring-before($string,$brand1)"/>
524*cdf0e10cSrcweir                <xsl:value-of select="$productname"/>
525*cdf0e10cSrcweir                <xsl:value-of select="substring-after($string,$brand1)"/>
526*cdf0e10cSrcweir           </xsl:variable>
527*cdf0e10cSrcweir			<xsl:call-template name="brand">
528*cdf0e10cSrcweir				<xsl:with-param name="string" select="$newstr"/>
529*cdf0e10cSrcweir			</xsl:call-template>
530*cdf0e10cSrcweir		</xsl:when>
531*cdf0e10cSrcweir
532*cdf0e10cSrcweir		<xsl:when test="contains($string,$brand2)">
533*cdf0e10cSrcweir		    <xsl:variable name="newstr">
534*cdf0e10cSrcweir                <xsl:value-of select="substring-before($string,$brand2)"/>
535*cdf0e10cSrcweir                <xsl:value-of select="$pversion"/>
536*cdf0e10cSrcweir                <xsl:value-of select="substring-after($string,$brand2)"/>
537*cdf0e10cSrcweir           </xsl:variable>
538*cdf0e10cSrcweir			<xsl:call-template name="brand">
539*cdf0e10cSrcweir				<xsl:with-param name="string" select="$newstr"/>
540*cdf0e10cSrcweir			</xsl:call-template>
541*cdf0e10cSrcweir		</xsl:when>
542*cdf0e10cSrcweir
543*cdf0e10cSrcweir		<xsl:when test="contains($string,$brand3)">
544*cdf0e10cSrcweir			<xsl:variable name="newstr">
545*cdf0e10cSrcweir                <xsl:value-of select="substring-before($string,$brand3)"/>
546*cdf0e10cSrcweir                <xsl:value-of select="$productname"/>
547*cdf0e10cSrcweir                <xsl:value-of select="substring-after($string,$brand3)"/>
548*cdf0e10cSrcweir           </xsl:variable>
549*cdf0e10cSrcweir			<xsl:call-template name="brand">
550*cdf0e10cSrcweir				<xsl:with-param name="string" select="$newstr"/>
551*cdf0e10cSrcweir			</xsl:call-template>
552*cdf0e10cSrcweir		</xsl:when>
553*cdf0e10cSrcweir
554*cdf0e10cSrcweir        <xsl:when test="contains($string,$brand4)">
555*cdf0e10cSrcweir			    <xsl:variable name="newstr">
556*cdf0e10cSrcweir                <xsl:value-of select="substring-before($string,$brand4)"/>
557*cdf0e10cSrcweir                <xsl:value-of select="$pversion"/>
558*cdf0e10cSrcweir                <xsl:value-of select="substring-after($string,$brand4)"/>
559*cdf0e10cSrcweir           </xsl:variable>
560*cdf0e10cSrcweir			<xsl:call-template name="brand">
561*cdf0e10cSrcweir				<xsl:with-param name="string" select="$newstr"/>
562*cdf0e10cSrcweir			</xsl:call-template>
563*cdf0e10cSrcweir		</xsl:when>
564*cdf0e10cSrcweir
565*cdf0e10cSrcweir        <xsl:otherwise>
566*cdf0e10cSrcweir			<xsl:value-of select="$string"/>
567*cdf0e10cSrcweir		</xsl:otherwise>
568*cdf0e10cSrcweir	</xsl:choose>
569*cdf0e10cSrcweir
570*cdf0e10cSrcweir</xsl:template>
571*cdf0e10cSrcweir
572*cdf0e10cSrcweir
573*cdf0e10cSrcweir<!-- Insert Paragraph -->
574*cdf0e10cSrcweir<xsl:template name="insertpara">
575*cdf0e10cSrcweir	<xsl:variable name="role">
576*cdf0e10cSrcweir		<xsl:choose>
577*cdf0e10cSrcweir			<xsl:when test="ancestor::table">
578*cdf0e10cSrcweir				<xsl:value-of select="concat(@role,'intable')"/>
579*cdf0e10cSrcweir			</xsl:when>
580*cdf0e10cSrcweir			<xsl:otherwise>
581*cdf0e10cSrcweir				<xsl:value-of select="@role"/>
582*cdf0e10cSrcweir			</xsl:otherwise>
583*cdf0e10cSrcweir		</xsl:choose>
584*cdf0e10cSrcweir	</xsl:variable>
585*cdf0e10cSrcweir	<p class="{$role}"><xsl:apply-templates /></p>
586*cdf0e10cSrcweir</xsl:template>
587*cdf0e10cSrcweir
588*cdf0e10cSrcweir<!-- Insert "How to get Link" -->
589*cdf0e10cSrcweir<xsl:template name="insert_howtoget">
590*cdf0e10cSrcweir	<xsl:param name="linkhref" />
591*cdf0e10cSrcweir	<xsl:variable name="archive" select="'shared'"/>
592*cdf0e10cSrcweir	<xsl:variable name="tmp_href"><xsl:value-of select="concat($urlpre,'shared/text/shared/00/00000004.xhp',$urlpost)"/></xsl:variable>
593*cdf0e10cSrcweir	<xsl:variable name="tmp_doc" select="document($tmp_href)"/>
594*cdf0e10cSrcweir	<table class="howtoget" width="100%" border="1" cellpadding="3" cellspacing="0">
595*cdf0e10cSrcweir		<tr>
596*cdf0e10cSrcweir			<td>
597*cdf0e10cSrcweir				<p class="howtogetheader"><xsl:apply-templates select="$tmp_doc//variable[@id='wie']"/></p>
598*cdf0e10cSrcweir				<div class="howtogetbody">
599*cdf0e10cSrcweir				<xsl:choose>
600*cdf0e10cSrcweir					<xsl:when test="$linkhref = ''"> <!-- new style -->
601*cdf0e10cSrcweir						<xsl:apply-templates/>
602*cdf0e10cSrcweir					</xsl:when>
603*cdf0e10cSrcweir					<xsl:otherwise> <!-- old style -->
604*cdf0e10cSrcweir						<xsl:variable name="archive1"><xsl:value-of select="concat(substring-before(substring-after($linkhref,'text/'),'/'),'/')"/></xsl:variable>
605*cdf0e10cSrcweir						<xsl:variable name="href"><xsl:value-of select="concat($urlpre,$archive1,substring-before($linkhref,'#'),$urlpost)"/></xsl:variable>
606*cdf0e10cSrcweir						<xsl:variable name="anc"><xsl:value-of select="substring-after($linkhref,'#')"/></xsl:variable>
607*cdf0e10cSrcweir						<xsl:variable name="docum" select="document($href)"/>
608*cdf0e10cSrcweir
609*cdf0e10cSrcweir						<xsl:call-template name="insertembed">
610*cdf0e10cSrcweir							<xsl:with-param name="doc" select="$docum" />
611*cdf0e10cSrcweir							<xsl:with-param name="anchor" select="$anc" />
612*cdf0e10cSrcweir						</xsl:call-template>
613*cdf0e10cSrcweir
614*cdf0e10cSrcweir					</xsl:otherwise>
615*cdf0e10cSrcweir				</xsl:choose>
616*cdf0e10cSrcweir				</div>
617*cdf0e10cSrcweir			</td>
618*cdf0e10cSrcweir		</tr>
619*cdf0e10cSrcweir	</table>
620*cdf0e10cSrcweir	<br/>
621*cdf0e10cSrcweir</xsl:template>
622*cdf0e10cSrcweir
623*cdf0e10cSrcweir<!-- Create a link -->
624*cdf0e10cSrcweir<xsl:template name="createlink">
625*cdf0e10cSrcweir<xsl:variable name="archive"><xsl:value-of select="concat(substring-before(substring-after(@href,'text/'),'/'),'/')"/></xsl:variable>
626*cdf0e10cSrcweir<xsl:variable name="dbpostfix"><xsl:call-template name="createDBpostfix"><xsl:with-param name="archive" select="$archive"/></xsl:call-template></xsl:variable>
627*cdf0e10cSrcweir	<xsl:choose>
628*cdf0e10cSrcweir		<xsl:when test="starts-with(@href,'http://')">  <!-- web links -->
629*cdf0e10cSrcweir			<a href="{@href}"><xsl:apply-templates /></a>
630*cdf0e10cSrcweir		</xsl:when>
631*cdf0e10cSrcweir		<xsl:when test="contains(@href,'#')">
632*cdf0e10cSrcweir			<xsl:variable name="anchor"><xsl:value-of select="concat('#',substring-after(@href,'#'))"/></xsl:variable>
633*cdf0e10cSrcweir			<xsl:variable name="href"><xsl:value-of select="concat($linkprefix,$archive,substring-before(@href,'#'),$linkpostfix,$dbpostfix,$anchor)"/></xsl:variable>
634*cdf0e10cSrcweir			<a href="{$href}"><xsl:apply-templates /></a>
635*cdf0e10cSrcweir		</xsl:when>
636*cdf0e10cSrcweir		<xsl:otherwise>
637*cdf0e10cSrcweir			<xsl:variable name="href"><xsl:value-of select="concat($linkprefix,$archive,@href,$linkpostfix,$dbpostfix)"/></xsl:variable>
638*cdf0e10cSrcweir			<a href="{$href}"><xsl:apply-templates /></a>
639*cdf0e10cSrcweir		</xsl:otherwise>
640*cdf0e10cSrcweir	</xsl:choose>
641*cdf0e10cSrcweir</xsl:template>
642*cdf0e10cSrcweir
643*cdf0e10cSrcweir<!-- Insert Note, Warning, or Tip -->
644*cdf0e10cSrcweir<xsl:template name="insertnote">
645*cdf0e10cSrcweir	<xsl:param name="type" /> <!-- note, tip, or warning -->
646*cdf0e10cSrcweir	<xsl:variable name="imgsrc">
647*cdf0e10cSrcweir		<xsl:choose>
648*cdf0e10cSrcweir			<xsl:when test="$type='note'"><xsl:value-of select="$note_img"/></xsl:when>
649*cdf0e10cSrcweir			<xsl:when test="$type='tip'"><xsl:value-of select="$tip_img"/></xsl:when>
650*cdf0e10cSrcweir			<xsl:when test="$type='warning'"><xsl:value-of select="$warning_img"/></xsl:when>
651*cdf0e10cSrcweir		</xsl:choose>
652*cdf0e10cSrcweir	</xsl:variable>
653*cdf0e10cSrcweir	<xsl:variable name="dbpostfix"><xsl:call-template name="createDBpostfix"><xsl:with-param name="archive" select="'shared'"/></xsl:call-template></xsl:variable>
654*cdf0e10cSrcweir	<xsl:variable name="alt">
655*cdf0e10cSrcweir		<xsl:variable name="href"><xsl:value-of select="concat($urlpre,'shared/',$alttext,$urlpost,$dbpostfix)"/></xsl:variable>
656*cdf0e10cSrcweir		<xsl:variable name="anchor"><xsl:value-of select="concat('alt_',$type)"/></xsl:variable>
657*cdf0e10cSrcweir		<xsl:variable name="doc" select="document($href)"/>
658*cdf0e10cSrcweir		<xsl:apply-templates select="$doc//variable[@id=$anchor]" mode="embedded"/>
659*cdf0e10cSrcweir	</xsl:variable>
660*cdf0e10cSrcweir	<div class="{$type}">
661*cdf0e10cSrcweir		<table border="0" class="{$type}" cellspacing="0" cellpadding="5">
662*cdf0e10cSrcweir			<tr>
663*cdf0e10cSrcweir				<td><img src="{$imgsrc}" alt="{$alt}" title="{$alt}"/></td>
664*cdf0e10cSrcweir				<td><xsl:apply-templates /></td>
665*cdf0e10cSrcweir			</tr>
666*cdf0e10cSrcweir		</table>
667*cdf0e10cSrcweir	</div>
668*cdf0e10cSrcweir	<br/>
669*cdf0e10cSrcweir</xsl:template>
670*cdf0e10cSrcweir
671*cdf0e10cSrcweir<!-- Insert a heading -->
672*cdf0e10cSrcweir<xsl:template name="insertheading">
673*cdf0e10cSrcweir	<xsl:param name="level" />
674*cdf0e10cSrcweir	<xsl:param name="embedded" />
675*cdf0e10cSrcweir	<xsl:text disable-output-escaping="yes">&lt;h</xsl:text><xsl:value-of select="$level"/><xsl:text disable-output-escaping="yes">&gt;</xsl:text>
676*cdf0e10cSrcweir		<xsl:choose>
677*cdf0e10cSrcweir			<xsl:when test="$embedded = 'yes'">
678*cdf0e10cSrcweir				<xsl:apply-templates mode="embedded"/>
679*cdf0e10cSrcweir			</xsl:when>
680*cdf0e10cSrcweir			<xsl:otherwise>
681*cdf0e10cSrcweir				<xsl:apply-templates />
682*cdf0e10cSrcweir			</xsl:otherwise>
683*cdf0e10cSrcweir		</xsl:choose>
684*cdf0e10cSrcweir	<xsl:text disable-output-escaping="yes">&lt;/h</xsl:text><xsl:value-of select="$level"/><xsl:text disable-output-escaping="yes">&gt;</xsl:text>
685*cdf0e10cSrcweir</xsl:template>
686*cdf0e10cSrcweir
687*cdf0e10cSrcweir<!-- Evaluate a case or caseinline switch -->
688*cdf0e10cSrcweir<xsl:template name="insertcase">
689*cdf0e10cSrcweir	<xsl:param name="embedded" />
690*cdf0e10cSrcweir	<xsl:choose>
691*cdf0e10cSrcweir		<xsl:when test="parent::switch[@select='sys'] or parent::switchinline[@select='sys']">
692*cdf0e10cSrcweir			<xsl:if test="@select = $System">
693*cdf0e10cSrcweir				<xsl:choose>
694*cdf0e10cSrcweir					<xsl:when test="$embedded = 'yes'">
695*cdf0e10cSrcweir						<xsl:apply-templates mode="embedded"/>
696*cdf0e10cSrcweir					</xsl:when>
697*cdf0e10cSrcweir					<xsl:otherwise>
698*cdf0e10cSrcweir						<xsl:apply-templates />
699*cdf0e10cSrcweir					</xsl:otherwise>
700*cdf0e10cSrcweir				</xsl:choose>
701*cdf0e10cSrcweir			</xsl:if>
702*cdf0e10cSrcweir		</xsl:when>
703*cdf0e10cSrcweir		<xsl:when test="parent::switch[@select='appl'] or parent::switchinline[@select='appl']">
704*cdf0e10cSrcweir			<xsl:if test="@select = $appl">
705*cdf0e10cSrcweir				<xsl:choose>
706*cdf0e10cSrcweir					<xsl:when test="$embedded = 'yes'">
707*cdf0e10cSrcweir						<xsl:apply-templates mode="embedded"/>
708*cdf0e10cSrcweir					</xsl:when>
709*cdf0e10cSrcweir					<xsl:otherwise>
710*cdf0e10cSrcweir						<xsl:apply-templates />
711*cdf0e10cSrcweir					</xsl:otherwise>
712*cdf0e10cSrcweir				</xsl:choose>
713*cdf0e10cSrcweir			</xsl:if>
714*cdf0e10cSrcweir		</xsl:when>
715*cdf0e10cSrcweir		<xsl:when test="parent::switch[@select='distrib'] or parent::switchinline[@select='distrib']">
716*cdf0e10cSrcweir			<xsl:if test="@select = $distrib">
717*cdf0e10cSrcweir				<xsl:choose>
718*cdf0e10cSrcweir					<xsl:when test="$embedded = 'yes'">
719*cdf0e10cSrcweir						<xsl:apply-templates mode="embedded"/>
720*cdf0e10cSrcweir					</xsl:when>
721*cdf0e10cSrcweir					<xsl:otherwise>
722*cdf0e10cSrcweir						<xsl:apply-templates />
723*cdf0e10cSrcweir					</xsl:otherwise>
724*cdf0e10cSrcweir				</xsl:choose>
725*cdf0e10cSrcweir			</xsl:if>
726*cdf0e10cSrcweir		</xsl:when>
727*cdf0e10cSrcweir	</xsl:choose>
728*cdf0e10cSrcweir</xsl:template>
729*cdf0e10cSrcweir
730*cdf0e10cSrcweir<!-- Evaluate a default or defaultinline switch -->
731*cdf0e10cSrcweir<xsl:template name="insertdefault">
732*cdf0e10cSrcweir	<xsl:param name="embedded" />
733*cdf0e10cSrcweir
734*cdf0e10cSrcweir	<xsl:choose>
735*cdf0e10cSrcweir		<xsl:when test="parent::switch[@select='sys'] or parent::switchinline[@select='sys']">
736*cdf0e10cSrcweir			<xsl:if test="not(../child::case[@select=$System]) and not(../child::caseinline[@select=$System])">
737*cdf0e10cSrcweir				<xsl:choose>
738*cdf0e10cSrcweir					<xsl:when test="$embedded = 'yes'">
739*cdf0e10cSrcweir						<xsl:apply-templates mode="embedded"/>
740*cdf0e10cSrcweir					</xsl:when>
741*cdf0e10cSrcweir					<xsl:otherwise>
742*cdf0e10cSrcweir						<xsl:apply-templates />
743*cdf0e10cSrcweir					</xsl:otherwise>
744*cdf0e10cSrcweir				</xsl:choose>
745*cdf0e10cSrcweir			</xsl:if>
746*cdf0e10cSrcweir		</xsl:when>
747*cdf0e10cSrcweir		<xsl:when test="parent::switch[@select='appl'] or parent::switchinline[@select='appl']">
748*cdf0e10cSrcweir			<xsl:if test="not(../child::case[@select=$appl]) and not(../child::caseinline[@select=$appl])">
749*cdf0e10cSrcweir				<xsl:choose>
750*cdf0e10cSrcweir					<xsl:when test="$embedded = 'yes'">
751*cdf0e10cSrcweir						<xsl:apply-templates mode="embedded"/>
752*cdf0e10cSrcweir					</xsl:when>
753*cdf0e10cSrcweir					<xsl:otherwise>
754*cdf0e10cSrcweir						<xsl:apply-templates />
755*cdf0e10cSrcweir					</xsl:otherwise>
756*cdf0e10cSrcweir				</xsl:choose>
757*cdf0e10cSrcweir			</xsl:if>
758*cdf0e10cSrcweir		</xsl:when>
759*cdf0e10cSrcweir		<xsl:when test="parent::switch[@select='distrib'] or parent::switchinline[@select='distrib']">
760*cdf0e10cSrcweir			<xsl:if test="not(../child::case[@select=$distrib]) and not(../child::caseinline[@select=$distrib])">
761*cdf0e10cSrcweir				<xsl:choose>
762*cdf0e10cSrcweir					<xsl:when test="$embedded = 'yes'">
763*cdf0e10cSrcweir						<xsl:apply-templates mode="embedded"/>
764*cdf0e10cSrcweir					</xsl:when>
765*cdf0e10cSrcweir					<xsl:otherwise>
766*cdf0e10cSrcweir						<xsl:apply-templates />
767*cdf0e10cSrcweir					</xsl:otherwise>
768*cdf0e10cSrcweir				</xsl:choose>
769*cdf0e10cSrcweir			</xsl:if>
770*cdf0e10cSrcweir		</xsl:when>
771*cdf0e10cSrcweir	</xsl:choose>
772*cdf0e10cSrcweir</xsl:template>
773*cdf0e10cSrcweir
774*cdf0e10cSrcweir<!-- evaluate embeds -->
775*cdf0e10cSrcweir<xsl:template name="insertembed">
776*cdf0e10cSrcweir	<xsl:param name="doc" />
777*cdf0e10cSrcweir	<xsl:param name="anchor" />
778*cdf0e10cSrcweir	<!-- different embed targets (also falsely used embed instead embedvar) -->
779*cdf0e10cSrcweir	<xsl:choose>
780*cdf0e10cSrcweir		<xsl:when test="$doc//section[@id=$anchor]"> <!-- first test for a section of that name -->
781*cdf0e10cSrcweir			<xsl:apply-templates select="$doc//section[@id=$anchor]" mode="embedded"/>
782*cdf0e10cSrcweir		</xsl:when>
783*cdf0e10cSrcweir		<xsl:when test="$doc//paragraph[@id=$anchor]"> <!-- then test for a para of that name -->
784*cdf0e10cSrcweir			<p class="embedded">
785*cdf0e10cSrcweir				<xsl:apply-templates select="$doc//paragraph[@id=$anchor]" mode="embedded"/>
786*cdf0e10cSrcweir			</p>
787*cdf0e10cSrcweir		</xsl:when>
788*cdf0e10cSrcweir		<xsl:when test="$doc//variable[@id=$anchor]"> <!-- then test for a variable of that name -->
789*cdf0e10cSrcweir			<p class="embedded">
790*cdf0e10cSrcweir				<xsl:apply-templates select="$doc//variable[@id=$anchor]" mode="embedded"/>
791*cdf0e10cSrcweir			</p>
792*cdf0e10cSrcweir		</xsl:when>
793*cdf0e10cSrcweir		<xsl:otherwise> <!-- then give up -->
794*cdf0e10cSrcweir			<p class="bug">D'oh! You found a bug (<xsl:value-of select="@href"/> not found).</p>
795*cdf0e10cSrcweir		</xsl:otherwise>
796*cdf0e10cSrcweir	</xsl:choose>
797*cdf0e10cSrcweir</xsl:template>
798*cdf0e10cSrcweir
799*cdf0e10cSrcweir<!-- Insert an image -->
800*cdf0e10cSrcweir<xsl:template name="insertimage">
801*cdf0e10cSrcweir
802*cdf0e10cSrcweir	<xsl:variable name="fpath">
803*cdf0e10cSrcweir		<xsl:call-template name="getfpath">
804*cdf0e10cSrcweir			<xsl:with-param name="s"><xsl:value-of select="@src"/></xsl:with-param>
805*cdf0e10cSrcweir		</xsl:call-template>
806*cdf0e10cSrcweir	</xsl:variable>
807*cdf0e10cSrcweir
808*cdf0e10cSrcweir	<xsl:variable name="fname">
809*cdf0e10cSrcweir		<xsl:call-template name="getfname">
810*cdf0e10cSrcweir			<xsl:with-param name="s"><xsl:value-of select="@src"/></xsl:with-param>
811*cdf0e10cSrcweir		</xsl:call-template>
812*cdf0e10cSrcweir	</xsl:variable>
813*cdf0e10cSrcweir
814*cdf0e10cSrcweir  <xsl:variable name="src">
815*cdf0e10cSrcweir    <xsl:choose>
816*cdf0e10cSrcweir      <xsl:when test="not($ExtensionId='') and starts-with(@src,$ExtensionId)">
817*cdf0e10cSrcweir        <xsl:value-of select="concat($ExtensionPath,'/',@src)"/>
818*cdf0e10cSrcweir      </xsl:when>
819*cdf0e10cSrcweir      <xsl:otherwise>
820*cdf0e10cSrcweir        <xsl:choose>
821*cdf0e10cSrcweir          <xsl:when test="(@localize='true') and not($lang='en-US')">
822*cdf0e10cSrcweir            <xsl:value-of select="concat($img_url_prefix,$fpath,$lang,'/',$fname)"/>
823*cdf0e10cSrcweir          </xsl:when>
824*cdf0e10cSrcweir          <xsl:otherwise>
825*cdf0e10cSrcweir            <xsl:value-of select="concat($img_url_prefix,$fpath,$fname)"/>
826*cdf0e10cSrcweir          </xsl:otherwise>
827*cdf0e10cSrcweir        </xsl:choose>
828*cdf0e10cSrcweir      </xsl:otherwise>
829*cdf0e10cSrcweir    </xsl:choose>
830*cdf0e10cSrcweir  </xsl:variable>
831*cdf0e10cSrcweir
832*cdf0e10cSrcweir	<!--<xsl:variable name="src"><xsl:value-of select="concat($img_url_prefix,@src)"/></xsl:variable>-->
833*cdf0e10cSrcweir	<xsl:variable name="alt"><xsl:value-of select="./alt"/></xsl:variable>
834*cdf0e10cSrcweir	<xsl:variable name="width" select="''"/> <!-- Images don't all have the correct size -->
835*cdf0e10cSrcweir	<xsl:variable name="height" select="''"/><!-- Image don't all have the correct size -->
836*cdf0e10cSrcweir	<img src="{$src}" alt="{$alt}" title="{$alt}">
837*cdf0e10cSrcweir		<xsl:if test="not($width='')"><xsl:attribute name="width"><xsl:value-of select="$width"/></xsl:attribute></xsl:if>
838*cdf0e10cSrcweir		<xsl:if test="not($height='')"><xsl:attribute name="height"><xsl:value-of select="$height"/></xsl:attribute></xsl:if>
839*cdf0e10cSrcweir	</img>
840*cdf0e10cSrcweir</xsl:template>
841*cdf0e10cSrcweir
842*cdf0e10cSrcweir<!-- Insert a Table -->
843*cdf0e10cSrcweir<xsl:template name="inserttable">
844*cdf0e10cSrcweir	<xsl:variable name="imgsrc">	<!-- see if we are in an image table -->
845*cdf0e10cSrcweir		<xsl:value-of select="tablerow/tablecell[1]/paragraph[1]/image/@src"/>
846*cdf0e10cSrcweir	</xsl:variable>
847*cdf0e10cSrcweir
848*cdf0e10cSrcweir	<xsl:choose>
849*cdf0e10cSrcweir
850*cdf0e10cSrcweir		<xsl:when test="count(descendant::tablecell)=1">
851*cdf0e10cSrcweir			<table border="0" class="onecell" cellpadding="0" cellspacing="0">
852*cdf0e10cSrcweir				<xsl:apply-templates />
853*cdf0e10cSrcweir		 </table>
854*cdf0e10cSrcweir		</xsl:when>
855*cdf0e10cSrcweir
856*cdf0e10cSrcweir		<xsl:when test="descendant::tablecell[1]/descendant::image">
857*cdf0e10cSrcweir			<table border="0" class="icontable" cellpadding="5" cellspacing="0">
858*cdf0e10cSrcweir				<xsl:apply-templates mode="icontable"/>
859*cdf0e10cSrcweir		 </table>
860*cdf0e10cSrcweir		</xsl:when>
861*cdf0e10cSrcweir
862*cdf0e10cSrcweir		<xsl:when test="@class='wide'">
863*cdf0e10cSrcweir			<table border="1" class="{@class}" cellpadding="0" cellspacing="0" width="100%" >
864*cdf0e10cSrcweir				<xsl:apply-templates />
865*cdf0e10cSrcweir		 </table>
866*cdf0e10cSrcweir		</xsl:when>
867*cdf0e10cSrcweir
868*cdf0e10cSrcweir		<xsl:when test="not(@class='')">
869*cdf0e10cSrcweir			<table border="1" class="{@class}" cellpadding="0" cellspacing="0" >
870*cdf0e10cSrcweir				<xsl:apply-templates />
871*cdf0e10cSrcweir		 </table>
872*cdf0e10cSrcweir		</xsl:when>
873*cdf0e10cSrcweir
874*cdf0e10cSrcweir		<xsl:otherwise>
875*cdf0e10cSrcweir			<table border="1" class="border" cellpadding="0" cellspacing="0" >
876*cdf0e10cSrcweir				<xsl:apply-templates />
877*cdf0e10cSrcweir		 </table>
878*cdf0e10cSrcweir		</xsl:otherwise>
879*cdf0e10cSrcweir	</xsl:choose>
880*cdf0e10cSrcweir
881*cdf0e10cSrcweir	<br/>
882*cdf0e10cSrcweir</xsl:template>
883*cdf0e10cSrcweir
884*cdf0e10cSrcweir<xsl:template name="resolveembed">
885*cdf0e10cSrcweir	<div class="embedded">
886*cdf0e10cSrcweir		<xsl:variable name="archive"><xsl:value-of select="concat(substring-before(substring-after(@href,'text/'),'/'),'/')"/></xsl:variable>
887*cdf0e10cSrcweir		<xsl:variable name="dbpostfix"><xsl:call-template name="createDBpostfix"><xsl:with-param name="archive" select="$archive"/></xsl:call-template></xsl:variable>
888*cdf0e10cSrcweir		<xsl:variable name="href"><xsl:value-of select="concat($urlpre,$archive,substring-before(@href,'#'),$urlpost,$dbpostfix)"/></xsl:variable>
889*cdf0e10cSrcweir		<xsl:variable name="anc"><xsl:value-of select="substring-after(@href,'#')"/></xsl:variable>
890*cdf0e10cSrcweir		<xsl:variable name="docum" select="document($href)"/>
891*cdf0e10cSrcweir
892*cdf0e10cSrcweir		<xsl:call-template name="insertembed">
893*cdf0e10cSrcweir			<xsl:with-param name="doc" select="$docum" />
894*cdf0e10cSrcweir			<xsl:with-param name="anchor" select="$anc" />
895*cdf0e10cSrcweir		</xsl:call-template>
896*cdf0e10cSrcweir
897*cdf0e10cSrcweir	</div>
898*cdf0e10cSrcweir</xsl:template>
899*cdf0e10cSrcweir
900*cdf0e10cSrcweir<xsl:template name="resolveembedvar">
901*cdf0e10cSrcweir	<xsl:if test="not(@href='text/shared/00/00000004.xhp#wie')"> <!-- special treatment if howtoget links -->
902*cdf0e10cSrcweir		<xsl:variable name="archive"><xsl:value-of select="concat(substring-before(substring-after(@href,'text/'),'/'),'/')"/></xsl:variable>
903*cdf0e10cSrcweir		<xsl:variable name="dbpostfix"><xsl:call-template name="createDBpostfix"><xsl:with-param name="archive" select="$archive"/></xsl:call-template></xsl:variable>
904*cdf0e10cSrcweir		<xsl:variable name="href"><xsl:value-of select="concat($urlpre,$archive,substring-before(@href,'#'),$urlpost,$dbpostfix)"/></xsl:variable>
905*cdf0e10cSrcweir		<xsl:variable name="anchor"><xsl:value-of select="substring-after(@href,'#')"/></xsl:variable>
906*cdf0e10cSrcweir		<xsl:variable name="doc" select="document($href)"/>
907*cdf0e10cSrcweir		<xsl:choose>
908*cdf0e10cSrcweir			<xsl:when test="$doc//variable[@id=$anchor]"> <!-- test for a variable of that name -->
909*cdf0e10cSrcweir				<xsl:apply-templates select="$doc//variable[@id=$anchor]" mode="embedded"/>
910*cdf0e10cSrcweir			</xsl:when>
911*cdf0e10cSrcweir			<xsl:otherwise> <!-- or give up -->
912*cdf0e10cSrcweir				<span class="bug">[<xsl:value-of select="@href"/> not found].</span>
913*cdf0e10cSrcweir			</xsl:otherwise>
914*cdf0e10cSrcweir		</xsl:choose>
915*cdf0e10cSrcweir	</xsl:if>
916*cdf0e10cSrcweir</xsl:template>
917*cdf0e10cSrcweir
918*cdf0e10cSrcweir<!-- Apply -->
919*cdf0e10cSrcweir<xsl:template name="apply">
920*cdf0e10cSrcweir	<xsl:param name="embedded" />
921*cdf0e10cSrcweir	<xsl:choose>
922*cdf0e10cSrcweir		<xsl:when test="$embedded = 'yes'">
923*cdf0e10cSrcweir			<xsl:apply-templates mode="embedded"/>
924*cdf0e10cSrcweir		</xsl:when>
925*cdf0e10cSrcweir		<xsl:otherwise>
926*cdf0e10cSrcweir			<xsl:apply-templates />
927*cdf0e10cSrcweir		</xsl:otherwise>
928*cdf0e10cSrcweir	</xsl:choose>
929*cdf0e10cSrcweir</xsl:template>
930*cdf0e10cSrcweir
931*cdf0e10cSrcweir<xsl:template name="getfpath">
932*cdf0e10cSrcweir	<xsl:param name="s"/>
933*cdf0e10cSrcweir	<xsl:param name="p"/>
934*cdf0e10cSrcweir	<xsl:choose>
935*cdf0e10cSrcweir		<xsl:when test="contains($s,'/')">
936*cdf0e10cSrcweir			<xsl:call-template name="getfpath">
937*cdf0e10cSrcweir				<xsl:with-param name="p"><xsl:value-of select="concat($p,substring-before($s,'/'),'/')"/></xsl:with-param>
938*cdf0e10cSrcweir				<xsl:with-param name="s"><xsl:value-of select="substring-after($s,'/')"/></xsl:with-param>
939*cdf0e10cSrcweir			</xsl:call-template>
940*cdf0e10cSrcweir		</xsl:when>
941*cdf0e10cSrcweir		<xsl:otherwise>
942*cdf0e10cSrcweir			<xsl:value-of select="$p"/>
943*cdf0e10cSrcweir		</xsl:otherwise>
944*cdf0e10cSrcweir	</xsl:choose>
945*cdf0e10cSrcweir</xsl:template>
946*cdf0e10cSrcweir
947*cdf0e10cSrcweir<xsl:template name="getfname">
948*cdf0e10cSrcweir	<xsl:param name="s"/>
949*cdf0e10cSrcweir	<xsl:choose>
950*cdf0e10cSrcweir		<xsl:when test="contains($s,'/')">
951*cdf0e10cSrcweir			<xsl:call-template name="getfname">
952*cdf0e10cSrcweir				<xsl:with-param name="s"><xsl:value-of select="substring-after($s,'/')"/></xsl:with-param>
953*cdf0e10cSrcweir			</xsl:call-template>
954*cdf0e10cSrcweir		</xsl:when>
955*cdf0e10cSrcweir		<xsl:otherwise>
956*cdf0e10cSrcweir			<xsl:value-of select="$s"/>
957*cdf0e10cSrcweir		</xsl:otherwise>
958*cdf0e10cSrcweir	</xsl:choose>
959*cdf0e10cSrcweir</xsl:template>
960*cdf0e10cSrcweir
961*cdf0e10cSrcweir<xsl:template name="createDBpostfix">
962*cdf0e10cSrcweir	<xsl:param name="archive"/>
963*cdf0e10cSrcweir	<xsl:variable name="newDB">
964*cdf0e10cSrcweir		<xsl:choose>
965*cdf0e10cSrcweir			<xsl:when test="(substring($archive,1,6) = 'shared')"><xsl:value-of select="$Database"/></xsl:when>
966*cdf0e10cSrcweir			<xsl:otherwise><xsl:value-of select="substring-before($archive,'/')"/></xsl:otherwise>
967*cdf0e10cSrcweir		</xsl:choose>
968*cdf0e10cSrcweir	</xsl:variable>
969*cdf0e10cSrcweir	<xsl:value-of select="concat($am,'DbPAR=',$newDB)"/>
970*cdf0e10cSrcweir</xsl:template>
971*cdf0e10cSrcweir
972*cdf0e10cSrcweir</xsl:stylesheet>
973