diff options
author | Frank Peters <fpe@openoffice.org> | 2004-08-18 09:59:46 +0000 |
---|---|---|
committer | Frank Peters <fpe@openoffice.org> | 2004-08-18 09:59:46 +0000 |
commit | 4f48bcc7937fbc586af7720d4225768ee6913e2a (patch) | |
tree | 431c32101c9b8349fe8f420615df796296d69a90 /helpcontent2/source/auxiliary/embed.xsl |
#i33146# Initial checkin
Diffstat (limited to 'helpcontent2/source/auxiliary/embed.xsl')
-rw-r--r-- | helpcontent2/source/auxiliary/embed.xsl | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/helpcontent2/source/auxiliary/embed.xsl b/helpcontent2/source/auxiliary/embed.xsl new file mode 100644 index 0000000000..0d030af850 --- /dev/null +++ b/helpcontent2/source/auxiliary/embed.xsl @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> +<xsl:output indent="yes" method="xml"/> + +<!-- SPECIFY YOUR FILE SYSTEM ROOT PATH TO THE HELP FILES --> +<xsl:param name="fsroot" select="'file:///'"/> + +<!-- +###################################################### +All others +###################################################### +--> +<xsl:template match="/"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="*|@*|comment()|processing-instruction()|text()"> + <xsl:copy> + <xsl:apply-templates select="*|@*|comment()|processing-instruction()|text()"/> + </xsl:copy> +</xsl:template> + +<xsl:template match="*|@*|comment()|processing-instruction()|text()" mode="embedded"> + <xsl:copy> + <xsl:apply-templates select="*|@*|comment()|processing-instruction()|text()" mode="embedded"/> + </xsl:copy> +</xsl:template> + +<xsl:template match="bookmark_value" mode="embedded"> + <bookmark_value embedded="true"> + <xsl:apply-templates/> + </bookmark_value> +</xsl:template> + + +<!-- +###################################################### +EMBED +###################################################### +--> +<xsl:template match="embed"> + + <xsl:variable name="href"><xsl:value-of select="substring-before(concat($fsroot,@href),'#')"/></xsl:variable> + <xsl:variable name="anchor"><xsl:value-of select="substring-after(@href,'#')"/></xsl:variable> + <xsl:variable name="doc" select="document($href)"/> + <xsl:apply-templates select="$doc//section[@id=$anchor]" mode="embedded"/> + <xsl:if test="not($doc//section[@id=$anchor])"> <!-- fallback for embeds that actually should be embedvars --> + <paragraph role="paragraph"><xsl:apply-templates select="$doc//variable[@id=$anchor]" mode="embedded"/></paragraph> + </xsl:if> +</xsl:template> + +<!-- +###################################################### +EMBEDVAR +###################################################### +--> +<xsl:template match="embedvar"> + <xsl:if test="not(@href='text/shared/00/00000004.xml#wie')"> <!-- special treatment if howtoget links --> + <xsl:variable name="href"><xsl:value-of select="substring-before(concat($fsroot,@href),'#')"/></xsl:variable> + <xsl:variable name="anchor"><xsl:value-of select="substring-after(@href,'#')"/></xsl:variable> + <xsl:variable name="doc" select="document($href)"/> + <xsl:apply-templates select="$doc//variable[@id=$anchor]" mode="embedded"/> + </xsl:if> + + <!-- FPE: embedvars, that point to "text/shared/00/00000004.xml#wie" will only be resolved in the main_transform --> + +</xsl:template> +</xsl:stylesheet> |