// Copyright 2005-2007, FreeHEP.
package org.freehep.xml.util;
import com.google.code.appengine.awt.Color;
import java.io.IOException;
/**
* XMLTagWriter Interface. Attributes need to be set before tags are written.
*
* @author Mark Donszelmann
* @version $Id: XMLTagWriter.java 8584 2006-08-10 23:06:37Z duns $
*/
public interface XMLTagWriter {
/**
* Write an xml open tag
* @param ns namespace
* @param name tagname
* @throws IOException if stream cannot be written
*/
public void openTag(String ns, String name) throws IOException;
/**
* Write empty tag
* @param ns namespace
* @param name tagname
* @throws IOException if stream cannot be written
*/
public void printTag(String ns, String name) throws IOException;
/**
* Close writer
* @throws IOException if stream cannot be written
*/
public void close() throws IOException;
/**
* Open XML doc with standard parameters
* @throws IOException if stream cannot be written
*/
public void openDoc() throws IOException;
/**
* Open XML doc
* @param version version string
* @param encoding encoding
* @param standalone if XML is standalone
* @throws IOException if stream cannot be written
*/
public void openDoc(String version, String encoding, boolean standalone) throws IOException;
/**
* Close XML doc
* @throws IOException if stream cannot be written
*/
public void closeDoc() throws IOException;
public void referToDTD(String name, String system);
public void referToDTD(String name, String pid, String ref);
/**
* Write an xml open tag
* @param name tagname
* @throws IOException if stream cannot be written
*/
public void openTag(String name) throws IOException;
/**
* Close nearest tag
* @throws IOException if stream cannot be written
*/
public void closeTag() throws IOException;
/**
* Write empty tag
* @param name tagname
* @throws IOException if stream cannot be written
*/
public void printTag(String name) throws IOException;
public void printComment(String comment) throws IOException;
public void print(String text) throws IOException;
/**
* Set String attribute
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String name, String value);
/**
* Set Color attribute
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String name, Color value);
/**
* Set byte attribute
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String name, byte value);
/**
* Set char attribute
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String name, char value);
/**
* Set long attribute
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String name, long value);
/**
* Set int attribute
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String name, int value);
/**
* Set short attribute
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String name, short value);
/**
* Set boolean attribute
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String name, boolean value);
/**
* Set float attribute
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String name, float value);
/**
* Set double attribute
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String name, double value);
/**
* Set String attribute
* @param ns namespace
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String ns, String name, String value);
/**
* Set Color attribute
* @param ns namespace
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String ns, String name, Color value);
/**
* Set byte attribute
* @param ns namespace
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String ns, String name, byte value);
/**
* Set char attribute
* @param ns namespace
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String ns, String name, char value);
/**
* Set long attribute
* @param ns namespace
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String ns, String name, long value);
/**
* Set int attribute
* @param ns namespace
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String ns, String name, int value);
/**
* Set short attribute
* @param ns namespace
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String ns, String name, short value);
/**
* Set boolean attribute
* @param ns namespace
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String ns, String name, boolean value);
/**
* Set float attribute
* @param ns namespace
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String ns, String name, float value);
/**
* Set double attribute
* @param ns namespace
* @param name attribute name
* @param value attribute value
*/
public void setAttribute(String ns, String name, double value);
}