177255bc54
Change-Id: Ie416e122dffb666d90f6f254ed1ef5c31cd2b441
81 lines
2.6 KiB
HTML
81 lines
2.6 KiB
HTML
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
|
|
xmlns:access="http://www.bloglines.com/about/specs/fac-1.0"
|
|
xmlns:atom="http://www.w3.org/2005/Atom"
|
|
xmlns:indexing="urn:atom-extension:indexing"
|
|
xmlns:planet="http://planet.intertwingly.net/"
|
|
xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
|
xmlns="http://www.w3.org/1999/xhtml"
|
|
exclude-result-prefixes="planet xhtml">
|
|
|
|
<!-- strip planet elements and attributes -->
|
|
<xsl:template match="planet:*|@planet:*"/>
|
|
|
|
<!-- strip obsolete link relationships -->
|
|
<xsl:template match="atom:link[@rel='service.edit']"/>
|
|
<xsl:template match="atom:link[@rel='service.post']"/>
|
|
<xsl:template match="atom:link[@rel='service.feed']"/>
|
|
|
|
<!-- Feedburner detritus -->
|
|
<xsl:template match="xhtml:div[@class='feedflare']"/>
|
|
|
|
<!-- Strip site meter -->
|
|
<xsl:template match="xhtml:div[comment()[. = ' Site Meter ']]"/>
|
|
|
|
<!-- add Google/LiveJournal-esque and Bloglines noindex directive -->
|
|
<xsl:template match="atom:feed">
|
|
<xsl:copy>
|
|
<xsl:attribute name="indexing:index">no</xsl:attribute>
|
|
<xsl:apply-templates select="@*"/>
|
|
<access:restriction relationship="deny"/>
|
|
<xsl:apply-templates select="node()"/>
|
|
<xsl:text> </xsl:text>
|
|
</xsl:copy>
|
|
</xsl:template>
|
|
|
|
<!-- popular customization: add planet name to each entry title
|
|
<xsl:template match="atom:entry/atom:title">
|
|
<xsl:text> </xsl:text>
|
|
<xsl:copy>
|
|
<xsl:apply-templates select="@*"/>
|
|
<xsl:value-of select="../atom:source/planet:name"/>
|
|
<xsl:text>: </xsl:text>
|
|
<xsl:apply-templates select="node()"/>
|
|
</xsl:copy>
|
|
</xsl:template>
|
|
-->
|
|
|
|
<!-- indent atom elements -->
|
|
<xsl:template match="atom:*">
|
|
<!-- double space before atom:entries -->
|
|
<xsl:if test="self::atom:entry">
|
|
<xsl:text> </xsl:text>
|
|
</xsl:if>
|
|
|
|
<!-- indent start tag -->
|
|
<xsl:text> </xsl:text>
|
|
<xsl:for-each select="ancestor::*">
|
|
<xsl:text> </xsl:text>
|
|
</xsl:for-each>
|
|
|
|
<xsl:copy>
|
|
<xsl:apply-templates select="@*|node()"/>
|
|
|
|
<!-- indent end tag if there are element children -->
|
|
<xsl:if test="*">
|
|
<xsl:text> </xsl:text>
|
|
<xsl:for-each select="ancestor::*">
|
|
<xsl:text> </xsl:text>
|
|
</xsl:for-each>
|
|
</xsl:if>
|
|
</xsl:copy>
|
|
</xsl:template>
|
|
|
|
<!-- pass through everything else -->
|
|
<xsl:template match="@*|node()">
|
|
<xsl:copy>
|
|
<xsl:apply-templates select="@*|node()"/>
|
|
</xsl:copy>
|
|
</xsl:template>
|
|
|
|
</xsl:stylesheet>
|