Package nu.validator.saxtree
Class TreeBuilder
- java.lang.Object
-
- nu.validator.saxtree.TreeBuilder
-
- All Implemented Interfaces:
org.xml.sax.ContentHandler,org.xml.sax.ext.LexicalHandler
public class TreeBuilder extends java.lang.Object implements org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandlerBuilds a SAX Tree representation of a document or a fragment streamed asContentHandlerandLexicalHandlerevents. 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 omitstartDocument()andendDocument()calls.- Version:
- $Id$
- Author:
- hsivonen
-
-
Constructor Summary
Constructors Constructor Description TreeBuilder()Constructs a reusableTreeBuilderthat buildsDocuments and copies attributes.TreeBuilder(boolean fragment, boolean retainAttributes)The constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcharacters(char[] ch, int start, int length)voidcomment(char[] ch, int start, int length)voidendCDATA()voidendDocument()voidendDTD()voidendElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)voidendEntity(java.lang.String name)voidendPrefixMapping(java.lang.String prefix)ParentNodegetRoot()Returns the root (Documentif building a full document orDocumentFragmentif building a fragment.).voidignorableWhitespace(char[] ch, int start, int length)voidprocessingInstruction(java.lang.String target, java.lang.String data)voidsetDocumentLocator(org.xml.sax.Locator locator)voidskippedEntity(java.lang.String name)voidstartCDATA()voidstartDocument()voidstartDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)voidstartElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)voidstartEntity(java.lang.String name)voidstartPrefixMapping(java.lang.String prefix, java.lang.String uri)
-
-
-
Constructor Detail
-
TreeBuilder
public TreeBuilder()
Constructs a reusableTreeBuilderthat buildsDocuments 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 thisTreeBuildershould build aDocumentFragmentinstead of aDocument.retainAttributes- whether instances of theAttributesinterface passed tostartElementshould be retained (the alternative is copying).
-
-
Method Detail
-
characters
public void characters(char[] ch, int start, int length) throws org.xml.sax.SAXException- Specified by:
charactersin interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException- See Also:
ContentHandler.characters(char[], int, int)
-
endDocument
public void endDocument() throws org.xml.sax.SAXException- Specified by:
endDocumentin interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException- See Also:
ContentHandler.endDocument()
-
endElement
public void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName) throws org.xml.sax.SAXException- Specified by:
endElementin interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException- See Also:
ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)
-
endPrefixMapping
public void endPrefixMapping(java.lang.String prefix) throws org.xml.sax.SAXException- Specified by:
endPrefixMappingin interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException- See Also:
ContentHandler.endPrefixMapping(java.lang.String)
-
ignorableWhitespace
public void ignorableWhitespace(char[] ch, int start, int length) throws org.xml.sax.SAXException- Specified by:
ignorableWhitespacein interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException- See Also:
ContentHandler.ignorableWhitespace(char[], int, int)
-
processingInstruction
public void processingInstruction(java.lang.String target, java.lang.String data) throws org.xml.sax.SAXException- Specified by:
processingInstructionin interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException- See Also:
ContentHandler.processingInstruction(java.lang.String, java.lang.String)
-
setDocumentLocator
public void setDocumentLocator(org.xml.sax.Locator locator)
- Specified by:
setDocumentLocatorin interfaceorg.xml.sax.ContentHandler- See Also:
ContentHandler.setDocumentLocator(org.xml.sax.Locator)
-
skippedEntity
public void skippedEntity(java.lang.String name) throws org.xml.sax.SAXException- Specified by:
skippedEntityin interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException
-
startDocument
public void startDocument() throws org.xml.sax.SAXException- Specified by:
startDocumentin interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException- See Also:
ContentHandler.startDocument()
-
startElement
public void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts) throws org.xml.sax.SAXException- Specified by:
startElementin interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException- See Also:
ContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
-
startPrefixMapping
public void startPrefixMapping(java.lang.String prefix, java.lang.String uri) throws org.xml.sax.SAXException- Specified by:
startPrefixMappingin interfaceorg.xml.sax.ContentHandler- Throws:
org.xml.sax.SAXException- See Also:
ContentHandler.startPrefixMapping(java.lang.String, java.lang.String)
-
comment
public void comment(char[] ch, int start, int length) throws org.xml.sax.SAXException- Specified by:
commentin interfaceorg.xml.sax.ext.LexicalHandler- Throws:
org.xml.sax.SAXException- See Also:
LexicalHandler.comment(char[], int, int)
-
endCDATA
public void endCDATA() throws org.xml.sax.SAXException- Specified by:
endCDATAin interfaceorg.xml.sax.ext.LexicalHandler- Throws:
org.xml.sax.SAXException- See Also:
LexicalHandler.endCDATA()
-
endDTD
public void endDTD() throws org.xml.sax.SAXException- Specified by:
endDTDin interfaceorg.xml.sax.ext.LexicalHandler- Throws:
org.xml.sax.SAXException- See Also:
LexicalHandler.endDTD()
-
endEntity
public void endEntity(java.lang.String name) throws org.xml.sax.SAXException- Specified by:
endEntityin interfaceorg.xml.sax.ext.LexicalHandler- Throws:
org.xml.sax.SAXException- See Also:
LexicalHandler.endEntity(java.lang.String)
-
startCDATA
public void startCDATA() throws org.xml.sax.SAXException- Specified by:
startCDATAin interfaceorg.xml.sax.ext.LexicalHandler- Throws:
org.xml.sax.SAXException- See Also:
LexicalHandler.startCDATA()
-
startDTD
public void startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId) throws org.xml.sax.SAXException- Specified by:
startDTDin interfaceorg.xml.sax.ext.LexicalHandler- Throws:
org.xml.sax.SAXException- See Also:
LexicalHandler.startDTD(java.lang.String, java.lang.String, java.lang.String)
-
startEntity
public void startEntity(java.lang.String name) throws org.xml.sax.SAXException- Specified by:
startEntityin interfaceorg.xml.sax.ext.LexicalHandler- Throws:
org.xml.sax.SAXException- See Also:
LexicalHandler.startEntity(java.lang.String)
-
getRoot
public ParentNode getRoot()
Returns the root (Documentif building a full document orDocumentFragmentif building a fragment.).- Returns:
- the root
-
-