Class HTMLScanner.ContentScanner

java.lang.Object
org.htmlunit.cyberneko.HTMLScanner.ContentScanner
All Implemented Interfaces:
HTMLScanner.Scanner
Enclosing class:
HTMLScanner

public class HTMLScanner.ContentScanner extends Object implements HTMLScanner.Scanner
The primary HTML document scanner.
  • Field Details

    • qName_

      private final QName qName_
      A qualified name.
    • attributes_

      private final XMLAttributesImpl attributes_
      Attributes.
    • scanStartElement_

      private String scanStartElement_
  • Constructor Details

    • ContentScanner

      public ContentScanner()
  • Method Details

    • scan

      public int scan(boolean complete) throws IOException
      Scan.
      Specified by:
      scan in interface HTMLScanner.Scanner
      Parameters:
      complete - True if the scanner should not return until scanning is complete.
      Returns:
      True if additional scanning is required.
      Throws:
      IOException - Thrown if I/O error occurs.
    • eof

      private void eof()
    • scanUntilEndTag

      private void scanUntilEndTag(String tagName) throws IOException
      Scans the content of <noscript&gr;: it doesn't get parsed but is considered as plain text when feature HTMLScanner.PARSE_NOSCRIPT_CONTENT is set to false.
      Parameters:
      tagName - the tag for which content is scanned (one of "noscript", "noframes", "iframe")
      Throws:
      IOException - on error
    • scanCharacters

      protected void scanCharacters() throws IOException
      Throws:
      IOException
    • scanCDATA

      protected int scanCDATA() throws IOException
      Throws:
      IOException
    • scanComment

      protected int scanComment() throws IOException
      Throws:
      IOException
    • scanCommentContent

      protected int scanCommentContent(XMLString buffer) throws IOException
      Throws:
      IOException
    • scanCDataContent

      protected int scanCDataContent(XMLString xmlString) throws IOException
      Throws:
      IOException
    • scanPI

      protected int scanPI() throws IOException
      Throws:
      IOException
    • scanStartElement

      protected int scanStartElement(boolean[] empty) throws IOException
      Scans a start element.
      Parameters:
      empty - Is used for a second return value to indicate whether the start element tag is empty (e.g. "/>").
      Returns:
      ename
      Throws:
      IOException - in case of io problems
    • removeSpaces

      private String removeSpaces(String content)
      Removes all whitespaces from the string
    • changeEncoding

      private boolean changeEncoding(String charset)
      Tries to change the encoding used to read the input stream to the specified one
      Parameters:
      charset - the charset that should be used
      Returns:
      true when the encoding has been changed
    • scanAttribute

      protected int scanAttribute(XMLAttributesImpl attributes, boolean[] empty) throws IOException
      Scans a real attribute.
      Parameters:
      attributes - The list of attributes.
      empty - Is used for a second return value to indicate whether the start element tag is empty (e.g. "/>").
      Returns:
      success
      Throws:
      IOException - in case of io problems
    • scanAttributeUnquotedValue

      protected int scanAttributeUnquotedValue(HTMLScanner.CurrentEntity currentEntity, XMLString attribValue, XMLString plainAttribValue) throws IOException
      Throws:
      IOException
    • scanAttributeQuotedValue

      protected int scanAttributeQuotedValue(int currentQuote, HTMLScanner.CurrentEntity currentEntity, XMLString attribValue, XMLString plainAttribValue, boolean normalizeAttributes) throws IOException
      Throws:
      IOException
    • scanEndElement

      protected void scanEndElement() throws IOException
      Throws:
      IOException