xml.indent
Class IndentingTransformerImpl

java.lang.Object
  extended by xml.indent.IndentingTransformer
      extended by xml.indent.IndentingTransformerImpl
All Implemented Interfaces:
javax.xml.transform.sax.TransformerHandler, org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.ext.DeclHandler, org.xml.sax.ext.LexicalHandler

public class IndentingTransformerImpl
extends IndentingTransformer

Indents elements, by adding whitespace where appropriate. Does not remove blank lines between nodes. Does not remove new lines within text nodes. Puts element tags immediately following mixed content text on the same line as the text.

Author:
Robert McKinnon - robmckinnon@users.sourceforge.net

Constructor Summary
IndentingTransformerImpl()
           
 
Method Summary
 void attributeDecl(java.lang.String s, java.lang.String s1, java.lang.String s2, java.lang.String s3, java.lang.String s4)
           
 void characters(char[] chars, int start, int length)
           
 void comment(char[] chars, int start, int len)
           
 void elementDecl(java.lang.String s, java.lang.String s1)
           
 void endCDATA()
           
 void endDocument()
           
 void endDTD()
           
 void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qualifiedName)
           
 void endEntity(java.lang.String s)
           
 void endPrefixMapping(java.lang.String prefix)
           
 void externalEntityDecl(java.lang.String s, java.lang.String s1, java.lang.String s2)
           
 void flush()
          Flush the buffer containing accumulated character data.
 java.lang.String getSystemId()
           
 javax.xml.transform.Transformer getTransformer()
           
 void ignorableWhitespace(char[] chars, int i, int i1)
           
protected  void indent(int levelAdjustment)
          Output white space to reflect the current indentation level
 java.lang.String indentXml(java.lang.String xmlString, java.io.Writer outputWriter, int indentAmount, boolean indentWithTabs, java.util.List preserveWhitespaceList)
           
 void internalEntityDecl(java.lang.String s, java.lang.String s1)
           
 void notationDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
           
 void processingInstruction(java.lang.String target, java.lang.String data)
           
 void setDocumentLocator(org.xml.sax.Locator locator)
           
 void setResult(javax.xml.transform.Result result)
           
 void setSystemId(java.lang.String systemID)
           
 void skippedEntity(java.lang.String name)
           
 void startCDATA()
           
 void startDocument()
           
 void startDTD(java.lang.String s, java.lang.String s1, java.lang.String s2)
           
 void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qualifiedName, org.xml.sax.Attributes attributes)
           
 void startEntity(java.lang.String s)
           
 void startPrefixMapping(java.lang.String prefix, java.lang.String uri)
           
 void unparsedEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId, java.lang.String notationName)
           
 
Methods inherited from class xml.indent.IndentingTransformer
indentXml
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IndentingTransformerImpl

public IndentingTransformerImpl()
Method Detail

indentXml

public java.lang.String indentXml(java.lang.String xmlString,
                                  java.io.Writer outputWriter,
                                  int indentAmount,
                                  boolean indentWithTabs,
                                  java.util.List preserveWhitespaceList)
                           throws java.io.IOException,
                                  org.xml.sax.SAXException
Throws:
java.io.IOException
org.xml.sax.SAXException

getTransformer

public javax.xml.transform.Transformer getTransformer()

startElement

public void startElement(java.lang.String uri,
                         java.lang.String localName,
                         java.lang.String qualifiedName,
                         org.xml.sax.Attributes attributes)
                  throws org.xml.sax.SAXException
Specified by:
startElement in interface org.xml.sax.ContentHandler
Overrides:
startElement in class IndentingTransformer
Throws:
org.xml.sax.SAXException

endElement

public void endElement(java.lang.String uri,
                       java.lang.String localName,
                       java.lang.String qualifiedName)
                throws org.xml.sax.SAXException
Specified by:
endElement in interface org.xml.sax.ContentHandler
Overrides:
endElement in class IndentingTransformer
Throws:
org.xml.sax.SAXException

processingInstruction

public void processingInstruction(java.lang.String target,
                                  java.lang.String data)
                           throws org.xml.sax.SAXException
Specified by:
processingInstruction in interface org.xml.sax.ContentHandler
Overrides:
processingInstruction in class IndentingTransformer
Throws:
org.xml.sax.SAXException

characters

public void characters(char[] chars,
                       int start,
                       int length)
                throws org.xml.sax.SAXException
Specified by:
characters in interface org.xml.sax.ContentHandler
Overrides:
characters in class IndentingTransformer
Throws:
org.xml.sax.SAXException

comment

public void comment(char[] chars,
                    int start,
                    int len)
             throws org.xml.sax.SAXException
Specified by:
comment in interface org.xml.sax.ext.LexicalHandler
Overrides:
comment in class IndentingTransformer
Throws:
org.xml.sax.SAXException

indent

protected void indent(int levelAdjustment)
               throws org.xml.sax.SAXException
Output white space to reflect the current indentation level

Specified by:
indent in class IndentingTransformer
Throws:
org.xml.sax.SAXException

flush

public void flush()
           throws org.xml.sax.SAXException
Flush the buffer containing accumulated character data. White space adjacent to markup is trimmed.

Throws:
org.xml.sax.SAXException

setDocumentLocator

public void setDocumentLocator(org.xml.sax.Locator locator)

startCDATA

public void startCDATA()
                throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

notationDecl

public void notationDecl(java.lang.String name,
                         java.lang.String publicId,
                         java.lang.String systemId)
                  throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

setSystemId

public void setSystemId(java.lang.String systemID)

startDocument

public void startDocument()
                   throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

endCDATA

public void endCDATA()
              throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

unparsedEntityDecl

public void unparsedEntityDecl(java.lang.String name,
                               java.lang.String publicId,
                               java.lang.String systemId,
                               java.lang.String notationName)
                        throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

getSystemId

public java.lang.String getSystemId()

endDocument

public void endDocument()
                 throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

startPrefixMapping

public void startPrefixMapping(java.lang.String prefix,
                               java.lang.String uri)
                        throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

endPrefixMapping

public void endPrefixMapping(java.lang.String prefix)
                      throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

skippedEntity

public void skippedEntity(java.lang.String name)
                   throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

setResult

public void setResult(javax.xml.transform.Result result)
               throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

ignorableWhitespace

public void ignorableWhitespace(char[] chars,
                                int i,
                                int i1)
                         throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

endDTD

public void endDTD()
            throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

attributeDecl

public void attributeDecl(java.lang.String s,
                          java.lang.String s1,
                          java.lang.String s2,
                          java.lang.String s3,
                          java.lang.String s4)
                   throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

endEntity

public void endEntity(java.lang.String s)
               throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

elementDecl

public void elementDecl(java.lang.String s,
                        java.lang.String s1)
                 throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

startDTD

public void startDTD(java.lang.String s,
                     java.lang.String s1,
                     java.lang.String s2)
              throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

externalEntityDecl

public void externalEntityDecl(java.lang.String s,
                               java.lang.String s1,
                               java.lang.String s2)
                        throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

startEntity

public void startEntity(java.lang.String s)
                 throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

internalEntityDecl

public void internalEntityDecl(java.lang.String s,
                               java.lang.String s1)
                        throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException