package rene.util.xml; import java.io.PrintWriter; import java.util.Vector; import rene.util.parser.StringParser; public class XmlWriter { PrintWriter Out; public XmlWriter (PrintWriter o) { Out=o; } public void printTag (String tag, String content) { startTag(tag); print(content); endTag(tag); } public void printTagNewLine (String tag, String content) { printTag(tag,content); Out.println(); } public void printTag (String tag, String arg, String value, String content) { startTag(tag,arg,value); print(content); endTag(tag); } public void printTagNewLine (String tag, String arg, String value, String content) { printTag(tag,arg,value,content); Out.println(); } public void startTag (String tag) { Out.print("<"); Out.print(tag); Out.print(">"); } public void startTag (String tag, String arg, String value) { Out.print("<"); Out.print(tag); printArg(arg,value); Out.print(">"); } public void finishTag (String tag, String arg, String value) { Out.print("<"); Out.print(tag); printArg(arg,value); Out.println("/>"); } public void finishTag (String tag) { Out.print("<"); Out.print(tag); Out.print("/>"); } public void finishTagNewLine (String tag) { Out.print("<"); Out.print(tag); Out.println("/>"); } public void startTagStart (String tag) { Out.print("<"); Out.print(tag); } public void startTagEnd () { Out.print(">"); } public void finishTag () { Out.print("/>"); } public void finishTagNewLine () { Out.println("/>"); } public void startTagEndNewLine () { Out.println(">"); } public void printArg (String arg, String value) { Out.print(" "); print(arg); Out.print("=\""); print(value); Out.print("\""); } public void startTagNewLine (String tag, String arg, String value) { startTag(tag,arg,value); Out.println(); } public void startTagNewLine (String tag) { startTag(tag); Out.println(); } public void endTag (String tag) { Out.print("</"); Out.print(tag); Out.print(">"); } public void endTagNewLine (String tag) { endTag(tag); Out.println(); } public void println () { Out.println(); } public void print (String s) { Out.print(XmlTranslator.toXml(s)); } public void println (String s) { Out.println(XmlTranslator.toXml(s)); } public void printEncoding (String s) { if (s.equals("")) Out.println("<?xml version=\"1.0\"?>"); else Out.println("<?xml version=\"1.0\" encoding=\""+s+"\"?>"); } public void printXml() { printEncoding(""); } public void printEncoding () { printEncoding("utf-8"); } public void printXls (String s) { Out.println("<?xml-stylesheet href=\""+s+"\" type=\"text/xsl\"?>"); } public void printParagraphs (String s, int linelength) { StringParser p=new StringParser(s); Vector v=p.wrapwords(linelength); for (int i=0; i<v.size(); i++) { startTag("P"); s=(String)v.elementAt(i); StringParser q=new StringParser(s); Vector w=q.wraplines(linelength); for (int j=0; j<w.size(); j++) { if (j>0) println(); s=(String)w.elementAt(j); print(s); } endTagNewLine("P"); } } public void printDoctype (String top, String dtd) { Out.print("<!DOCTYPE "); Out.print(top); Out.print(" SYSTEM \""); Out.print(dtd); Out.println("\">"); } public void close () { Out.close(); } }