Package nu.validator.htmlparser.sax
Class SAXTreeBuilder
- java.lang.Object
-
- nu.validator.htmlparser.impl.TreeBuilder<Element>
-
- nu.validator.htmlparser.sax.SAXTreeBuilder
-
- All Implemented Interfaces:
TokenHandler
,TreeBuilderState<Element>
class SAXTreeBuilder extends TreeBuilder<Element>
-
-
Field Summary
Fields Modifier and Type Field Description private Node
cachedTable
private Node
cachedTablePreviousSibling
private Document
document
private static char[]
ISINDEX_PROMPT
-
Fields inherited from class nu.validator.htmlparser.impl.TreeBuilder
charBuffer, charBufferLen, errorHandler, tokenizer
-
-
Constructor Summary
Constructors Constructor Description SAXTreeBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addAttributesToElement(Element element, HtmlAttributes attributes)
protected void
appendCharacters(Element parent, char[] buf, int start, int length)
protected void
appendChildrenToNewParent(Element oldParent, Element newParent)
protected void
appendComment(Element parent, char[] buf, int start, int length)
protected void
appendCommentToDocument(char[] buf, int start, int length)
protected void
appendDoctypeToDocument(java.lang.String name, java.lang.String publicIdentifier, java.lang.String systemIdentifier)
protected void
appendElement(Element child, Element newParent)
protected void
appendIsindexPrompt(Element parent)
protected Element
createElement(java.lang.String ns, java.lang.String name, HtmlAttributes attributes)
protected Element
createHtmlElementSetAsRoot(HtmlAttributes attributes)
protected void
detachFromParent(Element element)
protected void
end()
(package private) Document
getDocument()
Returns the document.(package private) DocumentFragment
getDocumentFragment()
protected boolean
hasChildren(Element element)
protected void
insertFosterParentedCharacters(char[] buf, int start, int length, Element table, Element stackParent)
protected void
insertFosterParentedChild(Element child, Element table, Element stackParent)
private Node
previousSibling(Node table)
protected void
start(boolean fragment)
-
Methods inherited from class nu.validator.htmlparser.impl.TreeBuilder
accumulateCharacters, cdataSectionAllowed, characters, comment, createElement, currentNode, doctype, documentMode, elementPopped, elementPushed, endTag, endTokenization, eof, extractCharsetFromContent, fatal, fatal, flushCharacters, getDeepTreeSurrogateParent, getErrorHandler, getFormPointer, getHeadPointer, getListOfActiveFormattingElements, getListOfActiveFormattingElementsLength, getMode, getOriginalMode, getStack, getStackLength, isFramesetOk, isNeedToDropLF, isQuirks, isScriptingEnabled, loadState, markMalformedIfScript, newSnapshot, requestSuspension, setDoctypeExpectation, setDocumentModeHandler, setErrorHandler, setFragmentContext, setFragmentContext, setIgnoringComments, setNamePolicy, setReportingDoctype, setScriptingEnabled, snapshotMatches, startTag, startTokenization, wantsComments, zeroOriginatingReplacementCharacter
-
-
-
-
Method Detail
-
appendComment
protected void appendComment(Element parent, char[] buf, int start, int length)
- Specified by:
appendComment
in classTreeBuilder<Element>
-
appendCommentToDocument
protected void appendCommentToDocument(char[] buf, int start, int length)
- Specified by:
appendCommentToDocument
in classTreeBuilder<Element>
-
appendCharacters
protected void appendCharacters(Element parent, char[] buf, int start, int length)
- Specified by:
appendCharacters
in classTreeBuilder<Element>
-
appendIsindexPrompt
protected void appendIsindexPrompt(Element parent) throws org.xml.sax.SAXException
- Specified by:
appendIsindexPrompt
in classTreeBuilder<Element>
- Throws:
org.xml.sax.SAXException
- See Also:
TreeBuilder.appendIsindexPrompt(java.lang.Object)
-
hasChildren
protected boolean hasChildren(Element element)
- Specified by:
hasChildren
in classTreeBuilder<Element>
-
appendElement
protected void appendElement(Element child, Element newParent)
- Specified by:
appendElement
in classTreeBuilder<Element>
-
createHtmlElementSetAsRoot
protected Element createHtmlElementSetAsRoot(HtmlAttributes attributes)
- Specified by:
createHtmlElementSetAsRoot
in classTreeBuilder<Element>
-
addAttributesToElement
protected void addAttributesToElement(Element element, HtmlAttributes attributes) throws org.xml.sax.SAXException
- Specified by:
addAttributesToElement
in classTreeBuilder<Element>
- Throws:
org.xml.sax.SAXException
-
appendDoctypeToDocument
protected void appendDoctypeToDocument(java.lang.String name, java.lang.String publicIdentifier, java.lang.String systemIdentifier)
- Overrides:
appendDoctypeToDocument
in classTreeBuilder<Element>
- See Also:
TreeBuilder.appendDoctypeToDocument(java.lang.String, java.lang.String, java.lang.String)
-
getDocument
Document getDocument()
Returns the document.- Returns:
- the document
-
getDocumentFragment
DocumentFragment getDocumentFragment()
-
end
protected void end() throws org.xml.sax.SAXException
- Overrides:
end
in classTreeBuilder<Element>
- Throws:
org.xml.sax.SAXException
- See Also:
TreeBuilder.end()
-
start
protected void start(boolean fragment)
- Overrides:
start
in classTreeBuilder<Element>
- See Also:
nu.validator.htmlparser.impl.TreeBuilder#start()
-
appendChildrenToNewParent
protected void appendChildrenToNewParent(Element oldParent, Element newParent) throws org.xml.sax.SAXException
- Specified by:
appendChildrenToNewParent
in classTreeBuilder<Element>
- Throws:
org.xml.sax.SAXException
-
createElement
protected Element createElement(java.lang.String ns, java.lang.String name, HtmlAttributes attributes) throws org.xml.sax.SAXException
- Specified by:
createElement
in classTreeBuilder<Element>
- Throws:
org.xml.sax.SAXException
-
insertFosterParentedCharacters
protected void insertFosterParentedCharacters(char[] buf, int start, int length, Element table, Element stackParent) throws org.xml.sax.SAXException
- Specified by:
insertFosterParentedCharacters
in classTreeBuilder<Element>
- Throws:
org.xml.sax.SAXException
-
insertFosterParentedChild
protected void insertFosterParentedChild(Element child, Element table, Element stackParent) throws org.xml.sax.SAXException
- Specified by:
insertFosterParentedChild
in classTreeBuilder<Element>
- Throws:
org.xml.sax.SAXException
-
detachFromParent
protected void detachFromParent(Element element) throws org.xml.sax.SAXException
- Specified by:
detachFromParent
in classTreeBuilder<Element>
- Throws:
org.xml.sax.SAXException
-
-