diff options
Diffstat (limited to 'helpcontent2/help3xsl/generate_hid2file.xsl')
-rw-r--r-- | helpcontent2/help3xsl/generate_hid2file.xsl | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/helpcontent2/help3xsl/generate_hid2file.xsl b/helpcontent2/help3xsl/generate_hid2file.xsl new file mode 100644 index 000000000..59e2e4edd --- /dev/null +++ b/helpcontent2/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>',
</xsl:text> + </xsl:for-each> +</xsl:template> +</xsl:stylesheet> |