/// <exclude /> public static Control AsAspNetControl(this XhtmlDocument xhtmlDocument, IXElementToControlMapper controlMapper) { using (TimerProfilerFacade.CreateTimerProfiler()) { var htmlControl = new HtmlGenericControl("html"); CopyAttributes(xhtmlDocument.Root, htmlControl); HtmlHead headControl = xhtmlDocument.BuildHtmlHeadControl(controlMapper); Control bodyControl = xhtmlDocument.Body.AsAspNetControl(controlMapper); htmlControl.Controls.Add(headControl); htmlControl.Controls.Add(bodyControl); PlaceHolder pageHolder = new PlaceHolder(); if (xhtmlDocument.DocumentType != null) { string docType = xhtmlDocument.DocumentType.ToString(); var offset = docType.IndexOf("[]", StringComparison.Ordinal); if (offset >= 0) { docType = docType.Remove(offset, 2); } pageHolder.Controls.Add(new LiteralControl(docType)); } pageHolder.Controls.Add(htmlControl); return(pageHolder); } }