diff options
Diffstat (limited to 'officecfg/util/schema_trim.xsl')
-rw-r--r-- | officecfg/util/schema_trim.xsl | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/officecfg/util/schema_trim.xsl b/officecfg/util/schema_trim.xsl index 4f75348b2ecb..79b3c5c8cb4f 100644 --- a/officecfg/util/schema_trim.xsl +++ b/officecfg/util/schema_trim.xsl @@ -23,6 +23,8 @@ xmlns:oor="http://openoffice.org/2001/registry" version="1.0"> + <xsl:param name="LIBO_SHARE_FOLDER"/> + <!-- Get the correct format --> <xsl:output method="xml" indent="yes"/> <xsl:namespace-alias stylesheet-prefix="xs" result-prefix="xs"></xsl:namespace-alias> @@ -68,9 +70,43 @@ <!-- copy all other values with content --> <xsl:template match="value"> <xsl:copy> - <xsl:apply-templates select="@*"/> - <xsl:copy-of select="node()"/> + <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> + <xsl:template match ="it|unicode"> + <xsl:copy> + <xsl:apply-templates select = "@*|node()"/> + </xsl:copy> + </xsl:template> + + <xsl:template match="text()"> + <xsl:call-template name="replace"> + <xsl:with-param name="input" select="current()"/> + <xsl:with-param name="pattern" select="'@LIBO_SHARE_FOLDER@'"/> + <xsl:with-param name="replace" select="$LIBO_SHARE_FOLDER"/> + </xsl:call-template> + </xsl:template> + + <xsl:template name="replace"> + <xsl:param name="input"/> + <xsl:param name="pattern"/> + <xsl:param name="replace"/> + <xsl:choose> + <xsl:when test="contains($input, $pattern)"> + <xsl:value-of select="substring-before($input, $pattern)"/> + <xsl:value-of select="$replace"/> + <xsl:call-template name="replace"> + <xsl:with-param + name="input" select="substring-after($input, $pattern)"/> + <xsl:with-param name="pattern" select="$pattern"/> + <xsl:with-param name="replace" select="$replace"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$input"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + </xsl:transform> |