org.eigenbase.xom
Class XMLOutput

java.lang.Object
  extended by org.eigenbase.xom.XMLOutput

public class XMLOutput
extends Object

XMLOutput is a class which implements streaming XML output. Use this class to write XML to any streaming source. While the class itself is unstructured and doesn't enforce any DTD specification, use of the class does ensure that the output is syntactically valid XML.

 

Constructor Summary
XMLOutput(Writer out)
          Constructs a new XMLOutput based on any Writer.
 
Method Summary
 void attribute(String name, String value)
          Write an attribute.
 void beginBeginTag(String tagName)
           
 void beginNode()
          If we are currently inside the start tag, finish it off.
 void beginTag(String tagName, XMLAttrVector attributes)
          Start writing a new tag to the stream.
 void cdata(String data)
          Write a CDATA section.
 void cdata(String data, boolean quote)
          Writes a CDATA section (as cdata(String)).
 void content(String content)
          Write content.
 void emptyTag(String tagName, XMLAttrVector attributes)
          Write an empty tag to the stream.
 void endBeginTag(String tagName)
           
 void endTag(String tagName)
          Complete a tag.
 boolean getCompact()
           
 boolean getIgnorePcdata()
           
 void header()
          Write header.
 void header(String version)
          Write header, take version as input.
 int numTagsWritten()
          Get the total number of tags written
 void print(String s)
          Sends a string directly to the output stream, without escaping any characters.
 void setAlwaysQuoteCData(boolean alwaysQuoteCData)
          Sets whether to always quote cdata segments (even if they don't contain special characters).
 void setCompact(boolean compact)
          Sets or unsets the compact mode.
 void setGlob(boolean glob)
          Sets whether to detect that tags are empty.
 void setIgnorePcdata(boolean ignorePcdata)
          Sets whether to ignore unquoted text, such as whitespace.
 void setIndentString(String indentString)
          Sets the string to print for each level of indentation.
 void stringTag(String name, String data)
          Write a String tag; a tag containing nothing but a CDATA section.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XMLOutput

public XMLOutput(Writer out)
Constructs a new XMLOutput based on any Writer.

Parameters:
out - the writer to which this XMLOutput generates results.
Method Detail

setCompact

public void setCompact(boolean compact)
Sets or unsets the compact mode. Compact mode causes the generated XML to be free of extraneous whitespace and other unnecessary characters.

Parameters:
compact - true to turn on compact mode, or false to turn it off.

getCompact

public boolean getCompact()

setIndentString

public void setIndentString(String indentString)
Sets the string to print for each level of indentation. The default is a tab. The value must not be null. Set this to the empty string to achieve no indentation (note that setCompact(boolean)(true) removes indentation and newlines).


setGlob

public void setGlob(boolean glob)
Sets whether to detect that tags are empty.


setAlwaysQuoteCData

public void setAlwaysQuoteCData(boolean alwaysQuoteCData)
Sets whether to always quote cdata segments (even if they don't contain special characters).


setIgnorePcdata

public void setIgnorePcdata(boolean ignorePcdata)
Sets whether to ignore unquoted text, such as whitespace.


getIgnorePcdata

public boolean getIgnorePcdata()

print

public void print(String s)
Sends a string directly to the output stream, without escaping any characters. Use with caution!


beginTag

public void beginTag(String tagName,
                     XMLAttrVector attributes)
Start writing a new tag to the stream. The tag's name must be given and its attributes should be specified by a fully constructed AttrVector object.

Parameters:
tagName - the name of the tag to write.
attributes - an XMLAttrVector containing the attributes to include in the tag.

beginBeginTag

public void beginBeginTag(String tagName)

endBeginTag

public void endBeginTag(String tagName)

attribute

public void attribute(String name,
                      String value)
Write an attribute.


beginNode

public void beginNode()
If we are currently inside the start tag, finish it off.


endTag

public void endTag(String tagName)
Complete a tag. This outputs the end tag corresponding to the last exposed beginTag. The tag name must match the name of the corresponding beginTag.

Parameters:
tagName - the name of the end tag to write.

emptyTag

public void emptyTag(String tagName,
                     XMLAttrVector attributes)
Write an empty tag to the stream. An empty tag is one with no tags inside it, although it may still have attributes.

Parameters:
tagName - the name of the empty tag.
attributes - an XMLAttrVector containing the attributes to include in the tag.

cdata

public void cdata(String data)
Write a CDATA section. Such sections always appear on their own line. The nature in which the CDATA section is written depends on the actual string content with respect to these special characters/sequences: Additionally, the sequence ]]> is special. These special treatment rules are required to allow cdata sections to contain XML strings which may themselves contain cdata sections. Traditional CDATA sections do not nest.


cdata

public void cdata(String data,
                  boolean quote)
Writes a CDATA section (as cdata(String)).

Parameters:
data - string to write
quote - if true, quote in a <![CDATA[ ... ]]> regardless of the content of data; if false, quote only if the content needs it

stringTag

public void stringTag(String name,
                      String data)
Write a String tag; a tag containing nothing but a CDATA section.


content

public void content(String content)
Write content.


header

public void header()
Write header. Use default version 1.0.


header

public void header(String version)
Write header, take version as input.


numTagsWritten

public int numTagsWritten()
Get the total number of tags written

Returns:
the total number of tags written to the XML stream.

SourceForge.net_Logo