Main Page | Class Hierarchy | Class List | Class Members

org::jdom::output::XMLOutputter Class Reference

List of all members.

Public Member Functions

 XMLOutputter ()
 XMLOutputter (Format format)
 XMLOutputter (XMLOutputter that)
void setFormat (Format newFormat)
Format getFormat ()
void output (Document doc, OutputStream out) throws IOException
void output (DocType doctype, OutputStream out) throws IOException
void output (Element element, OutputStream out) throws IOException
void outputElementContent (Element element, OutputStream out) throws IOException
void output (List list, OutputStream out) throws IOException
void output (CDATA cdata, OutputStream out) throws IOException
void output (Text text, OutputStream out) throws IOException
void output (Comment comment, OutputStream out) throws IOException
void output (ProcessingInstruction pi, OutputStream out) throws IOException
void output (EntityRef entity, OutputStream out) throws IOException
void output (Document doc, Writer out) throws IOException
void output (DocType doctype, Writer out) throws IOException
void output (Element element, Writer out) throws IOException
void outputElementContent (Element element, Writer out) throws IOException
void output (List list, Writer out) throws IOException
void output (CDATA cdata, Writer out) throws IOException
void output (Text text, Writer out) throws IOException
void output (Comment comment, Writer out) throws IOException
void output (ProcessingInstruction pi, Writer out) throws IOException
void output (EntityRef entity, Writer out) throws IOException
String outputString (Document doc)
String outputString (DocType doctype)
String outputString (Element element)
String outputString (List list)
String outputString (CDATA cdata)
String outputString (Text text)
String outputString (Comment comment)
String outputString (ProcessingInstruction pi)
String outputString (EntityRef entity)
String escapeAttributeEntities (String str)
String escapeElementEntities (String str)
Object clone ()
String toString ()

Protected Member Functions

void printDeclaration (Writer out, Document doc, String encoding) throws IOException
void printDocType (Writer out, DocType docType) throws IOException
void printComment (Writer out, Comment comment) throws IOException
void printProcessingInstruction (Writer out, ProcessingInstruction pi) throws IOException
void printEntityRef (Writer out, EntityRef entity) throws IOException
void printCDATA (Writer out, CDATA cdata) throws IOException
void printText (Writer out, Text text) throws IOException
void printElement (Writer out, Element element, int level, NamespaceStack namespaces) throws IOException
void printAttributes (Writer out, List attributes, Element parent, NamespaceStack namespaces) throws IOException

Protected Attributes

Format currentFormat = userFormat

Static Protected Attributes

final Format preserveFormat = Format.getRawFormat()

Detailed Description

Outputs a JDOM document as a stream of bytes. The outputter can manage many styles of document formatting, from untouched to pretty printed. The default is to output the document content exactly as created, but this can be changed by setting a new Format object. For pretty-print output, use Format#getPrettyFormat(). For whitespace-normalized output, use Format#getCompactFormat().

There are output(...) methods to print any of the standard JDOM classes, including Document and Element, to either a Writer or an OutputStream. Warning: When outputting to a Writer, make sure the writer's encoding matches the encoding setting in the Format object. This ensures the encoding in which the content is written (controlled by the Writer configuration) matches the encoding placed in the document's XML declaration (controlled by the XMLOutputter). Because a Writer cannot be queried for its encoding, the information must be passed to the Format manually in its constructor or via the Format#setEncoding method. The default encoding is UTF-8.

The methods outputString(...) are for convenience only; for top performance you should call one of the output(...) methods and pass in your own Writer or OutputStream if possible.

XML declarations are always printed on their own line followed by a line seperator (this doesn't change the semantics of the document). To omit printing of the declaration use Format#setOmitDeclaration. To omit printing of the encoding in the declaration use Format#setOmitEncoding. Unfortunatly there is currently no way to know the original encoding of the document.

Empty elements are by default printed as <empty/>, but this can be configured with Format#setExpandEmptyElements to cause them to be expanded to <empty></empty>.

Version:
Revision
1.112
,
Date
2004/09/01 06:08:18
Author:
Brett McLaughlin

Jason Hunter

Jason Reid

Wolfgang Werner

Elliotte Rusty Harold

David & Will (from Post Tool Design)

Dan Schaffer

Alex Chaffee

Bradley S. Huffman


Constructor & Destructor Documentation

org::jdom::output::XMLOutputter::XMLOutputter  )  [inline]
 

