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
Document s 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
Document
s 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