filter/source/xslt/odf2xhtml/export/common/styles/style_mapping_css.xsl |  667 
++++------
 filter/source/xslt/odf2xhtml/export/xhtml/header.xsl                    |   13 
 2 files changed, 337 insertions(+), 343 deletions(-)

New commits:
commit 35f858be0641a1db1929f8f07355993e6854219e
Author: Gian Domenico Ceccarini <gdceccar...@gmail.com>
Date:   Fri Jan 13 08:50:06 2017 +0100

    remove newlines, fix whitespace errors and line endings
    
    Change-Id: Ib6e5c7f8f4d751f9af04784422f4ee4841c1b682
    Reviewed-on: https://gerrit.libreoffice.org/33019
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Julien Nabet <serval2...@yahoo.fr>

diff --git 
a/filter/source/xslt/odf2xhtml/export/common/styles/style_mapping_css.xsl 
b/filter/source/xslt/odf2xhtml/export/common/styles/style_mapping_css.xsl
index e56be28..5c9b624 100644
--- a/filter/source/xslt/odf2xhtml/export/common/styles/style_mapping_css.xsl
+++ b/filter/source/xslt/odf2xhtml/export/common/styles/style_mapping_css.xsl
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
  * This file is part of the LibreOffice project.
  *
@@ -16,343 +16,342 @@
  *   except in compliance with the License. You may obtain a copy of
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  -->
-<!--
-       For further documentation and updates visit 
http://xml.openoffice.org/odf2xhtml
--->
-<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:s
 tyle="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">
-
-
-       <!-- *** Properties with a 'fo:' prefix *** -->
-       <xsl:template match="@fo:background-color">
-               <xsl:text>background-color:</xsl:text>
-               <xsl:value-of select="."/>
-               <xsl:text>; </xsl:text>
-       </xsl:template>
-
-       <xsl:template match="@fo:border | @fo:border-top | @fo:border-bottom | 
@fo:border-left | @fo:border-right">
-               <xsl:variable name="borderType" select="substring-after(name(), 
':')"/>
-               <xsl:choose>
-                       <xsl:when test=". = 'none'">
-                               <xsl:value-of select="$borderType"/>
-                               <xsl:text>-style:none; </xsl:text>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:variable name="borderWidth" 
select="substring-before(., ' ')"/>
-                               <xsl:variable name="borderStyle" 
select="substring-before(substring-after(., ' '), ' ')"/>
-                               <xsl:variable name="borderColor" 
select="substring-after(substring-after(., ' '), ' ')"/>
-
-                          <!-- More information at template 
'round-up-border-width' -->
-                               <xsl:variable name="borderWidthFixed">
-                                       <xsl:call-template 
name="round-up-border-width">
-                                               <xsl:with-param 
name="borderWidth" select="$borderWidth"/>
-                                               <xsl:with-param 
name="multiplier">
-                                                       <xsl:choose>
-                                                               <xsl:when 
test="$borderStyle = 'double'">3</xsl:when>
-                                                               
<xsl:otherwise>1</xsl:otherwise>
-                                                       </xsl:choose>
-                                               </xsl:with-param>
-                                       </xsl:call-template>
-                               </xsl:variable>
-
-                               <xsl:value-of select="$borderType"/>
-                               <xsl:text>-width:</xsl:text>
-                               <xsl:choose>
-                                       <xsl:when test="$borderWidth = 
'0.05pt'">thin</xsl:when>
-                                       <xsl:otherwise><xsl:value-of 
select="$borderWidthFixed"/></xsl:otherwise>
-                               </xsl:choose>
-                               <xsl:text>; </xsl:text>
-                               <xsl:value-of select="$borderType"/>
-                               <xsl:text>-style:</xsl:text>
-                               <xsl:value-of select="$borderStyle"/>
-                               <xsl:text>; </xsl:text>
-                               <xsl:value-of select="$borderType"/>
-                               <xsl:text>-color:</xsl:text>
-                               <xsl:value-of select="$borderColor"/>
-                               <xsl:text>; </xsl:text>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <!-- NOTE: Still there have to be placed a <br clear='all' /> to 
disable the flow!!!!-->
-       <xsl:template match="@fo:clear">
-               <xsl:text>clear:both; </xsl:text>
-       </xsl:template>
-
-       <!-- text-shadow is a CSS2 feature and yet not common used in 
user-agents -->
+<!--
+       For further documentation and updates visit 
http://xml.openoffice.org/odf2xhtml
+-->
+<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:s
 tyle="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">
