e1cc7d6dab341bd6199e81079bedf1353eee0b4e
[senf.git] / doclib / html-munge.xsl
1 <?xml version="1.0" encoding="utf-8"?>\r
2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  version="1.0">\r
3 \r
4   <xsl:output \r
5     method="html" \r
6     encoding="html" \r
7     doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"\r
8     doctype-system="http://www.w3.org/TR/html4/loose.dtd"/>\r
9   \r
10   <xsl:template match="*">\r
11     <xsl:copy>\r
12       <xsl:for-each select="@*"><xsl:copy/></xsl:for-each>\r
13       <xsl:apply-templates/>\r
14     </xsl:copy>\r
15   </xsl:template>\r
16   \r
17   <xsl:template match="li[form]"> \r
18   </xsl:template>\r
19   \r
20   <!-- Add 'class' attribute to some special paragraphs/lists -->\r
21   \r
22   <xsl:template name="add-class">\r
23     <xsl:param name="class"/>\r
24     <xsl:copy>\r
25       <xsl:for-each select="@*"><xsl:copy/></xsl:for-each>\r
26       <xsl:attribute name="class"><xsl:value-of select="$class"/></xsl:attribute>\r
27       <xsl:apply-templates/>\r
28     </xsl:copy>\r
29   </xsl:template>\r
30 \r
31   <xsl:template match="dl[dt/b/a/text()='Bug:']">\r
32     <xsl:call-template name="add-class">\r
33       <xsl:with-param name="class">xref-bug</xsl:with-param>\r
34     </xsl:call-template>\r
35   </xsl:template>\r
36 \r
37   <xsl:template match="dl[dt/b/a/text()='Fix:']">\r
38     <xsl:call-template name="add-class">\r
39       <xsl:with-param name="class">xref-fix</xsl:with-param>\r
40     </xsl:call-template>\r
41   </xsl:template>\r
42 \r
43   <xsl:template match="dl[dt/b/a/text()='Todo:']">\r
44     <xsl:call-template name="add-class">\r
45       <xsl:with-param name="class">xref-todo</xsl:with-param>\r
46     </xsl:call-template>\r
47   </xsl:template>\r
48 \r
49   <xsl:template match="dl[dt/b/a/text()='Idea:']">\r
50     <xsl:call-template name="add-class">\r
51       <xsl:with-param name="class">xref-idea</xsl:with-param>\r
52     </xsl:call-template>\r
53   </xsl:template>\r
54 \r
55   <xsl:template match="dl[dt/b/text()='Parameters:']">\r
56     <xsl:call-template name="add-class">\r
57       <xsl:with-param name="class">parameters</xsl:with-param>\r
58     </xsl:call-template>\r
59   </xsl:template>\r
60 \r
61   <xsl:template match="table[descendant::td[@class='memItemLeft']]">\r
62     <xsl:call-template name="add-class">\r
63       <xsl:with-param name="class">members</xsl:with-param>\r
64     </xsl:call-template>\r
65   </xsl:template>\r
66 \r
67   <xsl:template match="a[@href=string(current())]" priority="1">\r
68     <xsl:call-template name="add-class">\r
69       <xsl:with-param name="class">literal</xsl:with-param>\r
70     </xsl:call-template>\r
71   </xsl:template>\r
72 \r
73   <xsl:template match="a[contains(@href,'http://')]">\r
74     <xsl:call-template name="add-class">\r
75       <xsl:with-param name="class">ext</xsl:with-param>\r
76     </xsl:call-template>\r
77   </xsl:template>\r
78 \r
79   <xsl:template match="a[not(@href)]">\r
80     <xsl:call-template name="add-class">\r
81       <xsl:with-param name="class">anchor</xsl:with-param>\r
82     </xsl:call-template>\r
83   </xsl:template>\r
84   \r
85 </xsl:stylesheet>\r