class_docstr: Extract raw HTML from text.
  
  The raw HTML is stored in the [`htmlStash`][markdown.util.HtmlStash] of the
  [`Markdown`][markdown.Markdown] instance passed to `md` and the remaining text
  is stored in `cleandoc` as a list of strings.
docstr: Handle empty tags (`<data>`). 
docstr_tok: ["Handle","empty","tags","(","`","<","data",">","`",")","."]
code: def handle_empty_tag(self, data: str, is_block: bool):
      """Handle empty tags (`<data>`)."""
      if self.inraw or self.intail:
          # Append this to the existing raw block
          self._cache.append(data)
      elif self.at_line_start() and is_block:
          # Handle this as a standalone raw block
          if blank_line_re.match(
              self.rawdata[self.line_offset + self.offset + len(data) :]
          ):
              # Preserve blank line after tag in raw block.
              data += "\n"
          else:
              # More content exists after tag.
              self.intail = True
          item = self.cleandoc[-1] if self.cleandoc else ""
          # If we only have one newline before block element, add another
          if not item.endswith("\n\n") and item.endswith("\n"):
              self.cleandoc.append("\n")
          self.cleandoc.append(self.md.htmlStash.store(data))
          # Insert blank line between this and next line.
          self.cleandoc.append("\n\n")
      else:
          self.cleandoc.append(data)
  
imports: from __future__ import annotations
  import re
  import importlib.util
  import sys
  from typing import TYPE_CHECKING, Sequence
label_desc: Use image node_id 10 for calling the HTMLExtractor obj's underlying member method code with example usage: obj.handle_empty_tag(data, is_block) without return types