| <?xml version="1.0"?> | |
| <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> | |
| <xsl:output method="html"/> | |
| <xsl:template match="/"> | |
| <html> | |
| <body> | |
| <ul> | |
| <xsl:apply-templates select="topic"> | |
| <xsl:sort select="order" data-type="number" order="descending"/> | |
| </xsl:apply-templates> | |
| </ul> | |
| </body> | |
| </html> | |
| </xsl:template> | |
| <xsl:template match="topic"> | |
| <li> | |
| <object type="text/sitemap"> | |
| <xsl:element name="param"> | |
| <xsl:attribute name="name">Name</xsl:attribute> | |
| <xsl:attribute name="value"><xsl:value-of select="title" /></xsl:attribute> | |
| </xsl:element> | |
| <xsl:element name="param"> | |
| <xsl:attribute name="name">Local</xsl:attribute> | |
| <xsl:attribute name="value"><xsl:value-of select="id" />.html</xsl:attribute> | |
| </xsl:element> | |
| </object> | |
| </li> | |
| <xsl:if test="topic"> | |
| <ul> | |
| <xsl:apply-templates select="topic" /> | |
| </ul> | |
| </xsl:if> | |
| </xsl:template> | |
| <!-- If a topic doesn't have a title, we pretend it isn't there and hoist its children up in its place --> | |
| <xsl:template match="topic[not(title)]"> | |
| <xsl:apply-templates select="topic"> | |
| <xsl:sort select="order" data-type="number" order="descending"/> | |
| </xsl:apply-templates> | |
| </xsl:template> | |
| </xsl:stylesheet> |