diff options
Diffstat (limited to 'kdoctools/docbook/xsl/html/pi.xsl')
-rw-r--r-- | kdoctools/docbook/xsl/html/pi.xsl | 207 |
1 files changed, 207 insertions, 0 deletions
diff --git a/kdoctools/docbook/xsl/html/pi.xsl b/kdoctools/docbook/xsl/html/pi.xsl new file mode 100644 index 000000000..064138c03 --- /dev/null +++ b/kdoctools/docbook/xsl/html/pi.xsl @@ -0,0 +1,207 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version='1.0'> + +<!-- ******************************************************************** + $Id$ + ******************************************************************** + + This file is part of the XSL DocBook Stylesheet distribution. + See ../README or http://nwalsh.com/docbook/xsl/ for copyright + and other information. + + ******************************************************************** --> + +<xsl:template match="processing-instruction()"> +</xsl:template> + +<xsl:template match="processing-instruction('dbhtml')"> + <!-- nop --> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="dbhtml-attribute"> + <xsl:param name="pis" select="processing-instruction('dbhtml')"/> + <xsl:param name="attribute">filename</xsl:param> + + <xsl:call-template name="pi-attribute"> + <xsl:with-param name="pis" select="$pis"/> + <xsl:with-param name="attribute" select="$attribute"/> + </xsl:call-template> +</xsl:template> + +<xsl:template name="dbhtml-filename"> + <xsl:param name="pis" select="./processing-instruction('dbhtml')"/> + <xsl:call-template name="dbhtml-attribute"> + <xsl:with-param name="pis" select="$pis"/> + <xsl:with-param name="attribute">filename</xsl:with-param> + </xsl:call-template> +</xsl:template> + +<!-- +<xsl:template name="dbhtml-dir"> + <xsl:param name="pis" select="./processing-instruction('dbhtml')"/> + <xsl:call-template name="dbhtml-attribute"> + <xsl:with-param name="pis" select="$pis"/> + <xsl:with-param name="attribute">dir</xsl:with-param> + </xsl:call-template> +</xsl:template> +--> + +<xsl:template name="dbhtml-dir"> + <xsl:param name="context" select="."/> + + <!-- directories are now inherited from previous levels --> + + <xsl:variable name="ppath"> + <xsl:if test="$context/parent::*"> + <xsl:call-template name="dbhtml-dir"> + <xsl:with-param name="context" select="$context/parent::*"/> + </xsl:call-template> + </xsl:if> + </xsl:variable> + + <xsl:variable name="path"> + <xsl:call-template name="dbhtml-attribute"> + <xsl:with-param name="pis" select="$context/processing-instruction('dbhtml')"/> + <xsl:with-param name="attribute">dir</xsl:with-param> + </xsl:call-template> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$path = ''"> + <xsl:if test="$ppath != ''"> + <xsl:value-of select="$ppath"/> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:if test="$ppath != ''"> + <xsl:value-of select="$ppath"/> + <xsl:if test="substring($ppath, string-length($ppath), 1) != '/'"> + <xsl:text>/</xsl:text> + </xsl:if> + </xsl:if> + <xsl:value-of select="$path"/> + <xsl:text>/</xsl:text> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="process.cmdsynopsis.list"> + <xsl:param name="cmdsynopses"/><!-- empty node list by default --> + <xsl:param name="count" select="1"/> + + <xsl:choose> + <xsl:when test="$count>count($cmdsynopses)"></xsl:when> + <xsl:otherwise> + <xsl:variable name="cmdsyn" select="$cmdsynopses[$count]"/> + + <dt> + <a> + <xsl:attribute name="href"> + <xsl:call-template name="object.id"> + <xsl:with-param name="object" select="$cmdsyn"/> + </xsl:call-template> + </xsl:attribute> + + <xsl:choose> + <xsl:when test="$cmdsyn/@xreflabel"> + <xsl:call-template name="xref.xreflabel"> + <xsl:with-param name="target" select="$cmdsyn"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$cmdsyn" mode="xref-to"> + <xsl:with-param name="target" select="$cmdsyn"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </a> + </dt> + + <xsl:call-template name="process.cmdsynopsis.list"> + <xsl:with-param name="cmdsynopses" select="$cmdsynopses"/> + <xsl:with-param name="count" select="$count+1"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="processing-instruction('dbcmdlist')"> + <xsl:variable name="cmdsynopses" select="..//cmdsynopsis"/> + + <xsl:if test="count($cmdsynopses)<1"> + <xsl:message><xsl:text>No cmdsynopsis elements matched dbcmdlist PI, perhaps it's nested too deep?</xsl:text> + </xsl:message> + </xsl:if> + + <dl> + <xsl:call-template name="process.cmdsynopsis.list"> + <xsl:with-param name="cmdsynopses" select="$cmdsynopses"/> + </xsl:call-template> + </dl> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template name="process.funcsynopsis.list"> + <xsl:param name="funcsynopses"/><!-- empty node list by default --> + <xsl:param name="count" select="1"/> + + <xsl:choose> + <xsl:when test="$count>count($funcsynopses)"></xsl:when> + <xsl:otherwise> + <xsl:variable name="cmdsyn" select="$funcsynopses[$count]"/> + + <dt> + <a> + <xsl:attribute name="href"> + <xsl:call-template name="object.id"> + <xsl:with-param name="object" select="$cmdsyn"/> + </xsl:call-template> + </xsl:attribute> + + <xsl:choose> + <xsl:when test="$cmdsyn/@xreflabel"> + <xsl:call-template name="xref.xreflabel"> + <xsl:with-param name="target" select="$cmdsyn"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$cmdsyn" mode="xref-to"> + <xsl:with-param name="target" select="$cmdsyn"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </a> + </dt> + + <xsl:call-template name="process.funcsynopsis.list"> + <xsl:with-param name="funcsynopses" select="$funcsynopses"/> + <xsl:with-param name="count" select="$count+1"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="processing-instruction('dbfunclist')"> + <xsl:variable name="funcsynopses" select="..//funcsynopsis"/> + + <xsl:if test="count($funcsynopses)<1"> + <xsl:message><xsl:text>No funcsynopsis elements matched dbfunclist PI, perhaps it's nested too deep?</xsl:text> + </xsl:message> + </xsl:if> + + <dl> + <xsl:call-template name="process.funcsynopsis.list"> + <xsl:with-param name="funcsynopses" select="$funcsynopses"/> + </xsl:call-template> + </dl> +</xsl:template> + +<!-- ==================================================================== --> + +</xsl:stylesheet> |