<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rss="http://purl.org/rss/1.0/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
exclude-result-prefixes="rdf rss dc">
<xsl:output
method="xml"
encoding="UTF-8" />
<xsl:template match="/">
<xsl:apply-templates select="/rdf:RDF/rss:channel" />
</xsl:template>
<xsl:template match="rss:channel">
<CHANNEL HREF="{rss:link}">
<TITLE><xsl:value-of select="rss:title" /></TITLE>
<ABSTRACT><xsl:value-of select="rss:description" /></ABSTRACT>
<xsl:apply-templates select="//rss:item" />
</CHANNEL >
</xsl:template>
<xsl:template match="rss:item">
<ITEM HREF="{rss:link}" LASTMOD="{dc:date}">
<TITLE><xsl:value-of select="rss:title" /></TITLE>
<ABSTRACT><xsl:value-of select="rss:description" /></ABSTRACT>
</ITEM>
</xsl:template>
</xsl:stylesheet>
<xsl:apply-templates select="//rss:item" />
<xsl:for-each select="rss:items/rdf:Seq/rdf:li"> <xsl:variable name="resource" select="@rdf:resource" /> <xsl:apply-templates select="//rss:item[@rdf:about=$resource]" /> </xsl:for-each>
Note that items appearing in the document but not as members of the channel level items sequence are likely to be discarded by RDF parsers.