6 Star 45 Fork 17

Aircheng / iWebShop开源商城系统

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
sitemaps.xsl 9.01 KB
一键复制 编辑 原始数据 按行查看 历史
aircheng 提交于 2021-10-07 12:15 . 新建5.10
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:html="http://www.w3.org/TR/REC-html40"
xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0" encoding="utf-8" indent="yes"/>
<!-- Root template -->
<xsl:template match="/">
<html>
<head>
<title>Google Sitemap File</title>
<style type="text/css">
<![CDATA[
<!--
body{
background:#ffaa5d;
}
p,td,div,th{
font: normal 13px/20px Verdana Geneva Arial Helvetica sans-serif;
}
#container{
width:60%;
margin:20px auto;
text-align:left;
border:1px solid #CED5DA;
padding:10px;
background:#ffdab8;
}
a{color:#009}
#main{
background:#fff0e3;
padding:15px;
}
#setting{
width:100%;
}
#setting th{
text-align:left;
padding-left:20px;
font-weight:normal;
}
tr.title{
background:#ffaa5d;
color:#fff;
cursor: pointer;
}
tr.title td{
padding:5px;
}
label{font-weight:bold}
p.sml {
font-size:0.8em;
margin-top:0; }
.sortup {
background-position: right center;
background-image: url(http://www.google.com/webmasters/sitemaps/images/sortup.gif);
background-repeat: no-repeat;
font-style:italic;
white-space:pre; }
.sortdown {
background-position: right center;
background-image: url(http://www.google.com/webmasters/sitemaps/images/sortdown.gif);
background-repeat: no-repeat;
font-style:italic;
white-space:pre; }
table.copyright {
width:100%;
border-top:1px solid #ddad08;
margin-top:1em;
text-align:center;
padding-top:1em;
vertical-align:top; }
-->
]]>
</style>
<link href="gss.css" type="text/css" rel="stylesheet"/>
<script language="JavaScript">
<![CDATA[
var selectedColor = "blue";
var defaultColor = "black";
var hdrRows = 1;
var numeric = '..';
var desc = '..';
var html = '..';
var freq = '..';
function initXsl(tabName,fileType) {
hdrRows = 1;
if(fileType=="sitemap") {
numeric = ".3.";
desc = ".1.";
html = ".0.";
freq = ".2.";
initTable(tabName);
setSort(tabName, 3, 1);
}
else {
desc = ".1.";
html = ".0.";
initTable(tabName);
setSort(tabName, 1, 1);
}
var theURL = document.getElementById("head1");
theURL.innerHTML += ' ' + location;
document.title += ': ' + location;
}
function initTable(tabName) {
var theTab = document.getElementById(tabName);
for(r=0;r<hdrRows;r++)
for(c=0;c<theTab.rows[r].cells.length;c++)
if((r+theTab.rows[r].cells[c].rowSpan)>hdrRows)
hdrRows=r+theTab.rows[r].cells[c].rowSpan;
for(r=0;r<hdrRows; r++){
colNum = 0;
for(c=0;c<theTab.rows[r].cells.length;c++, colNum++){
if(theTab.rows[r].cells[c].colSpan<2){
theCell = theTab.rows[r].cells[c];
rTitle = theCell.innerHTML.replace(/<[^>]+>|&nbsp;/g,'');
if(rTitle>""){
theCell.title = "Change sort order for " + rTitle;
var sortParams = 15; // bitmapped: numeric|desc|html|freq
if(numeric.indexOf("."+colNum+".")>-1) sortParams -= 1;
if(desc.indexOf("."+colNum+".")>-1) sortParams -= 2;
if(html.indexOf("."+colNum+".")>-1) sortParams -= 4;
if(freq.indexOf("."+colNum+".")>-1) sortParams -= 8;
theCell.onclick = new Function("sortTable(this,"+(colNum+r)+","+hdrRows+","+sortParams+")");
}
} else {
colNum = colNum+theTab.rows[r].cells[c].colSpan-1;
}
}
}
}
function setSort(tabName, colNum, sortDir) {
var theTab = document.getElementById(tabName);
theTab.rows[0].sCol = colNum;
theTab.rows[0].sDir = sortDir;
if (sortDir)
theTab.rows[0].cells[colNum].className='sortdown'
else
theTab.rows[0].cells[colNum].className='sortup';
}
function sortTable(theCell, colNum, hdrRows, sortParams){
var typnum = !(sortParams & 1);
sDir = !(sortParams & 2);
var typhtml = !(sortParams & 4);
var typfreq = !(sortParams & 8);
var tBody = theCell.parentNode;
while(tBody.nodeName!="TBODY"){
tBody = tBody.parentNode;
}
var tabOrd = new Array();
if(tBody.rows[0].sCol==colNum) sDir = !tBody.rows[0].sDir;
if (tBody.rows[0].sCol>=0)
tBody.rows[0].cells[tBody.rows[0].sCol].className='';
tBody.rows[0].sCol = colNum;
tBody.rows[0].sDir = sDir;
if (sDir)
tBody.rows[0].cells[colNum].className='sortdown'
else
tBody.rows[0].cells[colNum].className='sortup';
for(i=0,r=hdrRows;r<tBody.rows.length;i++,r++){
colCont = tBody.rows[r].cells[colNum].innerHTML;
if(typhtml) colCont = colCont.replace(/<[^>]+>/g,'');
if(typnum) {
colCont*=1;
if(isNaN(colCont)) colCont = 0;
}
if(typfreq) {
switch(colCont.toLowerCase()) {
case "always": { colCont=0; break; }
case "hourly": { colCont=1; break; }
case "daily": { colCont=2; break; }
case "weekly": { colCont=3; break; }
case "monthly": { colCont=4; break; }
case "yearly": { colCont=5; break; }
case "never": { colCont=6; break; }
}
}
tabOrd[i] = [r, tBody.rows[r], colCont];
}
tabOrd.sort(compRows);
for(i=0,r=hdrRows;r<tBody.rows.length;i++,r++){
tabOrd[i][1].style.background=i%2?'':'#fff9f4';
tBody.insertBefore(tabOrd[i][1],tBody.rows[r]);
}
window.status = "";
}
function compRows(a, b){
if(sDir){
if(a[2]>b[2]) return -1;
if(a[2]<b[2]) return 1;
} else {
if(a[2]>b[2]) return 1;
if(a[2]<b[2]) return -1;
}
return 0;
}
]]>
</script>
</head>
<!-- Store in $fileType if we are in a sitemap or in a siteindex -->
<xsl:variable name="fileType">
<xsl:choose>
<xsl:when test="//sitemap:url">sitemap</xsl:when>
<xsl:otherwise>siteindex</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Body -->
<body onLoad="initXsl('table0','{$fileType}');">
<center><div id="container"><div id="main">
<!-- Logo -->
<!-- Text and table -->
<strong id="head1">Sitemap:</strong><hr />
<xsl:choose>
<xsl:when test="$fileType='sitemap'"><xsl:call-template name="sitemapTable"/></xsl:when>
<xsl:otherwise><xsl:call-template name="siteindexTable"/></xsl:otherwise>
</xsl:choose>
<br/>
</div></div>
</center>
</body>
</html>
</xsl:template>
<!-- siteindexTable template -->
<xsl:template name="siteindexTable">
<div>Number of sitemaps in this sitemaps index: <xsl:value-of select="count(sitemap:sitemapindex/sitemap:sitemap)"></xsl:value-of></div>
<table border="0" width="100%" id="table0">
<tr class="title">
<td>Sitemap URL</td>
<td width="100px">Update</td>
</tr>
<xsl:apply-templates select="sitemap:sitemapindex/sitemap:sitemap">
<xsl:sort select="sitemap:lastmod" order="descending"/>
</xsl:apply-templates>
</table>
</xsl:template>
<!-- sitemapTable template -->
<xsl:template name="sitemapTable">
<h2>Number of URLs in this Google Sitemap: <xsl:value-of select="count(sitemap:urlset/sitemap:url)"></xsl:value-of></h2>
<table border="0" width="100%" id="table0">
<tr class="title">
<td>Sitemap URL</td>
<td width="100px">Update</td>
<td width="100px">Change freq.</td>
<td width="50px">Priority</td>
</tr>
<xsl:apply-templates select="sitemap:urlset/sitemap:url">
<xsl:sort select="sitemap:priority" order="descending"/>
</xsl:apply-templates>
</table>
</xsl:template>
<!-- sitemap:url template -->
<xsl:template match="sitemap:url">
<xsl:variable name="colour">
<xsl:choose>
<xsl:when test="position() mod 2 ">
background:#fff9f4
</xsl:when>
</xsl:choose>
</xsl:variable>
<tr style="{$colour}">
<td>
<xsl:variable name="sitemapURL"><xsl:value-of select="sitemap:loc"/></xsl:variable>
<a href="{$sitemapURL}" target="_blank" ref="nofollow"><xsl:value-of select="$sitemapURL"></xsl:value-of></a>
</td>
<td><xsl:value-of select="sitemap:lastmod"/></td>
<td><xsl:value-of select="sitemap:changefreq"/></td>
<td><xsl:value-of select="sitemap:priority"/></td>
</tr>
</xsl:template>
<!-- sitemap:sitemap template -->
<xsl:template match="sitemap:sitemap">
<xsl:variable name="colour">
<xsl:choose>
<xsl:when test="position() mod 2 ">
background:#fff9f4
</xsl:when>
</xsl:choose>
</xsl:variable>
<tr style="{$colour}">
<td>
<xsl:variable name="sitemapURL"><xsl:value-of select="sitemap:loc"/></xsl:variable>
<a href="{$sitemapURL}"><xsl:value-of select="$sitemapURL"></xsl:value-of></a>
</td>
<td><xsl:value-of select="sitemap:lastmod"/></td>
</tr>
</xsl:template>
</xsl:stylesheet>
PHP
1
https://gitee.com/aircheng/iwebshop.git
git@gitee.com:aircheng/iwebshop.git
aircheng
iwebshop
iWebShop开源商城系统
master

搜索帮助