summaryrefslogtreecommitdiff
path: root/help3xsl/generate_hid2file.xsl
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2018-08-14 15:41:43 +0200
committerJan Holesovsky <kendy@collabora.com>2018-08-14 16:07:58 +0200
commit3eea3745e5ee142962eb509032266e0c5762e943 (patch)
tree60081d670d8c2e210fa844ee1eaedcaf16147682 /help3xsl/generate_hid2file.xsl
parent780b5243abe260f6f37e9c5f6563c58fc2e20818 (diff)
Rename get_url.xsl to generate_hid2file.xsl, because that's what it's doing.
Change-Id: I565ca442281fa8a80a59d1038d29b34d7f9d9f41 Reviewed-on: https://gerrit.libreoffice.org/58989 Tested-by: Jenkins Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Diffstat (limited to 'help3xsl/generate_hid2file.xsl')
-rw-r--r--help3xsl/generate_hid2file.xsl58
1 files changed, 58 insertions, 0 deletions
diff --git a/help3xsl/generate_hid2file.xsl b/help3xsl/generate_hid2file.xsl
new file mode 100644
index 0000000000..59e2e4edd5
--- /dev/null
+++ b/help3xsl/generate_hid2file.xsl
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+-->
+<!--
+Stylesheet to extract index bookmarks from xhp files and output a link to
+the xhp file.
+Usage:
+xsltproc get_bookmark.xsl <file.xhp>
+-->
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:output indent="yes" method="text"/>
+
+<!--
+############################
+# Variables and Parameters #
+############################
+//-->
+<xsl:variable name="fname" select="/helpdocument/meta/topic/filename"/>
+<xsl:variable name="filename">
+ <xsl:choose>
+ <xsl:when test="starts-with($fname, '/')">
+ <xsl:value-of select="substring($fname, 2)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$fname"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:variable>
+<!--
+#############
+# Templates #
+#############
+//-->
+
+<!-- Extract the bookmarks branches x filename-->
+<!--Special case for questions marks chars, that interferes in passing
+parameters in URLS-->
+<xsl:template match="/">
+ <xsl:variable name="href" select="concat(substring-before($filename,'xhp'),'html')"/>
+ <xsl:for-each select="//bookmark[@branch!='index']">
+ <xsl:variable name="aux" select="substring-after(@branch,'hid/')"/>
+ <xsl:text>'</xsl:text>
+ <xsl:choose>
+ <xsl:when test="not(contains($aux,'?'))"><xsl:value-of select="$aux"/></xsl:when>
+ <xsl:otherwise><xsl:value-of select="concat(substring-before($aux,'?'),'%3F',substring-after($aux,'?'))"/></xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>':'</xsl:text>
+ <xsl:value-of select="concat($href,'#',@id)"/><xsl:text>',&#xA;</xsl:text>
+ </xsl:for-each>
+</xsl:template>
+</xsl:stylesheet>