source: doc/user-guide/docbook.xsl @ 2cdd8ce

Last change on this file since 2cdd8ce was b7d3cc34, checked in by Wilmer van der Gaast <wilmer@…>, at 2005-11-06T18:23:18Z

Initial repository (0.99 release tree)

  • Property mode set to 100644
File size: 4.0 KB
RevLine 
[b7d3cc34]1<?xml version='1.0'?>
2<!--
3        Convert BitlBee XML documentation to DocBook
4        (C) 2004 Jelmer Vernooij
5-->
6<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
7        xmlns:exsl="http://exslt.org/common"
8        version="1.1"
9        extension-element-prefixes="exsl">
10
11        <xsl:output method="xml" encoding="UTF-8" doctype-public="-//OASIS//DTD DocBook XML V4.2//EN" indent="yes" doctype-system="http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"/>
12
13        <xsl:strip-space elements="*"/>
14
15        <xsl:template match="ircline">
16                <xsl:element name="prompt"><xsl:text>&lt; </xsl:text><xsl:value-of select="@nick"/><xsl:text>&gt; </xsl:text></xsl:element>
17                <xsl:element name="userinput"><xsl:value-of select="normalize-space(.)"/></xsl:element><xsl:text>&#10;</xsl:text>
18        </xsl:template>
19
20        <xsl:template match="ircaction">
21                <xsl:text> * </xsl:text><xsl:value-of select="@nick"/><xsl:value-of select="normalize-space(.)"/><xsl:text>&#10;</xsl:text>
22        </xsl:template>
23
24        <xsl:template match="ircexample">
25                <xsl:element name="screen">
26                        <xsl:for-each select="ircline|ircaction">
27                                <xsl:apply-templates select="."/>
28                        </xsl:for-each>
29                </xsl:element>
30        </xsl:template>
31
32
33        <!-- This is needed to copy content unchanged -->
34        <xsl:template match="@*|node()">
35                <xsl:copy>
36                        <xsl:apply-templates select="@*|node()"/>
37                </xsl:copy>
38        </xsl:template>
39
40        <xsl:template name="subcmd-list">
41                <xsl:if test="bitlbee-command != ''">
42                        <xsl:element name="variablelist">
43                                <xsl:for-each select="bitlbee-command">
44                                        <xsl:element name="varlistentry">
45                                                <xsl:element name="term">
46                                                        <xsl:value-of select="@name"/>
47                                                </xsl:element>
48                                                <xsl:element name="listitem">
49                                                        <xsl:element name="para">
50                                                                <xsl:value-of select="short-description"/>
51                                                        </xsl:element>
52                                                </xsl:element>
53                                        </xsl:element>
54                                </xsl:for-each>
55                        </xsl:element>
56                </xsl:if>
57        </xsl:template>
58
59        <xsl:template match="command-list">
60                <xsl:call-template name="subcmd-list"/>
61        </xsl:template>
62
63        <xsl:template match="bitlbee-setting">
64                <xsl:element name="sect1">
65                        <xsl:attribute name="id">
66                                <xsl:text>set_</xsl:text>
67                                <xsl:value-of select="@name"/>
68                        </xsl:attribute>
69                        <xsl:element name="title"><xsl:value-of select="@name"/></xsl:element>
70
71                        <xsl:element name="simplelist">
72                                <xsl:element name="member">
73                                        <xsl:text>Type: </xsl:text><xsl:value-of select="@type"/>
74                                </xsl:element>
75                        </xsl:element>
76
77                        <xsl:for-each select="description/para">
78                                <xsl:apply-templates select="."/>
79                        </xsl:for-each>
80
81                </xsl:element>
82        </xsl:template>
83
84        <xsl:template name="cmd">
85                <xsl:variable name="thiscmd"><xsl:value-of select="$prefix"/><xsl:value-of select="@name"/></xsl:variable>
86                <xsl:attribute name="id">
87                        <xsl:text>cmd_</xsl:text>
88                        <xsl:value-of select="translate($thiscmd,' ','_')"/>
89                </xsl:attribute>
90                <xsl:element name="title"><xsl:value-of select="$thiscmd"/>
91                        <xsl:if test="short-description">
92                                <xsl:text> - </xsl:text>
93                                <xsl:value-of select="short-description"/>
94                        </xsl:if>
95                </xsl:element>
96
97                <xsl:element name="formalpara">
98                        <xsl:element name="title"><xsl:text>Syntax:</xsl:text></xsl:element>
99                        <xsl:element name="para">
100                                <xsl:element name="programlisting">
101                                        <xsl:for-each select="syntax">
102                                                <xsl:value-of select="normalize-space(.)"/><xsl:text>&#10;</xsl:text>
103                                        </xsl:for-each>
104                                </xsl:element>
105                        </xsl:element>
106                </xsl:element>
107
108                <xsl:for-each select="description/para">
109                        <xsl:apply-templates select="."/>
110                </xsl:for-each>
111
112                <xsl:for-each select="ircexample">
113                        <xsl:apply-templates select="."/>
114                </xsl:for-each>
115
116                <!--<xsl:call-template name="subcmd-list"/>-->
117
118                <xsl:for-each select="bitlbee-command">
119                        <xsl:element name="sect2">
120                                <xsl:call-template name="cmd">
121                                        <xsl:with-param name="prefix"><xsl:value-of select="$thiscmd"/><xsl:text> </xsl:text>
122                                        </xsl:with-param>
123                                </xsl:call-template>
124                        </xsl:element>
125                </xsl:for-each>
126        </xsl:template>
127
128        <xsl:template match="bitlbee-command">
129                <xsl:element name="sect1">
130                        <xsl:call-template name="cmd">
131                                <xsl:with-param name="prefix" select="''"/>
132                        </xsl:call-template>
133                </xsl:element>
134        </xsl:template>
135
136        </xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.