JAXB
v0.21

javax.xml.marshal
Class XMLWriter

java.lang.Object
  |
  +--javax.xml.marshal.XMLWriter

public class XMLWriter
extends Object

A writer of XML output streams.

An XML writer knows hardly anything about XML document well-formedness, to say nothing of validity. It relies upon the invoker to ensure that the generated document is well-formed and, if required, valid.

Note: This class is incomplete. In the next draft it will be extended to more closely mimic XMLScanner, and to support output to both SAX streams and DOM documents.

Version:
1.7, 01/05/31

Constructor Summary
XMLWriter(OutputStream out)
          Creates a new writer that will write to the given byte-output stream using the UTF-8 encoding.
XMLWriter(OutputStream out, String enc)
          Creates a new writer that will write to the given byte-output stream using the given encoding.
XMLWriter(OutputStream out, String enc, boolean declare)
          Creates a new writer that will write to the given byte-output stream using the given encoding.
 
Method Summary
 void attribute(String name, String value)
          Writes an attribute for the current element.
 void attributeName(String name)
          Writes an attribute name for the current element.
 void attributeValue(String value)
          Writes a value for the current attribute.
 void attributeValueToken(String token)
          Writes one token of the current attribute's value.
 void chars(String chars)
          Writes some character data.
 void close()
          Flushes the writer and closes the underlying byte-output stream.
 void doctype(String root, String dtd)
          Writes a DOCTYPE declaration.
 void end(String name)
          Writes an end tag for the named element.
 void flush()
          Flushes the writer.
 void inlineLeaf(String name)
           
 void inlineLeaf(String name, String chars)
           
 void leaf(String name)
          Writes an empty leaf element.
 void leaf(String name, String chars)
          Writes a leaf element with the given character content.
 void setQuote(char quote)
          Sets the quote character to be used by this writer when writing attribute values.
 void start(String name)
          Writes a start tag for the named element.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XMLWriter

public XMLWriter(OutputStream out)
          throws IOException
Creates a new writer that will write to the given byte-output stream using the UTF-8 encoding. An initial XML declaration will be written to the stream.

Parameters:
out - The target byte-output stream
Throws:
IOException - If an I/O error occurs

XMLWriter

public XMLWriter(OutputStream out,
                 String enc)
          throws UnsupportedEncodingException,
                 IOException
Creates a new writer that will write to the given byte-output stream using the given encoding. An initial XML declaration will be written to the stream.

Parameters:
out - The target byte-output stream
enc - The character encoding to be used
Throws:
IOException - If an I/O error occurs
UnsupportedEncodingException - If the named encoding is not supported

XMLWriter

public XMLWriter(OutputStream out,
                 String enc,
                 boolean declare)
          throws UnsupportedEncodingException,
                 IOException
Creates a new writer that will write to the given byte-output stream using the given encoding. An initial XML declaration will optionally be written to the stream.

Parameters:
out - The target byte-output stream
enc - The character encoding to be used
declare - If true, write the XML declaration to the output stream
Throws:
IOException - If an I/O error occurs
UnsupportedEncodingException - If the named encoding is not supported
Method Detail

attribute

public void attribute(String name,
                      String value)
               throws IOException
Writes an attribute for the current element.

Parameters:
name - The attribute's name
value - The attribute's value
Throws:
IllegalStateException - If the previous method invoked upon this object was neither start nor attribute
IOException - If an I/O error occurs

attributeName

public void attributeName(String name)
                   throws IOException
Writes an attribute name for the current element. After invoking this method, invoke the attributeValue method to write the attribute value, or invoke the attributeValueToken method to write one or more space-separated value tokens.

Parameters:
name - The attribute's name
Throws:
IllegalStateException - If the previous method invoked upon this object was neither start nor attribute

attributeValue

public void attributeValue(String value)
                    throws IOException
Writes a value for the current attribute.

Parameters:
value - The attribute's value
Throws:
IllegalStateException - If the previous method invoked upon this object was not attributeName

attributeValueToken

public void attributeValueToken(String token)
                         throws IOException
Writes one token of the current attribute's value. Adjacent tokens will be separated by single space characters.

Parameters:
token - The token to be written
Throws:
IllegalStateException - If the previous method invoked upon this object was neither attributeName nor attributeValueToken

chars

public void chars(String chars)
           throws IOException
Writes some character data.

Parameters:
chars - The character data to be written
Throws:
IOException - If an I/O error occurs

close

public void close()
           throws IOException
Flushes the writer and closes the underlying byte-output stream.

Throws:
IOException - If an I/O error occurs

doctype

public void doctype(String root,
                    String dtd)
             throws IOException
Writes a DOCTYPE declaration.

Parameters:
root - The name of the root element
dtd - The URI of the document-type definition
Throws:
IOException - If an I/O error occurs

end

public void end(String name)
         throws IOException
Writes an end tag for the named element.

Parameters:
name - The name to be used in the end tag
Throws:
IOException - If an I/O error occurs

flush

public void flush()
           throws IOException
Flushes the writer.

Throws:
IOException - If an I/O error occurs

inlineLeaf

public void inlineLeaf(String name)
                throws IOException

inlineLeaf

public void inlineLeaf(String name,
                       String chars)
                throws IOException

leaf

public void leaf(String name)
          throws IOException
Writes an empty leaf element.

Parameters:
The - name to be used in the empty-element tag

leaf

public void leaf(String name,
                 String chars)
          throws IOException
Writes a leaf element with the given character content.

Parameters:
name - The name to be used in the start and end tags
chars - The character data to be written

This method writes a start tag with the given name, followed by the given character data, followed by an end tag. If the chars parameter is null or the empty string then an empty tag is written.

Throws:
IOException - If an I/O error occurs

setQuote

public void setQuote(char quote)
Sets the quote character to be used by this writer when writing attribute values.

Parameters:
quote - The new quote character, either a QUOTATION MARK ('\u0022'), or an APOSTROPHE-QUOTE ('\u0027')
Throws:
IllegalArgumentException - If the argument is neither of the above characters

start

public void start(String name)
           throws IOException
Writes a start tag for the named element.

Parameters:
name - The name to be used in the start tag
Throws:
IOException - If an I/O error occurs

JAXB
v0.21


Comments to: jaxb-comments@java.sun.com
More information at: http://java.sun.com/xml/jaxb

Copyright © 2001 by Sun Microsystems, Inc., 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.