+
+
+       <!-- *** Properties with a 'fo:' prefix *** -->
+       <xsl:template match="@fo:background-color">
+               <xsl:text>background-color:</xsl:text>
+               <xsl:value-of select="."/>
+               <xsl:text>; </xsl:text>
+       </xsl:template>
+
+       <xsl:template match="@fo:border | @fo:border-top | @fo:border-bottom | 
@fo:border-left | @fo:border-right">
+               <xsl:variable name="borderType" select="substring-after(name(), 
':')"/>
+               <xsl:choose>
+                       <xsl:when test=". = 'none'">
+                               <xsl:value-of select="$borderType"/>
+                               <xsl:text>-style:none; </xsl:text>
+                       </xsl:when>
+                       <xsl:otherwise>
+                               <xsl:variable name="borderWidth" 
select="substring-before(., ' ')"/>
+                               <xsl:variable name="borderStyle" 
select="substring-before(substring-after(., ' '), ' ')"/>
+                               <xsl:variable name="borderColor" 
select="substring-after(substring-after(., ' '), ' ')"/>
+
+                          <!-- More information at template 
'round-up-border-width' -->
+                               <xsl:variable name="borderWidthFixed">
+                                       <xsl:call-template 
name="round-up-border-width">
+                                               <xsl:with-param 
name="borderWidth" select="$borderWidth"/>
+                                               <xsl:with-param 
name="multiplier">
+                                                       <xsl:choose>
+                                                               <xsl:when 
test="$borderStyle = 'double'">3</xsl:when>
+                                                               
<xsl:otherwise>1</xsl:otherwise>
+                                                       </xsl:choose>
+                                               </xsl:with-param>
+                                       </xsl:call-template>
+                               </xsl:variable>
+
+                               <xsl:value-of select="$borderType"/>
+                               <xsl:text>-width:</xsl:text>
+                               <xsl:choose>
+                                       <xsl:when test="$borderWidth = 
'0.05pt'">thin</xsl:when>
+                                       <xsl:otherwise><xsl:value-of 
select="$borderWidthFixed"/></xsl:otherwise>
+                               </xsl:choose>
+                               <xsl:text>; </xsl:text>
+                               <xsl:value-of select="$borderType"/>
+                               <xsl:text>-style:</xsl:text>
+                               <xsl:value-of select="$borderStyle"/>
+                               <xsl:text>; </xsl:text>
+                               <xsl:value-of select="$borderType"/>
+                               <xsl:text>-color:</xsl:text>
+                               <xsl:value-of select="$borderColor"/>
+                               <xsl:text>; </xsl:text>
+                       </xsl:otherwise>
+               </xsl:choose>
+       </xsl:template>
+
+       <!-- NOTE: Still there have to be placed a <br clear='all' /> to 
disable the flow!!!!-->
+       <xsl:template match="@fo:clear">
+               <xsl:text>clear:both; </xsl:text>
+       </xsl:template>
+
+       <!-- text-shadow is a CSS2 feature and yet not common used in 
user-agents -->
        <xsl:template match="@fo:color |@svg:font-family |@fo:font-size 
|@fo:font-style |@fo:font-weight |@fo:text-indent |@fo:text-shadow 
|@text:display">
-               <xsl:value-of select="substring-after(name(), ':')"/>
-               <xsl:text>:</xsl:text>
-               <xsl:value-of select="."/>
-               <xsl:text>; </xsl:text>
-       </xsl:template>
-
+               <xsl:value-of select="substring-after(name(), ':')"/>
+               <xsl:text>:</xsl:text>
+               <xsl:value-of select="."/>
+               <xsl:text>; </xsl:text>
+       </xsl:template>
+
        <!-- workaround AOOO#119401 suspicious property fo:margin="100%" in 
