You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
2.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9">
<xsl:output method="html" encoding="UTF-8" indent="yes" />
<!-- The base URL is assumed to be the first URL in the sitemap. -->
<xsl:variable name="baseUrl" select="(sitemap:urlset/sitemap:url)[1]/sitemap:loc"/>
<!-- Remove http[s]:// -->
<xsl:variable name="baseUrlWithoutProtocol" select="substring-after($baseUrl, '://')"/>
<!-- Remove trailing slash -->
<xsl:variable name="clean_base_url" select="substring-before($baseUrlWithoutProtocol, '/')"/>
<xsl:template match="/sitemap:urlset">
<html>
<head>
<title>Sitemap • <xsl:value-of select="$clean_base_url"/></title>
<link rel="stylesheet" href="{$baseUrl}main.css"/>
<script src="{$baseUrl}js/sortTable.min.js" defer="defer"></script>
</head>
<body>
<div class="full-width">
<h1>Sitemap of <xsl:value-of select="$clean_base_url"/></h1>
<p>Number of URLs: <xsl:value-of select="count(sitemap:url)"/></p>
<table id="sitemapTable" class="sitemap-table" aria-label="URLs on the site and their last modification dates">
<thead>
<tr>
<th><span class="columntitle">URL</span></th>
<th><span class="columntitle">Last modification</span></th>
</tr>
</thead>
<tbody>
<xsl:for-each select="sitemap:url">
<tr>
<td>
<a href="{sitemap:loc}">
<xsl:value-of select="sitemap:loc"/>
</a>
</td>
<td>
<xsl:value-of select="sitemap:lastmod"/>
</td>
</tr>
</xsl:for-each>
</tbody>
</table>
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>