// Copyright 2005-2007, FreeHEP.
package org.freehep.xml.util;
import java.awt.Color;
import java.io.IOException;
/**
* XMLTagWriter Interface. Attributes need to be set before tags are written.
*
* @author Mark Donszelmann
* @version $Id: XMLTagWriter.java,v 1.3 2008-05-04 12:20:50 murkle Exp $
*/
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);
}