paragraph style -->
-       <xsl:template match="@fo:margin[string(.) = '100%']"/> 
+       <xsl:template match="@fo:margin[string(.) = '100%']"/>
 
        <!-- Maps fo:margin as well fo:margin-top, fo:margin-bottom, 
fo:padding-left, fo:margin-right -->
        <!-- Maps fo:padding as well fo:padding-top, fo:padding-bottom, 
fo:padding-left, fo:padding-right -->
        <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">               
                <xsl:value-of select="local-name(.)"/>
-               <xsl:text>:</xsl:text>
-               <!-- Map once erroneusly used inch shortage 'inch' to CSS 
shortage 'in' -->
-               <xsl:choose>
-                       <xsl:when test="contains(., 'inch')">
-                               <xsl:value-of 
select="substring-before(.,'ch')"/>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="."/>
-                       </xsl:otherwise>
-               </xsl:choose>
-               <xsl:text>; </xsl:text>
-       </xsl:template>
-
-       <xsl:template match="@fo:text-align">
-               <!-- 'important' is necessary as table cell value alignment is 
decided by runtime over the valuetype
-                       Otherwise a table cell style-class would always be 
outnumbered by the run-time alignment value -->
-               <xsl:choose>
-                       <xsl:when test="contains(., 'start')">
-                <xsl:choose>
-                    <xsl:when test="parent::*/@style:writing-mode and 
contains(parent::*/@style:writing-mode, 'rl')">
-                        <xsl:text>text-align:right ! important; </xsl:text>
-                    </xsl:when>
-                    <xsl:otherwise>
-                        <xsl:text>text-align:left ! important; </xsl:text>
-                    </xsl:otherwise>
-                </xsl:choose>
-                       </xsl:when>
-                       <xsl:when test="contains(., 'end')">
-                <xsl:choose>
-                    <xsl:when test="parent::*/@style:writing-mode and 
contains(parent::*/@style:writing-mode, 'rl')">
-                        <xsl:text>text-align:left ! important;</xsl:text> 
-                    </xsl:when>
-                    <xsl:otherwise>
-                        <xsl:text>text-align:right ! important; </xsl:text>
-                    </xsl:otherwise>
-                </xsl:choose>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:text>text-align:</xsl:text>
-                               <xsl:value-of select="."/>
-                               <xsl:text> ! important; </xsl:text>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template match="@style:vertical-align">
-               <xsl:choose>
-                       <xsl:when test="contains(., 'bottom')">
-                               <xsl:text>vertical-align:bottom; </xsl:text>
-                       </xsl:when>
-                       <xsl:when test="contains(., 'middle')">
-                               <xsl:text>vertical-align:middle; </xsl:text>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:text>vertical-align:top; </xsl:text>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-<!-- *** Properties with a 'style:' prefix *** -->
-       <!-- NOTE: Can 'inside' | 'from-inside' better be handled:
-       <!ATTLIST * style:horizontal-pos 
(from-left|left|center|right|from-inside|inside|outside)#IMPLIED>-->
-       <xsl:template match="@style:horizontal-pos">
-               <xsl:choose>
-                       <xsl:when test=".='left'">
-                               <xsl:text>text-align:left; </xsl:text>
-                       </xsl:when>
-                       <xsl:when test=". = 'right'">
-                               <xsl:text>text-align:right; </xsl:text>
-                       </xsl:when>
-                       <xsl:when test=".='center'">
-                               <xsl:text>text-align:center; </xsl:text>
-                       </xsl:when>
-                       <!-- NOTE: currently other values are not used.
-                               If the property value is from-left or 
from-inside,
-                               the svg:x attribute associated with the frame 
element specifies
-                               the horizontal position of the frame.
-                               Otherwise the svg:x attribute is ignored for 
text documents.
-                       -->
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template match="@style:column-width">
-               <xsl:text>width:</xsl:text>
-               <xsl:choose>
-                       <!-- changing the distance measure: inch to in -->
-                       <xsl:when test="contains(., 'inch')">
-                               <xsl:value-of 
select="substring-before(.,'ch')"/>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="."/>
-                       </xsl:otherwise>
-               </xsl:choose>
-               <xsl:text>; </xsl:text>
-       </xsl:template>
-
-       <xsl:template match="@style:text-underline-style">
-               <xsl:text>text-decoration:</xsl:text>
-               <xsl:choose>
-                       <!-- changing the distance measure: inch to in -->
-                       <xsl:when test=".='none'">
-                               <xsl:text>none ! important</xsl:text>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:text>underline</xsl:text>
-                       </xsl:otherwise>
-               </xsl:choose>
-               <xsl:text>; </xsl:text>
-       </xsl:template>
-
-       <xsl:template match="@style:font-name">
-               <xsl:param name="globalData" />
-
-               <xsl:text>font-family:</xsl:text>
-               <xsl:variable name="content" select="."/>
-               <xsl:variable name="quote">'</xsl:variable>
-               <xsl:variable name="fontName" 
select="$globalData/office:font-face-decls/style:font-face[@style:name=$content]/@svg:font-family"
 />
