insilmaril@12: <?xml version="1.0" encoding="UTF-8"?> insilmaril@12: <!DOCTYPE xsl:stylesheet insilmaril@12: [ insilmaril@12: <!-- Namespace for XHTML --> insilmaril@12: <!ENTITY xhtmlns "http://www.w3.org/1999/xhtml"> insilmaril@12: ]> insilmaril@12: insilmaril@12: <!-- insilmaril@12: Author : Uwe Drechsel <vym@InSilmaril.de> insilmaril@12: Credits to : Thomas Schraitle for his patience in explaining XSL to me insilmaril@12: Description : transforms vym maps into KDE Bookmarks insilmaril@12: --> insilmaril@12: insilmaril@12: <xsl:stylesheet version="1.0" insilmaril@12: xmlns:xsl="http://www.w3.org/1999/XSL/Transform" insilmaril@12: xmlns:date="http://exslt.org/dates-and-times" insilmaril@12: extension-element-prefixes="date"> insilmaril@12: insilmaril@12: insilmaril@12: <xsl:output method="xml" insilmaril@12: doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" insilmaril@12: doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" insilmaril@12: encoding="UTF-8" insilmaril@12: indent="yes" insilmaril@12: media-type="application/xhtml+xml"/> insilmaril@12: insilmaril@12: <!-- ======================================= --> insilmaril@12: insilmaril@12: <xsl:template match="/"> insilmaril@12: <xsl:apply-templates/> insilmaril@12: </xsl:template> insilmaril@12: insilmaril@12: insilmaril@12: <xsl:template match="text()"/> insilmaril@12: insilmaril@12: insilmaril@12: <xsl:template match="vymmap"> insilmaril@12: <xbel> insilmaril@12: <xsl:apply-templates/> insilmaril@12: </xbel> insilmaril@12: </xsl:template> insilmaril@12: insilmaril@12: insilmaril@12: <xsl:template match="mapcenter"> insilmaril@12: insilmaril@12: <xsl:apply-templates/> insilmaril@12: </xsl:template> insilmaril@12: insilmaril@12: insilmaril@12: <xsl:template match="branch"> insilmaril@12: <xsl:choose> insilmaril@12: <xsl:when test="heading='KDE'"> insilmaril@12: <xsl:apply-templates select="branch" mode="kde"/> insilmaril@12: </xsl:when> insilmaril@12: <xsl:when test=". = 'Firefox'"> insilmaril@12: <xsl:apply-templates mode="firefox"/> insilmaril@12: </xsl:when> insilmaril@12: <!-- ... --> insilmaril@12: <xsl:otherwise> insilmaril@12: <xsl:apply-templates/> insilmaril@12: </xsl:otherwise> insilmaril@12: </xsl:choose> insilmaril@12: insilmaril@12: <xsl:apply-templates/> insilmaril@12: </xsl:template> insilmaril@12: insilmaril@12: <xsl:template match="heading" mode="kde"> insilmaril@12: <title> insilmaril@12: <xsl:value-of select="normalize-space (.)"/> insilmaril@12: </title> insilmaril@12: insilmaril@12: <xsl:choose> insilmaril@12: <xsl:when test=". = 'KDE'"> insilmaril@12: <xsl:apply-templates mode="kde"/> insilmaril@12: </xsl:when> insilmaril@12: <xsl:otherwise> insilmaril@12: <xsl:apply-templates/> insilmaril@12: </xsl:otherwise> insilmaril@12: </xsl:choose> insilmaril@12: insilmaril@12: <xsl:apply-templates/> insilmaril@12: </xsl:template> insilmaril@12: insilmaril@12: insilmaril@12: <xsl:template match="branch" mode="kde"> insilmaril@12: <xsl:choose> insilmaril@12: <xsl:when test="@url"> insilmaril@12: <xsl:element name="bookmark"> insilmaril@12: <xsl:attribute name="href" ><xsl:value-of select="@url" /> insilmaril@12: </xsl:attribute> insilmaril@12: <xsl:apply-templates mode="kde"/> insilmaril@12: </xsl:element> insilmaril@12: </xsl:when> insilmaril@12: <xsl:otherwise> insilmaril@12: <xsl:choose> insilmaril@12: <xsl:when test="contains(heading,'***')"> insilmaril@12: <separator folded="yes" /> insilmaril@12: </xsl:when> insilmaril@12: <xsl:otherwise> insilmaril@12: <folder folded="yes" icon="bookmark_folder"> insilmaril@12: <xsl:apply-templates mode="kde"/> insilmaril@12: </folder> insilmaril@12: </xsl:otherwise> insilmaril@12: </xsl:choose> insilmaril@12: insilmaril@12: </xsl:otherwise> insilmaril@12: </xsl:choose> insilmaril@12: </xsl:template> insilmaril@12: insilmaril@12: <!-- insilmaril@12: <xsl:text> </xsl:text> insilmaril@12: insilmaril@12: <xsl:message> WARNING: No @url attribute given of "<xsl:value-of select="normalize-space(heading)"/>"</xsl:message> insilmaril@12: insilmaril@12: <xsl:template match="branch"> insilmaril@12: <xsl:choose> insilmaril@12: <xsl:when test="@url"> insilmaril@12: <xsl:text> *nokde* </xsl:text> insilmaril@12: <xsl:value-of select="@url"/> insilmaril@12: <xsl:text> </xsl:text> insilmaril@12: </xsl:when> insilmaril@12: <xsl:otherwise> insilmaril@12: <xsl:message> WARNING: No @url attribute given of "<xsl:value-of select="normalize-space(heading)"/>"</xsl:message> insilmaril@12: </xsl:otherwise> insilmaril@12: </xsl:choose> insilmaril@12: insilmaril@12: <xsl:apply-templates/> insilmaril@12: insilmaril@12: </xsl:template> insilmaril@12: --> insilmaril@12: insilmaril@12: insilmaril@12: </xsl:stylesheet>