Interface IAttributeSequenceHandler

All Known Subinterfaces:
IElementHandler, IMarkupHandler
All Known Implementing Classes:
AbstractChainedMarkupHandler, AbstractMarkupHandler, AttributeSelectionMarkingMarkupHandler, BlockSelectorMarkupHandler, DiscardMarkupHandler, DOMBuilderMarkupHandler, DuplicateMarkupHandler, HtmlMarkupHandler, MarkupEventProcessorHandler, MinimizeHtmlMarkupHandler, NodeSelectorMarkupHandler, OutputMarkupHandler, ParsingXmlDeclarationMarkupUtil.XmlDeclarationAttributeProcessor, PrettyHtmlMarkupHandler, SimplifierMarkupHandler, TextOutputMarkupHandler, TraceBuilderMarkupHandler

public interface IAttributeSequenceHandler

Interface to be implemented by all handlers capable of receiving events about attribute sequences.

Events in this interface are a part of the IMarkupHandler interface, the main handling interface in AttoParser.

Since:
2.0.0
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    handleAttribute(char[] buffer, int nameOffset, int nameLen, int nameLine, int nameCol, int operatorOffset, int operatorLen, int operatorLine, int operatorCol, int valueContentOffset, int valueContentLen, int valueOuterOffset, int valueOuterLen, int valueLine, int valueCol)
    Called when an attribute is found.
    void
    handleInnerWhiteSpace(char[] buffer, int offset, int len, int line, int col)
    Called when an amount of white space is found inside an element.
  • Method Details

    • handleAttribute

      void handleAttribute(char[] buffer, int nameOffset, int nameLen, int nameLine, int nameCol, int operatorOffset, int operatorLen, int operatorLine, int operatorCol, int valueContentOffset, int valueContentLen, int valueOuterOffset, int valueOuterLen, int valueLine, int valueCol) throws ParseException

      Called when an attribute is found.

      Three [offset, len] pairs are provided for three partitions (name, operator, valueContent and valueOuter):

      class="basic_column"
      [NAM]* [VALUECONTE]| (*) = [OPERATOR]
      |     [VALUEOUTER--]
      [OUTER-------------]

      Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).

      Implementations of this handler should never modify the document buffer.

      Parameters:
      buffer - the document buffer (not copied)
      nameOffset - offset for the name partition.
      nameLen - length of the name partition.
      nameLine - the line in the original document where the name partition starts.
      nameCol - the column in the original document where the name partition starts.
      operatorOffset - offset for the operator partition.
      operatorLen - length of the operator partition.
      operatorLine - the line in the original document where the operator partition starts.
      operatorCol - the column in the original document where the operator partition starts.
      valueContentOffset - offset for the valueContent partition.
      valueContentLen - length of the valueContent partition.
      valueOuterOffset - offset for the valueOuter partition.
      valueOuterLen - length of the valueOuter partition.
      valueLine - the line in the original document where the value (outer) partition starts.
      valueCol - the column in the original document where the value (outer) partition starts.
      Throws:
      ParseException - if any exceptions occur during handling.
    • handleInnerWhiteSpace

      void handleInnerWhiteSpace(char[] buffer, int offset, int len, int line, int col) throws ParseException

      Called when an amount of white space is found inside an element.

      This attribute separators can contain any amount of whitespace, including line feeds:

      <div id="main"        class="basic_column">
                    [INNWSP]

      Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).

      Implementations of this handler should never modify the document buffer.

      Parameters:
      buffer - the document buffer (not copied)
      offset - offset for the artifact.
      len - length of the artifact.
      line - the line in the original document where the artifact starts.
      col - the column in the original document where the artifact starts.
      Throws:
      ParseException - if any exceptions occur during handling.