-               <xsl:value-of select="translate($fontName, $quote, '')"/>
-               <xsl:text>; </xsl:text>
-       </xsl:template>
-
-       <xsl:template match="@style:row-height">
-               <xsl:text>height:</xsl:text>
-               <xsl:choose>
-                       <!-- changing the distance measure: inch to in -->
-                       <xsl:when test="contains(., 'inch')">
-                               <xsl:value-of 
select="substring-before(.,'ch')"/>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="."/>
-                       </xsl:otherwise>
-               </xsl:choose>
-               <xsl:text>; </xsl:text>
-       </xsl:template>
-
-       <xsl:template match="@svg:strikethrough-position">
-               <xsl:if test="not(.='none')">
-                       <xsl:text>text-decoration:line-through; </xsl:text>
-               </xsl:if>
-       </xsl:template>
-       <xsl:template match="@style:text-position">
-               <xsl:if test="contains(., 'sub')">
-                       <xsl:text>vertical-align:sub; </xsl:text>
-                       <xsl:if test="contains(., '%')">
-                               <xsl:text>font-size:</xsl:text>
-                               <xsl:value-of select="substring-after(., 'sub 
')"/>
-                               <xsl:text>;</xsl:text>
-                       </xsl:if>
-               </xsl:if>
-               <xsl:if test="contains(., 'super')">
-                       <xsl:text>vertical-align:super; </xsl:text>
-                       <xsl:if test="contains(., '%')">
-                               <xsl:text>font-size:</xsl:text>
-                               <xsl:value-of select="substring-after(., 'super 
')"/>
-                               <xsl:text>;</xsl:text>
-                       </xsl:if>
-               </xsl:if>
-       </xsl:template>
-
-       <xsl:template match="@style:vertical-pos">
-               <xsl:choose>
-                       <xsl:when test=".='from-top'">
-                               <xsl:text>vertical-align:top; </xsl:text>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:text>vertical-align:</xsl:text>
-                               <xsl:value-of select="."/>
-                               <xsl:text>; </xsl:text>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template match="@style:width">
-               <xsl:text>width:</xsl:text>
-               <xsl:choose>
-                       <!-- changing the distance measure: inch to in -->
-                       <xsl:when test="contains(., 'inch')">
-                               <xsl:value-of 
select="substring-before(.,'ch')"/>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="."/>
-                       </xsl:otherwise>
-               </xsl:choose>
-               <xsl:text>; </xsl:text>
-       </xsl:template>
-       <xsl:template match="@style:wrap">
-               <xsl:choose>
-                       <xsl:when test=".='left'">
-                               <xsl:text>float:right; </xsl:text>
-                       </xsl:when>
-                       <xsl:when test=".='right'">
-                               <xsl:text>float:left; </xsl:text>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:template>
-       <xsl:template match="@style:writing-mode">
-        <xsl:text>writing-mode:</xsl:text>
-        <xsl:value-of select="."/>
-        <xsl:text>; </xsl:text>
-       </xsl:template>    
-    <!-- *** Properties with a no 'fo:' or 'style:' prefix *** -->
-       <xsl:template match="@table:align">
-               <xsl:choose>
-                       <xsl:when test=".='left'">
-                               <xsl:if 
test="not(../@fo:margin-left)">margin-left:0px; </xsl:if>
-                               
<xsl:text>margin-right:auto;</xsl:text></xsl:when>
-                       <xsl:when test=".='right'">
-                               <xsl:text>margin-left:auto</xsl:text>
-                               <xsl:if test="not(../@fo:margin-right)">
-                                       ; margin-right: 0px;
-                               </xsl:if>
-                       </xsl:when>
-                       <xsl:when test=".='center'">
-                               margin-left:auto;margin-right:auto;
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:text>float:none; </xsl:text>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template match="style:background-image">
-               <xsl:text>background-image:url(</xsl:text>
-               <xsl:value-of select="@xlink:href"/>
-               <xsl:text>); </xsl:text>
-               <xsl:choose>
-                       <xsl:when test="@style:repeat = 'repeat'">
-                               <xsl:text>background-repeat:repeat; </xsl:text>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:text>background-repeat:no-repeat; 
</xsl:text>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <!-- Changing border width measure to cm and enlarging border-width to 
the Mozilla browser(1.7)
-                visible minimum width
-                       - 0.0133cm for solid style
-                       - 0.0399cm for double style
-                as there are three border lines painted -->
-       <xsl:template name="round-up-border-width">
-               <xsl:param name="borderWidth"/>
-               <xsl:param name="multiplier"/>
-
-               <xsl:variable name="borderWidthByCentimeter">
-                       <xsl:call-template name="convert2cm">
-                               <xsl:with-param name="value" 
select="$borderWidth"/>
-                       </xsl:call-template>
-               </xsl:variable>
-               <xsl:variable name="minimalBorderWidth" select="0.0133 * 
$multiplier"/>
-               <xsl:choose>
-                       <xsl:when test="number($borderWidthByCentimeter) &lt; 
$minimalBorderWidth">
-                               <xsl:value-of select="$minimalBorderWidth"/>
-                               <xsl:text>cm</xsl:text>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of 
select="$borderWidthByCentimeter"/>
-                               <xsl:text>cm</xsl:text>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-</xsl:stylesheet>
-
+               <xsl:text>:</xsl:text>
+               <!-- Map once erroneusly used inch shortage 'inch' to CSS 
shortage 'in' -->
+               <xsl:choose>
+                       <xsl:when test="contains(., 'inch')">
+                               <xsl:value-of 
select="substring-before(.,'ch')"/>
+                       </xsl:when>
+                       <xsl:otherwise>
+                               <xsl:value-of select="."/>
+                       </xsl:otherwise>
+               </xsl:choose>
+               <xsl:text>; </xsl:text>
+       </xsl:template>
+
+       <xsl:template match="@fo:text-align">
+               <!-- 'important' is necessary as table cell value alignment is 
decided by runtime over the valuetype
+                       Otherwise a table cell style-class would always be 
outnumbered by the run-time alignment value -->
+               <xsl:choose>
+                       <xsl:when test="contains(., 'start')">
+                <xsl:choose>
+                    <xsl:when test="parent::*/@style:writing-mode and 
contains(parent::*/@style:writing-mode, 'rl')">
+                        <xsl:text>text-align:right ! important; </xsl:text>
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <xsl:text>text-align:left ! important; </xsl:text>
+                    </xsl:otherwise>
+                </xsl:choose>
+                       </xsl:when>
+                       <xsl:when test="contains(., 'end')">
+                <xsl:choose>
+                    <xsl:when test="parent::*/@style:writing-mode and 
contains(parent::*/@style:writing-mode, 'rl')">
+                        <xsl:text>text-align:left ! important;</xsl:text>
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <xsl:text>text-align:right ! important; </xsl:text>
+                    </xsl:otherwise>
+                </xsl:choose>
+                       </xsl:when>
+                       <xsl:otherwise>
+                               <xsl:text>text-align:</xsl:text>
+                               <xsl:value-of select="."/>
+                               <xsl:text> ! important; </xsl:text>
+                       </xsl:otherwise>
+               </xsl:choose>
+       </xsl:template>
+
+       <xsl:template match="@style:vertical-align">
+               <xsl:choose>
+                       <xsl:when test="contains(., 'bottom')">
+                               <xsl:text>vertical-align:bottom; </xsl:text>
+                       </xsl:when>
+                       <xsl:when test="contains(., 'middle')">
+                               <xsl:text>vertical-align:middle; </xsl:text>
+                       </xsl:when>
+                       <xsl:otherwise>
+                               <xsl:text>vertical-align:top; </xsl:text>
+                       </xsl:otherwise>
+               </xsl:choose>
+       </xsl:template>
+
+<!-- *** Properties with a 'style:' prefix *** -->
+       <!-- NOTE: Can 'inside' | 'from-inside' better be handled:
+       <!ATTLIST * style:horizontal-pos 
(from-left|left|center|right|from-inside|inside|outside)#IMPLIED>-->
+       <xsl:template match="@style:horizontal-pos">
+               <xsl:choose>
+                       <xsl:when test=".='left'">
+                               <xsl:text>text-align:left; </xsl:text>
+                       </xsl:when>
+                       <xsl:when test=". = 'right'">
+                               <xsl:text>text-align:right; </xsl:text>
+                       </xsl:when>
+                       <xsl:when test=".='center'">
+                               <xsl:text>text-align:center; </xsl:text>
+                       </xsl:when>
+                       <!-- NOTE: currently other values are not used.
+                               If the property value is from-left or 
from-inside,
+                               the svg:x attribute associated with the frame 
element specifies
+                               the horizontal position of the frame.
+                               Otherwise the svg:x attribute is ignored for 
text documents.
+                       -->
+               </xsl:choose>
+       </xsl:template>
+
+       <xsl:template match="@style:column-width">
+               <xsl:text>width:</xsl:text>
+               <xsl:choose>
+                       <!-- changing the distance measure: inch to in -->
+                       <xsl:when test="contains(., 'inch')">
+                               <xsl:value-of 
select="substring-before(.,'ch')"/>
+                       </xsl:when>
+                       <xsl:otherwise>
+                               <xsl:value-of select="."/>
+                       </xsl:otherwise>
+               </xsl:choose>
+               <xsl:text>; </xsl:text>
+       </xsl:template>
+
+       <xsl:template match="@style:text-underline-style">
+               <xsl:text>text-decoration:</xsl:text>
+               <xsl:choose>
+                       <!-- changing the distance measure: inch to in -->
+                       <xsl:when test=".='none'">
+                               <xsl:text>none ! important</xsl:text>
+                       </xsl:when>
+                       <xsl:otherwise>
+                               <xsl:text>underline</xsl:text>
+                       </xsl:otherwise>
+               </xsl:choose>
+               <xsl:text>; </xsl:text>
+       </xsl:template>
+
+       <xsl:template match="@style:font-name">
+               <xsl:param name="globalData" />
+
+               <xsl:text>font-family:</xsl:text>
+               <xsl:variable name="content" select="."/>
+               <xsl:variable name="quote">'</xsl:variable>
+               <xsl:variable name="fontName" 
select="$globalData/office:font-face-decls/style:font-face[@style:name=$content]/@svg:font-family"
 />