This will create an XMLOutputter with the default Format matching Format#getRawFormat.

org::jdom::output::XMLOutputter::XMLOutputter Format  format  )  [inline]
 

This will create an XMLOutputter with the specified format characteristics. Note the format object is cloned internally before use.

org::jdom::output::XMLOutputter::XMLOutputter XMLOutputter  that  )  [inline]
 

This will create an XMLOutputter with all the options as set in the given XMLOutputter. Note that XMLOutputter two = (XMLOutputter)one.clone(); would work equally well.

Parameters:
that the XMLOutputter to clone


Member Function Documentation

Object org::jdom::output::XMLOutputter::clone  )  [inline]
 

Returns a copy of this XMLOutputter.

String org::jdom::output::XMLOutputter::escapeAttributeEntities String  str  )  [inline]
 

This will take the pre-defined entities in XML 1.0 and convert their character representation to the appropriate entity reference, suitable for XML attributes. It does not convert the single quote (') because it's not necessary as the outputter writes attributes surrounded by double-quotes.

Parameters:
str String input to escape.
Returns:
String with escaped content.

String org::jdom::output::XMLOutputter::escapeElementEntities String  str  )  [inline]
 

This will take the three pre-defined entities in XML 1.0 (used specifically in XML elements) and convert their character representation to the appropriate entity reference, suitable for XML element content.

Parameters:
str String input to escape.
Returns:
String with escaped content.

Format org::jdom::output::XMLOutputter::getFormat  )  [inline]
 

Returns the current format in use by the outputter. Note the Format object returned is a clone of the one used internally.

void org::jdom::output::XMLOutputter::output EntityRef  entity,
Writer  out
throws IOException [inline]
 

Print out a EntityRef.

Parameters:
entity EntityRef to output.
out Writer to use.

void org::jdom::output::XMLOutputter::output ProcessingInstruction  pi,
Writer  out
throws IOException [inline]
 

Print out a ProcessingInstruction.

Parameters:
pi ProcessingInstruction to output.
out Writer to use.

void org::jdom::output::XMLOutputter::output Comment  comment,
Writer  out
throws IOException [inline]
 

Print out a Comment.

Parameters:
comment Comment to output.
out Writer to use.

void org::jdom::output::XMLOutputter::output Text  text,
Writer  out
throws IOException [inline]
 

Print out a Text node. Perfoms the necessary entity escaping and whitespace stripping.

Parameters:
text Text to output.
out Writer to use.

void org::jdom::output::XMLOutputter::output CDATA  cdata,
Writer  out
throws IOException [inline]
 

Print out a CDATA node.

Parameters:
cdata CDATA to output.
out Writer to use.

void org::jdom::output::XMLOutputter::output List  list,
Writer  out
throws IOException [inline]
 

This will handle printing out a list of nodes. This can be useful for printing the content of an element that contains HTML, like "<description>JDOM is <b>fun>!</description>".

Parameters:
list List of nodes.
out Writer to use.

void org::jdom::output::XMLOutputter::output Element  element,
Writer  out
throws IOException [inline]
 

Print out an Element, including its Attributes, and all contained (child) elements, etc.

Parameters:
element Element to output.
out Writer to use.

void org::jdom::output::XMLOutputter::output DocType  doctype,
Writer  out
throws IOException [inline]
 

Print out the DocType.

Parameters:
doctype DocType to output.
out Writer to use.

void org::jdom::output::XMLOutputter::output Document  doc,
Writer  out
throws IOException [inline]
 

This will print the Document to the given Writer.

Warning: using your own Writer may cause the outputter's preferred character encoding to be ignored. If you use encodings other than UTF-8, we recommend using the method that takes an OutputStream instead.

