com.jclark.xsl.sax

Class NXMLOutputHandler

Implemented Interfaces:
DocumentHandler, OutputDocumentHandler

public class NXMLOutputHandler
extends java.lang.Object
implements OutputDocumentHandler

an output handler that handles our special technique for non XML characters

Nested Class Summary

(package private) class
NXMLOutputHandler.CharacterHandler
(package private) class
NXMLOutputHandler.ControlCharacterHandler
(package private) class
NXMLOutputHandler.DataCharacterHandler
(package private) class
NXMLOutputHandler.EscapeCharacterHandler
(package private) class
NXMLOutputHandler.LineControlCharacterHandler

Constructor Summary

NXMLOutputHandler()

Method Summary

void
characters(char[] ch, int off, int len)
SAX characters event -- send the characters to our current handler
void
endDocument()
flush the output
void
endElement(String name)
void
ignorableWhitespace(char[] ch, int off, int len)
DocumentHandler
init(Destination dest, AttributeList atts)
void
pop()
pops a character handler off the stack, reverting to previous (does this need to be public?)
void
processingInstruction(String target, String data)
SAX Processing Instruction event handler -- strips PI's from output
void
push(NXMLOutputHandler.CharacterHandler handler)
void
setDocumentLocator(org.xml.sax.Locator loc)
void
startDocument()
SAX startDocument parse event
void
startElement(String name, AttributeList atts)
captures "control", "data", "char" and "escape" character indicators and interposes the appropriate character handler

Constructor Details

NXMLOutputHandler

public NXMLOutputHandler()

Method Details

characters

public void characters(char[] ch,
                       int off,
                       int len)
            throws SAXException
SAX characters event -- send the characters to our current handler

endDocument

public void endDocument()
            throws SAXException
flush the output

endElement

public void endElement(String name)
            throws SAXException

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int off,
                                int len)
            throws SAXException

init

public DocumentHandler init(Destination dest,
                            AttributeList atts)
            throws IOException
Specified by:
init in interface OutputDocumentHandler
Returns:
an initialized instance of this, ready to write to the destination

pop

public void pop()
pops a character handler off the stack, reverting to previous (does this need to be public?)

processingInstruction

public void processingInstruction(String target,
                                  String data)
SAX Processing Instruction event handler -- strips PI's from output

push

public void push(NXMLOutputHandler.CharacterHandler handler)

setDocumentLocator

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

startDocument

public void startDocument()
SAX startDocument parse event

startElement

public void startElement(String name,
                         AttributeList atts)
            throws SAXException
captures "control", "data", "char" and "escape" character indicators and interposes the appropriate character handler