+               <xsl:value-of select="translate($fontName, $quote, '')"/>
+               <xsl:text>; </xsl:text>
+       </xsl:template>
+
+       <xsl:template match="@style:row-height">
+               <xsl:text>height:</xsl:text>
+               <xsl:choose>
+                       <!-- changing the distance measure: inch to in -->
+                       <xsl:when test="contains(., 'inch')">
+                               <xsl:value-of 
select="substring-before(.,'ch')"/>
+                       </xsl:when>
+                       <xsl:otherwise>
+                               <xsl:value-of select="."/>
+                       </xsl:otherwise>
+               </xsl:choose>
+               <xsl:text>; </xsl:text>
+       </xsl:template>
+
+       <xsl:template match="@svg:strikethrough-position">
+               <xsl:if test="not(.='none')">
+                       <xsl:text>text-decoration:line-through; </xsl:text>
+               </xsl:if>
+       </xsl:template>
+       <xsl:template match="@style:text-position">
+               <xsl:if test="contains(., 'sub')">
+                       <xsl:text>vertical-align:sub; </xsl:text>
+                       <xsl:if test="contains(., '%')">
+                               <xsl:text>font-size:</xsl:text>
+                               <xsl:value-of select="substring-after(., 'sub 
')"/>
+                               <xsl:text>;</xsl:text>
+                       </xsl:if>
+               </xsl:if>
+               <xsl:if test="contains(., 'super')">
+                       <xsl:text>vertical-align:super; </xsl:text>
+                       <xsl:if test="contains(., '%')">
+                               <xsl:text>font-size:</xsl:text>
+                               <xsl:value-of select="substring-after(., 'super 
')"/>
+                               <xsl:text>;</xsl:text>
+                       </xsl:if>
+               </xsl:if>
+       </xsl:template>
+
+       <xsl:template match="@style:vertical-pos">
+               <xsl:choose>
+                       <xsl:when test=".='from-top'">
+                               <xsl:text>vertical-align:top; </xsl:text>
+                       </xsl:when>
+                       <xsl:otherwise>
+                               <xsl:text>vertical-align:</xsl:text>
+                               <xsl:value-of select="."/>
+                               <xsl:text>; </xsl:text>
+                       </xsl:otherwise>
+               </xsl:choose>
+       </xsl:template>
+
+       <xsl:template match="@style:width">
+               <xsl:text>width:</xsl:text>
+               <xsl:choose>
+                       <!-- changing the distance measure: inch to in -->
+                       <xsl:when test="contains(., 'inch')">
+                               <xsl:value-of 
select="substring-before(.,'ch')"/>
+                       </xsl:when>
+                       <xsl:otherwise>
+                               <xsl:value-of select="."/>
+                       </xsl:otherwise>
+               </xsl:choose>
+               <xsl:text>; </xsl:text>
+       </xsl:template>
+       <xsl:template match="@style:wrap">
+               <xsl:choose>
+                       <xsl:when test=".='left'">
+                               <xsl:text>float:right; </xsl:text>
+                       </xsl:when>
+                       <xsl:when test=".='right'">
+                               <xsl:text>float:left; </xsl:text>
+                       </xsl:when>
+               </xsl:choose>
+       </xsl:template>
+       <xsl:template match="@style:writing-mode">
+        <xsl:text>writing-mode:</xsl:text>
+        <xsl:value-of select="."/>
+        <xsl:text>; </xsl:text>
+       </xsl:template>
+    <!-- *** Properties with a no 'fo:' or 'style:' prefix *** -->
+       <xsl:template match="@table:align">
+               <xsl:choose>
+                       <xsl:when test=".='left'">
+                               <xsl:if 
test="not(../@fo:margin-left)">margin-left:0px; </xsl:if>
+                               
<xsl:text>margin-right:auto;</xsl:text></xsl:when>
+                       <xsl:when test=".='right'">
+                               <xsl:text>margin-left:auto</xsl:text>
+                               <xsl:if test="not(../@fo:margin-right)">
+                                       ; margin-right: 0px;
+                               </xsl:if>
+                       </xsl:when>
+                       <xsl:when test=".='center'">
+                               margin-left:auto;margin-right:auto;
+                       </xsl:when>
+                       <xsl:otherwise>
+                               <xsl:text>float:none; </xsl:text>
+                       </xsl:otherwise>
+               </xsl:choose>
+       </xsl:template>
+
+       <xsl:template match="style:background-image">
+               <xsl:text>background-image:url(</xsl:text>
+               <xsl:value-of select="@xlink:href"/>
+               <xsl:text>); </xsl:text>
+               <xsl:choose>
+                       <xsl:when test="@style:repeat = 'repeat'">
+                               <xsl:text>background-repeat:repeat; </xsl:text>
+                       </xsl:when>
+                       <xsl:otherwise>
+                               <xsl:text>background-repeat:no-repeat; 
</xsl:text>
+                       </xsl:otherwise>
+               </xsl:choose>
+       </xsl:template>
+
+       <!-- Changing border width measure to cm and enlarging border-width to 
the Mozilla browser(1.7)
+                visible minimum width
+                       - 0.0133cm for solid style
+                       - 0.0399cm for double style
+                as there are three border lines painted -->
+       <xsl:template name="round-up-border-width">
+               <xsl:param name="borderWidth"/>
+               <xsl:param name="multiplier"/>
+
+               <xsl:variable name="borderWidthByCentimeter">
+                       <xsl:call-template name="convert2cm">
+                               <xsl:with-param name="value" 
select="$borderWidth"/>
+                       </xsl:call-template>
+               </xsl:variable>
+               <xsl:variable name="minimalBorderWidth" select="0.0133 * 
$multiplier"/>
+               <xsl:choose>
+                       <xsl:when test="number($borderWidthByCentimeter) &lt; 
$minimalBorderWidth">
+                               <xsl:value-of select="$minimalBorderWidth"/>
+                               <xsl:text>cm</xsl:text>
+                       </xsl:when>
+                       <xsl:otherwise>
+                               <xsl:value-of select="borderWidthByCentimeter"/>
+                               <xsl:text>cm</xsl:text>
+                       </xsl:otherwise>
+               </xsl:choose>
+       </xsl:template>
+</xsl:stylesheet>
diff --git a/filter/source/xslt/odf2xhtml/export/xhtml/header.xsl 
b/filter/source/xslt/odf2xhtml/export/xhtml/header.xsl
index 41c543c..00d9049 100644
--- a/filter/source/xslt/odf2xhtml/export/xhtml/header.xsl
+++ b/filter/source/xslt/odf2xhtml/export/xhtml/header.xsl
@@ -48,7 +48,6 @@
        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 xforms xsd xsi"
        xmlns="http://www.w3.org/1999/xhtml";>
 
