summaryrefslogtreecommitdiff
path: root/source/get_bookmark.xsl
diff options
context:
space:
mode:
authorOlivier Hallot <olivier.hallot@libreoffice.org>2017-06-07 10:20:44 -0300
committerOlivier Hallot <olivier.hallot@edx.srv.br>2017-06-14 13:03:27 +0200
commit344d2132259ef22202a197f6cab66101fb0fd167 (patch)
tree24d437480827a2780f793b2852c1552dd72d7792 /source/get_bookmark.xsl
parent38734b7d4fc01bf584bc691370fc155d69ee50c9 (diff)
Help contents -in-browser (III)
Added language selector Added system selector CSS improvements in browser help page remove bullets from bookmark list see http://vm173.documentfoundation.org Change-Id: I6b65e7e3c5a503855a8e92f2a745ba6001d64b8e Reviewed-on: https://gerrit.libreoffice.org/38712 Reviewed-by: Olivier Hallot <olivier.hallot@edx.srv.br> Tested-by: Olivier Hallot <olivier.hallot@edx.srv.br>
Diffstat (limited to 'source/get_bookmark.xsl')
-rw-r--r--source/get_bookmark.xsl79
1 files changed, 58 insertions, 21 deletions
diff --git a/source/get_bookmark.xsl b/source/get_bookmark.xsl
index b09b038cdc..47441f4062 100644
--- a/source/get_bookmark.xsl
+++ b/source/get_bookmark.xsl
@@ -11,13 +11,16 @@
Stylesheet to extract index bookmarks from xhp files and output a link to
the xhp file.
Usage:
-xsltproc get_bookmark.xsl file.xhp
+xsltproc get_bookmark.xsl <file.xhp>
-->
-<xsl:stylesheet version="1.0"
-xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
<xsl:param name="app"/>
+<xsl:param name="Language"/>
+<xsl:param name="productname" select="'LibreOffice'"/>
+<xsl:param name="productversion" select="'5.2'"/>
-<xsl:output indent="yes" method="html"/>
+<xsl:output indent="yes" method="text"/>
<!--
############################
@@ -40,8 +43,6 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="brand2" select="'$[officeversion]'"/>
<xsl:variable name="brand3" select="'%PRODUCTNAME'"/>
<xsl:variable name="brand4" select="'%PRODUCTVERSION'"/>
-<xsl:param name="productname" select="'LibreOffice'"/>
-<xsl:param name="productversion" select="'5.2'"/>
<!--
#############
# Templates #
@@ -51,23 +52,59 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Extract the bookmarks-->
<xsl:template match="/">
<xsl:for-each select="//bookmark[@branch='index']">
- <xsl:variable name="hrefhtml" select="substring-before($filename,'xhp')"/>
- <xsl:variable name="href" select="concat($hrefhtml,'html?DbPAR=',$app,'#',@id)"/>
+ <xsl:variable name="hrefhtml" select="substring-before($filename,'xhp')"/>
+ <xsl:variable name="href" select="concat($Language,'/',$hrefhtml,'html?DbPAR=',$app,'#',@id)"/>
<xsl:for-each select="bookmark_value">
- <li><a href="{$href}" target="_top">
- <xsl:call-template name="brand"><xsl:with-param name="string">
+ <xsl:variable name="here1">
+
+ <xsl:text disable-output-escaping="yes"><![CDATA[<li><a target="_top" href="]]></xsl:text>
+ <xsl:value-of select="$href"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA["</a>]]></xsl:text>
+
+ <xsl:call-template name="apostrophe"><xsl:with-param name="string">
<xsl:value-of select="."/>
</xsl:with-param></xsl:call-template>
- </a></li><xsl:text>\&#xA;</xsl:text>
+
+ </xsl:variable>
+
+ <xsl:call-template name="brand"><xsl:with-param name="string">
+ <xsl:value-of select="$here1"/>
+ </xsl:with-param></xsl:call-template>
+
+ <xsl:text disable-output-escaping="yes"><![CDATA[</li>\]]>&#xA;</xsl:text>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
+<!-- weird characters inside bookmarks, replace by HTML entities-->
+<xsl:template name="apostrophe">
+ <xsl:param name="string"/>
+ <xsl:variable name="apost">&apos;</xsl:variable><!-- apostrophe -->
+ <xsl:choose>
+ <xsl:when test="contains($string,$apost)">
+ <xsl:variable name="newstr">
+ <xsl:value-of select="substring-before($string,$apost)"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&]]>#39;</xsl:text>
+ <xsl:value-of select="substring-after($string,$apost)"/>
+ </xsl:variable>
+ <xsl:call-template name="apostrophe">
+ <xsl:with-param name="string" select="$newstr"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$string"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
<!-- Branding -->
<xsl:template match="text()">
<xsl:call-template name="brand">
<xsl:with-param name="string"><xsl:value-of select="."/></xsl:with-param>
</xsl:call-template>
+ <xsl:call-template name="apostrophe">
+ <xsl:with-param name="string"><xsl:value-of select="."/></xsl:with-param>
+ </xsl:call-template>
</xsl:template>
@@ -82,21 +119,21 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:value-of select="$productname"/>
<xsl:value-of select="substring-after($string,$brand1)"/>
</xsl:variable>
- <xsl:call-template name="brand">
- <xsl:with-param name="string" select="$newstr"/>
- </xsl:call-template>
- </xsl:when>
+ <xsl:call-template name="brand">
+ <xsl:with-param name="string" select="$newstr"/>
+ </xsl:call-template>
+ </xsl:when>
- <xsl:when test="contains($string,$brand2)">
- <xsl:variable name="newstr">
+ <xsl:when test="contains($string,$brand2)">
+ <xsl:variable name="newstr">
<xsl:value-of select="substring-before($string,$brand2)"/>
<xsl:value-of select="$pversion"/>
<xsl:value-of select="substring-after($string,$brand2)"/>
</xsl:variable>
- <xsl:call-template name="brand">
- <xsl:with-param name="string" select="$newstr"/>
- </xsl:call-template>
- </xsl:when>
+ <xsl:call-template name="brand">
+ <xsl:with-param name="string" select="$newstr"/>
+ </xsl:call-template>
+ </xsl:when>
<xsl:when test="contains($string,$brand3)">
<xsl:variable name="newstr">