1 20 21 package org.jivesoftware.smackx; 22 23 import org.jivesoftware.smack.util.StringUtils; 24 25 31 public class XHTMLText { 32 33 private StringBuffer text = new StringBuffer (30); 34 35 41 public XHTMLText(String style, String lang) { 42 appendOpenBodyTag(style, lang); 43 } 44 45 51 public void appendOpenAnchorTag(String href, String style) { 52 StringBuffer sb = new StringBuffer ("<a"); 53 if (href != null) { 54 sb.append(" HREF=\""); 55 sb.append(href); 56 sb.append("\""); 57 } 58 if (style != null) { 59 sb.append(" style=\""); 60 sb.append(style); 61 sb.append("\""); 62 } 63 sb.append(">"); 64 text.append(sb.toString()); 65 } 66 67 71 public void appendCloseAnchorTag() { 72 text.append("</a>"); 73 } 74 75 80 public void appendOpenBlockQuoteTag(String style) { 81 StringBuffer sb = new StringBuffer ("<blockquote"); 82 if (style != null) { 83 sb.append(" style=\""); 84 sb.append(style); 85 sb.append("\""); 86 } 87 sb.append(">"); 88 text.append(sb.toString()); 89 } 90 91 95 public void appendCloseBlockQuoteTag() { 96 text.append("</blockquote>"); 97 } 98 99 105 private void appendOpenBodyTag(String style, String lang) { 106 StringBuffer sb = new StringBuffer ("<body"); 107 if (style != null) { 108 sb.append(" style=\""); 109 sb.append(style); 110 sb.append("\""); 111 } 112 if (lang != null) { 113 sb.append(" xml:lang=\""); 114 sb.append(lang); 115 sb.append("\""); 116 } 117 sb.append(">"); 118 text.append(sb.toString()); 119 } 120 121 125 private String closeBodyTag() { 126 return "</body>"; 127 } 128 129 133 public void appendBrTag() { 134 text.append("<br>"); 135 } 136 137 141 public void appendOpenCiteTag() { 142 text.append("<cite>"); 143 } 144 145 149 public void appendOpenCodeTag() { 150 text.append("<code>"); 151 } 152 153 157 public void appendCloseCodeTag() { 158 text.append("</code>"); 159 } 160 161 165 public void appendOpenEmTag() { 166 text.append("<em>"); 167 } 168 169 173 public void appendCloseEmTag() { 174 text.append("</em>"); 175 } 176 177 183 public void appendOpenHeaderTag(int level, String style) { 184 if (level > 3 || level < 1) { 185 return; 186 } 187 StringBuffer sb = new StringBuffer ("<h"); 188 sb.append(level); 189 if (style != null) { 190 sb.append(" style=\""); 191 sb.append(style); 192 sb.append("\""); 193 } 194 sb.append(">"); 195 text.append(sb.toString()); 196 } 197 198 203 public void appendCloseHeaderTag(int level) { 204 if (level > 3 || level < 1) { 205 return; 206 } 207 StringBuffer sb = new StringBuffer ("</h"); 208 sb.append(level); 209 sb.append(">"); 210 text.append(sb.toString()); 211 } 212 213 222 public void appendImageTag(String align, String alt, String height, String src, String width) { 223 StringBuffer sb = new StringBuffer ("<img"); 224 if (align != null) { 225 sb.append(" align=\""); 226 sb.append(align); 227 sb.append("\""); 228 } 229 if (alt != null) { 230 sb.append(" alt=\""); 231 sb.append(alt); 232 sb.append("\""); 233 } 234 if (height != null) { 235 sb.append(" height=\""); 236 sb.append(height); 237 sb.append("\""); 238 } 239 if (src != null) { 240 sb.append(" SRC=\""); 241 sb.append(src); 242 sb.append("\""); 243 } 244 if (width != null) { 245 sb.append(" width=\""); 246 sb.append(width); 247 sb.append("\""); 248 } 249 sb.append(">"); 250 text.append(sb.toString()); 251 } 252 253 258 public void appendLineItemTag(String style) { 259 StringBuffer sb = new StringBuffer ("<li"); 260 if (style != null) { 261 sb.append(" style=\""); 262 sb.append(style); 263 sb.append("\""); 264 } 265 sb.append(">"); 266 text.append(sb.toString()); 267 } 268 269 275 public void appendOpenOrderedListTag(String style) { 276 StringBuffer sb = new StringBuffer ("<ol"); 277 if (style != null) { 278 sb.append(" style=\""); 279 sb.append(style); 280 sb.append("\""); 281 } 282 sb.append(">"); 283 text.append(sb.toString()); 284 } 285 286 290 public void appendCloseOrderedListTag() { 291 text.append("</ol>"); 292 } 293 294 300 public void appendOpenUnorderedListTag(String style) { 301 StringBuffer sb = new StringBuffer ("<ul"); 302 if (style != null) { 303 sb.append(" style=\""); 304 sb.append(style); 305 sb.append("\""); 306 } 307 sb.append(">"); 308 text.append(sb.toString()); 309 } 310 311 315 public void appendCloseUnorderedListTag() { 316 text.append("</ul>"); 317 } 318 319 325 public void appendOpenParagraphTag(String style) { 326 StringBuffer sb = new StringBuffer ("<p"); 327 if (style != null) { 328 sb.append(" style=\""); 329 sb.append(style); 330 sb.append("\""); 331 } 332 sb.append(">"); 333 text.append(sb.toString()); 334 } 335 336 341 public void appendCloseParagraphTag() { 342 text.append("</p>"); 343 } 344 345 350 public void appendOpenInlinedQuoteTag(String style) { 351 StringBuffer sb = new StringBuffer ("<q"); 352 if (style != null) { 353 sb.append(" style=\""); 354 sb.append(style); 355 sb.append("\""); 356 } 357 sb.append(">"); 358 text.append(sb.toString()); 359 } 360 361 365 public void appendCloseInlinedQuoteTag() { 366 text.append("</q>"); 367 } 368 369 374 public void appendOpenSpanTag(String style) { 375 StringBuffer sb = new StringBuffer ("<span"); 376 if (style != null) { 377 sb.append(" style=\""); 378 sb.append(style); 379 sb.append("\""); 380 } 381 sb.append(">"); 382 text.append(sb.toString()); 383 } 384 385 389 public void appendCloseSpanTag() { 390 text.append("</span>"); 391 } 392 393 397 public void appendOpenStrongTag() { 398 text.append("<strong>"); 399 } 400 401 405 public void appendCloseStrongTag() { 406 text.append("</strong>"); 407 } 408 409 414 public void append(String textToAppend) { 415 text.append(StringUtils.escapeForXML(textToAppend)); 416 } 417 418 425 public String toString() { 426 return text.toString().concat(closeBodyTag()); 427 } 428 429 } 430 | Popular Tags |