package WLC2OSIS.Utilities ; import java.lang.System ; import java.io.* ; //============================================================================== /** * Writes the output XML files. */ //============================================================================== public class XMLWriter{ String Directory ; String Filename ; String IndentString = " " ; FileOutputStream FOS ; OutputStreamWriter OSW ; char[] CharBuffer ; //----------------------------------------------------------------------------- /** * Writes an XML file. * * @param Directory String giving directory WITHOUT final \. * @param Filename String giving file name WITHOUT extension. * */ public XMLWriter(String Directory, String Filename){ this.Directory = Directory ; this.Filename = Filename ; // this.XMLTag = XMLTag ; try{ FOS = new FileOutputStream(Directory + File.separator + Filename + ".xml") ; OSW = new OutputStreamWriter(FOS, "UTF8") ; } catch(IOException e){ System.out.println("XMLWriter: Error in opening output file.\n" + e) ; } writeString("\n"); writeString("\n"); } //----------------------------------------------------------------------------- public void writeString(String Tag, int Level, String S){ String s = "\n" ; for (int k = 0; k < Level; k++){ s = s + IndentString ; } s = s + "<" + Tag + ">" ; s = s + S ; s = s + "" ; writeString(s) ; } //----------------------------------------------------------------------------- public void writeAttributedString(String Tag, int Level, String AttributeString, String S){ String s = "\n" ; for (int k = 0; k < Level; k++){ s = s + IndentString ; } s = s + "<" + Tag + " " + AttributeString + ">" ; s = s + S ; s = s + "" ; writeString(s) ; } // MG: Hack //----------------------------------------------------------------------------- public void appendText(String text){ writeString(text) ; } //----------------------------------------------------------------------------- public void writeBoolean(String Tag, int Level, boolean B){ String s = "\n" ; for (int k = 0; k < Level; k++){ s = s + IndentString ; } s = s + "<" + Tag + ">" ; s = s + B ; s = s + "" ; writeString(s) ; } //----------------------------------------------------------------------------- public void writeInt(String Tag, int Level, int I){ String s = "\n" ; for (int k = 0; k < Level; k++){ s = s + IndentString ; } s = s + "<" + Tag + ">" ; s = s + I ; s = s + "" ; writeString(s) ; } //----------------------------------------------------------------------------- public void openTag(String Tag, int Level){ String s = "\n" ; for (int k = 0; k < Level; k++){ s = s + IndentString ; } s = s + "<" + Tag + ">" ; writeString(s) ; } //----------------------------------------------------------------------------- public void openAttributedTag(String Tag, int Level, String Attribute, String Value){ String s = "\n" ; for (int k = 0; k < Level; k++){ s = s + IndentString ; } s = s + "<" + Tag + " " + Attribute + "=\"" + Value + "\">" ; writeString(s) ; } //----------------------------------------------------------------------------- public void closeTag(String Tag, int Level){ String s = "\n" ; if (Level > 0) { for (int k = 0; k < Level; k++){ s = s + IndentString ; } } s = s + "" ; writeString(s) ; } //----------------------------------------------------------------------------- public void writeMarker(String Tag, int Level){ String s = "\n" ; if (Level > 0) { for (int k = 0; k < Level; k++){ s = s + IndentString ; } } s = s + "<" + Tag + "/>" ; writeString(s) ; } //----------------------------------------------------------------------------- public void writeException( char Exception){ String s ; s = "" + Exception + "" ; writeString(s) ; } //----------------------------------------------------------------------------- public void close(){ // writeString("\n") ; closeTag("osis", 0); try{ OSW.close() ; } catch(IOException e){ System.out.println("XMLWriter: Error in closing output file.\n" + e) ; } } //----------------------------------------------------------------------------- void writeString(String S){ CharBuffer = S.toCharArray() ; try{ OSW.write(CharBuffer, 0, CharBuffer.length) ; } catch(IOException e){ System.out.println("XMLWriter: Error in output file.\n" + e) ; } } //----------------------------------------------------------------------------- // end of class } //============================================================================== //==============================================================================