xml.indent
Class IndentingTransformer

java.lang.Object
  extended by xml.indent.IndentingTransformer
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
Direct Known Subclasses:
IndentingTransformerImpl

public abstract class IndentingTransformer
extends java.lang.Object
implements javax.xml.transform.sax.TransformerHandler, org.xml.sax.ext.DeclHandler

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
IndentingTransformer()
           
 
Method Summary
 void characters(char[] ch, int start, int length)
           
 void comment(char[] ch, int start, int length)
           
 void endElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName)
           
protected abstract  void indent(int levelAdjustment)
           
protected  java.lang.String indentXml(java.lang.String xmlString, java.io.Writer outputWriter)
           
 void processingInstruction(java.lang.String target, java.lang.String data)
           
 void startElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.xml.transform.sax.TransformerHandler
getSystemId, getTransformer, setResult, setSystemId
 
Methods inherited from interface org.xml.sax.ContentHandler
endDocument, endPrefixMapping, ignorableWhitespace, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping
 
Methods inherited from interface org.xml.sax.ext.LexicalHandler
endCDATA, endDTD, endEntity, startCDATA, startDTD, startEntity
 
Methods inherited from interface org.xml.sax.DTDHandler
notationDecl, unparsedEntityDecl
 
Methods inherited from interface org.xml.sax.ext.DeclHandler
attributeDecl, elementDecl, externalEntityDecl, internalEntityDecl
 

Constructor Detail

IndentingTransformer

public IndentingTransformer()
Method Detail

characters

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

comment

public void comment(char[] ch,
                    int start,
                    int length)
             throws org.xml.sax.SAXException
Specified by:
comment in interface org.xml.sax.ext.LexicalHandler
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
Throws:
org.xml.sax.SAXException

endElement

public void endElement(java.lang.String namespaceURI,
                       java.lang.String localName,
                       java.lang.String qName)
                throws org.xml.sax.SAXException
Specified by:
endElement in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

startElement

public void startElement(java.lang.String namespaceURI,
                         java.lang.String localName,
                         java.lang.String qName,
                         org.xml.sax.Attributes atts)
                  throws org.xml.sax.SAXException
Specified by:
startElement in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

indent

protected abstract void indent(int levelAdjustment)
                        throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

indentXml

protected java.lang.String indentXml(java.lang.String xmlString,
                                     java.io.Writer outputWriter)
                              throws java.io.IOException,
                                     org.xml.sax.SAXException
Throws:
java.io.IOException
org.xml.sax.SAXException