/// <summary> /// Creates a <code>SSXManager</code> from the cleaned HTML of a local editing page. /// </summary> /// <param name="pageConverter">An instance of the <code>ConversionManager</code> for this page.</param> /// <param name="cleanHTML">Cleaned HTML of the local page.</param> /// <returns>An instance of a <code>SSXManager</code>.</returns> 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); }
/// <summary> /// Builds a <code>SSXManager</code> for a remote wiki page. /// </summary> /// <param name="pageConverter">An instance of the <code>ConversionManager</code> for this page.</param> /// <returns>An instance of a <code>SSXManager</code>.</returns> public static SSXManager BuildFromServerPage(ConversionManager pageConverter) { SSXManager ssxManager = new SSXManager(); ssxManager.pageFullName = pageConverter.States.PageFullName; ssxManager.pageConverter = pageConverter; List <XWikiObject> ssxObjects = ssxManager.RetrieveStyleSheetExtensions(); ssxManager.pageStyleSheetExtensions = ssxObjects; StringBuilder sb = new StringBuilder(); foreach (XWikiObject ssxObject in ssxObjects) { sb.Append(ssxObject.objectDictionary["code"]); sb.Append(Environment.NewLine); } ssxManager.pageCSSContent = sb.ToString(); return(ssxManager); }
/// <summary> /// Builds a <code>SSXManager</code> for a remote wiki page. /// </summary> /// <param name="pageConverter">An instance of the <code>ConversionManager</code> for this page.</param> /// <returns>An instance of a <code>SSXManager</code>.</returns> public static SSXManager BuildFromServerPage(ConversionManager pageConverter) { SSXManager ssxManager = new SSXManager(); ssxManager.pageFullName = pageConverter.States.PageFullName; ssxManager.pageConverter = pageConverter; List<XWikiObject> ssxObjects = ssxManager.RetrieveStyleSheetExtensions(); ssxManager.pageStyleSheetExtensions = ssxObjects; StringBuilder sb = new StringBuilder(); foreach (XWikiObject ssxObject in ssxObjects) { sb.Append(ssxObject.objectDictionary["code"]); sb.Append(Environment.NewLine); } ssxManager.pageCSSContent = sb.ToString(); return ssxManager; }
/// <summary> /// Creates a <code>SSXManager</code> from the cleaned HTML of a local editing page. /// </summary> /// <param name="pageConverter">An instance of the <code>ConversionManager</code> for this page.</param> /// <param name="cleanHTML">Cleaned HTML of the local page.</param> /// <returns>An instance of a <code>SSXManager</code>.</returns> 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; }