Parameters:
doc Document to format.
out Writer to use.
Exceptions:
IOException - if there's any problem writing.

void org::jdom::output::XMLOutputter::output EntityRef  entity,
OutputStream  out
throws IOException [inline]
 

Print out a EntityRef.

Parameters:
entity EntityRef to output.
out OutputStream to use.

void org::jdom::output::XMLOutputter::output ProcessingInstruction  pi,
OutputStream  out
throws IOException [inline]
 

Print out a ProcessingInstruction.

Parameters:
pi ProcessingInstruction to output.
out OutputStream to use.

void org::jdom::output::XMLOutputter::output Comment  comment,
OutputStream  out
throws IOException [inline]
 

Print out a Comment.

Parameters:
comment Comment to output.
out OutputStream to use.

void org::jdom::output::XMLOutputter::output Text  text,
OutputStream  out
throws IOException [inline]
 

Print out a Text node. Perfoms the necessary entity escaping and whitespace stripping.

Parameters:
text Text to output.
out OutputStream to use.

void org::jdom::output::XMLOutputter::output CDATA  cdata,
OutputStream  out
throws IOException [inline]
 

Print out a CDATA node.

Parameters:
cdata CDATA to output.
out OutputStream to use.

void org::jdom::output::XMLOutputter::output List  list,
OutputStream  out
throws IOException [inline]
 

This will handle printing out a list of nodes. This can be useful for printing the content of an element that contains HTML, like "<description>JDOM is <b>fun>!</description>".

Parameters:
list List of nodes.
out OutputStream to use.

void org::jdom::output::XMLOutputter::output Element  element,
OutputStream  out
throws IOException [inline]
 

Print out an Element, including its Attributes, and all contained (child) elements, etc.

Parameters:
element Element to output.
out Writer to use.

void org::jdom::output::XMLOutputter::output DocType  doctype,
OutputStream  out
throws IOException [inline]
 

Print out the DocType.

Parameters:
doctype DocType to output.
out OutputStream to use.

void org::jdom::output::XMLOutputter::output Document  doc,
OutputStream  out
throws IOException [inline]
 

This will print the Document to the given output stream. The characters are printed using the encoding specified in the constructor, or a default of UTF-8.

Parameters:
doc Document to format.
out OutputStream to use.
Exceptions:
IOException - if there's any problem writing.

void org::jdom::output::XMLOutputter::outputElementContent Element  element,
Writer  out
throws IOException [inline]
 

This will handle printing out an Element's content only, not including its tag, and attributes. This can be useful for printing the content of an element that contains HTML, like "<description>JDOM is <b>fun>!</description>".

Parameters:
element Element to output.
out Writer to use.

void org::jdom::output::XMLOutputter::outputElementContent Element  element,
OutputStream  out
throws IOException [inline]
 

This will handle printing out an Element's content only, not including its tag, and attributes. This can be useful for printing the content of an element that contains HTML, like "<description>JDOM is <b>fun>!</description>".

Parameters:
element Element to output.
out OutputStream to use.

String org::jdom::output::XMLOutputter::outputString EntityRef  entity  )  [inline]
 

Return a string representing an entity. Warning: a String is Unicode, which may not match the outputter's specified encoding.

Parameters:
entity EntityRef to format.

String org::jdom::output::XMLOutputter::outputString ProcessingInstruction  pi  )  [inline]
 

Return a string representing a PI. Warning: a String is Unicode, which may not match the outputter's specified encoding.

Parameters:
pi ProcessingInstruction to format.

String org::jdom::output::XMLOutputter::outputString Comment  comment  )  [inline]
 

Return a string representing a comment. Warning: a String is Unicode, which may not match the outputter's specified encoding.

Parameters:
comment Comment to format.

String org::jdom::output::XMLOutputter::outputString Text  text  )  [inline]
 

Return a string representing a Text node. Warning: a String is Unicode, which may not match the outputter's specified encoding.

Parameters:
text Text to format.

String org::jdom::output::XMLOutputter::outputString CDATA  cdata  )  [inline]
 

