Class HtmlTreeBuilder


  • public class HtmlTreeBuilder
    extends TreeBuilder
    HTML Tree Builder; creates a DOM from Tokens.
    • Field Detail

      • TagsSearchInScope

        static final java.lang.String[] TagsSearchInScope
      • TagSearchList

        static final java.lang.String[] TagSearchList
      • TagSearchButton

        static final java.lang.String[] TagSearchButton
      • TagSearchTableScope

        static final java.lang.String[] TagSearchTableScope
      • TagSearchSelectScope

        static final java.lang.String[] TagSearchSelectScope
      • TagSearchEndTags

        static final java.lang.String[] TagSearchEndTags
      • TagSearchSpecial

        static final java.lang.String[] TagSearchSpecial
      • baseUriSetFromDoc

        private boolean baseUriSetFromDoc
      • headElement

        private Element headElement
      • contextElement

        private Element contextElement
      • formattingElements

        private java.util.ArrayList<Element> formattingElements
      • pendingTableCharacters

        private java.util.List<java.lang.String> pendingTableCharacters
      • framesetOk

        private boolean framesetOk
      • fosterInserts

        private boolean fosterInserts
      • fragmentParsing

        private boolean fragmentParsing
      • specificScopeTarget

        private java.lang.String[] specificScopeTarget
    • Constructor Detail

      • HtmlTreeBuilder

        public HtmlTreeBuilder()
    • Method Detail

      • initialiseParse

        protected void initialiseParse​(java.io.Reader input,
                                       java.lang.String baseUri,
                                       Parser parser)
        Overrides:
        initialiseParse in class TreeBuilder
      • markInsertionMode

        void markInsertionMode()
      • framesetOk

        void framesetOk​(boolean framesetOk)
      • framesetOk

        boolean framesetOk()
      • getBaseUri

        java.lang.String getBaseUri()
      • maybeSetBaseUri

        void maybeSetBaseUri​(Element base)
      • isFragmentParsing

        boolean isFragmentParsing()
      • insertStartTag

        Element insertStartTag​(java.lang.String startTagName)
      • insert

        void insert​(Element el)
      • insertNode

        private void insertNode​(Node node)
      • push

        void push​(Element element)
      • getStack

        java.util.ArrayList<Element> getStack()
      • onStack

        boolean onStack​(Element el)
      • isElementInQueue

        private boolean isElementInQueue​(java.util.ArrayList<Element> queue,
                                         Element element)
      • getFromStack

        Element getFromStack​(java.lang.String elName)
      • removeFromStack

        boolean removeFromStack​(Element el)
      • popStackToClose

        void popStackToClose​(java.lang.String elName)
      • popStackToClose

        void popStackToClose​(java.lang.String... elNames)
      • popStackToBefore

        void popStackToBefore​(java.lang.String elName)
      • clearStackToTableContext

        void clearStackToTableContext()
      • clearStackToTableBodyContext

        void clearStackToTableBodyContext()
      • clearStackToTableRowContext

        void clearStackToTableRowContext()
      • clearStackToContext

        private void clearStackToContext​(java.lang.String... nodeNames)
      • insertOnStackAfter

        void insertOnStackAfter​(Element after,
                                Element in)
      • replaceInQueue

        private void replaceInQueue​(java.util.ArrayList<Element> queue,
                                    Element out,
                                    Element in)
      • resetInsertionMode

        void resetInsertionMode()
      • inSpecificScope

        private boolean inSpecificScope​(java.lang.String targetName,
                                        java.lang.String[] baseTypes,
                                        java.lang.String[] extraTypes)
      • inSpecificScope

        private boolean inSpecificScope​(java.lang.String[] targetNames,
                                        java.lang.String[] baseTypes,
                                        java.lang.String[] extraTypes)
      • inScope

        boolean inScope​(java.lang.String[] targetNames)
      • inScope

        boolean inScope​(java.lang.String targetName)
      • inScope

        boolean inScope​(java.lang.String targetName,
                        java.lang.String[] extras)
      • inListItemScope

        boolean inListItemScope​(java.lang.String targetName)
      • inButtonScope

        boolean inButtonScope​(java.lang.String targetName)
      • inTableScope

        boolean inTableScope​(java.lang.String targetName)
      • inSelectScope

        boolean inSelectScope​(java.lang.String targetName)
      • setHeadElement

        void setHeadElement​(Element headElement)
      • getHeadElement

        Element getHeadElement()
      • isFosterInserts

        boolean isFosterInserts()
      • setFosterInserts

        void setFosterInserts​(boolean fosterInserts)
      • setFormElement

        void setFormElement​(FormElement formElement)
      • newPendingTableCharacters

        void newPendingTableCharacters()
      • getPendingTableCharacters

        java.util.List<java.lang.String> getPendingTableCharacters()
      • generateImpliedEndTags

        void generateImpliedEndTags​(java.lang.String excludeTag)
        11.2.5.2 Closing elements that have implied end tags

        When the steps below require the UA to generate implied end tags, then, while the current node is a dd element, a dt element, an li element, an option element, an optgroup element, a p element, an rp element, or an rt element, the UA must pop the current node off the stack of open elements.

        Parameters:
        excludeTag - If a step requires the UA to generate implied end tags but lists an element to exclude from the process, then the UA must perform the above steps as if that element was not in the above list.
      • generateImpliedEndTags

        void generateImpliedEndTags()
      • isSpecial

        boolean isSpecial​(Element el)
      • lastFormattingElement

        Element lastFormattingElement()
      • removeLastFormattingElement

        Element removeLastFormattingElement()
      • pushActiveFormattingElements

        void pushActiveFormattingElements​(Element in)
      • isSameFormattingElement

        private boolean isSameFormattingElement​(Element a,
                                                Element b)
      • reconstructFormattingElements

        void reconstructFormattingElements()
      • clearFormattingElementsToLastMarker

        void clearFormattingElementsToLastMarker()
      • removeFromActiveFormattingElements

        void removeFromActiveFormattingElements​(Element el)
      • isInActiveFormattingElements

        boolean isInActiveFormattingElements​(Element el)
      • getActiveFormattingElement

        Element getActiveFormattingElement​(java.lang.String nodeName)
      • replaceActiveFormattingElement

        void replaceActiveFormattingElement​(Element out,
                                            Element in)
      • insertMarkerToFormattingElements

        void insertMarkerToFormattingElements()
      • insertInFosterParent

        void insertInFosterParent​(Node in)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object