/// <summary> /// Used by all overloaded publish methods to do the actual "noderepresentation to xml" /// </summary> /// <param name="d"></param> /// <param name="xmlContentCopy"></param> public static void PublishNodeDo(Document d, XmlDocument xmlContentCopy, bool updateSitemapProvider) { // check if document *is* published, it could be unpublished by an event if (d.Published) { int parentId = d.Level == 1 ? -1 : d.Parent.Id; AppendDocumentXml(d.Id, d.Level, parentId, getPreviewOrPublishedNode(d, xmlContentCopy, false), xmlContentCopy); // update sitemapprovider if (updateSitemapProvider && SiteMap.Provider is presentation.nodeFactory.UmbracoSiteMapProvider) { presentation.nodeFactory.UmbracoSiteMapProvider prov = (presentation.nodeFactory.UmbracoSiteMapProvider)SiteMap.Provider; prov.UpdateNode(new umbraco.NodeFactory.Node(d.Id, true)); } } }