12e155b50SEike Rathke<?xml version="1.0" encoding="UTF-8"?>
2*1e519d8dSAndrew Rist<!--***********************************************************
3*1e519d8dSAndrew Rist *
4*1e519d8dSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
5*1e519d8dSAndrew Rist * or more contributor license agreements.  See the NOTICE file
6*1e519d8dSAndrew Rist * distributed with this work for additional information
7*1e519d8dSAndrew Rist * regarding copyright ownership.  The ASF licenses this file
8*1e519d8dSAndrew Rist * to you under the Apache License, Version 2.0 (the
9*1e519d8dSAndrew Rist * "License"); you may not use this file except in compliance
10*1e519d8dSAndrew Rist * with the License.  You may obtain a copy of the License at
11*1e519d8dSAndrew Rist *
12*1e519d8dSAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
13*1e519d8dSAndrew Rist *
14*1e519d8dSAndrew Rist * Unless required by applicable law or agreed to in writing,
15*1e519d8dSAndrew Rist * software distributed under the License is distributed on an
16*1e519d8dSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17*1e519d8dSAndrew Rist * KIND, either express or implied.  See the License for the
18*1e519d8dSAndrew Rist * specific language governing permissions and limitations
19*1e519d8dSAndrew Rist * under the License.
20*1e519d8dSAndrew Rist *
21*1e519d8dSAndrew Rist ***********************************************************-->
222e155b50SEike Rathke
23*1e519d8dSAndrew Rist
242e155b50SEike Rathke<!--
252e155b50SEike Rathke	For further documentation and updates visit http://xml.openoffice.org/odf2xhtml
262e155b50SEike Rathke-->
272e155b50SEike Rathke<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exclude-result-prefixes="chart config dc dom dr3d draw fo form math meta number office ooo oooc ooow script style svg table text xforms xlink xsd xsi">
282e155b50SEike Rathke
292e155b50SEike Rathke
302e155b50SEike Rathke	<!-- *** Properties with a 'fo:' prefix *** -->
312e155b50SEike Rathke	<xsl:template match="@fo:background-color">
322e155b50SEike Rathke		<xsl:text>background-color:</xsl:text>
332e155b50SEike Rathke		<xsl:value-of select="."/>
342e155b50SEike Rathke		<xsl:text>; </xsl:text>
352e155b50SEike Rathke	</xsl:template>
362e155b50SEike Rathke
372e155b50SEike Rathke	<xsl:template match="@fo:border | @fo:border-top | @fo:border-bottom | @fo:border-left | @fo:border-right">
382e155b50SEike Rathke		<xsl:variable name="borderType" select="substring-after(name(), ':')"/>
392e155b50SEike Rathke		<xsl:choose>
402e155b50SEike Rathke			<xsl:when test=". = 'none'">
412e155b50SEike Rathke				<xsl:value-of select="$borderType"/>
422e155b50SEike Rathke				<xsl:text>-style:none; </xsl:text>
432e155b50SEike Rathke			</xsl:when>
442e155b50SEike Rathke			<xsl:otherwise>
452e155b50SEike Rathke				<xsl:variable name="borderWidth" select="substring-before(., ' ')"/>
462e155b50SEike Rathke				<xsl:variable name="borderStyle" select="substring-before(substring-after(., ' '), ' ')"/>
472e155b50SEike Rathke				<xsl:variable name="borderColor" select="substring-after(substring-after(., ' '), ' ')"/>
482e155b50SEike Rathke
492e155b50SEike Rathke			   <!-- More information at template 'round-up-border-width' -->
502e155b50SEike Rathke				<xsl:variable name="borderWidthFixed">
512e155b50SEike Rathke					<xsl:call-template name="round-up-border-width">
522e155b50SEike Rathke						<xsl:with-param name="borderWidth" select="$borderWidth"/>
532e155b50SEike Rathke						<xsl:with-param name="multiplier">
542e155b50SEike Rathke							<xsl:choose>
552e155b50SEike Rathke								<xsl:when test="$borderStyle = 'double'">3</xsl:when>
562e155b50SEike Rathke								<xsl:otherwise>1</xsl:otherwise>
572e155b50SEike Rathke							</xsl:choose>
582e155b50SEike Rathke						</xsl:with-param>
592e155b50SEike Rathke					</xsl:call-template>
602e155b50SEike Rathke				</xsl:variable>
612e155b50SEike Rathke
622e155b50SEike Rathke				<xsl:value-of select="$borderType"/>
632e155b50SEike Rathke				<xsl:text>-width:</xsl:text>
642e155b50SEike Rathke				<xsl:value-of select="$borderWidthFixed"/>
652e155b50SEike Rathke				<xsl:text>; </xsl:text>
662e155b50SEike Rathke				<xsl:value-of select="$borderType"/>
672e155b50SEike Rathke				<xsl:text>-style:</xsl:text>
682e155b50SEike Rathke				<xsl:value-of select="$borderStyle"/>
692e155b50SEike Rathke				<xsl:text>; </xsl:text>
702e155b50SEike Rathke				<xsl:value-of select="$borderType"/>
712e155b50SEike Rathke				<xsl:text>-color:</xsl:text>
722e155b50SEike Rathke				<xsl:value-of select="$borderColor"/>
732e155b50SEike Rathke				<xsl:text>; </xsl:text>
742e155b50SEike Rathke			</xsl:otherwise>
752e155b50SEike Rathke		</xsl:choose>
762e155b50SEike Rathke	</xsl:template>
772e155b50SEike Rathke
782e155b50SEike Rathke	<!-- NOTE: Still there have to be placed a <br clear='all' /> to disable the flow!!!!-->
792e155b50SEike Rathke	<xsl:template match="@fo:clear">
802e155b50SEike Rathke		<xsl:text>clear:both; </xsl:text>
812e155b50SEike Rathke	</xsl:template>
822e155b50SEike Rathke
832e155b50SEike Rathke	<!-- text-shadow is a CSS2 feature and yet not common used in user-agents -->
842e155b50SEike Rathke	<xsl:template match="@fo:color |@svg:font-family |@fo:font-size |@fo:font-style |@fo:font-weight |@fo:text-indent |@fo:text-shadow">
852e155b50SEike Rathke		<xsl:value-of select="substring-after(name(), ':')"/>
862e155b50SEike Rathke		<xsl:text>:</xsl:text>
872e155b50SEike Rathke		<xsl:value-of select="."/>
882e155b50SEike Rathke		<xsl:text>; </xsl:text>
892e155b50SEike Rathke	</xsl:template>
902e155b50SEike Rathke
912e155b50SEike Rathke	<!-- Maps fo:margin as well fo:margin-top, fo:margin-bottom, fo:padding-left, fo:margin-right -->
922e155b50SEike Rathke	<!-- Maps fo:padding as well fo:padding-top, fo:padding-bottom, fo:padding-left, fo:padding-right -->
932e155b50SEike Rathke	<xsl:template match="@fo:letter-spacing | @fo:line-height | @fo:width |@fo:margin | @fo:margin-top | @fo:margin-bottom | @fo:margin-left | @fo:margin-right | @fo:padding | @fo:padding-top | @fo:padding-bottom | @fo:padding-left | @fo:padding-right">
942e155b50SEike Rathke		<xsl:value-of select="substring-after(name(), ':')"/>
952e155b50SEike Rathke		<xsl:text>:</xsl:text>
962e155b50SEike Rathke		<!-- Map once erroneusly used inch shortage 'inch' to CSS shortage 'in' -->
972e155b50SEike Rathke		<xsl:choose>
982e155b50SEike Rathke			<xsl:when test="contains(., 'inch')">
992e155b50SEike Rathke				<xsl:value-of select="substring-before(.,'ch')"/>
1002e155b50SEike Rathke			</xsl:when>
1012e155b50SEike Rathke			<xsl:otherwise>
1022e155b50SEike Rathke				<xsl:value-of select="."/>
1032e155b50SEike Rathke			</xsl:otherwise>
1042e155b50SEike Rathke		</xsl:choose>
1052e155b50SEike Rathke		<xsl:text>; </xsl:text>
1062e155b50SEike Rathke	</xsl:template>
1072e155b50SEike Rathke
1082e155b50SEike Rathke	<xsl:template match="@fo:text-align">
1092e155b50SEike Rathke		<!-- 'important' is necessary as table cell value alignment is decided by runtime over the valuetype
1102e155b50SEike Rathke			Otherwise a table cell style-class would always be outnumbered by the run-time alignment value -->
1112e155b50SEike Rathke		<xsl:choose>
1122e155b50SEike Rathke			<xsl:when test="contains(., 'start')">
1132e155b50SEike Rathke                <xsl:choose>
1142e155b50SEike Rathke                    <xsl:when test="parent::*/@style:writing-mode and contains(parent::*/@style:writing-mode, 'rl')">
1152e155b50SEike Rathke                        <xsl:text>text-align:right ! important; </xsl:text>
1162e155b50SEike Rathke                    </xsl:when>
1172e155b50SEike Rathke                    <xsl:otherwise>
1182e155b50SEike Rathke                        <xsl:text>text-align:left ! important; </xsl:text>
1192e155b50SEike Rathke                    </xsl:otherwise>
1202e155b50SEike Rathke                </xsl:choose>
1212e155b50SEike Rathke			</xsl:when>
1222e155b50SEike Rathke			<xsl:when test="contains(., 'end')">
1232e155b50SEike Rathke                <xsl:choose>
1242e155b50SEike Rathke                    <xsl:when test="parent::*/@style:writing-mode and contains(parent::*/@style:writing-mode, 'rl')">
1252e155b50SEike Rathke                        <xsl:text>text-align:left ! important;</xsl:text>
1262e155b50SEike Rathke                    </xsl:when>
1272e155b50SEike Rathke                    <xsl:otherwise>
1282e155b50SEike Rathke                        <xsl:text>text-align:right ! important; </xsl:text>
1292e155b50SEike Rathke                    </xsl:otherwise>
1302e155b50SEike Rathke                </xsl:choose>
1312e155b50SEike Rathke			</xsl:when>
1322e155b50SEike Rathke			<xsl:otherwise>
1332e155b50SEike Rathke				<xsl:text>text-align:</xsl:text>
1342e155b50SEike Rathke				<xsl:value-of select="."/>
1352e155b50SEike Rathke				<xsl:text> ! important; </xsl:text>
1362e155b50SEike Rathke			</xsl:otherwise>
1372e155b50SEike Rathke		</xsl:choose>
1382e155b50SEike Rathke	</xsl:template>
1392e155b50SEike Rathke
1402e155b50SEike Rathke	<xsl:template match="@style:vertical-align">
1412e155b50SEike Rathke		<xsl:choose>
1422e155b50SEike Rathke			<xsl:when test="contains(., 'bottom')">
1432e155b50SEike Rathke				<xsl:text>vertical-align:bottom; </xsl:text>
1442e155b50SEike Rathke			</xsl:when>
1452e155b50SEike Rathke			<xsl:when test="contains(., 'middle')">
1462e155b50SEike Rathke				<xsl:text>vertical-align:middle; </xsl:text>
1472e155b50SEike Rathke			</xsl:when>
1482e155b50SEike Rathke			<xsl:otherwise>
1492e155b50SEike Rathke				<xsl:text>vertical-align:top; </xsl:text>
1502e155b50SEike Rathke			</xsl:otherwise>
1512e155b50SEike Rathke		</xsl:choose>
1522e155b50SEike Rathke	</xsl:template>
1532e155b50SEike Rathke
1542e155b50SEike Rathke<!-- *** Properties with a 'style:' prefix *** -->
1552e155b50SEike Rathke	<!-- NOTE: Can 'inside' | 'from-inside' better be handled:
1562e155b50SEike Rathke	<!ATTLIST * style:horizontal-pos (from-left|left|center|right|from-inside|inside|outside)#IMPLIED>-->
1572e155b50SEike Rathke	<xsl:template match="@style:horizontal-pos">
1582e155b50SEike Rathke		<xsl:choose>
1592e155b50SEike Rathke			<xsl:when test=".='left'">
1602e155b50SEike Rathke				<xsl:text>text-align:left; </xsl:text>
1612e155b50SEike Rathke			</xsl:when>
1622e155b50SEike Rathke			<xsl:when test=". = 'right'">
1632e155b50SEike Rathke				<xsl:text>text-align:right; </xsl:text>
1642e155b50SEike Rathke			</xsl:when>
1652e155b50SEike Rathke			<xsl:when test=".='center'">
1662e155b50SEike Rathke				<xsl:text>text-align:center; </xsl:text>
1672e155b50SEike Rathke			</xsl:when>
1682e155b50SEike Rathke			<!-- NOTE: currently other values are not used.
1692e155b50SEike Rathke				If the property value is from-left or from-inside,
1702e155b50SEike Rathke				the svg:x attribute associated with the frame element specifies
1712e155b50SEike Rathke				the horizontal position of the frame.
1722e155b50SEike Rathke				Otherwise the svg:x attribute is ignored for text documents.
1732e155b50SEike Rathke			-->
1742e155b50SEike Rathke		</xsl:choose>
1752e155b50SEike Rathke	</xsl:template>
1762e155b50SEike Rathke
1772e155b50SEike Rathke	<xsl:template match="@style:column-width">
1782e155b50SEike Rathke		<xsl:text>width:</xsl:text>
1792e155b50SEike Rathke		<xsl:choose>
1802e155b50SEike Rathke			<!-- changing the distance measure: inch to in -->
1812e155b50SEike Rathke			<xsl:when test="contains(., 'inch')">
1822e155b50SEike Rathke				<xsl:value-of select="substring-before(.,'ch')"/>
1832e155b50SEike Rathke			</xsl:when>
1842e155b50SEike Rathke			<xsl:otherwise>
1852e155b50SEike Rathke				<xsl:value-of select="."/>
1862e155b50SEike Rathke			</xsl:otherwise>
1872e155b50SEike Rathke		</xsl:choose>
1882e155b50SEike Rathke		<xsl:text>; </xsl:text>
1892e155b50SEike Rathke	</xsl:template>
1902e155b50SEike Rathke
1912e155b50SEike Rathke	<xsl:template match="@style:text-underline-style">
1922e155b50SEike Rathke		<xsl:text>text-decoration:</xsl:text>
1932e155b50SEike Rathke		<xsl:choose>
1942e155b50SEike Rathke			<!-- changing the distance measure: inch to in -->
1952e155b50SEike Rathke			<xsl:when test=".='none'">
1962e155b50SEike Rathke				<xsl:text>none ! important</xsl:text>
1972e155b50SEike Rathke			</xsl:when>
1982e155b50SEike Rathke			<xsl:otherwise>
1992e155b50SEike Rathke				<xsl:text>underline</xsl:text>
2002e155b50SEike Rathke			</xsl:otherwise>
2012e155b50SEike Rathke		</xsl:choose>
2022e155b50SEike Rathke		<xsl:text>; </xsl:text>
2032e155b50SEike Rathke	</xsl:template>
2042e155b50SEike Rathke
2052e155b50SEike Rathke	<xsl:template match="@style:font-name">
2062e155b50SEike Rathke		<xsl:param name="globalData" />
2072e155b50SEike Rathke
2082e155b50SEike Rathke		<xsl:text>font-family:</xsl:text>
2092e155b50SEike Rathke		<xsl:variable name="content" select="."/>
2102e155b50SEike Rathke		<xsl:variable name="quote">'</xsl:variable>
2112e155b50SEike Rathke		<xsl:variable name="fontName" select="$globalData/office:font-face-decls/style:font-face[@style:name=$content]/@svg:font-family" />
2122e155b50SEike Rathke		<xsl:value-of select="translate($fontName, $quote, '')"/>
2132e155b50SEike Rathke		<xsl:text>; </xsl:text>
2142e155b50SEike Rathke	</xsl:template>
2152e155b50SEike Rathke
2162e155b50SEike Rathke	<xsl:template match="@style:row-height">
2172e155b50SEike Rathke		<xsl:text>height:</xsl:text>
2182e155b50SEike Rathke		<xsl:choose>
2192e155b50SEike Rathke			<!-- changing the distance measure: inch to in -->
2202e155b50SEike Rathke			<xsl:when test="contains(., 'inch')">
2212e155b50SEike Rathke				<xsl:value-of select="substring-before(.,'ch')"/>
2222e155b50SEike Rathke			</xsl:when>
2232e155b50SEike Rathke			<xsl:otherwise>
2242e155b50SEike Rathke				<xsl:value-of select="."/>
2252e155b50SEike Rathke			</xsl:otherwise>
2262e155b50SEike Rathke		</xsl:choose>
2272e155b50SEike Rathke		<xsl:text>; </xsl:text>
2282e155b50SEike Rathke	</xsl:template>
2292e155b50SEike Rathke
2302e155b50SEike Rathke	<xsl:template match="@svg:strikethrough-position">
2312e155b50SEike Rathke		<xsl:if test="not(.='none')">
2322e155b50SEike Rathke			<xsl:text>text-decoration:line-through; </xsl:text>
2332e155b50SEike Rathke		</xsl:if>
2342e155b50SEike Rathke	</xsl:template>
2352e155b50SEike Rathke	<xsl:template match="@style:text-position">
2362e155b50SEike Rathke		<xsl:if test="contains(., 'sub')">
2372e155b50SEike Rathke			<xsl:text>vertical-align:sub; </xsl:text>
2382e155b50SEike Rathke			<xsl:if test="contains(., '%')">
2392e155b50SEike Rathke				<xsl:text>font-size:</xsl:text>
2402e155b50SEike Rathke				<xsl:value-of select="substring-after(., 'sub ')"/>
2412e155b50SEike Rathke				<xsl:text>;</xsl:text>
2422e155b50SEike Rathke			</xsl:if>
2432e155b50SEike Rathke		</xsl:if>
2442e155b50SEike Rathke		<xsl:if test="contains(., 'super')">
2452e155b50SEike Rathke			<xsl:text>vertical-align:super; </xsl:text>
2462e155b50SEike Rathke			<xsl:if test="contains(., '%')">
2472e155b50SEike Rathke				<xsl:text>font-size:</xsl:text>
2482e155b50SEike Rathke				<xsl:value-of select="substring-after(., 'super ')"/>
2492e155b50SEike Rathke				<xsl:text>;</xsl:text>
2502e155b50SEike Rathke			</xsl:if>
2512e155b50SEike Rathke		</xsl:if>
2522e155b50SEike Rathke	</xsl:template>
2532e155b50SEike Rathke
2542e155b50SEike Rathke	<xsl:template match="@style:vertical-pos">
2552e155b50SEike Rathke		<xsl:choose>
2562e155b50SEike Rathke			<xsl:when test=".='from-top'">
2572e155b50SEike Rathke				<xsl:text>vertical-align:top; </xsl:text>
2582e155b50SEike Rathke			</xsl:when>
2592e155b50SEike Rathke			<xsl:otherwise>
2602e155b50SEike Rathke				<xsl:text>vertical-align:</xsl:text>
2612e155b50SEike Rathke				<xsl:value-of select="."/>
2622e155b50SEike Rathke				<xsl:text>; </xsl:text>
2632e155b50SEike Rathke			</xsl:otherwise>
2642e155b50SEike Rathke		</xsl:choose>
2652e155b50SEike Rathke	</xsl:template>
2662e155b50SEike Rathke
2672e155b50SEike Rathke	<xsl:template match="@style:width">
2682e155b50SEike Rathke		<xsl:text>width:</xsl:text>
2692e155b50SEike Rathke		<xsl:choose>
2702e155b50SEike Rathke			<!-- changing the distance measure: inch to in -->
2712e155b50SEike Rathke			<xsl:when test="contains(., 'inch')">
2722e155b50SEike Rathke				<xsl:value-of select="substring-before(.,'ch')"/>
2732e155b50SEike Rathke			</xsl:when>
2742e155b50SEike Rathke			<xsl:otherwise>
2752e155b50SEike Rathke				<xsl:value-of select="."/>
2762e155b50SEike Rathke			</xsl:otherwise>
2772e155b50SEike Rathke		</xsl:choose>
2782e155b50SEike Rathke		<xsl:text>; </xsl:text>
2792e155b50SEike Rathke	</xsl:template>
2802e155b50SEike Rathke	<xsl:template match="@style:wrap">
2812e155b50SEike Rathke		<xsl:choose>
2822e155b50SEike Rathke			<xsl:when test=".='left'">
2832e155b50SEike Rathke				<xsl:text>float:right; </xsl:text>
2842e155b50SEike Rathke			</xsl:when>
2852e155b50SEike Rathke			<xsl:when test=".='right'">
2862e155b50SEike Rathke				<xsl:text>float:left; </xsl:text>
2872e155b50SEike Rathke			</xsl:when>
2882e155b50SEike Rathke		</xsl:choose>
2892e155b50SEike Rathke	</xsl:template>
2902e155b50SEike Rathke	<xsl:template match="@style:writing-mode">
2912e155b50SEike Rathke        <xsl:text>writing-mode:</xsl:text>
2922e155b50SEike Rathke        <xsl:value-of select="."/>
2932e155b50SEike Rathke        <xsl:text>; </xsl:text>
2942e155b50SEike Rathke	</xsl:template>
2952e155b50SEike Rathke    <!-- *** Properties with a no 'fo:' or 'style:' prefix *** -->
2962e155b50SEike Rathke	<xsl:template match="@table:align">
2972e155b50SEike Rathke		<xsl:choose>
2982e155b50SEike Rathke			<xsl:when test=".='left'">
2992e155b50SEike Rathke			<!-- Note: problems with meeting minutes example
3002e155b50SEike Rathke				<xsl:text>float:right; </xsl:text> --></xsl:when>
3012e155b50SEike Rathke			<xsl:when test=".='right'">
3022e155b50SEike Rathke			<!-- Note: problems with meeting minutes example
3032e155b50SEike Rathke				<xsl:text>float:left; </xsl:text> --></xsl:when>
3042e155b50SEike Rathke			<xsl:otherwise>
3052e155b50SEike Rathke				<xsl:text>float:none; </xsl:text>
3062e155b50SEike Rathke			</xsl:otherwise>
3072e155b50SEike Rathke		</xsl:choose>
3082e155b50SEike Rathke	</xsl:template>
3092e155b50SEike Rathke
3102e155b50SEike Rathke	<xsl:template match="style:background-image">
3112e155b50SEike Rathke		<xsl:text>background-image:url(</xsl:text>
3122e155b50SEike Rathke		<xsl:value-of select="@xlink:href"/>
3132e155b50SEike Rathke		<xsl:text>); </xsl:text>
3142e155b50SEike Rathke		<xsl:choose>
3152e155b50SEike Rathke			<xsl:when test="@style:repeat = 'repeat'">
3162e155b50SEike Rathke				<xsl:text>background-repeat:repeat; </xsl:text>
3172e155b50SEike Rathke			</xsl:when>
3182e155b50SEike Rathke			<xsl:otherwise>
3192e155b50SEike Rathke				<xsl:text>background-repeat:no-repeat; </xsl:text>
3202e155b50SEike Rathke			</xsl:otherwise>
3212e155b50SEike Rathke		</xsl:choose>
3222e155b50SEike Rathke	</xsl:template>
3232e155b50SEike Rathke
3242e155b50SEike Rathke	<!-- Changing border width measure to cm and enlarging border-width to the Mozilla browser(1.7)
3252e155b50SEike Rathke		 visible minimum width
3262e155b50SEike Rathke			- 0.0133cm for solid style
3272e155b50SEike Rathke			- 0.0399cm for double style
3282e155b50SEike Rathke		 as there are three border lines painted -->
3292e155b50SEike Rathke	<xsl:template name="round-up-border-width">
3302e155b50SEike Rathke		<xsl:param name="borderWidth"/>
3312e155b50SEike Rathke		<xsl:param name="multiplier"/>
3322e155b50SEike Rathke
3332e155b50SEike Rathke		<xsl:variable name="borderWidthByCentimeter">
3342e155b50SEike Rathke			<xsl:call-template name="convert2cm">
3352e155b50SEike Rathke				<xsl:with-param name="value" select="$borderWidth"/>
3362e155b50SEike Rathke			</xsl:call-template>
3372e155b50SEike Rathke		</xsl:variable>
3382e155b50SEike Rathke		<xsl:variable name="minimalBorderWidth" select="0.0133 * $multiplier"/>
3392e155b50SEike Rathke		<xsl:choose>
3402e155b50SEike Rathke			<xsl:when test="number($borderWidthByCentimeter) &lt; $minimalBorderWidth">
3412e155b50SEike Rathke				<xsl:value-of select="$minimalBorderWidth"/>
3422e155b50SEike Rathke				<xsl:text>cm</xsl:text>
3432e155b50SEike Rathke			</xsl:when>
3442e155b50SEike Rathke			<xsl:otherwise>
3452e155b50SEike Rathke				<xsl:value-of select="$borderWidthByCentimeter"/>
3462e155b50SEike Rathke				<xsl:text>cm</xsl:text>
3472e155b50SEike Rathke			</xsl:otherwise>
3482e155b50SEike Rathke		</xsl:choose>
3492e155b50SEike Rathke	</xsl:template>
3502e155b50SEike Rathke</xsl:stylesheet>
3512e155b50SEike Rathke
352