Add XSL for generating attributions page
[samba.git] / docs / docbook / xslt / generate-attributions.xsl
1 <?xml version='1.0'?>
2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3                 xmlns:exsl="http://exslt.org/common"
4                 xmlns:samba="http://samba.org/common"
5                                 version="1.1"
6                 extension-element-prefixes="exsl">
7
8 <xsl:output method="xml" omit-xml-declaration="yes"/>
9
10 <!-- Remove all character data -->
11 <xsl:template match="@*|node()">
12    <xsl:apply-templates select="@*|node()"/>
13 </xsl:template>
14
15 <xsl:template match="book">
16         <xsl:element name="variablelist">
17         <xsl:apply-templates/>
18         </xsl:element>
19 </xsl:template>
20
21 <xsl:template match="chapter">
22         <xsl:element name="varlistentry">
23                 <xsl:element name="term">
24                         <xsl:element name="xref">
25                                 <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
26                         </xsl:element>
27                 </xsl:element>
28                 <xsl:element name="listitem">
29                         <xsl:element name="para">
30                                 <xsl:element name="itemizedlist">
31                                 <xsl:apply-templates/>
32                                 </xsl:element>
33                         </xsl:element>
34                 </xsl:element>
35         </xsl:element>
36 </xsl:template>
37
38 <xsl:template match="author">
39         <xsl:element name="listitem">
40                 <xsl:element name="para">
41                         <xsl:value-of select="firstname"/><xsl:text> </xsl:text><xsl:value-of select="surname"/>
42                         <xsl:choose>
43                                 <xsl:when test="affiliation/address/email != ''">
44                                         <xsl:text> &lt;</xsl:text>
45                                         <xsl:element name="ulink">
46                                                 <xsl:attribute name="url">
47                                                         <xsl:value-of select="affiliation/address/email"/>
48                                                 </xsl:attribute>
49                                                 <xsl:value-of select="affiliation/address/email"/>
50                                         </xsl:element>
51                                         <xsl:text>&gt;</xsl:text>
52                                 </xsl:when>
53                         </xsl:choose>
54                 </xsl:element>
55         </xsl:element>
56 </xsl:template>
57
58 </xsl:stylesheet>