1 5 package com.teamkonzept.publishing.markups; 6 7 import java.util.*; 8 9 import com.teamkonzept.lib.*; 10 11 public class TKMarkup { 12 13 public String name; 14 public int pos; 15 public boolean backsl; 17 public TKHashtable params; 18 19 public TKMarkup (String name, TKHashtable params, int pos) { 20 21 this(name,params,pos,false); 22 } 23 24 public TKMarkup (String name, TKHashtable params, int pos, boolean backsl) { 25 26 this.name = name.toUpperCase(); 27 this.pos = pos; 28 this.params = params; 29 this.backsl = backsl; 30 } 31 32 public TKMarkup (TKMarkup markup) { 33 34 this.name = markup.name; 35 this.pos = markup.pos; 36 this.params = markup.params; 37 } 38 39 public String toDisplay() { 40 41 StringBuffer buf = new StringBuffer (); 42 buf.append(name); 43 44 Enumeration e = params == null ? null : params.elements(); 45 while ((e != null) && (e.hasMoreElements())) { 46 47 TKMarkupParam param = (TKMarkupParam) e.nextElement(); 48 if ((param != null) && (param.value() != null)) buf.append(' ').append(param); 49 } 50 51 return new String (buf); 52 } 53 54 public String toId() { 55 56 return toDisplay(); 57 } 58 59 public String toString() { 60 61 StringBuffer buf = new StringBuffer (); 62 if (backsl) 63 buf.append('<').append(toId()).append("/>"); 64 else 65 buf.append('<').append(toId()).append('>'); 66 67 return new String (buf); 68 } 69 70 public String expand() { 71 72 StringBuffer buf = new StringBuffer (); 73 74 if (backsl) 75 buf.append('<').append(toDisplay()).append("/>"); 76 else 77 buf.append('<').append(toDisplay()).append('>'); 78 79 return new String (buf); 80 } 81 82 public String convert2Tmpl () { 83 84 StringBuffer buf = new StringBuffer (); 85 86 buf.append('<').append(name); 87 88 boolean first = true; 89 Enumeration e = params == null ? null : params.elements(); 90 while ((e != null) && (e.hasMoreElements())) { 91 92 TKMarkupParam param = (TKMarkupParam) e.nextElement(); 93 if ((param == null) || (param.value() == null)) continue; 94 95 if (first) buf.append(':'); else buf.append(';'); 96 buf.append(param.convert2Tmpl()); 97 98 first=false; 99 } 100 101 buf.append('>'); 102 103 return new String (buf); 104 } 105 106 public String convert2Xml () { 107 108 StringBuffer buf = new StringBuffer (); 109 110 buf.append('<').append(name); 111 112 boolean first = true; 113 Enumeration e = params == null ? null : params.elements(); 114 while ((e != null) && (e.hasMoreElements())) { 115 116 TKMarkupParam param = (TKMarkupParam) e.nextElement(); 117 if ((param == null) || (param.value() == null)) continue; 118 119 buf.append(' ').append(param.convert2Xml()); 120 121 first=false; 122 } 123 124 buf.append("/>"); 125 126 return new String (buf); 127 } 128 } 129 130 | Popular Tags |