Return a string representing a CDATA node. Warning: a String is Unicode, which may not match the outputter's specified encoding.

Parameters:
cdata CDATA to format.

String org::jdom::output::XMLOutputter::outputString List  list  )  [inline]
 

Return a string representing a list of nodes. The list is assumed to contain legal JDOM nodes.

Parameters:
list List to format.

String org::jdom::output::XMLOutputter::outputString Element  element  )  [inline]
 

Return a string representing an element. Warning: a String is Unicode, which may not match the outputter's specified encoding.

Parameters:
element Element to format.

String org::jdom::output::XMLOutputter::outputString DocType  doctype  )  [inline]
 

Return a string representing a DocType. Warning: a String is Unicode, which may not match the outputter's specified encoding.

Parameters:
doctype DocType to format.

String org::jdom::output::XMLOutputter::outputString Document  doc  )  [inline]
 

Return a string representing a document. Uses an internal StringWriter. Warning: a String is Unicode, which may not match the outputter's specified encoding.

Parameters:
doc Document to format.

void org::jdom::output::XMLOutputter::printAttributes Writer  out,
List  attributes,
Element  parent,
NamespaceStack  namespaces
throws IOException [inline, protected]
 

This will handle printing of a Attribute list.

Parameters:
attributes List of Attribute objcts
out Writer to use

void org::jdom::output::XMLOutputter::printCDATA Writer  out,
CDATA  cdata
throws IOException [inline, protected]
 

This will handle printing of CDATA text.

Parameters:
cdata CDATA to output.
out Writer to use.

void org::jdom::output::XMLOutputter::printComment Writer  out,
Comment  comment
throws IOException [inline, protected]
 

This will handle printing of comments.

Parameters:
comment Comment to write.
out Writer to use.

void org::jdom::output::XMLOutputter::printDeclaration Writer  out,
Document  doc,
String  encoding
throws IOException [inline, protected]
 

This will handle printing of the declaration. Assumes XML version 1.0 since we don't directly know.

Parameters:
doc Document whose declaration to write.
out Writer to use.
encoding The encoding to add to the declaration

void org::jdom::output::XMLOutputter::printDocType Writer  out,
DocType  docType
throws IOException [inline, protected]
 

This handle printing the DOCTYPE declaration if one exists.

Parameters:
docType Document whose declaration to write.
out Writer to use.

void org::jdom::output::XMLOutputter::printElement Writer  out,
Element  element,
int  level,
NamespaceStack  namespaces
throws IOException [inline, protected]
 

This will handle printing of a Element, its Attributes, and all contained (child) elements, etc.

Parameters:
element Element to output.
out Writer to use.
level int level of indention.
namespaces List stack of Namespaces in scope.

void org::jdom::output::XMLOutputter::printEntityRef Writer  out,
EntityRef  entity
throws IOException [inline, protected]
 

This will handle printing a EntityRef. Only the entity reference such as &entity; will be printed. However, subclasses are free to override this method to print the contents of the entity instead.

Parameters:
entity EntityRef to output.
out Writer to use.

void org::jdom::output::XMLOutputter::printProcessingInstruction Writer  out,
ProcessingInstruction  pi
throws IOException [inline, protected]
 

This will handle printing of processing instructions.

Parameters:
pi ProcessingInstruction to write.
out Writer to use.

void org::jdom::output::XMLOutputter::printText Writer  out,
Text  text
throws IOException [inline, protected]
 

This will handle printing of Text strings.

Parameters:
text Text to write.
out Writer to use.

void org::jdom::output::XMLOutputter::setFormat Format  newFormat  )  [inline]
 

Sets the new format logic for the outputter. Note the Format object is cloned internally before use.

Parameters:
newFormat the format to use for output

String org::jdom::output::XMLOutputter::toString  )  [inline]
 

Return a string listing of the settings for this XMLOutputter instance.

Returns:
a string listing the settings for this XMLOutputter instance


The documentation for this class was generated from the following file:
Generated on Thu Dec 9 10:42:05 2004 for JDOM by  doxygen 1.3.9.1