nu.validator.saxtree
Class TreeBuilder
java.lang.Object
nu.validator.saxtree.TreeBuilder
- All Implemented Interfaces:
- ContentHandler, LexicalHandler
public class TreeBuilder
- extends Object
- implements ContentHandler, LexicalHandler
Builds a SAX Tree representation of a document or a fragment
streamed as ContentHandler and
LexicalHandler events. The start/end event matching
is expected to adhere to the SAX API contract. Things will
simply break if this is not the case. Fragments are expected to
omit startDocument() and endDocument()
calls.
- Version:
- $Id: TreeBuilder.java 150 2007-08-16 19:21:25Z hsivonen $
- Author:
- hsivonen
|
Constructor Summary |
TreeBuilder()
Constructs a reusable TreeBuilder that builds
Documents and copies attributes. |
TreeBuilder(boolean fragment,
boolean retainAttributes)
The constructor. |
|
Method Summary |
void |
characters(char[] ch,
int start,
int length)
|
void |
comment(char[] ch,
int start,
int length)
|
void |
endCDATA()
|
void |
endDocument()
|
void |
endDTD()
|
void |
endElement(String uri,
String localName,
String qName)
|
void |
endEntity(String name)
|
void |
endPrefixMapping(String prefix)
|
ParentNode |
getRoot()
Returns the root (Document if building a full document or
DocumentFragment if building a fragment.). |
void |
ignorableWhitespace(char[] ch,
int start,
int length)
|
void |
processingInstruction(String target,
String data)
|
void |
setDocumentLocator(Locator locator)
|
void |
skippedEntity(String name)
|
void |
startCDATA()
|
void |
startDocument()
|
void |
startDTD(String name,
String publicId,
String systemId)
|
void |
startElement(String uri,
String localName,
String qName,
Attributes atts)
|
void |
startEntity(String name)
|
void |
startPrefixMapping(String prefix,
String uri)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
locator
private Locator locator
current
private ParentNode current
retainAttributes
private final boolean retainAttributes
prefixMappings
private List<PrefixMapping> prefixMappings
TreeBuilder
public TreeBuilder()
- Constructs a reusable
TreeBuilder that builds
Documents and copies attributes.
TreeBuilder
public TreeBuilder(boolean fragment,
boolean retainAttributes)
- The constructor. The instance will be reusabe if building a full
document and not reusable if building a fragment.
- Parameters:
fragment - whether this TreeBuilder should build
a DocumentFragment instead of a Document.retainAttributes - whether instances of the Attributes
interface passed to startElement should be retained
(the alternative is copying).
characters
public void characters(char[] ch,
int start,
int length)
throws SAXException
- Specified by:
characters in interface ContentHandler
- Throws:
SAXException
endDocument
public void endDocument()
throws SAXException
- Specified by:
endDocument in interface ContentHandler
- Throws:
SAXException
endElement
public void endElement(String uri,
String localName,
String qName)
throws SAXException
- Specified by:
endElement in interface ContentHandler
- Throws:
SAXException
endPrefixMapping
public void endPrefixMapping(String prefix)
throws SAXException
- Specified by:
endPrefixMapping in interface ContentHandler
- Throws:
SAXException
ignorableWhitespace
public void ignorableWhitespace(char[] ch,
int start,
int length)
throws SAXException
- Specified by:
ignorableWhitespace in interface ContentHandler
- Throws:
SAXException
processingInstruction
public void processingInstruction(String target,
String data)
throws SAXException
- Specified by:
processingInstruction in interface ContentHandler
- Throws:
SAXException
setDocumentLocator
public void setDocumentLocator(Locator locator)
- Specified by:
setDocumentLocator in interface ContentHandler
skippedEntity
public void skippedEntity(String name)
throws SAXException
- Specified by:
skippedEntity in interface ContentHandler
- Throws:
SAXException
startDocument
public void startDocument()
throws SAXException
- Specified by:
startDocument in interface ContentHandler
- Throws:
SAXException
startElement
public void startElement(String uri,
String localName,
String qName,
Attributes atts)
throws SAXException
- Specified by:
startElement in interface ContentHandler
- Throws:
SAXException
startPrefixMapping
public void startPrefixMapping(String prefix,
String uri)
throws SAXException
- Specified by:
startPrefixMapping in interface ContentHandler
- Throws:
SAXException
comment
public void comment(char[] ch,
int start,
int length)
throws SAXException
- Specified by:
comment in interface LexicalHandler
- Throws:
SAXException
endCDATA
public void endCDATA()
throws SAXException
- Specified by:
endCDATA in interface LexicalHandler
- Throws:
SAXException
endDTD
public void endDTD()
throws SAXException
- Specified by:
endDTD in interface LexicalHandler
- Throws:
SAXException
endEntity
public void endEntity(String name)
throws SAXException
- Specified by:
endEntity in interface LexicalHandler
- Throws:
SAXException
startCDATA
public void startCDATA()
throws SAXException
- Specified by:
startCDATA in interface LexicalHandler
- Throws:
SAXException
startDTD
public void startDTD(String name,
String publicId,
String systemId)
throws SAXException
- Specified by:
startDTD in interface LexicalHandler
- Throws:
SAXException
startEntity
public void startEntity(String name)
throws SAXException
- Specified by:
startEntity in interface LexicalHandler
- Throws:
SAXException
getRoot
public ParentNode getRoot()
- Returns the root (
Document if building a full document or
DocumentFragment if building a fragment.).
- Returns:
- the root