fi.iki.hsivonen.xml
Class ElementDropper

java.lang.Object
  extended by gnu.xml.pipeline.EventFilter
      extended by fi.iki.hsivonen.xml.ElementDropper
All Implemented Interfaces:
gnu.xml.pipeline.EventConsumer, ContentHandler, DTDHandler, DeclHandler, LexicalHandler

public class ElementDropper
extends gnu.xml.pipeline.EventFilter

SAX-filtteri, jolla voi jättää pois halutut elementit (elementNames-taulukossa) tai sisällyttää vain halutut elementit. Toiminta määräytyy boolean drop -parametrin perusteella. MUISTA ETTÄ ARRAYN TÄYTYY OLLA JÄRJESTETTY!

Author:
ykk@kallio.tky.hut.fi

Field Summary
private  boolean checkNS
          Tarkistetaanko onko namespace xhtml-namespace.
private  boolean drop
          Jos drop on true, jätetään elementNames-taulukon elementit pois.
private  String[] elementNames
          Sisällytettävät tai poisjätettävät elementtinimet, esim "body" ja "title".
 
Fields inherited from class gnu.xml.pipeline.EventFilter
DECL_HANDLER, FEATURE_URI, LEXICAL_HANDLER, PROPERTY_URI
 
Constructor Summary
ElementDropper(gnu.xml.pipeline.EventConsumer next, String[] elementNames, boolean drop)
          Luo uuden ElementDropperin.
ElementDropper(gnu.xml.pipeline.EventConsumer next, String[] elementNames, boolean drop, boolean checkNS)
          Luo uuden ElementDropperin.
 
Method Summary
 void endElement(String uri, String local, String qname)
           
 void startElement(String uri, String local, String qname, Attributes attributes)
           
 
Methods inherited from class gnu.xml.pipeline.EventFilter
attributeDecl, bind, chainTo, characters, comment, elementDecl, endCDATA, endDocument, endDTD, endEntity, endPrefixMapping, externalEntityDecl, getContentHandler, getDocumentLocator, getDTDHandler, getErrorHandler, getNext, getProperty, ignorableWhitespace, internalEntityDecl, notationDecl, processingInstruction, setContentHandler, setDocumentLocator, setDTDHandler, setErrorHandler, setProperty, skippedEntity, startCDATA, startDocument, startDTD, startEntity, startPrefixMapping, unparsedEntityDecl
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

drop

private boolean drop
Jos drop on true, jätetään elementNames-taulukon elementit pois. Jos drop on false, sisällytetään vain elementNames-taulukon elementit ja kaikki muut jätetään pois.


checkNS

private boolean checkNS
Tarkistetaanko onko namespace xhtml-namespace.


elementNames

private String[] elementNames
Sisällytettävät tai poisjätettävät elementtinimet, esim "body" ja "title".

Constructor Detail

ElementDropper

public ElementDropper(gnu.xml.pipeline.EventConsumer next,
                      String[] elementNames,
                      boolean drop)
Luo uuden ElementDropperin. Jos haluat pudottaa body-elementin, niin luo uusi filtteri näin:
 new ElementDropper(nextFilter,
 new String[] { "body" }, true); 

Parameters:
next - seuraava filtteri
elementNames - sisällytettävät tai poisjätettävät elementtinimet, esim "body" ja "title".
drop - määrää, pudotetaanko (true) elementNamesin elementit vai sisällytetäänkö ne (false)

ElementDropper

public ElementDropper(gnu.xml.pipeline.EventConsumer next,
                      String[] elementNames,
                      boolean drop,
                      boolean checkNS)
Luo uuden ElementDropperin. Jos haluat pudottaa body-elementin, niin luo uusi filtteri näin:
 new ElementDropper(nextFilter,
 new String[] { "body" }, true); 

Parameters:
next - seuraava filtteri
elementNames - sisällytettävät tai poisjätettävät elementtinimet, esim "body" ja "title".
drop - määrää, pudotetaanko (true) elementNamesin elementit vai sisällytetäänkö ne (false)
checkNS - tarkistetaanko pudotettavien elementtien NS
Method Detail

endElement

public void endElement(String uri,
                       String local,
                       String qname)
                throws SAXException
Specified by:
endElement in interface ContentHandler
Overrides:
endElement in class gnu.xml.pipeline.EventFilter
Throws:
SAXException

startElement

public void startElement(String uri,
                         String local,
                         String qname,
                         Attributes attributes)
                  throws SAXException
Specified by:
startElement in interface ContentHandler
Overrides:
startElement in class gnu.xml.pipeline.EventFilter
Throws:
SAXException