.=< { Star Gans Tq } >=.

  • Home

  • Killme
  • Download
  • Current Path : /home/m/e/h/meharicl/www/
    Upload File
    @Command ~ $  
    Current File : /home/m/e/h/meharicl/www/gss.xsl

    <?xml version="1.0" encoding="UTF-8"?>
    
    <!-- Google Sitmaps Stylesheets (GSStylesheets)
         Project Home: http://sourceforge.net/projects/gstoolbox
         Copyright (c) 2005 Baccou Bonneville SARL (http://www.baccoubonneville.com)
         License http://www.gnu.org/copyleft/lesser.html GNU/LGPL
         
         Created by Serge Baccou
         1.0 / 20 Aug 2005
           
         Changes by Johannes Müller (http://GSiteCrawler.com)
         1.1 / 20 Aug 2005 - sorting by clicking on column headers
                           - open urls in new window/tab 
                           - some stylesheet/CSS cleanup 
         1.5a/ 31 Aug 2005 - added version number in footer
                           - removed images (don't allow tracking on other servers)
         1.5b/ 05 Jul 2006 - removed (unnecessary) link to (missing) CSS file
                           - moved necessary items from Googles CSS file intern
                           - javascript code not compatible with Opera 9.0
         1.6/  19 Nov 2006 - Changed namespace to http://www.sitemaps.org/schemas/sitemap/0.9
         
         Changes by Tobias Kluge (http://enarion.net)
         1.2 / 22 Aug 2005 - moved sitemap file and sitemap index file into one file gss.xsl
    	 1.5 / 27 Aug 2005 - added js and css into xslt stylesheet; only gss.xsl is needed now
         
         Changes by Serge Baccou
         1.3 / 23 Aug 2005 - some XSLT cleanup
         1.4 / 24 Aug 2005 - sourceForge and LGPL links and logos
                           - sorting is working for siteindex (see gss.js) -->
    
    <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="iso-8859-1" indent="yes"/>
      
      <!-- Root template -->    
      <xsl:template match="/">
        <html>     
          <head>  
            <title>Google Sitemap File for </title>
    		<style type="text/css">
    		  <![CDATA[
    			<!--
    			body {
    				font-family: arial, sans-serif;
    				font-size: 0.8em;
    				height:100%;
    			}
    			body * {
    				font-size: 100%;
    			}
    			h1 { 
    				font-weight:bold;
    				font-size:1.5em;
    				margin-bottom:0;
    				margin-top:1px; }
    			
    			h2 { 
    				font-weight:bold;
    				font-size:1.2em;
    				margin-bottom:0; 
    				color:#707070;
    				margin-top:1px; }
    
    			h3 { 
    				font-weight:bold;
    				font-size:1.2em;
    				margin-bottom:0; 
    				color:#000;
    				margin-top:1px; }
    				
    			td, th {
    				font-family: arial, sans-serif;
    				font-size: 0.9em;
    			}			
    			
    			.header {
    				font-weight: bold;
    				font-size: 1.1em;
    			}
    			
    			p.sml { 
    				font-size:0.8em;
    				margin-top:0; 
    			}
    			
    			.data {
    				border-collapse:collapse;
    				border:1px solid #b0b0b0;
    				margin-top:3px;
    				width:100%;
    				padding:5em;
    			}
    
    			.data td {
    				border-bottom:1px solid #b0b0b0;
    				text-align:left;
    				padding:3px;
    			}
    			
    			.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; }
    				
    			.copyright {
    				color: #6F6F6F;
    				font-size: 0.8em;
    			}
    			-->
    		  ]]>
    		</style>
            <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;
    			          theCell.onmouseover = function(){setCursor(this, "selected")};
    			          theCell.onmouseout = function(){setCursor(this, "default")};
    			          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 setCursor(theCell, mode){
    			  rTitle = theCell.innerHTML.replace(/<[^>]+>|&nbsp;|\W/g,'');
    			  if(mode=="selected"){
    			    if(theCell.style.color!=selectedColor) 
    			      defaultColor = theCell.style.color;
    			    theCell.style.color = selectedColor;
    			    theCell.style.cursor = "hand";
    			    window.status = "Click to sort by '"+rTitle+"'";
    			  } else {
    			    theCell.style.color = defaultColor;
    			    theCell.style.cursor = "";
    			    window.status = "";
    			  }
    			}
    			
    			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.nodeName!="TABLE")) {
    			    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++){
    			    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}');">  
                
            <!-- Text and table -->
            <h1 id="head1">Google Sitemap</h1>        
            <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>
              
            <!-- Copyright notice -->          
            <br/>
            <table class="copyright" id="table_copyright">
              <tr>
                <td>
                  <p>Google Sitemaps: (c) 2005-2006 <a href="http://www.google.com">Google</a> - <a href="https://www.google.com/webmasters/sitemaps/stats">My Sitemaps</a> - <a href="http://www.google.com/webmasters/sitemaps/docs/en/about.html">About</a> - <a href="http://www.google.com/webmasters/sitemaps/docs/en/faq.html">FAQ</a> - <a href="http://groups-beta.google.com/group/google-sitemaps">Discussion</a> - <a href="http://sitemaps.blogspot.com/">Blog</a></p>
                  Google Sitemaps Stylesheets v1.6: (c) 2005-2006 <a href="http://www.baccoubonneville.com">Baccou Bonneville</a> - <a href="http://sourceforge.net/projects/gstoolbox">Project</a> - <a href="http://www.baccoubonneville.com/blogs/index.php/webdesign/2005/08/20/google-sitemaps-stylesheets">Blog</a><br/>
                  Johannes Mueller, SOFTplus <a href="http://gsitecrawler.com">GSiteCrawler</a> - Tobias Kluge, enarion.net <a href="http://enarion.net/google/phpsitemapng">phpSitemapNG</a>
                </td>
              </tr>
            </table>
          </body>
        </html>
      </xsl:template>     
    
      <!-- siteindexTable template -->
      <xsl:template name="siteindexTable">
        <h3>This sitemap index file was created by <a href="http://gsitecrawler.com/">SOFTplus GSiteCrawler</a>.</h3>          
        <h2>Number of sitemaps in this Google sitemap index: <xsl:value-of select="count(sitemap:sitemapindex/sitemap:sitemap)"></xsl:value-of></h2>          
        <p class="sml">Click on the table headers to change sorting.</p>
        <table border="1" width="100%" class="data" id="table1">
          <tr class="header">
            <td>Sitemap URL</td>
            <td>Last modification date</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">
        <h3>This Google Sitemap file was created by <a href="http://gsitecrawler.com/">SOFTplus GSiteCrawler</a>.</h3>          
        <h2>Number of URLs in this Google Sitemap: <xsl:value-of select="count(sitemap:urlset/sitemap:url)"></xsl:value-of></h2>
        <p class="sml">Click on the table headers to change sorting.</p>
        <table border="1" width="100%" class="data" id="table0">
    	  <tr class="header">
    	    <td>Sitemap URL</td>
    		<td>Last modification date</td>
    		<td>Change freq.</td>
    		<td>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">
        <tr>  
          <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">
        <tr>  
          <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>