Files
programming/lib/phpxmlrpc/doc/build/custom.xsl
2026-02-07 09:46:32 +08:00

91 lines
2.9 KiB
XML

<?xml version='1.0'?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!--
Customization xsl stylesheet for docbook to chunked html transform
@author Gaetano Giunta
@copyright (c) 2007-2015 G. Giunta
@license code licensed under the BSD License
@todo make the xsl more dynamic: the path to import chunk.xsl could be f.e. rewritten/injected by the php user.
This would be needed f.e. if the lib is installed as a dependency and is not the top-level composer project.
Note: according to http://stackoverflow.com/questions/9861355/using-dynamic-href-in-xslt-import-include this is
not easy to do - it would have to be done f.e. by the invoking php script...
-->
<!-- import base stylesheet -->
<xsl:import href="../../../../vendor/docbook/docbook-xsl/xhtml/chunk.xsl"/>
<!-- customization vars -->
<xsl:param name="draft.mode">no</xsl:param>
<xsl:param name="funcsynopsis.style">ansi</xsl:param>
<xsl:param name="html.stylesheet">xmlrpc.css</xsl:param>
<xsl:param name="id.warnings">0</xsl:param>
<!-- elements added / modified -->
<!-- space between function name and opening parenthesis -->
<xsl:template match="funcdef" mode="ansi-nontabular">
<code>
<xsl:apply-templates select="." mode="class.attribute"/>
<xsl:apply-templates mode="ansi-nontabular"/>
<xsl:text> ( </xsl:text>
</code>
</xsl:template>
<!-- space between return type and function name -->
<xsl:template match="funcdef/type" mode="ansi-nontabular">
<xsl:apply-templates mode="ansi-nontabular"/>
<xsl:text> </xsl:text>
</xsl:template>
<!-- space between last param and closing parenthesis, remove tailing semicolon -->
<xsl:template match="void" mode="ansi-nontabular">
<code>void )</code>
</xsl:template>
<xsl:template match="varargs" mode="ansi-nontabular">
<xsl:text>...</xsl:text>
<code> )</code>
</xsl:template>
<xsl:template match="paramdef" mode="ansi-nontabular">
<xsl:apply-templates mode="ansi-nontabular"/>
<xsl:choose>
<xsl:when test="following-sibling::*">
<xsl:text>, </xsl:text>
</xsl:when>
<xsl:otherwise>
<code> )</code>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- param types get code formatted (leave a space after type, as it is supposed to be before param name) -->
<xsl:template match="paramdef/type" mode="ansi-nontabular">
<xsl:choose>
<xsl:when test="$funcsynopsis.decoration != 0">
<code>
<xsl:apply-templates mode="ansi-nontabular"/>
</code>
</xsl:when>
<xsl:otherwise>
<code>
<xsl:apply-templates mode="ansi-nontabular"/>
</code>
</xsl:otherwise>
</xsl:choose>
<xsl:text> </xsl:text>
</xsl:template>
<!-- default values for function parameters -->
<xsl:template match="paramdef/initializer" mode="ansi-nontabular">
<xsl:text> = </xsl:text>
<xsl:apply-templates mode="ansi-nontabular"/>
</xsl:template>
</xsl:stylesheet>