Class HtmlTreeBuilder

java.lang.Object
org.jsoup.parser.TreeBuilder
org.jsoup.parser.HtmlTreeBuilder

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

    • TagsSearchInScope

      static final String[] TagsSearchInScope
    • TagSearchList

      static final String[] TagSearchList
    • TagSearchButton

      static final String[] TagSearchButton
    • TagSearchTableScope

      static final String[] TagSearchTableScope
    • TagSearchSelectScope

      static final String[] TagSearchSelectScope
    • TagSearchEndTags

      static final String[] TagSearchEndTags
    • TagSearchSpecial

      static final String[] TagSearchSpecial
    • MaxScopeSearchDepth

      public static final int MaxScopeSearchDepth
      See Also:
    • state

      private HtmlTreeBuilderState state
    • originalState

      private HtmlTreeBuilderState originalState
    • baseUriSetFromDoc

      private boolean baseUriSetFromDoc
    • headElement

      private Element headElement
    • formElement

      private FormElement formElement
    • contextElement

      private Element contextElement
    • formattingElements

      private ArrayList<Element> formattingElements
    • pendingTableCharacters

      private List<String> pendingTableCharacters
    • emptyEnd

      private Token.EndTag emptyEnd
    • framesetOk

      private boolean framesetOk
    • fosterInserts

      private boolean fosterInserts
    • fragmentParsing

      private boolean fragmentParsing
    • specificScopeTarget

      private String[] specificScopeTarget
  • Constructor Details

    • HtmlTreeBuilder

      public HtmlTreeBuilder()
  • Method Details

    • defaultSettings

      ParseSettings defaultSettings()
      Specified by:
      defaultSettings in class TreeBuilder
    • initialiseParse

      protected void initialiseParse(Reader input, String baseUri, Parser parser)
      Overrides:
      initialiseParse in class TreeBuilder
    • parseFragment

      List<Node> parseFragment(String inputFragment, Element context, String baseUri, Parser parser)
      Specified by:
      parseFragment in class TreeBuilder
    • process

      protected boolean process(Token token)
      Specified by:
      process in class TreeBuilder
    • process

      boolean process(Token token, HtmlTreeBuilderState state)
    • transition

      void transition(HtmlTreeBuilderState state)
    • state

    • markInsertionMode

      void markInsertionMode()
    • originalState

      HtmlTreeBuilderState originalState()
    • framesetOk

      void framesetOk(boolean framesetOk)
    • framesetOk

      boolean framesetOk()
    • getDocument

      Document getDocument()
    • getBaseUri

      String getBaseUri()
    • maybeSetBaseUri

      void maybeSetBaseUri(Element base)
    • isFragmentParsing

      boolean isFragmentParsing()
    • error

      void error(HtmlTreeBuilderState state)
    • insert

      Element insert(Token.StartTag startTag)
    • insertStartTag

      Element insertStartTag(String startTagName)
    • insert

      void insert(Element el)
    • insertEmpty

      Element insertEmpty(Token.StartTag startTag)
    • insertForm

      FormElement insertForm(Token.StartTag startTag, boolean onStack)
    • insert

      void insert(Token.Comment commentToken)
    • insert

      void insert(Token.Character characterToken)
    • insertNode

      private void insertNode(Node node)
    • pop

      Element pop()
    • push

      void push(Element element)
    • getStack

      ArrayList<Element> getStack()
    • onStack

      boolean onStack(Element el)
    • isElementInQueue

      private boolean isElementInQueue(ArrayList<Element> queue, Element element)
    • getFromStack

      Element getFromStack(String elName)
    • removeFromStack

      boolean removeFromStack(Element el)
    • popStackToClose

      Element popStackToClose(String elName)
    • popStackToClose

      void popStackToClose(String... elNames)
    • popStackToBefore

      void popStackToBefore(String elName)
    • clearStackToTableContext

      void clearStackToTableContext()
    • clearStackToTableBodyContext

      void clearStackToTableBodyContext()
    • clearStackToTableRowContext

      void clearStackToTableRowContext()
    • clearStackToContext

      private void clearStackToContext(String... nodeNames)
    • aboveOnStack

      Element aboveOnStack(Element el)
    • insertOnStackAfter

      void insertOnStackAfter(Element after, Element in)
    • replaceOnStack

      void replaceOnStack(Element out, Element in)
    • replaceInQueue

      private void replaceInQueue(ArrayList<Element> queue, Element out, Element in)
    • resetInsertionMode

      void resetInsertionMode()
    • inSpecificScope

      private boolean inSpecificScope(String targetName, String[] baseTypes, String[] extraTypes)
    • inSpecificScope

      private boolean inSpecificScope(String[] targetNames, String[] baseTypes, String[] extraTypes)
    • inScope

      boolean inScope(String[] targetNames)
    • inScope

      boolean inScope(String targetName)
    • inScope

      boolean inScope(String targetName, String[] extras)
    • inListItemScope

      boolean inListItemScope(String targetName)
    • inButtonScope

      boolean inButtonScope(String targetName)
    • inTableScope

      boolean inTableScope(String targetName)
    • inSelectScope

      boolean inSelectScope(String targetName)
    • setHeadElement

      void setHeadElement(Element headElement)
    • getHeadElement

      Element getHeadElement()
    • isFosterInserts

      boolean isFosterInserts()
    • setFosterInserts

      void setFosterInserts(boolean fosterInserts)
    • getFormElement

      FormElement getFormElement()
    • setFormElement

      void setFormElement(FormElement formElement)
    • newPendingTableCharacters

      void newPendingTableCharacters()
    • getPendingTableCharacters

      List<String> getPendingTableCharacters()
    • generateImpliedEndTags

      void generateImpliedEndTags(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(String nodeName)
    • replaceActiveFormattingElement

      void replaceActiveFormattingElement(Element out, Element in)
    • insertMarkerToFormattingElements

      void insertMarkerToFormattingElements()
    • insertInFosterParent

      void insertInFosterParent(Node in)
    • toString

      public String toString()
      Overrides:
      toString in class Object