private SiteMapNode GetNodeFromSiteMapFile(XmlNode xmlNode, VirtualPath siteMapFile)
{
SiteMapNode node = null;
// For external sitemap files, its secuity setting is inherited from parent provider
bool secuityTrimmingEnabled = SecurityTrimmingEnabled;
HandlerBase.GetAndRemoveBooleanAttribute(xmlNode, _securityTrimmingEnabledAttrName, ref secuityTrimmingEnabled);
// No other attributes or non-comment nodes are allowed on a siteMapFile node
HandlerBase.CheckForUnrecognizedAttributes(xmlNode);
HandlerBase.CheckForNonCommentChildNodes(xmlNode);
XmlSiteMapProvider childProvider = new XmlSiteMapProvider();
// siteMapFile was relative to the sitemap file where this xmlnode is defined, make it an application path.
siteMapFile = _normalizedVirtualPath.Parent.Combine(siteMapFile);
childProvider.ParentProvider = this;
childProvider.Initialize(siteMapFile, secuityTrimmingEnabled);
childProvider.BuildSiteMap();
node = childProvider._siteMapNode;
ChildProviderTable.Add(childProvider, node);
_childProviderList = null;
return(node);
}