Class XMLOutputter

java.lang.Object
org.apache.maven.archetype.common.util.XMLOutputter
All Implemented Interfaces:
java.lang.Cloneable

public class XMLOutputter extends java.lang.Object implements java.lang.Cloneable

This class is a fork from jdom 1.0 modified to preserve CData and comments parts.

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(java.lang.String) 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(boolean). To omit printing of the encoding in the declaration use Format.setOmitEncoding(boolean). 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(boolean) to cause them to be expanded to <empty></empty>.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    protected class 
    Our own null subclass of NamespaceStack.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected Format
     
    private boolean
    Whether output escaping is enabled for the being processed Element - default is true
    protected static final Format
     
    private Format
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    This will create an XMLOutputter with the default Format matching Format.getRawFormat().
    This will create an XMLOutputter with the specified format characteristics.
    This will create an XMLOutputter with all the options as set in the given XMLOutputter.
  • Method Summary

    Modifier and Type
    Method
    Description
    java.lang.Object
    Returns a copy of this XMLOutputter.
    Factory for making new NamespaceStack objects.
    private boolean
    endsWithWhite(java.lang.String str)
     
    java.lang.String
    escapeAttributeEntities(java.lang.String str)
    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.
    java.lang.String
    escapeElementEntities(java.lang.String str)
    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.
    Returns the current format in use by the outputter.
    private void
    indent(java.io.Writer out, int level)
    This will print indents (only if the newlines flag was set to true, and indent is non-null).
    private boolean
    isAllWhitespace(java.lang.Object obj)
     
    private static boolean
    isWhitespace(char c)
     
    private java.io.Writer
    makeWriter(java.io.OutputStream out)
    Get an OutputStreamWriter, using prefered encoding (see Format.setEncoding(java.lang.String)).
    private static java.io.Writer
    makeWriter(java.io.OutputStream out, java.lang.String enc)
    Get an OutputStreamWriter, use specified encoding.
    private void
    newline(java.io.Writer out)
    This will print a new line only if the newlines flag was set to true.
    private static int
    nextNonText(java.util.List<?> content, int start)
     
    void
    output(java.util.List<?> list, java.io.OutputStream out)
    This will handle printing out a list of nodes.
    void
    output(java.util.List<?> list, java.io.Writer out)
    This will handle printing out a list of nodes.
    void
    output(org.jdom.CDATA cdata, java.io.OutputStream out)
    Print out a CDATA node.
    void
    output(org.jdom.CDATA cdata, java.io.Writer out)
    Print out a CDATA node.
    void
    output(org.jdom.Comment comment, java.io.OutputStream out)
    Print out a Comment.
    void
    output(org.jdom.Comment comment, java.io.Writer out)
    Print out a Comment.
    void
    output(org.jdom.DocType doctype, java.io.OutputStream out)
    Print out the DocType.
    void
    output(org.jdom.DocType doctype, java.io.Writer out)
    Print out the DocType.
    void
    output(org.jdom.Document doc, java.io.OutputStream out)
    This will print the Document to the given output stream.
    void
    output(org.jdom.Document doc, java.io.Writer out)
    This will print the Document to the given Writer.
    void
    output(org.jdom.Element element, java.io.OutputStream out)
    Print out an Element, including its Attributes, and all contained (child) elements, etc.
    void
    output(org.jdom.Element element, java.io.Writer out)
    Print out an Element, including its Attributes, and all contained (child) elements, etc.
    void
    output(org.jdom.EntityRef entity, java.io.OutputStream out)
    Print out a EntityRef.
    void
    output(org.jdom.EntityRef entity, java.io.Writer out)
    Print out a EntityRef.
    void
    output(org.jdom.ProcessingInstruction pi, java.io.OutputStream out)
    Print out a ProcessingInstruction.
    void
    output(org.jdom.ProcessingInstruction pi, java.io.Writer out)
    Print out a ProcessingInstruction.
    void
    output(org.jdom.Text text, java.io.OutputStream out)
    Print out a Text node.
    void
    output(org.jdom.Text text, java.io.Writer out)
    Print out a Text node.
    void
    outputElementContent(org.jdom.Element element, java.io.OutputStream out)
    This will handle printing out an Element's content only, not including its tag, and attributes.
    void
    outputElementContent(org.jdom.Element element, java.io.Writer out)
    This will handle printing out an Element's content only, not including its tag, and attributes.
    java.lang.String
    outputString(java.util.List<?> list)
    Return a string representing a list of nodes.
    java.lang.String
    outputString(org.jdom.CDATA cdata)
    Return a string representing a CDATA node.
    java.lang.String
    outputString(org.jdom.Comment comment)
    Return a string representing a comment.
    java.lang.String
    outputString(org.jdom.DocType doctype)
    Return a string representing a DocType.
    java.lang.String
    outputString(org.jdom.Document doc)
    Return a string representing a document.
    java.lang.String
    outputString(org.jdom.Element element)
    Return a string representing an element.
    java.lang.String
    outputString(org.jdom.EntityRef entity)
    Return a string representing an entity.
    java.lang.String
    outputString(org.jdom.ProcessingInstruction pi)
    Return a string representing a PI.
    java.lang.String
    outputString(org.jdom.Text text)
    Return a string representing a Text node.
    private void
    printAdditionalNamespaces(java.io.Writer out, org.jdom.Element element, XMLOutputter.NamespaceStack namespaces)
     
    protected void
    printAttributes(java.io.Writer out, java.util.List<?> attributes, org.jdom.Element parent, XMLOutputter.NamespaceStack namespaces)
    This will handle printing of a Attribute list.
    protected void
    printCDATA(java.io.Writer out, org.jdom.CDATA cdata)
    This will handle printing of CDATA text.
    protected void
    printComment(java.io.Writer out, org.jdom.Comment comment)
    This will handle printing of comments.
    private void
    printContentRange(java.io.Writer out, java.util.List<?> content, int start, int end, int level, XMLOutputter.NamespaceStack namespaces)
    This will handle printing of content within a given range.
    protected void
    printDeclaration(java.io.Writer out, org.jdom.Document doc, java.lang.String encoding)
    This will handle printing of the declaration.
    protected void
    printDocType(java.io.Writer out, org.jdom.DocType docType)
    This handle printing the DOCTYPE declaration if one exists.
    protected void
    printElement(java.io.Writer out, org.jdom.Element element, int level, XMLOutputter.NamespaceStack namespaces)
    This will handle printing of a Element, its Attributes, and all contained (child) elements, etc.
    private void
    printElementNamespace(java.io.Writer out, org.jdom.Element element, XMLOutputter.NamespaceStack namespaces)
     
    protected void
    printEntityRef(java.io.Writer out, org.jdom.EntityRef entity)
    This will handle printing a EntityRef.
    private void
    printNamespace(java.io.Writer out, org.jdom.Namespace ns, XMLOutputter.NamespaceStack namespaces)
    This will handle printing of any needed Namespace declarations.
    protected void
    printProcessingInstruction(java.io.Writer out, org.jdom.ProcessingInstruction pi)
    This will handle printing of processing instructions.
    private void
    printQualifiedName(java.io.Writer out, org.jdom.Attribute a)
     
    private void
    printQualifiedName(java.io.Writer out, org.jdom.Element e)
     
    private void
    printString(java.io.Writer out, java.lang.String str)
    This will handle printing a string.
    protected void
    printText(java.io.Writer out, org.jdom.Text text)
    This will handle printing of Text strings.
    private void
    printTextRange(java.io.Writer out, java.util.List<?> content, int start, int end)
    This will handle printing of a sequence of CDATA or Text nodes.
    void
    setFormat(Format newFormat)
    Sets the new format logic for the outputter.
    private int
    skipLeadingWhite(java.util.List<?> content, int start)
     
    private int
    skipTrailingWhite(java.util.List<?> content, int start)
     
    private boolean
    startsWithWhite(java.lang.String str)
     
    java.lang.String
    Return a string listing of the settings for this XMLOutputter instance.

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • userFormat

      private Format userFormat
    • preserveFormat

      protected static final Format preserveFormat
    • currentFormat

      protected Format currentFormat
    • escapeOutput

      private boolean escapeOutput
      Whether output escaping is enabled for the being processed Element - default is true
  • Constructor Details

    • XMLOutputter

      public XMLOutputter()
      This will create an XMLOutputter with the default Format matching Format.getRawFormat().
    • XMLOutputter

      public XMLOutputter(Format format)
      This will create an XMLOutputter with the specified format characteristics. Note the format object is cloned internally before use.
    • XMLOutputter

      public XMLOutputter(XMLOutputter that)
      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
  • Method Details

    • setFormat

      public void setFormat(Format newFormat)
      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
    • getFormat

      public Format getFormat()
      Returns the current format in use by the outputter. Note the Format object returned is a clone of the one used internally.
    • output

      public void output(org.jdom.Document doc, java.io.OutputStream out) throws java.io.IOException
      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.
      Throws:
      java.io.IOException - - if there's any problem writing.
    • output

      public void output(org.jdom.DocType doctype, java.io.OutputStream out) throws java.io.IOException
      Print out the DocType.
      Parameters:
      doctype - DocType to output.
      out - OutputStream to use.
      Throws:
      java.io.IOException
    • output

      public void output(org.jdom.Element element, java.io.OutputStream out) throws java.io.IOException
      Print out an Element, including its Attributes, and all contained (child) elements, etc.
      Parameters:
      element - Element to output.
      out - Writer to use.
      Throws:
      java.io.IOException
    • outputElementContent

      public void outputElementContent(org.jdom.Element element, java.io.OutputStream out) throws java.io.IOException
      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.
      Throws:
      java.io.IOException
    • output

      public void output(java.util.List<?> list, java.io.OutputStream out) throws java.io.IOException
      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.
      Throws:
      java.io.IOException
    • output

      public void output(org.jdom.CDATA cdata, java.io.OutputStream out) throws java.io.IOException
      Print out a CDATA node.
      Parameters:
      cdata - CDATA to output.
      out - OutputStream to use.
      Throws:
      java.io.IOException
    • output

      public void output(org.jdom.Text text, java.io.OutputStream out) throws java.io.IOException
      Print out a Text node. Perfoms the necessary entity escaping and whitespace stripping.
      Parameters:
      text - Text to output.
      out - OutputStream to use.
      Throws:
      java.io.IOException
    • output

      public void output(org.jdom.Comment comment, java.io.OutputStream out) throws java.io.IOException
      Print out a Comment.
      Parameters:
      comment - Comment to output.
      out - OutputStream to use.
      Throws:
      java.io.IOException
    • output

      public void output(org.jdom.ProcessingInstruction pi, java.io.OutputStream out) throws java.io.IOException
      Print out a ProcessingInstruction.
      Parameters:
      pi - ProcessingInstruction to output.
      out - OutputStream to use.
      Throws:
      java.io.IOException
    • output

      public void output(org.jdom.EntityRef entity, java.io.OutputStream out) throws java.io.IOException
      Print out a EntityRef.
      Parameters:
      entity - EntityRef to output.
      out - OutputStream to use.
      Throws:
      java.io.IOException
    • makeWriter

      private java.io.Writer makeWriter(java.io.OutputStream out) throws java.io.UnsupportedEncodingException
      Get an OutputStreamWriter, using prefered encoding (see Format.setEncoding(java.lang.String)).
      Throws:
      java.io.UnsupportedEncodingException
    • makeWriter

      private static java.io.Writer makeWriter(java.io.OutputStream out, java.lang.String enc) throws java.io.UnsupportedEncodingException
      Get an OutputStreamWriter, use specified encoding.
      Throws:
      java.io.UnsupportedEncodingException
    • output

      public void output(org.jdom.Document doc, java.io.Writer out) throws java.io.IOException

      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.
      Throws:
      java.io.IOException - - if there's any problem writing.
    • output

      public void output(org.jdom.DocType doctype, java.io.Writer out) throws java.io.IOException
      Print out the DocType.
      Parameters:
      doctype - DocType to output.
      out - Writer to use.
      Throws:
      java.io.IOException
    • output

      public void output(org.jdom.Element element, java.io.Writer out) throws java.io.IOException
      Print out an Element, including its Attributes, and all contained (child) elements, etc.
      Parameters:
      element - Element to output.
      out - Writer to use.
      Throws:
      java.io.IOException
    • outputElementContent

      public void outputElementContent(org.jdom.Element element, java.io.Writer out) throws java.io.IOException
      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.
      Throws:
      java.io.IOException
    • output

      public void output(java.util.List<?> list, java.io.Writer out) throws java.io.IOException
      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.
      Throws:
      java.io.IOException
    • output

      public void output(org.jdom.CDATA cdata, java.io.Writer out) throws java.io.IOException
      Print out a CDATA node.
      Parameters:
      cdata - CDATA to output.
      out - Writer to use.
      Throws:
      java.io.IOException
    • output

      public void output(org.jdom.Text text, java.io.Writer out) throws java.io.IOException
      Print out a Text node. Perfoms the necessary entity escaping and whitespace stripping.
      Parameters:
      text - Text to output.
      out - Writer to use.
      Throws:
      java.io.IOException
    • output

      public void output(org.jdom.Comment comment, java.io.Writer out) throws java.io.IOException
      Print out a Comment.
      Parameters:
      comment - Comment to output.
      out - Writer to use.
      Throws:
      java.io.IOException
    • output

      public void output(org.jdom.ProcessingInstruction pi, java.io.Writer out) throws java.io.IOException
      Print out a ProcessingInstruction.
      Parameters:
      pi - ProcessingInstruction to output.
      out - Writer to use.
      Throws:
      java.io.IOException
    • output

      public void output(org.jdom.EntityRef entity, java.io.Writer out) throws java.io.IOException
      Print out a EntityRef.
      Parameters:
      entity - EntityRef to output.
      out - Writer to use.
      Throws:
      java.io.IOException
    • outputString

      public java.lang.String outputString(org.jdom.Document doc)
      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.
    • outputString

      public java.lang.String outputString(org.jdom.DocType doctype)
      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.
    • outputString

      public java.lang.String outputString(org.jdom.Element element)
      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.
    • outputString

      public java.lang.String outputString(java.util.List<?> list)
      Return a string representing a list of nodes. The list is assumed to contain legal JDOM nodes.
      Parameters:
      list - List to format.
    • outputString

      public java.lang.String outputString(org.jdom.CDATA cdata)
      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.
    • outputString

      public java.lang.String outputString(org.jdom.Text text)
      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.
    • outputString

      public java.lang.String outputString(org.jdom.Comment comment)
      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.
    • outputString

      public java.lang.String outputString(org.jdom.ProcessingInstruction pi)
      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.
    • outputString

      public java.lang.String outputString(org.jdom.EntityRef entity)
      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.
    • printDeclaration

      protected void printDeclaration(java.io.Writer out, org.jdom.Document doc, java.lang.String encoding) throws java.io.IOException
      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
      Throws:
      java.io.IOException
    • printDocType

      protected void printDocType(java.io.Writer out, org.jdom.DocType docType) throws java.io.IOException
      This handle printing the DOCTYPE declaration if one exists.
      Parameters:
      docType - Document whose declaration to write.
      out - Writer to use.
      Throws:
      java.io.IOException
    • printComment

      protected void printComment(java.io.Writer out, org.jdom.Comment comment) throws java.io.IOException
      This will handle printing of comments.
      Parameters:
      comment - Comment to write.
      out - Writer to use.
      Throws:
      java.io.IOException
    • printProcessingInstruction

      protected void printProcessingInstruction(java.io.Writer out, org.jdom.ProcessingInstruction pi) throws java.io.IOException
      This will handle printing of processing instructions.
      Parameters:
      pi - ProcessingInstruction to write.
      out - Writer to use.
      Throws:
      java.io.IOException
    • printEntityRef

      protected void printEntityRef(java.io.Writer out, org.jdom.EntityRef entity) throws java.io.IOException
      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.
      Throws:
      java.io.IOException
    • printCDATA

      protected void printCDATA(java.io.Writer out, org.jdom.CDATA cdata) throws java.io.IOException
      This will handle printing of CDATA text.
      Parameters:
      cdata - CDATA to output.
      out - Writer to use.
      Throws:
      java.io.IOException
    • printText

      protected void printText(java.io.Writer out, org.jdom.Text text) throws java.io.IOException
      This will handle printing of Text strings.
      Parameters:
      text - Text to write.
      out - Writer to use.
      Throws:
      java.io.IOException
    • printString

      private void printString(java.io.Writer out, java.lang.String str) throws java.io.IOException
      This will handle printing a string. Escapes the element entities, trims interior whitespace, etc. if necessary.
      Throws:
      java.io.IOException
    • printElement

      protected void printElement(java.io.Writer out, org.jdom.Element element, int level, XMLOutputter.NamespaceStack namespaces) throws java.io.IOException
      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.
      Throws:
      java.io.IOException
    • printContentRange

      private void printContentRange(java.io.Writer out, java.util.List<?> content, int start, int end, int level, XMLOutputter.NamespaceStack namespaces) throws java.io.IOException
      This will handle printing of content within a given range. The range to print is specified in typical Java fashion; the starting index is inclusive, while the ending index is exclusive.
      Parameters:
      content - List of content to output
      start - index of first content node (inclusive.
      end - index of last content node (exclusive).
      out - Writer to use.
      level - int level of indentation.
      namespaces - List stack of Namespaces in scope.
      Throws:
      java.io.IOException
    • printTextRange

      private void printTextRange(java.io.Writer out, java.util.List<?> content, int start, int end) throws java.io.IOException
      This will handle printing of a sequence of CDATA or Text nodes. It is an error to have any other pass this method any other type of node.
      Parameters:
      content - List of content to output
      start - index of first content node (inclusive).
      end - index of last content node (exclusive).
      out - Writer to use.
      Throws:
      java.io.IOException
    • printNamespace

      private void printNamespace(java.io.Writer out, org.jdom.Namespace ns, XMLOutputter.NamespaceStack namespaces) throws java.io.IOException
      This will handle printing of any needed Namespace declarations.
      Parameters:
      ns - Namespace to print definition of
      out - Writer to use.
      Throws:
      java.io.IOException
    • printAttributes

      protected void printAttributes(java.io.Writer out, java.util.List<?> attributes, org.jdom.Element parent, XMLOutputter.NamespaceStack namespaces) throws java.io.IOException
      This will handle printing of a Attribute list.
      Parameters:
      attributes - List of Attribute objcts
      out - Writer to use
      Throws:
      java.io.IOException
    • printElementNamespace

      private void printElementNamespace(java.io.Writer out, org.jdom.Element element, XMLOutputter.NamespaceStack namespaces) throws java.io.IOException
      Throws:
      java.io.IOException
    • printAdditionalNamespaces

      private void printAdditionalNamespaces(java.io.Writer out, org.jdom.Element element, XMLOutputter.NamespaceStack namespaces) throws java.io.IOException
      Throws:
      java.io.IOException
    • newline

      private void newline(java.io.Writer out) throws java.io.IOException
      This will print a new line only if the newlines flag was set to true.
      Parameters:
      out - Writer to use
      Throws:
      java.io.IOException
    • indent

      private void indent(java.io.Writer out, int level) throws java.io.IOException
      This will print indents (only if the newlines flag was set to true, and indent is non-null).
      Parameters:
      out - Writer to use
      level - current indent level (number of tabs)
      Throws:
      java.io.IOException
    • skipLeadingWhite

      private int skipLeadingWhite(java.util.List<?> content, int start)
    • skipTrailingWhite

      private int skipTrailingWhite(java.util.List<?> content, int start)
    • nextNonText

      private static int nextNonText(java.util.List<?> content, int start)
    • isAllWhitespace

      private boolean isAllWhitespace(java.lang.Object obj)
    • startsWithWhite

      private boolean startsWithWhite(java.lang.String str)
    • endsWithWhite

      private boolean endsWithWhite(java.lang.String str)
    • isWhitespace

      private static boolean isWhitespace(char c)
    • escapeAttributeEntities

      public java.lang.String escapeAttributeEntities(java.lang.String str)
      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.
    • escapeElementEntities

      public java.lang.String escapeElementEntities(java.lang.String str)
      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.
    • clone

      public java.lang.Object clone()
      Returns a copy of this XMLOutputter.
      Overrides:
      clone in class java.lang.Object
    • toString

      public java.lang.String toString()
      Return a string listing of the settings for this XMLOutputter instance.
      Overrides:
      toString in class java.lang.Object
      Returns:
      a string listing the settings for this XMLOutputter instance
    • createNamespaceStack

      private XMLOutputter.NamespaceStack createNamespaceStack()
      Factory for making new NamespaceStack objects. The NamespaceStack created is actually an inner class extending the package protected NamespaceStack, as a way to make NamespaceStack "friendly" toward subclassers.
    • printQualifiedName

      private void printQualifiedName(java.io.Writer out, org.jdom.Element e) throws java.io.IOException
      Throws:
      java.io.IOException
    • printQualifiedName

      private void printQualifiedName(java.io.Writer out, org.jdom.Attribute a) throws java.io.IOException
      Throws:
      java.io.IOException