SHARE
TWEET

Modifications to CultivSearchEngineSitemap.xslt

a guest Aug 2nd, 2012 46 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE xsl:stylesheet [
  3.         <!ENTITY nbsp "&#x00A0;">
  4. ]>
  5. <xsl:stylesheet
  6.   version="1.0"
  7.   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  8.     xmlns:msxml="urn:schemas-microsoft-com:xslt"
  9.     xmlns:umbraco.library="urn:umbraco.library" xmlns:Exslt.ExsltCommon="urn:Exslt.ExsltCommon" xmlns:Exslt.ExsltDatesAndTimes="urn:Exslt.ExsltDatesAndTimes" xmlns:Exslt.ExsltMath="urn:Exslt.ExsltMath" xmlns:Exslt.ExsltRegularExpressions="urn:Exslt.ExsltRegularExpressions" xmlns:Exslt.ExsltStrings="urn:Exslt.ExsltStrings" xmlns:Exslt.ExsltSets="urn:Exslt.ExsltSets" xmlns:tagsLib="urn:tagsLib" xmlns:BlogLibrary="urn:BlogLibrary"
  10.     exclude-result-prefixes="msxml umbraco.library Exslt.ExsltCommon Exslt.ExsltDatesAndTimes Exslt.ExsltMath Exslt.ExsltRegularExpressions Exslt.ExsltStrings Exslt.ExsltSets tagsLib BlogLibrary ">
  11.  
  12.         <xsl:output method="xml" omit-xml-declaration="yes"/>
  13.  
  14.         <xsl:param name="currentPage"/>
  15.         <xsl:variable name="urlPrefix">
  16.                 <xsl:text>http://</xsl:text>
  17.                 <xsl:value-of select="umbraco.library:RequestServerVariables('HTTP_HOST')" />
  18.         </xsl:variable>
  19.  
  20.         <!-- update this variable on how deep your site map should be -->
  21.         <xsl:variable name="maxLevelForSitemap" select="6"/>
  22.         <xsl:variable name="url" select="concat('http://',umbraco.library:RequestServerVariables('HTTP_HOST'))" />
  23.  
  24.         <xsl:template match="/">
  25.                 <!-- change the mimetype for the current page to xml -->
  26.                 <xsl:value-of select="umbraco.library:ChangeContentType('text/xml')"/>
  27.  
  28.  
  29.                 <!--
  30.             ====================================================
  31.             This <URL> node is for the homepage/root page
  32.             ====================================================
  33.             -->
  34.                 <url>
  35.                         <loc>
  36.                                 <xsl:value-of select="concat($url,'/')"/>
  37.                         </loc>
  38.                         <lastmod>
  39.                                 <xsl:value-of select="concat($currentPage/ancestor-or-self::node [@level=1]/@updateDate,'+00:00')" />
  40.                         </lastmod>
  41.                 </url>
  42.  
  43.  
  44.  
  45.                 <xsl:call-template name="drawNodes">
  46.                         <xsl:with-param name="parent" select="$currentPage/ancestor-or-self::node [@level=1]"/>
  47.                 </xsl:call-template>
  48.                 <!-- </urlset> -->
  49.         </xsl:template>
  50.  
  51.         <xsl:template name="drawNodes">
  52.                 <xsl:param name="parent"/>
  53.                 <xsl:if test="umbraco.library:IsProtected($parent/@id, $parent/@path) = 0 or (umbraco.library:IsProtected($parent/@id, $parent/@path) = 1 and umbraco.library:IsLoggedOn() = 1)">
  54.                         <xsl:for-each select="$parent/node [string(./data [@alias='umbracoNaviHide']) != '1' and @level &lt;= $maxLevelForSitemap]">
  55.  
  56.                                 <!-- If the document does not have a template, nothing is shown in the frontend anyway.
  57.         So this is not proper content and should not be in the sitemap -->
  58.                                 <xsl:if test="@template &gt; 0">
  59.                                         <url>
  60.                                                 <loc>
  61.                                                         <xsl:value-of select="$urlPrefix" />
  62.                                                         <xsl:value-of select="umbraco.library:NiceUrl(@id)" />
  63.                                                 </loc>
  64.                                                 <lastmod>
  65.                                                         <xsl:value-of select="@updateDate" />+00:00
  66.                                                 </lastmod>
  67.                                                 <xsl:if test="./data [@alias='searchEngineSitemapChangeFreq'] != ''">
  68.                                                         <changefreq>
  69.                                                                 <xsl:value-of select="./data [@alias='searchEngineSitemapChangeFreq']" />
  70.                                                         </changefreq>
  71.                                                 </xsl:if>
  72.                                                 <xsl:if test="./data [@alias='searchEngineSitemapPriority'] != ''">
  73.                                                         <priority>
  74.                                                                 <xsl:value-of select="./data [@alias='searchEngineSitemapPriority']" />
  75.                                                         </priority>
  76.                                                 </xsl:if>
  77.                                         </url>
  78.                                 </xsl:if>
  79.  
  80.                                 <xsl:if test="count(./node [string(./data [@alias='umbracoNaviHide']) != '1' and @level &lt;= $maxLevelForSitemap]) ">
  81.                                         <xsl:call-template name="drawNodes">
  82.                                                 <xsl:with-param name="parent" select="."/>
  83.                                         </xsl:call-template>
  84.                                 </xsl:if>
  85.  
  86.                         </xsl:for-each>
  87.                 </xsl:if>
  88.         </xsl:template>
  89.  
  90. </xsl:stylesheet>
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top