У меня есть документ
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<body>
</body>
</html>
Когда я использую этот код в IDispatchMessageFormatter с кодом для генерации HTML-страницы:
XmlReaderSettings settingsReader=new XmlReaderSettings();
settingsReader.ProhibitDtd=false;
settingsReader.DtdProcessing=DtdProcessing.Parse;
settingsReader.ValidationEventHandler+=new System.Xml.Schema.ValidationEventHandler(settingsReader_ValidationEventHandler);
XhtmlUrlResolver resolver=new XhtmlUrlResolver();
Uri baseUri=new Uri("http://localhost/App_Data/dtd");
Uri fulluri=resolver.ResolveUri(baseUri,"xhtml11.dtd");
// Get a stream object containing the XSL file
Stream s=(Stream)resolver.GetEntity(fulluri,null,typeof(Stream));
//Read the stream object displaying the contents of the XSL file
settingsReader.XmlResolver=resolver;
MemoryStream ms=new MemoryStream(Encoding.UTF8.GetBytes((MessageBody)));
ms.Position=0;
XmlReader reader=XmlReader.Create(ms,settingsReader);
MessageResponse=Message.CreateMessage(messageVersion,string.Format("ServiceModel/IService/{0}",Operation),reader);
Тип страницы HTML генерируется как
<html version="-//W3C//DTD XHTML 1.1//EN" xmlns="http://www.w3.org/1999/xhtml">
Я не могу найти способ, чтобы страница содержала doctype хорошим способом: