public void AddCustomSiteMapData(Webpage webpage, XElement urlset, XDocument xmlDocument) { if (webpage == null) { return; } ISitemapGenerationInfo info = GetInfo(webpage); info.Append(webpage, urlset, xmlDocument); }
public bool ShouldAppend(Webpage webpage) { if (webpage == null) { return(false); } if (_exclusionReasons.Any(sitemap => sitemap.ShouldExclude(webpage))) { return(false); } ISitemapGenerationInfo info = GetInfo(webpage); return(info.ShouldAppend(webpage)); }
private ISitemapGenerationInfo GetInfo(Webpage webpage) { ISitemapGenerationInfo generationInfo = null; if (webpage == null) { return(null); } var typeName = webpage.GetType().FullName; if (SitemapGenerationInfoTypes.ContainsKey(typeName)) { generationInfo = _kernel.Get(SitemapGenerationInfoTypes[typeName]) as ISitemapGenerationInfo; } return(generationInfo ?? _kernel.Get <DefaultSitemapGenerationInfo>()); }