-
        <!-- ************** -->
        <!-- *** header *** -->
        <!-- ************** -->
@@ -73,7 +72,6 @@
 
        </xsl:template>
 
-
        <!-- Creating a CSS style header from the collected styles of the 
'globalData' parameter -->
        <xsl:template name='create-css-styleheader'>
                <xsl:param name="globalData" />
@@ -107,7 +105,7 @@
 <xsl:text>span.footnodeNumber { padding-right:1em; }
        </xsl:text>
 <xsl:text>span.annotation_style_by_filter { font-size:95%; font-family:Arial; 
background-color:#fff000;  margin:0; border:0; padding:0;  }
-       </xsl:text>        
+       </xsl:text>
 <xsl:text>* { margin:0;}
        </xsl:text>
                        <xsl:call-template name="write-mapped-CSS-styles">
@@ -126,7 +124,7 @@
                                                
<xsl:text>.</xsl:text><!--<xsl:value-of select="@style:family" 
/><xsl:text>:</xsl:text>--><xsl:value-of select="translate(@style:name, '.,;: 
%()[]/\+', '_____________')"/><xsl:text> { </xsl:text> <xsl:value-of 
select="final-properties" /><xsl:text>}
        </xsl:text>
                                        </xsl:if>
-                                       
+
                        </xsl:for-each>
                        <!-- Otherwise all styles have been processed and the 
