public class OutputFormat
extends java.lang.Object
implements java.lang.Cloneable
OutputFormat
represents the format configuration used by
XMLWriter
and its base classes to format the XML outputModifier and Type | Field and Description |
---|---|
protected static java.lang.String |
STANDARD_INDENT
standard value to indent by, if we are indenting
|
Constructor and Description |
---|
OutputFormat()
Creates an
OutputFormat with no additional whitespace
(indent or new lines) added. |
OutputFormat(java.lang.String indent)
Creates an
OutputFormat with the given indent added but no
new lines added. |
OutputFormat(java.lang.String indent,
boolean newlines)
Creates an
OutputFormat with the given indent added with
optional newlines between the Elements. |
OutputFormat(java.lang.String indent,
boolean newlines,
java.lang.String encoding)
Creates an
OutputFormat with the given indent added with
optional newlines between the Elements and the given encoding format. |
Modifier and Type | Method and Description |
---|---|
static OutputFormat |
createCompactFormat()
A static helper method to create the default compact format.
|
static OutputFormat |
createPrettyPrint()
A static helper method to create the default pretty printing format.
|
char |
getAttributeQuoteCharacter() |
java.lang.String |
getEncoding() |
java.lang.String |
getIndent() |
java.lang.String |
getLineSeparator() |
int |
getNewLineAfterNTags() |
boolean |
isExpandEmptyElements() |
boolean |
isNewLineAfterDeclaration()
DOCUMENT ME!
|
boolean |
isNewlines() |
boolean |
isOmitEncoding() |
boolean |
isPadText() |
boolean |
isSuppressDeclaration()
DOCUMENT ME!
|
boolean |
isTrimText() |
boolean |
isXHTML()
Whether or not to use the XHTML standard: like HTML but passes an XML
parser with real, closed tags.
|
int |
parseOptions(java.lang.String[] args,
int i)
Parses command line arguments of the form
-omitEncoding
-indentSize 3 -newlines -trimText |
void |
setAttributeQuoteCharacter(char quoteChar)
Sets the character used to quote attribute values.
|
void |
setEncoding(java.lang.String encoding)
DOCUMENT ME!
|
void |
setExpandEmptyElements(boolean expandEmptyElements)
This will set whether empty elements are expanded from
<tagName> to
<tagName></tagName> . |
void |
setIndent(boolean doIndent)
Set the indent on or off.
|
void |
setIndent(java.lang.String indent)
This will set the indent
String to use; this is usually a
String of empty spaces. |
void |
setIndentSize(int indentSize)
This will set the indent
String 's size; an indentSize of
4 would result in the indention being equivalent to the
String " " (four space characters). |
void |
setLineSeparator(java.lang.String separator)
This will set the new-line separator.
|
void |
setNewLineAfterDeclaration(boolean newLineAfterDeclaration)
This will set whether a new line is printed after the XML declaration
(assuming it is not supressed.)
|
void |
setNewLineAfterNTags(int tagCount)
Controls output of a line.separator every tagCount tags when isNewlines
is false.
|
void |
setNewlines(boolean newlines)
DOCUMENT ME!
|
void |
setOmitEncoding(boolean omitEncoding)
This will set whether the XML declaration (
<?xml version="1.0"
encoding="UTF-8"?> )
includes the encoding of the document. |
void |
setPadText(boolean padText)
Ensure that text immediately preceded by or followed by an element will
be "padded" with a single space.
|
void |
setSuppressDeclaration(boolean suppressDeclaration)
This will set whether the XML declaration (
<?xml version="1.0"
encoding="UTF-8"?> )
is included or not. |
void |
setTrimText(boolean trimText)
This will set whether the text is output verbatim (false) or with
whitespace stripped as per
. |
void |
setXHTML(boolean xhtml)
This will set whether or not to use the XHTML standard: like HTML but
passes an XML parser with real, closed tags.
|
protected static final java.lang.String STANDARD_INDENT
public OutputFormat()
OutputFormat
with no additional whitespace
(indent or new lines) added. The whitespace from the element text content
is fully preserved.public OutputFormat(java.lang.String indent)
OutputFormat
with the given indent added but no
new lines added. All whitespace from element text will be included.indent
- is the indent string to be used for indentation (usually a
number of spaces).public OutputFormat(java.lang.String indent, boolean newlines)
OutputFormat
with the given indent added with
optional newlines between the Elements. All whitespace from element text
will be included.indent
- is the indent string to be used for indentation (usually a
number of spaces).newlines
- whether new lines are added to layout thepublic OutputFormat(java.lang.String indent, boolean newlines, java.lang.String encoding)
OutputFormat
with the given indent added with
optional newlines between the Elements and the given encoding format.indent
- is the indent string to be used for indentation (usually a
number of spaces).newlines
- whether new lines are added to layout theencoding
- is the text encoding to use for writing the XMLpublic java.lang.String getLineSeparator()
public void setLineSeparator(java.lang.String separator)
This will set the new-line separator. The default is \n
.
Note that if the "newlines" property is false, this value is irrelevant.
To make it output the system default line ending string, call
setLineSeparator(System.getProperty("line.separator"))
separator
- String
line separator to use.setNewlines(boolean)
public boolean isNewlines()
public void setNewlines(boolean newlines)
newlines
- true
indicates new lines should be printed,
else new lines are ignored (compacted).setLineSeparator(String)
public java.lang.String getEncoding()
public void setEncoding(java.lang.String encoding)
encoding
- encoding formatpublic boolean isOmitEncoding()
public void setOmitEncoding(boolean omitEncoding)
This will set whether the XML declaration (<?xml version="1.0"
encoding="UTF-8"?>
)
includes the encoding of the document. It is common to suppress this in
protocols such as WML and SOAP.
omitEncoding
- boolean
indicating whether or not the XML
declaration should indicate the document encoding.public void setSuppressDeclaration(boolean suppressDeclaration)
This will set whether the XML declaration (<?xml version="1.0"
encoding="UTF-8"?>
)
is included or not. It is common to suppress this in protocols such as
WML and SOAP.
suppressDeclaration
- boolean
indicating whether or not the XML
declaration should be suppressed.public boolean isSuppressDeclaration()
<?xml
version="1.0"?>
)
should be suppressed else false.public void setNewLineAfterDeclaration(boolean newLineAfterDeclaration)
This will set whether a new line is printed after the XML declaration (assuming it is not supressed.)
newLineAfterDeclaration
- boolean
indicating whether or not to print new
line following the XML declaration. The default is true.public boolean isNewLineAfterDeclaration()
public boolean isExpandEmptyElements()
public void setExpandEmptyElements(boolean expandEmptyElements)
This will set whether empty elements are expanded from
<tagName>
to
<tagName></tagName>
.
expandEmptyElements
- boolean
indicating whether or not empty
elements should be expanded.public boolean isTrimText()
public void setTrimText(boolean trimText)
Element.getTextTrim()
.
Default: falsetrimText
- boolean
true → trim the whitespace, false → use
text verbatimpublic boolean isPadText()
public void setPadText(boolean padText)
The quick <b>brown</b> fox
into The
quick<b>brown</b>fox
(the latter will run the three separate words together into a single
word). This setting is not too useful if you haven't also called
setTrimText(boolean)
.
The padding string will only be added if the text itself starts or ends
with some whitespace characters.
Default: falsepadText
- boolean
if true, pad string-element boundariespublic java.lang.String getIndent()
public void setIndent(java.lang.String indent)
String
to use; this is usually a
String
of empty spaces. If you pass null, or the empty
string (""), then no indentation will happen.
Default: none (null)indent
- String
to use for indentation.public void setIndent(boolean doIndent)
doIndent
- if true, set indenting on; if false, set indenting offpublic void setIndentSize(int indentSize)
String
's size; an indentSize of
4 would result in the indention being equivalent to the
String
" " (four space characters).indentSize
- int
number of spaces in indentation.public boolean isXHTML()
false
public void setXHTML(boolean xhtml)
xhtml
- boolean
true → conform to XHTML, false → conform
to HTML, can have unclosed tags, etc.public int getNewLineAfterNTags()
public void setNewLineAfterNTags(int tagCount)
tagCount
- DOCUMENT ME!public char getAttributeQuoteCharacter()
public void setAttributeQuoteCharacter(char quoteChar)
IllegalArgumentException
will be thrown.quoteChar
- The character to use when quoting attribute values.java.lang.IllegalArgumentException
- If the specified character is not a valid XML attribute quote
character.public int parseOptions(java.lang.String[] args, int i)
-omitEncoding
-indentSize 3 -newlines -trimText
args
- is the array of command line argumentsi
- is the index in args to start parsing optionspublic static OutputFormat createPrettyPrint()
public static OutputFormat createCompactFormat()