internal static string GenerateDefaultPage(PageInformation pageInformation)
{
try
{
using (StreamReader streamReader = new StreamReader(_baseDirectory.Value + _mainPageName))
{
XmlReader xmlReader = new XmlTextReader(streamReader);
XDocument pageRoot = XDocument.Load(xmlReader);
// Remove DOCTYPE extra []
pageRoot.DocumentType.InternalSubset = null;
XNamespace ns = "http://www.w3.org/1999/xhtml";
XmlNamespaceManager xmlNamespaceManager = new XmlNamespaceManager(xmlReader.NameTable);
xmlNamespaceManager.AddNamespace("xhtml", ns.ToString());
ComposePage(pageRoot, xmlNamespaceManager, pageInformation);
return pageRoot.ToString();
}
}
catch (Exception e)
{
if (e is OutOfMemoryException)
throw;
// Not critical since the generated page only contains additional metadata used in SEO/Embedding
return _mainPage.Value;
}
}