WHATSNEW: Add changes since RC3.
[Samba.git] / docs-xml / xslt / expand-sambadoc.xsl
blob97aaafbb027003d45f2d5dfeaaa76a44c25b0d46
1 <?xml version='1.0'?>
2 <!--
3 Samba-documentation specific stylesheets.
4 This stylesheet eliminates Samba-specific XML elements and replaces them with
5 DocBook-only elements.
6 Published under the GNU GPLv3 or later
8 (C) Jelmer Vernooij 2002-2004
9 -->
10 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
11 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc"
12 xmlns:xlink='http://www.w3.org/1999/xlink'
13 version="1.1">
15 <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"/>
17 <xsl:include href="strip-references.xsl"/>
18 <xsl:include href="expand-smbconfdoc.xsl"/>
20 <!-- This is needed to copy content unchanged -->
21 <xsl:template match="@*|node()">
22 <xsl:copy>
23 <xsl:apply-templates select="@*|node()"/>
24 </xsl:copy>
25 </xsl:template>
27 <xsl:template name="xsmbconfoption">
28 <xsl:param name="name"/>
29 <xsl:param name="content"/>
30 <xsl:variable name="linkcontent">
31 <xsl:element name="parameter">
32 <xsl:attribute name="moreinfo">
33 <xsl:text>none</xsl:text>
34 </xsl:attribute>
35 <xsl:value-of select="$name"/>
36 </xsl:element>
38 <xsl:choose>
39 <xsl:when test="$content != ''">
40 <xsl:text> = </xsl:text>
41 <xsl:value-of select="$content"/>
42 </xsl:when>
43 </xsl:choose>
44 </xsl:variable>
46 <xsl:choose>
47 <xsl:when test="$noreference = 1">
48 <xsl:value-of select="$linkcontent"/>
49 </xsl:when>
50 <xsl:otherwise>
51 <xsl:variable name="newid"><xsl:value-of select="translate(translate(string($name),' ',''),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/></xsl:variable>
52 <xsl:element name="link">
53 <xsl:attribute name="linkend">
54 <xsl:value-of select="$newid"/>
55 </xsl:attribute>
56 <xsl:attribute name="xlink:href">smb.conf.5.html#<xsl:value-of select="$newid"/></xsl:attribute>
57 <xsl:value-of select="$linkcontent"/>
58 </xsl:element>
59 </xsl:otherwise>
60 </xsl:choose>
61 </xsl:template>
63 <xsl:template match="related">
64 <xsl:element name="para">
65 <xsl:text>Related command: </xsl:text>
66 <xsl:call-template name="xsmbconfoption">
67 <xsl:with-param name="name" select="text()"/>
68 </xsl:call-template>
69 </xsl:element>
70 </xsl:template>
72 <xsl:template match="smbconfblock/smbconfoption">
73 <xsl:element name="member">
74 <xsl:element name="indexterm">
75 <xsl:value-of select="@name"/>
76 </xsl:element>
77 <xsl:choose>
78 <xsl:when test="text() != ''">
79 <xsl:element name="parameter">
80 <xsl:value-of select="@name"/>
81 <xsl:text> = </xsl:text>
82 <xsl:value-of select="text()"/>
83 </xsl:element>
84 </xsl:when>
85 </xsl:choose>
86 </xsl:element>
87 </xsl:template>
89 <xsl:template match="smbconfblock/smbconfcomment">
90 <xsl:element name="member">
91 <xsl:text># </xsl:text>
92 <xsl:apply-templates/>
93 </xsl:element>
94 </xsl:template>
96 <xsl:template match="smbconfblock/smbconfsection">
97 <xsl:element name="member">
98 <xsl:text> </xsl:text>
99 </xsl:element>
100 <xsl:element name="member">
101 <xsl:element name="parameter">
102 <xsl:value-of select="@name"/>
103 </xsl:element>
104 </xsl:element>
105 </xsl:template>
107 <xsl:template match="smbconfoption">
108 <xsl:call-template name="xsmbconfoption">
109 <xsl:with-param name="name" select="@name"/>
110 <xsl:with-param name="content" select="text()"/>
111 </xsl:call-template>
112 </xsl:template>
115 <xsl:template match="smbconfblock">
116 <xsl:element name="simplelist">
117 <xsl:apply-templates/>
118 </xsl:element>
119 </xsl:template>
121 <xsl:template match="smbconfsection">
122 <xsl:element name="parameter">
123 <xsl:value-of select="@name"/>
124 </xsl:element>
125 </xsl:template>
127 <xsl:template match="imagefile">
128 <xsl:element name="mediaobject">
129 <xsl:element name="imageobject">
130 <xsl:attribute name="role"><xsl:text>html</xsl:text></xsl:attribute>
131 <xsl:element name="imagedata">
132 <xsl:attribute name="fileref">
133 <xsl:text>images/</xsl:text><xsl:value-of select="text()"/><xsl:text>.png</xsl:text></xsl:attribute>
134 <xsl:attribute name="scale">
135 <xsl:choose>
136 <xsl:when test="@scale != ''">
137 <xsl:value-of select="@scale"/>
138 </xsl:when>
140 <xsl:otherwise>
141 <xsl:text>100</xsl:text>
142 </xsl:otherwise>
143 </xsl:choose>
144 </xsl:attribute>
145 <xsl:attribute name="scalefit"><xsl:text>1</xsl:text></xsl:attribute>
146 </xsl:element>
147 </xsl:element>
148 <xsl:element name="imageobject">
149 <xsl:element name="imagedata">
150 <xsl:attribute name="fileref">
151 <xsl:text>images/</xsl:text><xsl:value-of select="text()"/><xsl:text>.png</xsl:text></xsl:attribute>
152 <xsl:attribute name="scale">
153 <xsl:choose>
154 <xsl:when test="@scale != ''">
155 <xsl:value-of select="@scale"/>
156 </xsl:when>
158 <xsl:otherwise>
159 <xsl:text>50</xsl:text>
160 </xsl:otherwise>
161 </xsl:choose>
162 </xsl:attribute>
163 <xsl:attribute name="scalefit"><xsl:text>1</xsl:text></xsl:attribute>
164 </xsl:element>
165 </xsl:element>
166 <xsl:element name="imageobject">
167 <xsl:attribute name="role"><xsl:text>latex</xsl:text></xsl:attribute>
168 <xsl:element name="imagedata">
169 <xsl:attribute name="fileref">
170 <xsl:value-of select="$latex.imagebasedir"/><xsl:text>images/</xsl:text><xsl:value-of select="text()"/></xsl:attribute>
171 </xsl:element>
172 </xsl:element>
174 </xsl:element>
175 </xsl:template>
177 </xsl:stylesheet>