You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdelibs/kdoctools/docbook/xsl/html/pi.xsl

208 lines
6.6 KiB

<?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)&lt;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)&lt;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>