annotate doc/wiki2docbook/headingsNormalizer/headingsNormalizer.xsl @ 1773:2ae81598b254

scripts for converting wiki documentation to docbook
author nadvornik
date Sun, 22 Nov 2009 09:12:22 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1773
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
1 <?xml version="1.0" encoding="UTF-8"?>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
2 <xsl:stylesheet version="1.0"
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
4 xmlns:xhtml="http://www.w3.org/1999/xhtml"
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
5 xmlns="http://www.w3.org/1999/xhtml">
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
6 <xsl:output method="xml" indent="yes"/>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
7
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
8 <!--
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
9 This stylesheet can be applied to xhtml documents. It ensures one one
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
10 h1 element exists per document. If the input document has only one h1
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
11 element it just copies all nodes to the output, otherwise it adds a
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
12 new top level (h1) heading and depromotes every existing heading to a
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
13 lower level (ie, h1s turn into h2s, h2s turn into h3s, etc).
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
14 -->
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
15
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
16 <xsl:param name="defaultHeading" select="'Chapter'"/>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
17
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
18 <xsl:template match="xhtml:html" mode="addtoplevelheading">
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
19 <html>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
20 <xsl:apply-templates select="@*|node()|text()|comment()|processing-instruction()" mode="addtoplevelheading"/>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
21 </html>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
22 </xsl:template>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
23
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
24 <xsl:template match="xhtml:body" mode="addtoplevelheading">
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
25 <body><h1><xsl:value-of select="$defaultTopHeading"/></h1>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
26 <xsl:apply-templates select="@*|node()|text()|comment()|processing-instruction()" mode="addtoplevelheading"/>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
27 </body>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
28 </xsl:template>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
29
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
30 <xsl:template match="xhtml:h1" mode="addtoplevelheading">
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
31 <h2>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
32 <xsl:apply-templates select="@*|node()|text()|comment()|processing-instruction()" mode="addtoplevelheading"/>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
33 </h2>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
34 </xsl:template>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
35
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
36 <xsl:template match="xhtml:h2" mode="addtoplevelheading">
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
37 <h3>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
38 <xsl:apply-templates select="@*|node()|text()|comment()|processing-instruction()" mode="addtoplevelheading"/>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
39 </h3>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
40 </xsl:template>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
41
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
42 <xsl:template match="xhtml:h3" mode="addtoplevelheading">
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
43 <h4>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
44 <xsl:apply-templates select="@*|node()|text()|comment()|processing-instruction()" mode="addtoplevelheading"/>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
45 </h4>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
46 </xsl:template>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
47
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
48 <xsl:template match="xhtml:h4" mode="addtoplevelheading">
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
49 <h5>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
50 <xsl:apply-templates select="@*|node()|text()|comment()|processing-instruction()" mode="addtoplevelheading"/>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
51 </h5>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
52 </xsl:template>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
53
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
54 <xsl:template match="xhtml:h5" mode="addtoplevelheading">
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
55 <h6>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
56 <xsl:apply-templates select="@*|node()|text()|comment()|processing-instruction()" mode="addtoplevelheading"/>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
57 </h6>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
58 </xsl:template>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
59
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
60 <xsl:template match="xhtml:h6" mode="addtoplevelheading">
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
61 <section>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
62 <xsl:apply-templates select="@*|node()|text()|comment()|processing-instruction()" mode="addtoplevelheading"/>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
63 </section>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
64 </xsl:template>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
65
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
66 <xsl:template match="@*|node()|text()|comment()|processing-instruction()" priority="-1" mode="addtoplevelheading">
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
67 <xsl:copy>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
68 <xsl:apply-templates select="@*|node()|text()|comment()|processing-instruction()" mode="addtoplevelheading"/>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
69 </xsl:copy>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
70 </xsl:template>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
71
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
72 <xsl:template match="img[@alt]" priority="-1">
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
73 <xsl:apply-templates select="@*|node()|text()|comment()|processing-instruction()" />
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
74 </xsl:template>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
75
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
76 <xsl:template match="@*|node()|text()|comment()|processing-instruction()" priority="-1">
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
77 <xsl:choose>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
78 <xsl:when test="count(//*[local-name()='h1'])=1">
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
79 <xsl:copy>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
80 <xsl:apply-templates select="@*|node()|text()|comment()|processing-instruction()" />
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
81 </xsl:copy>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
82 </xsl:when>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
83 <xsl:otherwise>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
84 <xsl:copy>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
85 <xsl:apply-templates select="@*|node()|text()|comment()|processing-instruction()" mode="addtoplevelheading"/>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
86 </xsl:copy>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
87 </xsl:otherwise>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
88 </xsl:choose>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
89 </xsl:template>
2ae81598b254 scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
90 </xsl:stylesheet>