code: def match_defined(self, el):
          
  
          name = self.get_tag(el)
          return (
              name.find('-') == -1 or
              name.find(':') != -1 or
              self.get_prefix(el) is not None
          )
docs: Match defined.
  
          `:defined` is related to custom elements in a browser.
  
          - If the document is XML (not XHTML), all tags will match.
          - Tags that are not custom (don't have a hyphen) are marked defined.
          - If the tag has a prefix (without or without a namespace), it will not match.
  
          This is of course requires the parser to provide us with the proper prefix and namespace info,
          if it doesn't, there is nothing we can do.