<?xml version="1.0" encoding="iso-8859-15"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="html" indent="yes" encoding="iso-8859-15"/>

 <xsl:template match="/">
  <xsl:apply-templates select="/opml/body"/>
  <xsl:call-template name="unSorted" />
 </xsl:template>

 <!-- Les feeds dans un dossier (outline title="le titre du dossier") -->
 <xsl:template match="outline[@title and not(@type)]">
	<h3><xsl:value-of select="./@title" /></h3>

	<ul>
		<!-- on itère sur les feeds du outline dossier (parce qu'il possède un title) -->
		<xsl:for-each select="./outline[@text]">
			   <li><xsl:call-template name="processFeed"/></li>
		</xsl:for-each>
	</ul>
 </xsl:template>


 <!-- Pour traiter les feeds qui ne sont pas dans un dossier-->
 <xsl:template name="unSorted">
	<xsl:variable name="unSortedFeeds" select="/opml/body/outline[@text and @type='rss']" />

	<xsl:if test="$unSortedFeeds">
		<h3>Non classés</h3>

		<ul>
			<xsl:for-each select="$unSortedFeeds">
				   <li><xsl:call-template name="processFeed"/></li>
			</xsl:for-each>
		</ul>
	</xsl:if>
 </xsl:template>

 <!-- comment afficher l'adresse (a) d'un feed : -->
 <xsl:template name="processFeed">
	<xsl:element name="a">
		<xsl:attribute name="href"> <xsl:value-of select="@htmlUrl"/> </xsl:attribute>
		<xsl:value-of select="./@text" />
	</xsl:element>
	<xsl:element name="a">
		<xsl:attribute name="href"> <xsl:value-of select="@xmlUrl"/> </xsl:attribute>
		<xsl:attribute name="class">FilRSS</xsl:attribute>
		rss
	</xsl:element>

 </xsl:template>


</xsl:stylesheet>

