1 <?xml version="1.0" encoding="utf-8"?>
2 <xsl:stylesheet version="1.0"
3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4 xmlns:h="http://www.w3.org/1999/xhtml"
7 Convert HTML generated by grauphel's tomboy2html converter
8 back into the tomboy note markup
10 <xsl:output omit-xml-declaration="yes"/>
12 <xsl:template match="/">
13 <xsl:apply-templates select="h:html/h:body"/>
16 <xsl:template match="h:body">
17 <xsl:call-template name="content"/>
20 <xsl:template name="content">
21 <xsl:for-each select="child::node()">
23 <xsl:when test="local-name(.) = ''">
24 <xsl:value-of select="."/>
26 <xsl:when test="local-name(.) = 'br'">
29 <xsl:when test="local-name(.) = 'ul'">
31 <xsl:for-each select="h:li">
32 <list-item dir="ltr"><xsl:call-template name="content"/></list-item>
36 <xsl:when test="local-name(.) = 'b'">
37 <bold><xsl:call-template name="content"/></bold>
39 <xsl:when test="local-name(.) = 'i'">
40 <italic><xsl:call-template name="content"/></italic>
42 <xsl:when test="local-name(.) = 'span' and @class = 'strikethrough'">
43 <strikethrough><xsl:call-template name="content"/></strikethrough>
45 <xsl:when test="local-name(.) = 'span' and @class = 'highlight'">
46 <highlight><xsl:call-template name="content"/></highlight>
48 <xsl:when test="local-name(.) = 'span' and contains(@style, 'monospace')">
49 <monospace><xsl:call-template name="content"/></monospace>
51 <xsl:when test="local-name(.) = 'span' and @class = 'small'">
52 <xsl:text disable-output-escaping="yes"><size:small></xsl:text>
53 <xsl:call-template name="content"/>
54 <xsl:text disable-output-escaping="yes"></size:small></xsl:text>
56 <xsl:when test="local-name(.) = 'span' and @class = 'large'">
57 <xsl:text disable-output-escaping="yes"><size:large></xsl:text>
58 <xsl:call-template name="content"/>
59 <xsl:text disable-output-escaping="yes"></size:large></xsl:text>
61 <xsl:when test="local-name(.) = 'span' and @class = 'huge'">
62 <xsl:text disable-output-escaping="yes"><size:huge></xsl:text>
63 <xsl:call-template name="content"/>
64 <xsl:text disable-output-escaping="yes"></size:huge></xsl:text>
66 <xsl:when test="local-name(.) = 'a' and contains(@href, '://')">
67 <xsl:text disable-output-escaping="yes"><link:url></xsl:text>
69 <xsl:when test="starts-with(@href, 'file://')">
70 <xsl:value-of select="substring(@href, 8)"/>
73 <xsl:value-of select="@href"/>
76 <xsl:text disable-output-escaping="yes"></link:url></xsl:text>
78 <xsl:when test="local-name(.) = 'a' and not(contains(@href, '://'))">
79 <xsl:text disable-output-escaping="yes"><link:internal></xsl:text>
80 <xsl:call-template name="content"/>
81 <xsl:text disable-output-escaping="yes"></link:internal></xsl:text>
84 <xsl:message terminate="yes">
86 <xsl:value-of select="local-name(.)"/>