⇒ Index (Frames) |  ⇒ Index (No Frames) |  ⇒ Package |  ⇒ Package Tree |  ⇒ Full Tree 
gnu.xml.pipeline

Class DomConsumer.Handler

java.lang.Object
|
+--gnu.xml.pipeline.DomConsumer.Handler
Enclosing Class:

All Implemented Interfaces:
ContentHandler, DTDHandler, DeclHandler, LexicalHandler

Known Direct Subclasses:
Consumer.Backdoor


public static class DomConsumer.Handler
extends java.lang.Object
implements ContentHandler, LexicalHandler, DTDHandler, DeclHandler

Class used to intercept various parsing events and use them to populate a DOM document. Subclasses would typically know and use backdoors into specific DOM implementations, used to implement DTD-related functionality.

Note that if this ever throws a DOMException (runtime exception) that will indicate a bug in the DOM (e.g. doesn't support something per specification) or the parser (e.g. emitted an illegal name, or accepted illegal input data).

Field Summary

DomConsumer

consumer

Class used to intercept various parsing events and use them to populate a DOM document.

Constructor Summary

Handler(DomConsumer consumer)

Subclasses may use SAX2 events to provide additional behaviors in the resulting DOM.

Method Summary

void

attributeDecl(java.lang.String eName, java.lang.String aName, java.lang.String type, java.lang.String mode, java.lang.String value)

boolean

canPopulateEntityRefs()

May be overridden by subclasses to return true, indicating that entity reference nodes can be populated and then made read-only.

void

characters(char ch[] , int start, int length)

void

comment(char ch[] , int start, int length)

Text

createText(boolean isCDATA, char ch[] , int start, int length)

Subclasses may overrride this method to provide a more efficient way to construct text nodes.

void

elementDecl(java.lang.String name, java.lang.String model)

void

endCDATA()

void

endDocument()

void

endDTD()

void

endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)

void

endEntity(java.lang.String name)

void

endPrefixMapping(java.lang.String prefix)

void

externalEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String SystemId)

Document

getDocument()

Returns the document under construction.

Node

getTop()

Returns the current node being populated.

void

ignorableWhitespace(char ch[] , int start, int length)

void

internalEntityDecl(java.lang.String name, java.lang.String value)

void

notationDecl(java.lang.String name, java.lang.String publicId, java.lang.String SystemId)

void

processingInstruction(java.lang.String target, java.lang.String data)

void

setDocumentLocator(Locator locator)

void

skippedEntity(java.lang.String name)

void

startCDATA()

void

startDocument()

void

startDTD(java.lang.String name, java.lang.String publicId, java.lang.String SystemId)

void

startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, Attributes atts)

void

startEntity(java.lang.String name)

void

startPrefixMapping(java.lang.String prefix, java.lang.String uri)

void

unparsedEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String SystemId, java.lang.String notationName)

Field Details

consumer

protected DomConsumer consumer

Class used to intercept various parsing events and use them to populate a DOM document. Subclasses would typically know and use backdoors into specific DOM implementations, used to implement DTD-related functionality.

Note that if this ever throws a DOMException (runtime exception) that will indicate a bug in the DOM (e.g. doesn't support something per specification) or the parser (e.g. emitted an illegal name, or accepted illegal input data).

Constructor Details

Handler

protected Handler(DomConsumer consumer)

Subclasses may use SAX2 events to provide additional behaviors in the resulting DOM.

Parameters:
consumer

Method Details

attributeDecl

public void attributeDecl(java.lang.String eName, java.lang.String aName, java.lang.String type, java.lang.String mode, java.lang.String value)

Parameters:
eName
aName
type
mode
value

canPopulateEntityRefs

public boolean canPopulateEntityRefs()

May be overridden by subclasses to return true, indicating that entity reference nodes can be populated and then made read-only.


characters

public void characters(char ch[] , int start, int length)

Parameters:
start
length

comment

public void comment(char ch[] , int start, int length)

Parameters:
start
length

createText

protected Text createText(boolean isCDATA, char ch[] , int start, int length)

Subclasses may overrride this method to provide a more efficient way to construct text nodes. Typically, copying the text into a single character array will be more efficient than doing that as well as allocating other needed for a String, including an internal StringBuffer. Those additional memory and CPU costs can be incurred later, if ever needed. Unfortunately the standard DOM factory APIs encourage those costs to be incurred early.

Parameters:
isCDATA
start
length

elementDecl

public void elementDecl(java.lang.String name, java.lang.String model)

Parameters:
name
model

endCDATA

public void endCDATA()


endDocument

public void endDocument()


endDTD

public void endDTD()


endElement

public void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)

Parameters:
uri
localName
qName

endEntity

public void endEntity(java.lang.String name)

Parameters:
name

endPrefixMapping

public void endPrefixMapping(java.lang.String prefix)

Parameters:
prefix

externalEntityDecl

public void externalEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String SystemId)

Parameters:
name
publicId
SystemId

getDocument

protected Document getDocument()

Returns the document under construction.


getTop

protected Node getTop()

Returns the current node being populated. This is usually an Element or Document, but it might be an EntityReference node if some implementation-specific code knows how to put those into the result tree and later mark them as readonly.


ignorableWhitespace

public void ignorableWhitespace(char ch[] , int start, int length)

Parameters:
start
length

internalEntityDecl

public void internalEntityDecl(java.lang.String name, java.lang.String value)

Parameters:
name
value

notationDecl

public void notationDecl(java.lang.String name, java.lang.String publicId, java.lang.String SystemId)

Parameters:
name
publicId
SystemId

processingInstruction

public void processingInstruction(java.lang.String target, java.lang.String data)

Parameters:
target
data

setDocumentLocator

public void setDocumentLocator(Locator locator)

Parameters:
locator

skippedEntity

public void skippedEntity(java.lang.String name)

Parameters:
name

startCDATA

public void startCDATA()


startDocument

public void startDocument()


startDTD

public void startDTD(java.lang.String name, java.lang.String publicId, java.lang.String SystemId)

Parameters:
name
publicId
SystemId

startElement

public void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, Attributes atts)

Parameters:
uri
localName
qName
atts

startEntity

public void startEntity(java.lang.String name)

Parameters:
name

startPrefixMapping

public void startPrefixMapping(java.lang.String prefix, java.lang.String uri)

Parameters:
prefix
uri

unparsedEntityDecl

public void unparsedEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String SystemId, java.lang.String notationName)

Parameters:
name
publicId
SystemId
notationName