00001
00002
00003 #include "HtmlDocument.h"
00004
00005
00006 namespace Cgi
00007 {
00008
00009
00010 HtmlDocument::HtmlDocument(doctype_t t)
00011 :ElementList("html")
00012 ,m_doctype(t)
00013 {
00014 }
00015
00016
00017 HtmlDocument::~HtmlDocument()
00018 {
00019 }
00020
00021
00022 std::string HtmlDocument::ToString() const
00023 {
00024 std::string r;
00025 switch (m_doctype)
00026 {
00027 case DOCTYPE_HTML_20:
00028 r = "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\">";
00029 break;
00030 case DOCTYPE_HTML_32:
00031 r = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">";
00032 break;
00033 case DOCTYPE_HTML_401_TRANSITIONAL:
00034 r = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">";
00035 break;
00036 case DOCTYPE_HTML_401_STRICT:
00037 r = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">";
00038 break;
00039 case DOCTYPE_HTML_401_FRAMESET:
00040 r = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\" \"http://www.w3.org/TR/html4/frameset.dtd\">";
00041 break;
00042 case DOCTYPE_XHTML_1_0_TRANSITIONAL:
00043 r = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">";
00044 break;
00045 case DOCTYPE_XHTML_1_0_STRICT:
00046 r = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
00047 break;
00048 case DOCTYPE_XHTML_1_0_FRAMESET:
00049 r = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Frameset//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\">";
00050 break;
00051 }
00052 r += "\n";
00053 return r + ElementList::ToString();
00054 }
00055
00056
00057 }
00058
00059