ContentFiltering.StyleSheetExtensions.SSXManager.BuildFromLocalHTML C# (CSharp) Method

BuildFromLocalHTML() public static method

Creates a SSXManager from the cleaned HTML of a local editing page.
public static BuildFromLocalHTML ( ConversionManager pageConverter, string cleanHTML ) : SSXManager
pageConverter XWiki.Office.Word.ConversionManager An instance of the ConversionManager for this page.
cleanHTML string Cleaned HTML of the local page.
return SSXManager
        public static SSXManager BuildFromLocalHTML(ConversionManager pageConverter, string cleanHTML)
        {
            SSXManager ssxManager = new SSXManager();
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.LoadXml(cleanHTML);
            XmlNodeList styleNodes = xmlDoc.GetElementsByTagName("style");
            string pageCSSContent = "";

            foreach (XmlNode styleNode in styleNodes)
            {
                pageCSSContent += styleNode.InnerText;
            }

            XmlRpcStruct dictionary = new XmlRpcStruct();
            dictionary.Add("code", pageCSSContent);
            dictionary.Add("name", "XOfficeStyle");
            dictionary.Add("use", "currentPage");
            dictionary.Add("parse", "0");
            dictionary.Add("cache", "forbid");

            XWikiObject ssxObject = new XWikiObject();
            ssxObject.className = SSX_CLASS_NAME;
            ssxObject.pageId = pageConverter.States.PageFullName;
            ssxObject.objectDictionary = dictionary;

            ssxManager.pageFullName = pageConverter.States.PageFullName;
            ssxManager.pageCSSContent = pageCSSContent;
            ssxManager.pageStyleSheetExtensions = new List<XWikiObject>();
            ssxManager.pageStyleSheetExtensions.Add(ssxObject);
            ssxManager.pageConverter = pageConverter;
            return ssxManager;
        }