mirror of
https://github.com/brl/mutter.git
synced 2024-12-25 20:32:16 +00:00
5e1ccaeb60
• Make the manual a DevHelp book • Make the generation of PDFs of the cookbook and the manual optional • Consequently, make the hard dependency on jw optional • Clean up the checks and build for the additional documentation
286 lines
8.3 KiB
XML
286 lines
8.3 KiB
XML
<?xml version='1.0'?>
|
|
<!DOCTYPE xsl:stylesheet [
|
|
<!ENTITY RE " ">
|
|
<!ENTITY nbsp " ">
|
|
]>
|
|
|
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
version='1.0'>
|
|
|
|
<xsl:param name="html.stylesheet">style.css</xsl:param>
|
|
<xsl:param name="use.id.as.filename" select="1"/>
|
|
<xsl:param name="chunk.fast" select="1"/>
|
|
<xsl:param name="chunker.output.encoding" select="'utf-8'"/>
|
|
|
|
<xsl:param name="linenumbering.extension" select="1"/>
|
|
<xsl:param name="variablelist.as.table" select="1"/>
|
|
|
|
<xsl:template match="blockquote">
|
|
<div class="{local-name(.)}">
|
|
<xsl:if test="@lang or @xml:lang">
|
|
<xsl:call-template name="language.attribute"/>
|
|
</xsl:if>
|
|
<xsl:call-template name="anchor"/>
|
|
|
|
<xsl:choose>
|
|
<xsl:when test="attribution">
|
|
<table border="0" width="100%"
|
|
cellspacing="0" cellpadding="0" class="blockquote"
|
|
summary="Block quote">
|
|
<tr>
|
|
<td width="10%" valign="top"> </td>
|
|
<td width="80%" valign="top">
|
|
<xsl:apply-templates select="child::*[local-name(.)!='attribution']"/>
|
|
</td>
|
|
<td width="10%" valign="top"> </td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2" align="right" valign="top">
|
|
<xsl:text>--</xsl:text>
|
|
<xsl:apply-templates select="attribution"/>
|
|
</td>
|
|
<td width="10%" valign="top"> </td>
|
|
</tr>
|
|
</table>
|
|
</xsl:when>
|
|
<xsl:when test="@role = 'properties' or @role = 'prototypes'">
|
|
<table width="100%" border="0" bgcolor="#E0E0E0">
|
|
<tr>
|
|
<td valign="top">
|
|
<xsl:apply-templates select="child::*[local-name(.)!='attribution']"/>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<blockquote class="{local-name(.)}">
|
|
<xsl:apply-templates/>
|
|
</blockquote>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<!-- support for Python language for synopsises -->
|
|
<xsl:template match="classsynopsis
|
|
|fieldsynopsis
|
|
|methodsynopsis
|
|
|constructorsynopsis
|
|
|destructorsynopsis">
|
|
<xsl:param name="language">
|
|
<xsl:choose>
|
|
<xsl:when test="@language">
|
|
<xsl:value-of select="@language"/>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:value-of select="$default-classsynopsis-language"/>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:param>
|
|
<xsl:choose>
|
|
<xsl:when test="$language='python'">
|
|
<xsl:apply-templates select="." mode="python"/>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:apply-imports/>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="classsynopsis" mode="python">
|
|
<table bgcolor="#D0E0F0" width="100%">
|
|
<tr><td>
|
|
<pre class="{name(.)}">
|
|
<xsl:text>class </xsl:text>
|
|
<xsl:apply-templates select="ooclass[1]" mode="python"/>
|
|
<xsl:if test="ooclass[position() > 1]">
|
|
<xsl:text>(</xsl:text>
|
|
<xsl:apply-templates select="ooclass[position() > 1]" mode="python"/> <xsl:text>)</xsl:text>
|
|
</xsl:if>
|
|
<xsl:text>:&RE;</xsl:text>
|
|
|
|
<xsl:apply-templates select="constructorsynopsis
|
|
|destructorsynopsis
|
|
|fieldsynopsis
|
|
|methodsynopsis
|
|
|classsynopsisinfo" mode="python"/>
|
|
</pre></td></tr></table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="classsynopsisinfo" mode="python">
|
|
<xsl:apply-templates mode="python"/>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="ooclass|oointerface|ooexception" mode="python">
|
|
<xsl:if test="position() > 1">
|
|
<xsl:text>, </xsl:text>
|
|
</xsl:if>
|
|
<span class="{name(.)}">
|
|
<xsl:apply-templates mode="python"/>
|
|
</span>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="modifier" mode="python">
|
|
<span class="{name(.)}">
|
|
<xsl:apply-templates mode="python"/>
|
|
<xsl:text> </xsl:text>
|
|
</span>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="classname" mode="python">
|
|
<xsl:if test="name(preceding-sibling::*[1]) = 'classname'">
|
|
<xsl:text>, </xsl:text>
|
|
</xsl:if>
|
|
<span class="{name(.)}">
|
|
<xsl:apply-templates mode="python"/>
|
|
</span>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="interfacename" mode="python">
|
|
<xsl:if test="name(preceding-sibling::*[1]) = 'interfacename'">
|
|
<xsl:text>, </xsl:text>
|
|
</xsl:if>
|
|
<span class="{name(.)}">
|
|
<xsl:apply-templates mode="python"/>
|
|
</span>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="exceptionname" mode="python">
|
|
<xsl:if test="name(preceding-sibling::*[1]) = 'exceptionname'">
|
|
<xsl:text>, </xsl:text>
|
|
</xsl:if>
|
|
<span class="{name(.)}">
|
|
<xsl:apply-templates mode="python"/>
|
|
</span>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="fieldsynopsis" mode="python">
|
|
<code class="{name(.)}">
|
|
<xsl:text> </xsl:text>
|
|
<xsl:apply-templates mode="python"/>
|
|
</code>
|
|
<xsl:call-template name="synop-break"/>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="type" mode="python">
|
|
<span class="{name(.)}">
|
|
<xsl:apply-templates mode="python"/>
|
|
<xsl:text> </xsl:text>
|
|
</span>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="varname" mode="python">
|
|
<span class="{name(.)}">
|
|
<xsl:apply-templates mode="python"/>
|
|
<xsl:text> </xsl:text>
|
|
</span>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="initializer" mode="python">
|
|
<span class="{name(.)}">
|
|
<xsl:text>=</xsl:text>
|
|
<xsl:apply-templates mode="python"/>
|
|
</span>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="void" mode="python">
|
|
<span class="{name(.)}">
|
|
<xsl:text>void </xsl:text>
|
|
</span>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="methodname" mode="python">
|
|
<span class="{name(.)}">
|
|
<xsl:apply-templates mode="python"/>
|
|
</span>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="methodparam" mode="python">
|
|
<xsl:if test="position() > 1">
|
|
<xsl:text>, </xsl:text>
|
|
</xsl:if>
|
|
<span class="{name(.)}">
|
|
<xsl:apply-templates mode="python"/>
|
|
</span>
|
|
</xsl:template>
|
|
|
|
<xsl:template mode="python"
|
|
match="destructorsynopsis|methodsynopsis">
|
|
|
|
<code class="{name(.)}">
|
|
<xsl:text> def </xsl:text>
|
|
<xsl:apply-templates select="methodname" mode="python"/>
|
|
<xsl:text>(</xsl:text>
|
|
<xsl:apply-templates select="methodparam" mode="python"/>
|
|
<xsl:text>)</xsl:text>
|
|
</code>
|
|
<xsl:call-template name="synop-break"/>
|
|
</xsl:template>
|
|
|
|
<xsl:template mode="python"
|
|
match="constructorsynopsis">
|
|
|
|
<code class="{name(.)}">
|
|
<xsl:text> </xsl:text>
|
|
<xsl:apply-templates select="methodname" mode="python"/>
|
|
<xsl:text>(</xsl:text>
|
|
<xsl:apply-templates select="methodparam" mode="python"/>
|
|
<xsl:text>)</xsl:text>
|
|
</code>
|
|
<xsl:call-template name="synop-break"/>
|
|
</xsl:template>
|
|
|
|
<!-- this was the original parameter python mode styling
|
|
<xsl:template match="parameter" mode="python">
|
|
<span class="{name(.)}">
|
|
<xsl:apply-templates mode="python"/>
|
|
</span>
|
|
</xsl:template>
|
|
-->
|
|
|
|
<!-- hack -->
|
|
<xsl:template match="link" mode="python">
|
|
<xsl:apply-templates select="."/>
|
|
</xsl:template>
|
|
|
|
<!-- ========================================================= -->
|
|
<!-- template to output gtkdoclink elements for the unknown targets -->
|
|
|
|
<xsl:template match="link">
|
|
<xsl:choose>
|
|
<xsl:when test="id(@linkend)">
|
|
<xsl:apply-imports/>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<PYGTKDOCLINK HREF="{@linkend}">
|
|
<xsl:apply-templates/>
|
|
</PYGTKDOCLINK>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="parameter" mode="python">
|
|
<span class="{name(.)}">
|
|
<xsl:choose>
|
|
<xsl:when test="@role = 'keyword'">
|
|
<xsl:call-template name="inline.boldmonoseq"/>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:call-template name="inline.italicmonoseq"/>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</span>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="variablelist">
|
|
<table border="0" width="100%" bgcolor="#FFECCE">
|
|
<col align="left" valign="top" width="0*">
|
|
</col>
|
|
<tbody>
|
|
<xsl:apply-templates select="varlistentry" mode="varlist-table"/>
|
|
</tbody>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
</xsl:stylesheet>
|