com.ingenta.clownbike.text
Class HtmlFormatter

java.lang.Object
  extended byorg.xml.sax.helpers.DefaultHandler
      extended bycom.ingenta.clownbike.text.HtmlFormatter
All Implemented Interfaces:
org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler

public class HtmlFormatter
extends org.xml.sax.helpers.DefaultHandler

Rewites HTML so that is uses a client stylesheet for formatting the content. A few class attributes that are recognized to help supliment the client class styles: These are "push", "pop", and "sub". Few tag attributes are copied during rewriting. IMG's src and align, and A's href, name, target are copied. Minimization is done only for IMG, HR, and BR tags. NOTE the design of this class is not general purpose. If you need to add substantially to it then it should be rewritten.


Constructor Summary
HtmlFormatter()
           
 
Method Summary
 void characters(char[] content, int start, int length)
           
 void endElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName)
           
 void error(org.xml.sax.SAXParseException e)
           
 void fatalError(org.xml.sax.SAXParseException e)
           
 void format(java.io.Reader reader, java.io.Writer writer, java.lang.String cssClass, java.lang.String urlContext)
           
 java.lang.String format(java.lang.String input, java.lang.String cssClass, java.lang.String urlContext)
           
 void format(java.lang.String input, java.io.Writer output, java.lang.String cssClass, java.lang.String urlContext)
           
 boolean getPropogateExceptions()
           
static void main(java.lang.String[] args)
           
protected static java.lang.String rewriteURL(java.lang.String context, java.lang.String url)
           
 void setPropogateExceptions(boolean propogateExceptions)
           
 void startElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attributes)
           
 void warning(org.xml.sax.SAXParseException e)
           
protected  void writeClassAttribute(java.lang.String suplimentalCssClass)
           
protected  void writeError(java.lang.String kind, java.lang.String message, int line, int column)
           
protected  void writeEscaped(char[] content, int start, int length)
           
protected  void writeEscaped(java.lang.String string)
           
protected  void writeOptionalAttribute(java.lang.String name, java.lang.String value)
           
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endDocument, endPrefixMapping, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HtmlFormatter

public HtmlFormatter()
Method Detail

getPropogateExceptions

public boolean getPropogateExceptions()

setPropogateExceptions

public void setPropogateExceptions(boolean propogateExceptions)

format

public java.lang.String format(java.lang.String input,
                               java.lang.String cssClass,
                               java.lang.String urlContext)
                        throws org.xml.sax.SAXException,
                               java.io.IOException
Throws:
org.xml.sax.SAXException
java.io.IOException

format

public void format(java.lang.String input,
                   java.io.Writer output,
                   java.lang.String cssClass,
                   java.lang.String urlContext)
            throws org.xml.sax.SAXException,
                   java.io.IOException
Throws:
org.xml.sax.SAXException
java.io.IOException

format

public void format(java.io.Reader reader,
                   java.io.Writer writer,
                   java.lang.String cssClass,
                   java.lang.String urlContext)
            throws org.xml.sax.SAXException,
                   java.io.IOException
Throws:
org.xml.sax.SAXException
java.io.IOException

startElement

public void startElement(java.lang.String namespaceURI,
                         java.lang.String localName,
                         java.lang.String qName,
                         org.xml.sax.Attributes attributes)
                  throws org.xml.sax.SAXException
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
Throws:
org.xml.sax.SAXException

characters

public void characters(char[] content,
                       int start,
                       int length)
                throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

warning

public void warning(org.xml.sax.SAXParseException e)
             throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

error

public void error(org.xml.sax.SAXParseException e)
           throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

fatalError

public void fatalError(org.xml.sax.SAXParseException e)
                throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

writeError

protected void writeError(java.lang.String kind,
                          java.lang.String message,
                          int line,
                          int column)
                   throws java.io.IOException
Throws:
java.io.IOException

writeClassAttribute

protected void writeClassAttribute(java.lang.String suplimentalCssClass)
                            throws java.io.IOException
Throws:
java.io.IOException

writeOptionalAttribute

protected void writeOptionalAttribute(java.lang.String name,
                                      java.lang.String value)
                               throws java.io.IOException
Throws:
java.io.IOException

writeEscaped

protected void writeEscaped(java.lang.String string)
                     throws java.io.IOException
Throws:
java.io.IOException

writeEscaped

protected void writeEscaped(char[] content,
                            int start,
                            int length)
                     throws java.io.IOException
Throws:
java.io.IOException

rewriteURL

protected static java.lang.String rewriteURL(java.lang.String context,
                                             java.lang.String url)
                                      throws java.io.IOException
Throws:
java.io.IOException

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Throws:
java.lang.Exception