1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id$ -->
<!--
Copyright Uche Ogbuji 2005
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="xhtml">
<xsl:output indent="yes" method="xml"/>
<xsl:strip-space elements="*"/>
<xsl:template match="*"/><!-- Ignore unknown elements -->
<xsl:template match="opml">
<html>
<head>
<title><xsl:value-of select="head/title"/></title>
</head>
<body>
<h1><xsl:value-of select="head/title"/></h1>
<ol class="xoxo">
<xsl:apply-templates/>
</ol>
</body>
</html>
</xsl:template>
<xsl:template match="body">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="outline[outline[@url|@xmlUrl]]">
<!-- A "folder" -->
<li>
<p><xsl:value-of select="@text|@title"/></p>
<ol>
<xsl:apply-templates/>
</ol>
</li>
</xsl:template>
<xsl:template match="outline">
<li>
<ul>
<!-- Try to represent the chaotic "rules" of OPML -->
<xsl:choose>
<xsl:when test="@type='rss'">
<li>
<a href="{@url|@xmlUrl}" type="webfeed"><xsl:value-of select="@text|@title"/></a>
</li>
</xsl:when>
<xsl:when test="@type='link'">
<li>
<a href="{@url}" type="webfeed"><xsl:value-of select="@text|@title"/></a>
</li>
</xsl:when>
</xsl:choose>
<xsl:if test="@htmlUrl">
<li>
<a href="{@htmlUrl}" type="webfeed"><xsl:value-of select="@text|@title"/> [content site]</a>
</li>
</xsl:if>
</ul>
</li>
</xsl:template>
</xsl:stylesheet>
|