Html32TextWriter.cs 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308
  1. //
  2. // System.Web.UI.Html32TextWriter.cs: Provides a HtmlTextWriter which writes HTML 3.2
  3. //
  4. // Authors:
  5. // Matthijs ter Woord [meddochat] ([email protected])
  6. // Gonzalo Paniagua Javier ([email protected])
  7. //
  8. // Copyright (C) Matthijs ter Woord, 2004
  9. // (C) 2004 Novell, Inc (http://www.novell.com)
  10. //
  11. //
  12. // Permission is hereby granted, free of charge, to any person obtaining
  13. // a copy of this software and associated documentation files (the
  14. // "Software"), to deal in the Software without restriction, including
  15. // without limitation the rights to use, copy, modify, merge, publish,
  16. // distribute, sublicense, and/or sell copies of the Software, and to
  17. // permit persons to whom the Software is furnished to do so, subject to
  18. // the following conditions:
  19. //
  20. // The above copyright notice and this permission notice shall be
  21. // included in all copies or substantial portions of the Software.
  22. //
  23. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  24. // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  25. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  26. // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
  27. // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
  28. // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
  29. // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  30. //
  31. using System.Collections;
  32. using System.Globalization;
  33. using System.IO;
  34. namespace System.Web.UI
  35. {
  36. [MonoTODO ("Needs work and verification.")]
  37. public class Html32TextWriter : HtmlTextWriter
  38. {
  39. public Html32TextWriter (TextWriter writer) : base (writer)
  40. {
  41. }
  42. public Html32TextWriter (TextWriter writer, string tabString) : base (writer, tabString)
  43. {
  44. }
  45. public override void RenderBeginTag (HtmlTextWriterTag tagKey)
  46. {
  47. base.RenderBeginTag (tagKey);
  48. }
  49. public override void RenderEndTag ()
  50. {
  51. base.RenderEndTag ();
  52. }
  53. protected override string GetTagName (HtmlTextWriterTag tagKey)
  54. {
  55. if (tagKey == HtmlTextWriterTag.Unknown ||
  56. !Enum.IsDefined (typeof (HtmlTextWriterTag), tagKey))
  57. return "";
  58. return tagKey.ToString ().ToLower (CultureInfo.InvariantCulture);
  59. /* The code below is here just in case we need to split things up
  60. switch (tagkey) {
  61. case HtmlTextWriterTag.Unknown:
  62. return "";
  63. case HtmlTextWriterTag.A:
  64. return "a";
  65. case HtmlTextWriterTag.Acronym:
  66. return "acronym";
  67. case HtmlTextWriterTag.Address:
  68. return "address";
  69. case HtmlTextWriterTag.Area:
  70. return "area";
  71. case HtmlTextWriterTag.B:
  72. return "b";
  73. case HtmlTextWriterTag.Base:
  74. return "base";
  75. case HtmlTextWriterTag.Basefont:
  76. return "basefont";
  77. case HtmlTextWriterTag.Bdo:
  78. return "bdo";
  79. case HtmlTextWriterTag.Bgsound:
  80. return "bgsound";
  81. case HtmlTextWriterTag.Big:
  82. return "big";
  83. case HtmlTextWriterTag.Blockquote:
  84. return "blockquote";
  85. case HtmlTextWriterTag.Body:
  86. return "body";
  87. case HtmlTextWriterTag.Br:
  88. return "br";
  89. case HtmlTextWriterTag.Button:
  90. return "button";
  91. case HtmlTextWriterTag.Caption:
  92. return "caption";
  93. case HtmlTextWriterTag.Center:
  94. return "center";
  95. case HtmlTextWriterTag.Cite:
  96. return "cite";
  97. case HtmlTextWriterTag.Code:
  98. return "code";
  99. case HtmlTextWriterTag.Col:
  100. return "col";
  101. case HtmlTextWriterTag.Colgroup:
  102. return "colgroup";
  103. case HtmlTextWriterTag.Dd:
  104. return "dd";
  105. case HtmlTextWriterTag.Del:
  106. return "del";
  107. case HtmlTextWriterTag.Dfn:
  108. return "dfn";
  109. case HtmlTextWriterTag.Dir:
  110. return "dir";
  111. case HtmlTextWriterTag.Div:
  112. return "table";
  113. case HtmlTextWriterTag.Dl:
  114. return "dl";
  115. case HtmlTextWriterTag.Dt:
  116. return "dt";
  117. case HtmlTextWriterTag.Em:
  118. return "em";
  119. case HtmlTextWriterTag.Embed:
  120. return "embed";
  121. case HtmlTextWriterTag.Fieldset:
  122. return "fieldset";
  123. case HtmlTextWriterTag.Font:
  124. return "font";
  125. case HtmlTextWriterTag.Form:
  126. return "form";
  127. case HtmlTextWriterTag.Frame:
  128. return "frame";
  129. case HtmlTextWriterTag.Frameset:
  130. return "frameset";
  131. case HtmlTextWriterTag.H1:
  132. return "h1";
  133. case HtmlTextWriterTag.H2:
  134. return "h2";
  135. case HtmlTextWriterTag.H3:
  136. return "h3";
  137. case HtmlTextWriterTag.H4:
  138. return "h4";
  139. case HtmlTextWriterTag.H5:
  140. return "h5";
  141. case HtmlTextWriterTag.H6:
  142. return "h6";
  143. case HtmlTextWriterTag.Head:
  144. return "head";
  145. case HtmlTextWriterTag.Hr:
  146. return "hr";
  147. case HtmlTextWriterTag.Html:
  148. return "html";
  149. case HtmlTextWriterTag.I:
  150. return "i";
  151. case HtmlTextWriterTag.Iframe:
  152. return "iframe";
  153. case HtmlTextWriterTag.Img:
  154. return "img";
  155. case HtmlTextWriterTag.Input:
  156. return "input";
  157. case HtmlTextWriterTag.Ins:
  158. return "ins";
  159. case HtmlTextWriterTag.Isindex:
  160. return "isindex";
  161. case HtmlTextWriterTag.Kbd:
  162. return "kbd";
  163. case HtmlTextWriterTag.Label:
  164. return "label";
  165. case HtmlTextWriterTag.Legend:
  166. return "legend";
  167. case HtmlTextWriterTag.Li:
  168. return "li";
  169. case HtmlTextWriterTag.Link:
  170. return "link";
  171. case HtmlTextWriterTag.Map:
  172. return "map";
  173. case HtmlTextWriterTag.Marquee:
  174. return "marquee";
  175. case HtmlTextWriterTag.Menu:
  176. return "menu";
  177. case HtmlTextWriterTag.Meta:
  178. return "meta";
  179. case HtmlTextWriterTag.Nobr:
  180. return "nobr";
  181. case HtmlTextWriterTag.Noframes:
  182. return "noframes";
  183. case HtmlTextWriterTag.Noscript:
  184. return "noscript";
  185. case HtmlTextWriterTag.Object:
  186. return "object";
  187. case HtmlTextWriterTag.Ol:
  188. return "ol";
  189. case HtmlTextWriterTag.Option:
  190. return "option";
  191. case HtmlTextWriterTag.P:
  192. return "p";
  193. case HtmlTextWriterTag.Param:
  194. return "param";
  195. case HtmlTextWriterTag.Pre:
  196. return "pre";
  197. case HtmlTextWriterTag.Q:
  198. return "q";
  199. case HtmlTextWriterTag.Rt:
  200. return "rt";
  201. case HtmlTextWriterTag.Ruby:
  202. return "ruby";
  203. case HtmlTextWriterTag.S:
  204. return "s";
  205. case HtmlTextWriterTag.Samp:
  206. return "samp";
  207. case HtmlTextWriterTag.Script:
  208. return "script";
  209. case HtmlTextWriterTag.Select:
  210. return "select";
  211. case HtmlTextWriterTag.Small:
  212. return "small";
  213. case HtmlTextWriterTag.Span:
  214. return "span";
  215. case HtmlTextWriterTag.Strike:
  216. return "strike";
  217. case HtmlTextWriterTag.Strong:
  218. return "strong";
  219. case HtmlTextWriterTag.Style:
  220. return "style";
  221. case HtmlTextWriterTag.Sub:
  222. return "sub";
  223. case HtmlTextWriterTag.Sup:
  224. return "sup";
  225. case HtmlTextWriterTag.Table:
  226. return "table";
  227. case HtmlTextWriterTag.Tbody:
  228. return "tbody";
  229. case HtmlTextWriterTag.Td:
  230. return "td";
  231. case HtmlTextWriterTag.Textarea:
  232. return "textarea";
  233. case HtmlTextWriterTag.Tfoot:
  234. return "tfoot";
  235. case HtmlTextWriterTag.Th:
  236. return "th";
  237. case HtmlTextWriterTag.Thead:
  238. return "thead";
  239. case HtmlTextWriterTag.Title:
  240. return "title";
  241. case HtmlTextWriterTag.Tr:
  242. return "tr";
  243. case HtmlTextWriterTag.Tt:
  244. return "tt";
  245. case HtmlTextWriterTag.U:
  246. return "u";
  247. case HtmlTextWriterTag.Ul:
  248. return "ul";
  249. case HtmlTextWriterTag.Var:
  250. return "var";
  251. case HtmlTextWriterTag.Wbr:
  252. return "wbr";
  253. case HtmlTextWriterTag.Xml:
  254. return "xml";
  255. default:
  256. return "";
  257. }
  258. */
  259. }
  260. protected override bool OnStyleAttributeRender (string name, string value, HtmlTextWriterStyle key)
  261. {
  262. return base.OnStyleAttributeRender (name, value, key);
  263. }
  264. protected override bool OnTagRender (string name, HtmlTextWriterTag key)
  265. {
  266. return base.OnTagRender (name, key);
  267. }
  268. protected override string RenderAfterContent ()
  269. {
  270. return base.RenderAfterContent ();
  271. }
  272. protected override string RenderAfterTag ()
  273. {
  274. return base.RenderAfterTag ();
  275. }
  276. protected override string RenderBeforeContent ()
  277. {
  278. return base.RenderBeforeContent ();
  279. }
  280. protected override string RenderBeforeTag ()
  281. {
  282. return base.RenderBeforeTag ();
  283. }
  284. [MonoTODO]
  285. protected Stack FontStack {
  286. get {
  287. return null;
  288. }
  289. }
  290. }
  291. }