org.wikimodel.wem.xhtml.filter
Class AccumulationXMLFilter

java.lang.Object
  extended by org.xml.sax.helpers.XMLFilterImpl
      extended by org.wikimodel.wem.xhtml.filter.DefaultXMLFilter
          extended by org.wikimodel.wem.xhtml.filter.AccumulationXMLFilter
All Implemented Interfaces:
org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler, org.xml.sax.ext.LexicalHandler, org.xml.sax.XMLFilter, org.xml.sax.XMLReader

public class AccumulationXMLFilter
extends DefaultXMLFilter

SAX parsers are allowed to call the characters() method several times in a row. Some parsers have a buffer of 8K (Crimson), others of 16K (Xerces) and others can even call onCharacters() for every single characters! Thus we need to accumulate the characters in a buffer before we process them. This filter does exactly this.

Author:
vmassol

Field Summary
 
Fields inherited from class org.wikimodel.wem.xhtml.filter.DefaultXMLFilter
SAX_LEXICAL_HANDLER_PROPERTY
 
Constructor Summary
AccumulationXMLFilter()
           
AccumulationXMLFilter(org.xml.sax.XMLReader reader)
           
 
Method Summary
 void characters(char[] array, int start, int length)
           
 void comment(char[] array, int start, int length)
           
 void endCDATA()
           
 void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)
           
 void startCDATA()
           
 void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attributes)
           
 
Methods inherited from class org.wikimodel.wem.xhtml.filter.DefaultXMLFilter
endDTD, endEntity, getProperty, parse, setProperty, startDTD, startEntity
 
Methods inherited from class org.xml.sax.helpers.XMLFilterImpl
endDocument, endPrefixMapping, error, fatalError, getContentHandler, getDTDHandler, getEntityResolver, getErrorHandler, getFeature, getParent, ignorableWhitespace, notationDecl, parse, processingInstruction, resolveEntity, setContentHandler, setDocumentLocator, setDTDHandler, setEntityResolver, setErrorHandler, setFeature, setParent, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AccumulationXMLFilter

public AccumulationXMLFilter()

AccumulationXMLFilter

public AccumulationXMLFilter(org.xml.sax.XMLReader reader)
Method Detail

characters

public void characters(char[] array,
                       int start,
                       int length)
                throws org.xml.sax.SAXException
Specified by:
characters in interface org.xml.sax.ContentHandler
Overrides:
characters in class org.xml.sax.helpers.XMLFilterImpl
Throws:
org.xml.sax.SAXException
See Also:
DefaultHandler.characters(char[], int, int)

startElement

public void startElement(java.lang.String uri,
                         java.lang.String localName,
                         java.lang.String qName,
                         org.xml.sax.Attributes attributes)
                  throws org.xml.sax.SAXException
Specified by:
startElement in interface org.xml.sax.ContentHandler
Overrides:
startElement in class org.xml.sax.helpers.XMLFilterImpl
Throws:
org.xml.sax.SAXException
See Also:
DefaultHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)

endElement

public void endElement(java.lang.String uri,
                       java.lang.String localName,
                       java.lang.String qName)
                throws org.xml.sax.SAXException
Specified by:
endElement in interface org.xml.sax.ContentHandler
Overrides:
endElement in class org.xml.sax.helpers.XMLFilterImpl
Throws:
org.xml.sax.SAXException
See Also:
DefaultHandler.endElement(java.lang.String, java.lang.String, java.lang.String)

comment

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

startCDATA

public void startCDATA()
                throws org.xml.sax.SAXException
Specified by:
startCDATA in interface org.xml.sax.ext.LexicalHandler
Overrides:
startCDATA in class DefaultXMLFilter
Throws:
org.xml.sax.SAXException

endCDATA

public void endCDATA()
              throws org.xml.sax.SAXException
Specified by:
endCDATA in interface org.xml.sax.ext.LexicalHandler
Overrides:
endCDATA in class DefaultXMLFilter
Throws:
org.xml.sax.SAXException


Copyright © 2005-2009. All Rights Reserved.