code: public function purgeXmlFiles($blnReturn=false)
  	{
  		$arrFeeds = array();
  		$objDatabase = Database::getInstance();
  
  		// XML sitemaps
  		$objFeeds = $objDatabase->execute("SELECT sitemapName FROM tl_page WHERE type='root' AND createSitemap=1 AND sitemapName!=''");
  
  		while ($objFeeds->next())
  		{
  			$arrFeeds[] = $objFeeds->sitemapName;
  		}
  
  		// HOOK: preserve third party feeds
  		if (isset($GLOBALS['TL_HOOKS']['removeOldFeeds']) && \is_array($GLOBALS['TL_HOOKS']['removeOldFeeds']))
  		{
  			foreach ($GLOBALS['TL_HOOKS']['removeOldFeeds'] as $callback)
  			{
  				$this->import($callback[0]);
  				$arrFeeds = array_merge($arrFeeds, $this->{$callback[0]}->{$callback[1]}());
  			}
  		}
  
  		// Delete the old files
  		if (!$blnReturn)
  		{
  			$shareDir = System::getContainer()->getParameter('contao.web_dir') . '/share';
  
  			foreach (scan($shareDir) as $file)
  			{
  				if (is_dir($shareDir . '/' . $file))
  				{
  					continue; // see #6652
  				}
  
  				$objFile = new File(StringUtil::stripRootDir($shareDir) . '/' . $file);
  
  				if ($objFile->extension == 'xml' && !\in_array($objFile->filename, $arrFeeds))
  				{
  					$objFile->delete();
  				}
  			}
  		}
  
  		return $arrFeeds;
  	}
docs: Remove old XML files from the share directory
  
  @param boolean $blnReturn If true, only return the finds and don't delete
  
  @return array An array of old XML files