empty styles have to be given out -->
                                <xsl:comment> ODF styles with no properties 
representable as CSS </xsl:comment><xsl:text>
@@ -141,7 +139,7 @@
                <xsl:variable name="masterPageNames">
             <!-- set context to styles.xml -->
             <xsl:for-each select="$globalData/all-doc-styles/style">
-                <!-- Loop over every style:style containing a 
@style:master-page-name attribute -->            
+                <!-- Loop over every style:style containing a 
@style:master-page-name attribute -->
                 <xsl:for-each select="key('masterPage','count')">
                         <!-- set context to styles.xml -->
                         <xsl:for-each select="/*/office:body">
@@ -199,8 +197,6 @@
                </xsl:choose>
        </xsl:template>
 
-
-
        <xsl:template name="page-margin">
                <xsl:param name="globalData" />
                <xsl:param name="pageProperties" />
@@ -230,7 +226,6 @@
                </xsl:if>
        </xsl:template>
 
-
        <!-- *************************** -->
        <!-- *** Common XHTML header *** -->
        <!-- *************************** -->
@@ -408,7 +403,7 @@
                <link rel="transformation" 
href="http://xml.openoffice.org/odf2xhtml/rdf-extract.xsl"; />
                -->
 
-               <!-- base URL of document for resolving relative links  
+               <!-- base URL of document for resolving relative links
                NOTE: CHROME has a problem, with relative references as from 
content table, referencing to root directory instead of document
                <xsl:element name="base">
                        <xsl:attribute name="href">-->
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to